/* ==========================================
   MOBILE FIXES COMPLETO - v2.0 DEFINITIVO
   Ottimizzazione totale mobile per De Bonus Ristorante
   Da usare DOPO style.css
   ========================================== */

/* ==========================================
   TABLET (769px - 1024px)
   ========================================== */
@media (max-width: 1024px) and (min-width: 769px) {
    .hero {
        background-attachment: scroll !important;
    }
    
    .section-classic,
    .section-dark,
    .gallery-section,
    .recensioni-section {
        padding: 80px 5% !important;
        padding-top: 120px !important;
    }
    
    .gallery-grid {
        grid-template-columns: repeat(3, 1fr) !important;
        gap: 20px !important;
    }
    
    .footer-content {
        grid-template-columns: 1fr 1fr !important;
        gap: 40px !important;
    }
}

/* ==========================================
   MOBILE (ÃƒÂ¢Ã¢â‚¬Â°Ã‚Â¤768px) - OTTIMIZZAZIONE COMPLETA
   ========================================== */
@media (max-width: 900px) {
    
    /* ===================================
       BASE & LAYOUT
       =================================== */
    html {
        font-size: 16px !important;
    }
    
    body {
        overflow-x: hidden !important;
        max-width: 100vw !important;
        position: relative !important;
    }
    
    body.modal-open {
        overflow-x: hidden !important;
        overflow-y: auto !important;
        position: fixed !important;
        width: 100% !important;
        height: 100% !important;
    }
    
    .container {
        padding: 0 5% !important;
    }
    
    /* ===================================
       NAVBAR MOBILE - SEMPRE VISIBILE IN CIMA
       =================================== */
    .navbar {
        height: 80px !important;
        padding: 0 4% !important;
        background: rgba(10, 10, 10, 0.95) !important;
        backdrop-filter: blur(10px) !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 10000 !important;
        border-bottom: none !important;
        box-shadow: none !important;
        margin: 0 !important;
    }
    
    .navbar.scrolled {
        height: 80px !important;
        background: rgba(10, 10, 10, 0.98) !important;
    }
    
    /* Logo navbar - BEN VISIBILE */
    .navbar .logo {
        font-size: 1.3rem !important;
        letter-spacing: 3px !important;
        font-weight: 700 !important;
        z-index: 1001 !important;
        color: var(--gold) !important;
        position: relative !important;
    }
    
    .navbar .logo-img {
        width: 40px !important;
        height: 40px !important;
    }
    
    /* Hamburger - SEMPRE VISIBILE E CLICCABILE */
    .hamburger {
        display: flex !important;
        flex-direction: column !important;
        gap: 5px !important;
        z-index: 1001 !important;
        width: 30px !important;
        height: 30px !important;
        background: transparent !important;
        border: none !important;
        cursor: pointer !important;
        position: relative !important;
    }
    
    .hamburger span {
        width: 100% !important;
        height: 3px !important;
        background: var(--gold) !important;
        border-radius: 3px !important;
        transition: all 0.3s ease !important;
        display: block !important;
    }
    
    .hamburger.active span:nth-child(1) {
        transform: rotate(45deg) translate(8px, 8px) !important;
    }
    
    .hamburger.active span:nth-child(2) {
        opacity: 0 !important;
    }
    
    .hamburger.active span:nth-child(3) {
        transform: rotate(-45deg) translate(7px, -7px) !important;
    }
    
    /* Nascondi elementi desktop */
    .desktop-only {
        display: none !important;
    }
    
    .mobile-only {
        display: block !important;
    }
    
    /* ===================================
       MENU MOBILE - ATTACCATO ALLA NAVBAR
       =================================== */
    .navbar .nav-links,
    ul.nav-links,
    .nav-links {
        position: fixed !important;
        top: 80px !important;
        left: -100% !important;
        width: 100vw !important;
        max-width: 100vw !important;
        height: calc(100vh - 80px) !important;
        background: #0a0a0a !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: center !important;
        padding: 0 !important;
        margin: 0 !important;
        gap: 0 !important;
        transition: left 0.4s ease !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        z-index: 9999 !important;
        display: flex !important;
        list-style: none !important;
        box-shadow: none !important;
        border: none !important;
    }
    
    .navbar .nav-links.active,
    ul.nav-links.active,
    .nav-links.active {
        left: 0 !important;
    }
    
    .nav-links li {
        width: 100% !important;
        text-align: center !important;
        list-style: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Primo elemento (mobile-header con logo) - attaccato in cima */
    .nav-links li:first-child,
    .nav-links .mobile-header:first-child {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }
    
    .nav-links a {
        font-size: 1rem !important;
        color: white !important;
        text-align: center !important;
        padding: 18px 20px !important;
        display: block !important;
        width: 100% !important;
        transition: all 0.3s ease !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
    }
    
    .nav-links a:hover {
        color: var(--gold) !important;
        background: rgba(212, 175, 55, 0.1) !important;
    }
    
    /* Bottoni speciali - piÃƒÆ’Ã‚Â¹ piccoli */
    .nav-links .btn-contact-nav,
    .nav-links .btn-prenota-nav {
        margin: 10px 20px !important;
        padding: 14px 20px !important;
        font-size: 0.95rem !important;
        border-radius: 8px !important;
        width: calc(100% - 40px) !important;
        display: block !important;
    }
    
    .btn-prenota-nav {
        display: block !important;
        margin-top: 10px !important;
    }
    
    /* Mobile header (logo dorato) - attaccato in cima SENZA spazi */
    .nav-links .mobile-header {
        margin: 0 !important;
        padding: 20px 25px !important;
        width: 100% !important;
        background: transparent !important; border-bottom: 1px solid rgba(212, 175, 55, 0.2) !important;
    }
    
    .mobile-logo {
        margin: 0 !important;
        padding: 0 !important;
    }
    
    /* Hero deve stare SOTTO il menu */
    .hero {
        position: relative !important;
        z-index: 1 !important;
    }
    
    /* CAMBIO LINGUA INTEGRATO - PROFESSIONALE */
    .navbar-right.desktop-only {
        display: none !important;
    }
    
    /* Mostro il cambio lingua nel menu mobile */
    .nav-links .language-switcher {
        display: block !important;
        position: static !important;
        width: auto !important;
        margin: 20px 20px 15px 20px !important;
        padding: 15px !important;
        background: rgba(255, 255, 255, 0.03) !important;
        border-radius: 12px !important;
        border: 1px solid rgba(212, 175, 55, 0.15) !important;
    }
    
    /* Label "Lingua" */
    .nav-links .language-switcher::before {
        content: 'LINGUA' !important;
        display: block !important;
        font-size: 0.7rem !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 2px !important;
        color: #888 !important;
        margin-bottom: 12px !important;
        text-align: center !important;
    }
    
    .nav-links .lang-current {
        width: 100% !important;
        padding: 12px 15px !important;
        background: rgba(255, 255, 255, 0.05) !important;
        border: 1.5px solid rgba(212, 175, 55, 0.3) !important;
        border-radius: 8px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 10px !important;
        transition: all 0.25s ease !important;
    }
    
    .nav-links .lang-current:hover {
        background: rgba(255, 255, 255, 0.08) !important;
        border-color: var(--gold) !important;
    }
    
    .nav-links .lang-current img {
        width: 28px !important;
        height: 20px !important;
        border-radius: 3px !important;
        box-shadow: 0 2px 6px rgba(0,0,0,0.2) !important;
    }
    
    .nav-links .lang-current i {
        color: var(--gold) !important;
        font-size: 0.85rem !important;
        transition: transform 0.25s ease !important;
    }
    
    .nav-links .language-switcher.open .lang-current i {
        transform: rotate(180deg) !important;
    }
    
    .nav-links .lang-dropdown {
        position: static !important;
        display: none !important;
        flex-direction: row !important;
        justify-content: space-between !important;
        gap: 8px !important;
        margin-top: 10px !important;
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }
    
    .nav-links .language-switcher.open .lang-dropdown {
        display: flex !important;
    }
    
    .nav-links .lang-option {
        flex: 1 !important;
        width: auto !important;
        height: 45px !important;
        padding: 0 !important;
        border: 2px solid rgba(212, 175, 55, 0.2) !important;
        border-radius: 8px !important;
        overflow: hidden !important;
        background: rgba(255, 255, 255, 0.03) !important;
        transition: all 0.25s ease !important;
    }
    
    .nav-links .lang-option img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    
    .nav-links .lang-option:hover {
        border-color: var(--gold) !important;
        background: rgba(212, 175, 55, 0.08) !important;
        transform: translateY(-2px) !important;
        box-shadow: 0 4px 12px rgba(212, 175, 55, 0.25) !important;
    }
    
    .nav-links .lang-option.active {
        border-color: var(--gold) !important;
        border-width: 3px !important;
        background: rgba(212, 175, 55, 0.12) !important;
        box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.15) !important;
    }
    
    /* Footer menu mobile - MINIMALE */
    .mobile-footer {
        margin-top: auto !important;
        padding: 0 !important;
        background: rgba(0, 0, 0, 0.4) !important;
        border-top: 1px solid rgba(212, 175, 55, 0.1) !important;
    }
    
    .mobile-copyright {
        padding: 20px !important;
        text-align: center !important;
        color: #666 !important;
        font-size: 0.75rem !important;
        line-height: 1.6 !important;
    }
    
    .mobile-copyright strong {
        color: var(--gold) !important;
        font-weight: 600 !important;
    }
    
    /* Scrollbar menu mobile - ELEGANTE */
    .nav-links::-webkit-scrollbar {
        width: 4px !important;
    }
    
    .nav-links::-webkit-scrollbar-thumb {
        background: rgba(212, 175, 55, 0.4) !important;
        border-radius: 10px !important;
    }
    
    .nav-links::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, 0.2) !important;
    }
    
    .nav-links::-webkit-scrollbar-thumb:hover {
        background: rgba(212, 175, 55, 0.6) !important;
    }
    
    /* ===================================
       HERO SECTION MOBILE
       =================================== */
    .hero {
        min-height: 100vh !important;
        height: auto !important;
        background-attachment: scroll !important;
        background-position: center center !important;
    }

    /* Fix hero video su mobile: forza altezza fissa per contenitore video */
    .hero-video {
        height: 100vh !important;
    }
    
    .hero-content {
        padding: 20px 15px !important;
        max-width: 100% !important;
    }
    
    .subtitle-hero {
        font-size: 1rem !important;
        letter-spacing: 2px !important;
        margin-bottom: 15px !important;
    }
    
    .main-title {
        font-size: 2.8rem !important;
        margin-bottom: 20px !important;
        line-height: 1.2 !important;
        text-shadow: 0 5px 25px rgba(0, 0, 0, 0.9) !important;
    }
    
    .separator-hero {
        width: 80px !important;
        height: 3px !important;
        margin: 20px auto !important;
    }
    
    .tagline {
        font-size: 1.4rem !important;
        margin-bottom: 25px !important;
    }
    
    .cta-hero {
        padding: 16px 32px !important;
        font-size: 1rem !important;
        border-radius: 50px !important;
    }
    
    .scroll-indicator {
        display: none !important;
    }
    
    /* ===================================
       SEZIONI GENERALI MOBILE
       =================================== */
    .section-classic,
    .section-dark,
    .gallery-section,
    .recensioni-section,
    .menu-giorno-section {
        padding: 70px 5% !important;
        padding-top: 90px !important;
    }
    
    .section-title {
        font-size: 2.2rem !important;
        margin-bottom: 20px !important;
        line-height: 1.3 !important;
    }
    
    .separator-gold {
        width: 60px !important;
        height: 2px !important;
        margin: 0 auto 30px !important;
    }
    
    .section-subtitle,
    .section-description {
        font-size: 1rem !important;
        line-height: 1.7 !important;
        margin-bottom: 30px !important;
        padding: 0 10px !important;
    }
    
    /* ===================================
       CHI SIAMO SECTION
       =================================== */
    .intro-box {
        margin-bottom: 50px !important;
        padding: 0 10px !important;
    }
    
    .intro-box .lead-text {
        font-size: 1.15rem !important;
        line-height: 1.8 !important;
        padding: 0 10px !important;
        margin-bottom: 25px !important;
    }
    
    .storia-box {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        padding: 40px 20px !important;
        margin: 40px 0 !important;
    }
    
    .storia-content h3 {
        font-size: 1.9rem !important;
        margin-bottom: 20px !important;
        color: var(--gold) !important;
        font-weight: 700 !important;
    }
    
    .storia-content p {
        font-size: 1rem !important;
        line-height: 1.8 !important;
        margin-bottom: 15px !important;
    }
    
    .storia-img {
        border-radius: 12px !important;
        order: -1 !important;
    }
    
    .icon-year {
        font-size: 1.6rem !important;
        font-weight: 700 !important;
        color: var(--gold) !important;
        margin-bottom: 15px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
    }
    
    .icon-year i {
        font-size: 2rem !important;
    }
    
    .filosofia-box {
        padding: 40px 20px !important;
        margin: 40px 0 !important;
        border-radius: 12px !important;
    }
    
    .filosofia-box h3 {
        font-size: 2rem !important;
        margin-bottom: 20px !important;
        font-weight: 700 !important;
        color: var(--gold) !important;
    }
    
    .filosofia-box p {
        font-size: 1rem !important;
        line-height: 1.8 !important;
    }
    
    .team-section {
        margin-top: 50px !important;
    }
    
    .team-section .section-title {
        font-size: 2.2rem !important;
        margin-bottom: 15px !important;
    }
    
    .team-grid {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        margin-top: 35px !important;
    }
    
    .team-member {
        padding: 35px 25px !important;
        border-radius: 12px !important;
    }
    
    .member-icon {
        width: 85px !important;
        height: 85px !important;
        font-size: 2.5rem !important;
        margin: 0 auto 20px !important;
    }
    
    .member-icon .avatar-img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        border-radius: 50% !important;
    }
    
    .team-member h4 {
        font-size: 1.5rem !important;
        font-weight: 700 !important;
        color: var(--text-dark) !important;
        margin-bottom: 10px !important;
    }
    
    .team-member .role {
        font-size: 1rem !important;
        font-weight: 600 !important;
        color: var(--gold) !important;
        margin-bottom: 15px !important;
        display: block !important;
    }
    
    .team-member p {
        font-size: 0.95rem !important;
        line-height: 1.7 !important;
    }
    
    .features-grid {
        grid-template-columns: 1fr !important;
        gap: 25px !important;
        margin-top: 40px !important;
    }
    
    .feature-card {
        padding: 35px 25px !important;
        border-radius: 12px !important;
    }
    
    .feature-icon,
    .icon-feature {
        width: 70px !important;
        height: 70px !important;
        font-size: 2rem !important;
        margin: 0 auto 25px !important;
    }
    
    .feature-icon img {
        width: 65px !important;
        height: 65px !important;
    }
    
    .feature-icon i {
        font-size: 65px !important;
        color: #333 !important;
        opacity: 0.9 !important;
    }
    
    .feature-card h3,
    .feature-card h4 {
        font-size: 1.4rem !important;
        font-weight: 700 !important;
        margin-bottom: 15px !important;
        color: var(--gold) !important;
    }
    
    .feature-card p {
        font-size: 0.95rem !important;
        line-height: 1.7 !important;
    }
    
    .text-body {
        font-size: 1rem !important;
        line-height: 1.8 !important;
    }
    
    /* ===================================
       MENU DEL GIORNO - CON LIGHTBOX FUNZIONANTE
       =================================== */
    .menu-container {
        max-width: 100% !important;
        padding: 0 !important;
    }
    
    .menu-dish-title {
        font-size: 1.5rem !important;
        margin-bottom: 25px !important;
        font-weight: 600 !important;
    }
    
    .menu-frame {
        border-radius: 12px !important;
        margin: 0 auto !important;
        max-width: 100% !important;
        cursor: zoom-in !important;
        touch-action: manipulation !important;
    }
    
    .menu-image {
        border-radius: 12px !important;
        min-height: auto !important;
        cursor: zoom-in !important;
        width: 100% !important;
        height: auto !important;
        display: block !important;
    }
    
    .menu-overlay-hint {
        font-size: 1rem !important;
        padding: 18px !important;
        opacity: 1 !important;
        background: linear-gradient(to top, rgba(0, 0, 0, 0.95), transparent) !important;
    }
    
    /* Lightbox menu - OTTIMIZZATO PER MOBILE */
    .lightbox.active {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .lightbox .menu-image {
        max-width: 90vw !important;
        max-height: 80vh !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
        border-radius: 8px !important;
        cursor: grab !important;
    }
    
    .lightbox.grabbing .menu-image {
        cursor: grabbing !important;
    }
    
    /* ===================================
       GALLERIA - FOTO PIÃƒÆ’Ã¢â€žÂ¢ GRANDI
       =================================== */
    .filters {
        gap: 10px !important;
        margin: 30px 0 !important;
        padding: 0 5px !important;
    }
    
    .filter-btn {
        padding: 12px 22px !important;
        font-size: 0.9rem !important;
        font-weight: 700 !important;
        letter-spacing: 1.5px !important;
        border-radius: 25px !important;
        border: 2px solid var(--gold) !important;
        background: white !important;
        color: var(--text-dark) !important;
        box-shadow: 0 3px 10px rgba(212, 175, 55, 0.2) !important;
    }
    
    .filter-btn:hover,
    .filter-btn.active {
        background: var(--gold) !important;
        color: black !important;
        transform: translateY(-3px) !important;
        box-shadow: 0 6px 20px rgba(212, 175, 55, 0.4) !important;
    }
    
    /* FOTO GALLERIA - 1 COLONNA E PIÃƒÆ’Ã¢â€žÂ¢ GRANDI */
    .gallery-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        margin-top: 30px !important;
    }
    
    .gallery-item {
        border-radius: 12px !important;
        aspect-ratio: 4/3 !important;
        min-height: 280px !important;
        cursor: pointer !important;
        touch-action: manipulation !important;
    }
    
    .gallery-item img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }
    
    .gallery-overlay {
        padding: 20px !important;
    }
    
    .gallery-overlay h4 {
        font-size: 1.2rem !important;
        margin-bottom: 8px !important;
    }
    
    .gallery-overlay p {
        font-size: 0.95rem !important;
    }
    
    .gallery-icon {
        font-size: 50px !important;
    }
    
    .pagination,
    .gallery-pagination {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 8px !important;
        margin-top: 35px !important;
        padding: 15px 10px !important;
    }
    
    .pagination button,
    .pagination-btn,
    .gallery-pagination .pagination-btn {
        width: auto !important;
        min-width: 45px !important;
        height: 45px !important;
        font-size: 1rem !important;
        font-weight: 700 !important;
        padding: 0 15px !important;
        border: 2px solid var(--gold) !important;
        background: white !important;
        color: var(--text-dark) !important;
        border-radius: 10px !important;
        box-shadow: 0 3px 12px rgba(212, 175, 55, 0.3) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 8px !important;
        transition: all 0.3s ease !important;
        flex-shrink: 0 !important;
    }
    
    .pagination button:hover:not(:disabled),
    .pagination-btn:hover:not(:disabled),
    .gallery-pagination .pagination-btn:hover:not(:disabled) {
        background: var(--gold) !important;
        color: white !important;
        transform: translateY(-3px) !important;
        box-shadow: 0 6px 20px rgba(212, 175, 55, 0.5) !important;
    }
    
    .pagination button.active,
    .pagination-btn.active,
    .gallery-pagination .pagination-btn.active {
        background: var(--gold) !important;
        color: white !important;
        box-shadow: 0 6px 20px rgba(212, 175, 55, 0.5) !important;
    }
    
    .pagination button:disabled,
    .pagination-btn:disabled {
        opacity: 0.4 !important;
        cursor: not-allowed !important;
    }
    
    .page-info,
    .pagination .page-info {
        width: auto !important;
        min-width: 100px !important;
        text-align: center !important;
        font-size: 0.95rem !important;
        font-weight: 700 !important;
        padding: 12px 20px !important;
        border: 3px solid var(--gold) !important;
        background: white !important;
        color: var(--text-dark) !important;
        border-radius: 10px !important;
        box-shadow: 0 3px 12px rgba(212, 175, 55, 0.3) !important;
        flex-shrink: 0 !important;
    }
    
    .pagination-dots {
        display: inline-block !important;
        color: var(--gold) !important;
        font-weight: bold !important;
        padding: 0 5px !important;
    }
    
    /* ===================================
       RECENSIONI
       =================================== */
    .reviews-grid {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        margin: 40px 0 !important;
    }
    
    .review-card {
        padding: 32px 24px !important;
        background: rgba(255, 255, 255, 0.08) !important;
        border: 2px solid rgba(212, 175, 55, 0.3) !important;
        border-radius: 15px !important;
        box-shadow: 0 5px 20px rgba(0, 0, 0, 0.3) !important;
    }
    
    .review-card::before {
        font-size: 90px !important;
        top: -8px !important;
        left: 18px !important;
    }
    
    .review-card:hover {
        background: rgba(212, 175, 55, 0.12) !important;
        border-color: var(--gold) !important;
        transform: translateY(-5px) !important;
        box-shadow: 0 8px 30px rgba(212, 175, 55, 0.4) !important;
    }
    
    .review-header {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 12px !important;
        margin-bottom: 20px !important;
    }
    
    .review-author {
        font-size: 1.2rem !important;
        font-weight: 700 !important;
        color: var(--gold) !important;
        gap: 12px !important;
        width: 100% !important;
    }
    
    .review-author i {
        font-size: 2rem !important;
        color: var(--gold) !important;
    }
    
    .review-stars {
        color: var(--gold) !important;
        font-size: 1rem !important;
        gap: 4px !important;
    }
    
    .review-text {
        font-size: 1rem !important;
        line-height: 1.8 !important;
        color: #e0e0e0 !important;
        margin-bottom: 20px !important;
        text-align: left !important;
    }
    
    .review-date {
        font-size: 0.9rem !important;
        color: #999 !important;
        text-align: left !important;
    }
    
    .btn-reviews {
        padding: 16px 35px !important;
        font-size: 1rem !important;
        border-radius: 50px !important;
    }
    
    .add-review-section {
        padding: 30px 20px !important;
        margin: 40px 0 !important;
        border-radius: 15px !important;
    }
    
    .add-review-section h2 {
        font-size: 1.6rem !important;
        margin-bottom: 25px !important;
    }
    
    .review-form .form-row {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }
    
    .review-form label {
        font-size: 0.9rem !important;
    }
    
    .review-form input,
    .review-form select,
    .review-form textarea {
        padding: 14px 15px !important;
        font-size: 1rem !important;
    }
    
    .btn-submit-review {
        padding: 16px 20px !important;
        font-size: 1rem !important;
    }
    
    /* ===================================
       MODAL - OTTIMIZZATO PER MOBILE A TUTTO SCHERMO
       =================================== */
    .modal {
        padding: 0 !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        background: rgba(0, 0, 0, 0.95) !important;
        z-index: 99999 !important;
        display: none !important;
    }
    
    .modal.active {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .modal-content {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        border-radius: 0 !important;
        margin: 0 !important;
        overflow-y: auto !important;
        box-shadow: none !important;
        background: var(--bg-dark) !important;
    }
    
    .modal-close,
    .close-modal {
        position: fixed !important;
        top: 15px !important;
        right: 15px !important;
        width: 45px !important;
        height: 45px !important;
        font-size: 26px !important;
        z-index: 100000 !important;
        background: rgba(212, 175, 55, 0.9) !important;
        color: black !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 2px solid var(--gold) !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5) !important;
    }
    
    .modal-header {
        padding: 60px 25px 25px !important;
        border-radius: 0 !important;
        text-align: center !important;
        background: linear-gradient(135deg, rgba(212, 175, 55, 0.1) 0%, transparent 100%) !important;
    }
    
    .modal-header i {
        font-size: 3.5rem !important;
        margin-bottom: 15px !important;
        color: var(--gold) !important;
    }
    
    .modal-header h3 {
        font-size: 1.6rem !important;
        margin-bottom: 10px !important;
        line-height: 1.3 !important;
        color: var(--gold) !important;
    }
    
    .modal-header p {
        font-size: 0.9rem !important;
        line-height: 1.5 !important;
        opacity: 0.9 !important;
    }
    
    .booking-form,
    .review-form {
        padding: 25px 20px !important;
        max-width: 600px !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }
    
    .form-group {
        margin-bottom: 15px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        padding: 0 !important;
    }
    
    .form-group label {
        font-size: 0.85rem !important;
        margin-bottom: 6px !important;
        display: block !important;
        font-weight: 600 !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
    
    .form-group label i {
        margin-right: 6px !important;
        font-size: 0.9rem !important;
    }
    
    .form-group input,
    .form-group select,
    .form-group textarea {
        padding: 12px 14px !important;
        font-size: 0.95rem !important;
        border-radius: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        border: 1px solid rgba(212, 175, 55, 0.3) !important;
        background: rgba(255, 255, 255, 0.05) !important;
        color: white !important;
        box-sizing: border-box !important;
    }
    
    /* Campo data specifico */
    .form-group input[type="date"],
    .form-group input[type="time"],
    .form-group input[type="datetime-local"] {
        padding: 10px 12px !important;
        font-size: 0.9rem !important;
    }
    
    .form-group textarea {
        min-height: 100px !important;
        resize: vertical !important;
    }
    
    .form-row {
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }
    
    .btn-whatsapp,
    .btn-submit {
        width: 100% !important;
        padding: 14px 18px !important;
        font-size: 0.95rem !important;
        border-radius: 8px !important;
        font-weight: 600 !important;
        margin-top: 10px !important;
    }
    
    .btn-whatsapp i {
        font-size: 1.2rem !important;
        margin-right: 8px !important;
    }
    
    .rating-input {
        font-size: 1.8rem !important;
        gap: 8px !important;
        justify-content: center !important;
        padding: 10px 0 !important;
    }
    
    /* Scrollbar modale - elegante */
    .modal-content::-webkit-scrollbar {
        width: 4px !important;
    }
    
    .modal-content::-webkit-scrollbar-thumb {
        background: rgba(212, 175, 55, 0.5) !important;
        border-radius: 10px !important;
    }
    
    .modal-content::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, 0.1) !important;
    }
    
    /* ===================================
       LIGHTBOX - OTTIMIZZATO PER ZOOM
       =================================== */
    .lightbox {
        padding: 10px !important;
        background: rgba(0, 0, 0, 0.97) !important;
    }
    
    .lightbox-wrapper {
        padding: 15px !important;
        max-width: 100% !important;
        max-height: 100% !important;
        width: 100% !important;
        height: 100% !important;
    }
    
    .lightbox-content {
        max-width: 95vw !important;
        max-height: 85vh !important;
        cursor: grab !important;
        touch-action: pan-x pan-y pinch-zoom !important;
    }
    
    .lightbox.grabbing .lightbox-content {
        cursor: grabbing !important;
    }
    
    .close-lightbox {
        top: 15px !important;
        right: 15px !important;
        width: 50px !important;
        height: 50px !important;
        font-size: 32px !important;
        background: rgba(212, 175, 55, 0.95) !important;
        border: none !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5) !important;
        z-index: 10002 !important;
    }
    
    .zoom-controls {
        bottom: 30px !important;
        padding: 15px 25px !important;
        gap: 15px !important;
        border-radius: 50px !important;
        background: rgba(0, 0, 0, 0.9) !important;
        border: 2px solid var(--gold) !important;
        z-index: 10002 !important;
    }
    
    .zoom-controls button {
        width: 50px !important;
        height: 50px !important;
        font-size: 1.4rem !important;
        background: transparent !important;
        border: 2px solid var(--gold) !important;
        color: var(--gold) !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .zoom-controls button:active {
        background: var(--gold) !important;
        color: black !important;
    }
    
    .zoom-hint {
        bottom: 100px !important;
        font-size: 0.9rem !important;
        padding: 12px 20px !important;
        background: rgba(0, 0, 0, 0.9) !important;
        color: var(--gold) !important;
        border-radius: 25px !important;
        border: 1px solid var(--gold) !important;
    }
    
    /* ===================================
       FOOTER
       =================================== */
    footer {
        padding: 50px 5% 35px !important;
    }
    
    .footer-content {
        grid-template-columns: 1fr !important;
        gap: 35px !important;
        text-align: center !important;
    }
    
    .footer-col {
        align-items: center !important;
    }
    
    .footer-col h3 {
        font-size: 1.4rem !important;
        margin-bottom: 20px !important;
        justify-content: center !important;
    }
    
    .footer-col p {
        justify-content: center !important;
        font-size: 0.95rem !important;
        line-height: 1.8 !important;
    }
    
    .footer-col i {
        font-size: 1.1rem !important;
    }
    
    .hours-list {
        gap: 12px !important;
        width: 100% !important;
    }
    
    .hour-item {
        padding: 14px 18px !important;
        border-radius: 10px !important;
    }
    
    .hour-item .day {
        font-size: 0.95rem !important;
        font-weight: 600 !important;
    }
    
    .hour-item .time {
        font-size: 0.9rem !important;
    }
    
    .social-links {
        justify-content: center !important;
        gap: 15px !important;
        margin-top: 15px !important;
    }
    
    .social-links a {
        width: 50px !important;
        height: 50px !important;
        font-size: 1.3rem !important;
    }
    
    .credits {
        font-size: 0.9rem !important;
        margin-top: 15px !important;
    }
    
    .footer-divider {
        margin: 20px 0 !important;
    }
    
    /* ===================================
       WHATSAPP FLOAT
       =================================== */
    .whatsapp-float {
        width: 60px !important;
        height: 60px !important;
        font-size: 2rem !important;
        bottom: 25px !important;
        right: 25px !important;
        box-shadow: 0 6px 25px rgba(37, 211, 102, 0.5) !important;
    }
    
    .whatsapp-float:hover {
        transform: scale(1.15) !important;
    }
    
    /* ===================================
       COOKIE BANNER
       =================================== */
    .cookie-banner {
        padding: 20px 15px !important;
    }
    
    .cookie-content {
        flex-direction: column !important;
        gap: 18px !important;
        text-align: center !important;
    }
    
    .cookie-icon {
        font-size: 42px !important;
    }
    
    .cookie-text h4 {
        font-size: 1.15rem !important;
        margin-bottom: 10px !important;
    }
    
    .cookie-text p {
        font-size: 0.95rem !important;
        line-height: 1.6 !important;
    }
    
    .cookie-actions {
        width: 100% !important;
        flex-direction: column !important;
        gap: 12px !important;
    }
    
    .btn-cookie {
        width: 100% !important;
        padding: 14px 25px !important;
        font-size: 1rem !important;
        border-radius: 10px !important;
    }
    
    /* ===================================
       LANGUAGE SWITCHER
       =================================== */
    .language-switcher.mobile-visible {
        position: fixed !important;
        bottom: 90px !important;
        right: 20px !important;
        z-index: 998 !important;
    }
    
    .language-switcher.mobile-visible .lang-dropdown {
        bottom: calc(100% + 8px) !important;
        top: auto !important;
    }
}

/* ==========================================
   MOBILE SMALL (ÃƒÂ¢Ã¢â‚¬Â°Ã‚Â¤480px)
   ========================================== */
@media (max-width: 480px) {
    .navbar {
        height: 70px !important;
    }
    
    .nav-links {
        top: 70px !important;
        height: calc(100vh - 70px) !important;
    }
    
    .navbar .logo {
        font-size: 1.3rem !important;
    }
    
    .navbar .logo-img {
        width: 35px !important;
        height: 35px !important;
    }
    
    .main-title {
        font-size: 2.4rem !important;
    }
    
    .subtitle-hero {
        font-size: 0.95rem !important;
    }
    
    .tagline {
        font-size: 1.3rem !important;
    }
    
    .cta-hero {
        padding: 14px 28px !important;
        font-size: 0.95rem !important;
    }
    
    .section-classic,
    .section-dark,
    .gallery-section,
    .recensioni-section {
        padding: 60px 4% !important;
        padding-top: 80px !important;
    }
    
    .section-title {
        font-size: 2rem !important;
    }
    
    .separator-gold {
        width: 50px !important;
    }
    
    .intro-box .lead-text {
        font-size: 1.05rem !important;
    }
    
    .storia-box,
    .filosofia-box {
        padding: 35px 18px !important;
    }
    
    .storia-content h3,
    .filosofia-box h3 {
        font-size: 1.7rem !important;
    }
    
    .icon-year {
        font-size: 1.4rem !important;
    }
    
    .icon-year i {
        font-size: 1.8rem !important;
    }
    
    .team-member {
        padding: 30px 20px !important;
    }
    
    .member-icon {
        width: 75px !important;
        height: 75px !important;
        font-size: 2.2rem !important;
    }
    
    .member-icon .avatar-img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        border-radius: 50% !important;
    }
    
    .team-member h4 {
        font-size: 1.3rem !important;
    }
    
    .team-member .role {
        font-size: 0.95rem !important;
    }
    
    .feature-card {
        padding: 30px 20px !important;
    }
    
    .feature-icon,
    .icon-feature {
        width: 65px !important;
        height: 65px !important;
        font-size: 1.8rem !important;
    }
    
    .feature-icon img {
        width: 58px !important;
        height: 58px !important;
    }
    
    .feature-icon i {
        font-size: 58px !important;
        color: #333 !important;
        opacity: 0.9 !important;
    }
    
    .feature-card h3,
    .feature-card h4 {
        font-size: 1.3rem !important;
    }
    
    .menu-dish-title {
        font-size: 1.4rem !important;
    }
    
    /* GALLERIA - MANTIENI 1 COLONNA */
    .gallery-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
    }
    
    .gallery-item {
        min-height: 260px !important;
    }
    
    .filter-btn {
        padding: 10px 20px !important;
        font-size: 0.85rem !important;
    }
    
    /* Paginazione - RIGA ORIZZONTALE ANCHE SU SMALL */
    .pagination button,
    .pagination-btn {
        height: 42px !important;
        min-width: 42px !important;
        font-size: 0.95rem !important;
        padding: 0 12px !important;
    }
    
    .page-info {
        font-size: 0.9rem !important;
        padding: 10px 16px !important;
        min-width: 90px !important;
    }
    
    .review-card {
        padding: 28px 20px !important;
    }
    
    .review-author {
        font-size: 1.1rem !important;
    }
    
    .review-author i {
        font-size: 1.8rem !important;
    }
    
    .review-text {
        font-size: 0.95rem !important;
    }
    
    .modal {
        background: rgba(0, 0, 0, 0.97) !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        z-index: 10001 !important;
    }
    
    .modal-content {
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 0 !important;
        position: relative !important;
        margin: 0 !important;
        left: 0 !important;
        right: 0 !important;
        box-sizing: border-box !important;
    }
    
    .modal-close {
        width: 42px !important;
        height: 42px !important;
        font-size: 24px !important;
    }
    
    .modal-header {
        padding: 55px 20px 20px !important;
    }
    
    .modal-header i {
        font-size: 3rem !important;
    }
    
    .modal-header h3 {
        font-size: 1.4rem !important;
    }
    
    .modal-header p {
        font-size: 0.85rem !important;
    }
    
    .booking-form,
    .review-form {
        padding: 20px 15px !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }
    
    .form-group {
        margin-bottom: 12px !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        overflow: hidden !important;
    }
    
    .form-group label {
        font-size: 0.8rem !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        display: block !important;
    }
    
    .form-group input,
    .form-group select,
    .form-group textarea {
        padding: 11px 12px !important;
        font-size: 0.9rem !important;
        box-sizing: border-box !important;
        max-width: 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }
    
    /* Campo data per schermi piccoli */
    .form-group input[type="date"],
    .form-group input[type="time"],
    .form-group input[type="datetime-local"] {
        padding: 11px 12px !important;
        font-size: 0.9rem !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        border: 1.5px solid rgba(255, 255, 255, 0.15) !important;
        background: rgba(255, 255, 255, 0.03) !important;
        color: white !important;
        border-radius: 8px !important;
        outline: none !important;
        transition: all 0.3s ease !important;
        -webkit-appearance: none !important;
        -moz-appearance: none !important;
        appearance: none !important;
        min-width: 0 !important;
        overflow: hidden !important;
    }
    
    .form-group input[type="date"]::-webkit-calendar-picker-indicator,
    .form-group input[type="time"]::-webkit-calendar-picker-indicator,
    .form-group input[type="datetime-local"]::-webkit-calendar-picker-indicator {
        filter: invert(1) !important;
        cursor: pointer !important;
        opacity: 0.7 !important;
    }
    
    .form-group input[type="date"]:focus,
    .form-group input[type="time"]:focus,
    .form-group input[type="datetime-local"]:focus {
        border-color: var(--gold) !important;
        background: rgba(255, 255, 255, 0.05) !important;
    }
    
    .btn-whatsapp,
    .btn-submit {
        padding: 13px 16px !important;
        font-size: 0.9rem !important;
    }
    
    footer {
        padding: 45px 4% 30px !important;
    }
    
    .footer-col h3 {
        font-size: 1.3rem !important;
    }
    
    .footer-col p {
        font-size: 0.9rem !important;
    }
    
    .social-links a {
        width: 48px !important;
        height: 48px !important;
        font-size: 1.2rem !important;
    }
    
    .whatsapp-float {
        width: 55px !important;
        height: 55px !important;
        font-size: 1.8rem !important;
        bottom: 20px !important;
        right: 20px !important;
    }
    
    .zoom-controls {
        bottom: 20px !important;
        padding: 10px 16px !important;
        gap: 10px !important;
    }
    
    .zoom-controls button {
        width: 44px !important;
        height: 44px !important;
        font-size: 1.1rem !important;
    }
    
    .close-lightbox {
        top: 12px !important;
        right: 12px !important;
        width: 44px !important;
        height: 44px !important;
        font-size: 26px !important;
    }
}

/* ==========================================
   LANDSCAPE MOBILE
   ========================================== */
@media (max-height: 600px) and (orientation: landscape) {
    .hero {
        min-height: 100vh !important;
    }
    
    .hero-content {
        padding: 15px !important;
    }
    
    .main-title {
        font-size: 2.2rem !important;
        margin-bottom: 12px !important;
    }
    
    .tagline {
        font-size: 1.2rem !important;
        margin-bottom: 18px !important;
    }
    
    .cta-hero {
        padding: 12px 24px !important;
        font-size: 0.9rem !important;
    }
    
    .modal-content {
        max-height: 90vh !important;
    }
    
    .nav-links {
        height: 100vh !important;
    }
}

/* ==========================================
   SMOOTH SCROLLING & TOUCH
   ========================================== */
@media (max-width: 900px) {
    * {
        -webkit-tap-highlight-color: rgba(212, 175, 55, 0.2) !important;
    }
    
    button, a {
        touch-action: manipulation !important;
    }
    
    .section-classic,
    .section-dark,
    .gallery-section,
    .recensioni-section {
        scroll-margin-top: 80px !important;
    }
}

/* ==========================================
   FIX SAFARI iOS
   ========================================== */
@supports (-webkit-touch-callout: none) {
    @media (max-width: 900px) {
        .hero {
            min-height: -webkit-fill-available !important;
        }
        
        .nav-links {
            height: -webkit-fill-available !important;
        }
    }
}
/* ==========================================
   FIX FINALI MOBILE - Dicembre 2025
   ========================================== */

/* BUONI REGALO - Dimensioni corrette mobile */
@media (max-width: 900px) {
    .section-buoni-regalo {
        min-height: auto !important;
        padding: 0 !important;
    }
    
    .buoni-hero-container {
        min-height: 70vh !important;
        max-height: 70vh !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .buoni-content {
        padding: 30px 20px !important;
        max-width: 100% !important;
    }
    
    .buoni-title {
        font-size: 1.8rem !important;
        margin-bottom: 20px !important;
        line-height: 1.2 !important;
    }
    
    .buoni-text-box {
        padding: 20px 18px !important;
        border-radius: 12px !important;
    }
    
    .buoni-subtitle {
        font-size: 1.2rem !important;
        margin-bottom: 15px !important;
    }
    
    .buoni-description {
        font-size: 0.9rem !important;
        margin-bottom: 12px !important;
        line-height: 1.6 !important;
    }
    
    .buoni-highlight {
        font-size: 0.95rem !important;
        margin: 15px 0 !important;
    }
    
    .buoni-cta-text {
        font-size: 0.9rem !important;
        padding: 12px !important;
        margin-top: 15px !important;
    }
}

/* LIGHTBOX CLOSE BUTTON - SEMPRE VISIBILE */
@media (max-width: 900px) {
    .lightbox {
        z-index: 100000 !important;
    }
    
    .close-lightbox {
        position: fixed !important;
        top: 20px !important;
        right: 20px !important;
        width: 60px !important;
        height: 60px !important;
        background: var(--gold) !important;
        color: #000 !important;
        font-size: 36px !important;
        font-weight: bold !important;
        border: 4px solid #fff !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 100001 !important;
        cursor: pointer !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.8) !important;
        transition: all 0.3s ease !important;
    }
    
    .close-lightbox:active {
        transform: scale(0.9) !important;
        background: var(--gold-hover) !important;
    }
    
    /* Lightbox wrapper */
    .lightbox-wrapper {
        z-index: 100000 !important;
    }
    
    .lightbox-content,
    #img-zoom {
        max-width: 90vw !important;
        max-height: 80vh !important;
        z-index: 99999 !important;
    }
}

/* FOOTER - Ottimizzato mobile */
@media (max-width: 900px) {
    footer {
        padding: 40px 5% 25px !important;
    }
    
    .footer-content {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        text-align: center !important;
    }
    
    .footer-col {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }
    
    .footer-col h3 {
        font-size: 1.3rem !important;
        margin-bottom: 15px !important;
        color: var(--gold) !important;
    }
    
    .footer-col p {
        font-size: 0.9rem !important;
        line-height: 1.7 !important;
        margin-bottom: 8px !important;
    }
    
    .footer-col i {
        margin-right: 8px !important;
        color: var(--gold) !important;
    }
    
    /* Hours list nel footer */
    .hours-list {
        width: 100% !important;
        max-width: 350px !important;
    }
    
    .hour-item {
        padding: 12px 15px !important;
        border-radius: 8px !important;
        background: rgba(255, 255, 255, 0.03) !important;
        margin-bottom: 8px !important;
    }
    
    .hour-item .day {
        font-weight: 600 !important;
        color: #ccc !important;
    }
    
    .hour-item .time {
        color: var(--gold) !important;
    }
    
    /* Social links */
    .social-links {
        justify-content: center !important;
        gap: 15px !important;
        margin-top: 15px !important;
    }
    
    .social-links a {
        width: 45px !important;
        height: 45px !important;
        font-size: 1.2rem !important;
        background: rgba(212, 175, 55, 0.1) !important;
        border: 2px solid var(--gold) !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: var(--gold) !important;
        transition: all 0.3s ease !important;
    }
    
    .social-links a:active {
        background: var(--gold) !important;
        color: #000 !important;
        transform: scale(0.95) !important;
    }
    
    /* Footer divider */
    .footer-divider {
        margin: 25px 0 !important;
        opacity: 0.3 !important;
    }
    
    /* Credits */
    .footer-bottom {
        text-align: center !important;
        padding-top: 20px !important;
    }
    
    .credits {
        font-size: 0.85rem !important;
        color: #888 !important;
        line-height: 1.6 !important;
    }
    
    .credits strong {
        color: var(--gold) !important;
    }
}

/* Small mobile (480px) */
@media (max-width: 480px) {
    .buoni-hero-container {
        min-height: 60vh !important;
        max-height: 60vh !important;
    }
    
    .buoni-title {
        font-size: 1.5rem !important;
    }
    
    .buoni-subtitle {
        font-size: 1.1rem !important;
    }
    
    .buoni-description {
        font-size: 0.85rem !important;
    }
    
    .close-lightbox {
        width: 55px !important;
        height: 55px !important;
        font-size: 32px !important;
    }
}

/* ==========================================
   FIX FINALI 2 - Spacing e Visibilità
   ========================================== */

/* BANNER NATALE - Più spazio verticale */
@media (max-width: 900px) {
    .section-buoni-regalo {
        margin: 60px 0 !important;  /* Spazio sopra e sotto */
        padding: 0 !important;
    }
    
    .buoni-hero-container {
        min-height: 75vh !important;
        padding: 40px 0 !important;  /* Padding interno */
    }
    
    .buoni-content {
        padding: 40px 20px !important;  /* Più padding interno */
    }
    
    .buoni-text-box {
        margin: 20px 0 !important;  /* Spazio attorno al box */
    }
}

/* CLOSE BUTTON LIGHTBOX - Più in basso e centrato */
@media (max-width: 900px) {
    .close-lightbox {
        position: fixed !important;
        top: auto !important;
        bottom: 30px !important;  /* In basso invece che in alto */
        left: 50% !important;     /* Centrato orizzontalmente */
        right: auto !important;
        transform: translateX(-50%) !important;  /* Centra perfettamente */
        width: 70px !important;
        height: 70px !important;
        background: var(--gold) !important;
        color: #000 !important;
        font-size: 40px !important;
        font-weight: bold !important;
        border: 4px solid #fff !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 100001 !important;
        cursor: pointer !important;
        box-shadow: 0 6px 30px rgba(0, 0, 0, 0.9) !important;
        transition: all 0.3s ease !important;
    }
    
    .close-lightbox:active {
        transform: translateX(-50%) scale(0.9) !important;
        background: var(--gold-hover) !important;
    }
}

/* MENU PDF - Più grande e visibile */
@media (max-width: 900px) {
    .menu-giorno-section {
        padding: 60px 5% !important;
    }
    
    .menu-container {
        padding: 0 !important;
        width: 100% !important;
    }
    
    #menu-titolo-principale {
        font-size: 2rem !important;
        margin-bottom: 15px !important;
        color: var(--gold) !important;
        font-weight: 700 !important;
    }
    
    #menu-sottotitolo {
        font-size: 1.1rem !important;
        margin-bottom: 25px !important;
        color: #ccc !important;
    }
    
    /* PDF Viewer più grande */
    .pdf-viewer-container {
        width: 100% !important;
        background: #1a1a1a !important;
        border-radius: 12px !important;
        padding: 15px !important;
        margin: 20px 0 !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
    }
    
    #pdfCanvas {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        border-radius: 8px !important;
        margin: 0 auto !important;
    }
    
    /* Controlli PDF più grandi */
    .pdf-controls {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 20px 10px !important;
        flex-wrap: wrap !important;
        background: rgba(0, 0, 0, 0.3) !important;
        border-radius: 10px !important;
        margin-top: 15px !important;
    }
    
    .pdf-btn {
        min-width: 50px !important;
        height: 50px !important;
        padding: 12px 18px !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        background: rgba(212, 175, 55, 0.2) !important;
        border: 2px solid var(--gold) !important;
        color: var(--gold) !important;
        border-radius: 10px !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .pdf-btn:disabled {
        opacity: 0.3 !important;
        cursor: not-allowed !important;
    }
    
    .pdf-btn:not(:disabled):active {
        background: var(--gold) !important;
        color: #000 !important;
        transform: scale(0.95) !important;
    }
    
    .pdf-page-info {
        padding: 12px 20px !important;
        background: rgba(212, 175, 55, 0.2) !important;
        border: 2px solid var(--gold) !important;
        border-radius: 10px !important;
        color: var(--gold) !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        min-width: 100px !important;
        text-align: center !important;
    }
    
    /* Menu immagine (se non PDF) */
    .menu-frame {
        width: 100% !important;
        border-radius: 12px !important;
        overflow: hidden !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
    }
    
    .menu-image {
        width: 100% !important;
        height: auto !important;
        display: block !important;
        cursor: zoom-in !important;
    }
    
    /* Download button */
    .menu-download-container {
        margin-top: 25px !important;
        text-align: center !important;
    }
    
    .btn-download-menu {
        padding: 16px 32px !important;
        font-size: 16px !important;
        background: linear-gradient(135deg, var(--gold) 0%, var(--gold-hover) 100%) !important;
        color: #000 !important;
        border: none !important;
        border-radius: 50px !important;
        font-weight: 600 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        cursor: pointer !important;
        box-shadow: 0 4px 15px rgba(212, 175, 55, 0.4) !important;
        transition: all 0.3s ease !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 10px !important;
    }
    
    .btn-download-menu:active {
        transform: translateY(2px) !important;
        box-shadow: 0 2px 10px rgba(212, 175, 55, 0.3) !important;
    }
    
    .btn-download-menu i {
        font-size: 18px !important;
    }
}

/* Small mobile adjustments */
@media (max-width: 480px) {
    .section-buoni-regalo {
        margin: 40px 0 !important;
    }
    
    .buoni-hero-container {
        min-height: 65vh !important;
        padding: 30px 0 !important;
    }
    
    .close-lightbox {
        width: 65px !important;
        height: 65px !important;
        font-size: 36px !important;
        bottom: 25px !important;
    }
    
    .pdf-btn {
        min-width: 45px !important;
        height: 45px !important;
        font-size: 14px !important;
    }
    
    .pdf-page-info {
        font-size: 14px !important;
        padding: 10px 16px !important;
    }
    
    .btn-download-menu {
        padding: 14px 28px !important;
        font-size: 14px !important;
    }
}

/* ==========================================
   FIX FINALI 3 - Spacing Massimo e Modali
   ========================================== */

/* BANNER NATALE - ANCORA PIÙ SPAZIO */
@media (max-width: 900px) {
    .section-buoni-regalo {
        margin: 80px 0 !important;  /* Ancora più spazio */
        padding: 30px 0 !important;
    }
    
    .buoni-hero-container {
        min-height: 80vh !important;  /* Aumentato */
        padding: 50px 0 !important;   /* Più padding */
    }
    
    .buoni-content {
        padding: 50px 25px !important;  /* Più padding */
    }
    
    .buoni-text-box {
        margin: 30px 0 !important;  /* Più spazio */
        padding: 25px 20px !important;
    }
}

/* CLOSE BUTTON - ANCORA PIÙ IN BASSO */
@media (max-width: 900px) {
    .close-lightbox {
        bottom: 50px !important;  /* Più in basso */
        width: 75px !important;   /* Ancora più grande */
        height: 75px !important;
        font-size: 42px !important;
    }
}

/* MENU PDF - ANCORA PIÙ GRANDE */
@media (max-width: 900px) {
    #menu-titolo-principale {
        font-size: 2.2rem !important;  /* Più grande */
        margin-bottom: 20px !important;
    }
    
    #menu-sottotitolo {
        font-size: 1.2rem !important;
        margin-bottom: 30px !important;
    }
    
    .pdf-viewer-container {
        padding: 20px !important;  /* Più padding */
        margin: 30px 0 !important;
    }
    
    .pdf-controls {
        padding: 25px 15px !important;
        gap: 15px !important;
    }
    
    .pdf-btn {
        min-width: 55px !important;  /* Più grandi */
        height: 55px !important;
        font-size: 18px !important;
    }
    
    .pdf-page-info {
        padding: 14px 24px !important;
        font-size: 18px !important;
        min-width: 120px !important;
    }
    
    .btn-download-menu {
        padding: 18px 36px !important;
        font-size: 18px !important;
    }
}

/* MODALI - SCROLL FUNZIONANTE E BOTTONE VISIBILE */
@media (max-width: 900px) {
    /* Modal container con scroll */
    .modal {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background: rgba(0, 0, 0, 0.95) !important;
        z-index: 10001 !important;
        display: none !important;
        overflow-y: auto !important;  /* Scroll abilitato */
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;  /* iOS smooth scroll */
    }
    
    .modal.active {
        display: block !important;  /* Block invece di flex per scroll */
    }
    
    /* Modal content scrollabile */
    .modal-content {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 100% !important;  /* Almeno alto come viewport */
        height: auto !important;      /* Auto per crescere con contenuto */
        background: var(--bg-dark) !important;
        border-radius: 0 !important;
        margin: 0 !important;
        padding: 0 0 80px 0 !important;  /* Padding bottom per bottone */
        position: relative !important;
        box-sizing: border-box !important;
    }
    
    /* Close button fisso in alto */
    .modal-close,
    .close-modal {
        position: fixed !important;
        top: 15px !important;
        right: 15px !important;
        width: 50px !important;
        height: 50px !important;
        background: var(--gold) !important;
        color: #000 !important;
        font-size: 28px !important;
        border: 3px solid #fff !important;
        border-radius: 50% !important;
        z-index: 10002 !important;
        cursor: pointer !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.8) !important;
    }
    
    /* Header modal */
    .modal-header {
        padding: 70px 20px 25px !important;  /* Top padding per close button */
        position: relative !important;
        background: linear-gradient(135deg, rgba(212, 175, 55, 0.1) 0%, transparent 100%) !important;
    }
    
    .modal-header i {
        font-size: 3rem !important;
        color: var(--gold) !important;
        margin-bottom: 15px !important;
    }
    
    .modal-header h3 {
        font-size: 1.6rem !important;
        color: var(--gold) !important;
        margin-bottom: 10px !important;
    }
    
    .modal-header p {
        font-size: 0.95rem !important;
        color: #aaa !important;
    }
    
    /* Form scrollabile */
    .booking-form,
    .review-form,
    .contact-form {
        padding: 30px 20px 100px 20px !important;  /* Bottom padding generoso */
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }
    
    /* Form groups */
    .form-group {
        margin-bottom: 20px !important;
        width: 100% !important;
    }
    
    .form-group label {
        font-size: 0.9rem !important;
        margin-bottom: 8px !important;
        display: block !important;
        color: #ccc !important;
        font-weight: 600 !important;
    }
    
    .form-group input,
    .form-group select,
    .form-group textarea {
        width: 100% !important;
        padding: 14px 16px !important;
        font-size: 16px !important;  /* 16px previene zoom iOS */
        border: 1px solid rgba(212, 175, 55, 0.3) !important;
        border-radius: 8px !important;
        background: rgba(255, 255, 255, 0.05) !important;
        color: white !important;
        box-sizing: border-box !important;
    }
    
    .form-group textarea {
        min-height: 120px !important;
        resize: vertical !important;
    }
    
    .form-row {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        margin-bottom: 20px !important;
    }
    
    /* Bottone submit SEMPRE VISIBILE */
    .btn-whatsapp,
    .btn-submit,
    .btn-submit-review,
    .btn-send-contact {
        width: 100% !important;
        padding: 18px 20px !important;
        font-size: 18px !important;
        font-weight: 600 !important;
        background: linear-gradient(135deg, var(--gold) 0%, var(--gold-hover) 100%) !important;
        color: #000 !important;
        border: none !important;
        border-radius: 50px !important;
        cursor: pointer !important;
        margin-top: 30px !important;
        margin-bottom: 20px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
        box-shadow: 0 4px 15px rgba(212, 175, 55, 0.4) !important;
        transition: all 0.3s ease !important;
        min-height: 56px !important;  /* Touch target minimo */
    }
    
    .btn-whatsapp:active,
    .btn-submit:active,
    .btn-submit-review:active {
        transform: translateY(2px) !important;
        box-shadow: 0 2px 10px rgba(212, 175, 55, 0.3) !important;
    }
    
    .btn-whatsapp i {
        font-size: 22px !important;
    }
    
    /* Privacy checkbox più grande */
    .privacy-checkbox {
        display: flex !important;
        align-items: flex-start !important;
        gap: 12px !important;
        margin: 20px 0 !important;
    }
    
    .privacy-checkbox input[type="checkbox"] {
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        margin-top: 2px !important;
        cursor: pointer !important;
    }
    
    .privacy-checkbox label {
        font-size: 0.85rem !important;
        line-height: 1.5 !important;
        color: #aaa !important;
    }
    
    /* Rating input */
    .rating-input {
        display: flex !important;
        justify-content: center !important;
        gap: 10px !important;
        margin: 20px 0 !important;
    }
    
    .rating-input i {
        font-size: 2rem !important;
        color: #666 !important;
        cursor: pointer !important;
        transition: color 0.2s ease !important;
    }
    
    .rating-input i.active {
        color: var(--gold) !important;
    }
    
    /* Scrollbar elegante */
    .modal::-webkit-scrollbar {
        width: 8px !important;
    }
    
    .modal::-webkit-scrollbar-thumb {
        background: rgba(212, 175, 55, 0.5) !important;
        border-radius: 10px !important;
    }
    
    .modal::-webkit-scrollbar-track {
        background: rgba(0, 0, 0, 0.3) !important;
    }
}

/* Small mobile */
@media (max-width: 480px) {
    .section-buoni-regalo {
        margin: 60px 0 !important;
    }
    
    .buoni-hero-container {
        min-height: 70vh !important;
        padding: 40px 0 !important;
    }
    
    .close-lightbox {
        bottom: 40px !important;
        width: 70px !important;
        height: 70px !important;
        font-size: 38px !important;
    }
    
    .pdf-btn {
        min-width: 50px !important;
        height: 50px !important;
        font-size: 16px !important;
    }
    
    .pdf-page-info {
        font-size: 16px !important;
        padding: 12px 20px !important;
    }
    
    .btn-download-menu {
        padding: 16px 32px !important;
        font-size: 16px !important;
    }
    
    .booking-form,
    .review-form,
    .contact-form {
        padding: 25px 15px 90px 15px !important;
    }
    
    .btn-whatsapp,
    .btn-submit,
    .btn-submit-review {
        padding: 16px 18px !important;
        font-size: 16px !important;
    }
}

/* ==========================================
   FIX FINALI 4 - PDF Grande e Close Button Sopra
   ========================================== */

/* MENU PDF - PDF GRANDE, BOTTONI NORMALI */
@media (max-width: 900px) {
    /* PDF Canvas più grande - scala aumentata */
    #pdfCanvas {
        width: 100% !important;
        height: auto !important;
        min-height: 70vh !important;  /* Minimo 70% viewport height */
        display: block !important;
        border-radius: 8px !important;
        margin: 0 auto !important;
        object-fit: contain !important;
    }
    
    .pdf-viewer-container {
        width: 100% !important;
        background: #1a1a1a !important;
        border-radius: 12px !important;
        padding: 15px !important;
        margin: 25px 0 !important;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5) !important;
    }
    
    /* Controlli PDF - dimensioni normali/piccole */
    .pdf-controls {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 10px !important;
        padding: 15px 10px !important;
        flex-wrap: wrap !important;
        background: rgba(0, 0, 0, 0.3) !important;
        border-radius: 10px !important;
        margin-top: 12px !important;
    }
    
    .pdf-btn {
        min-width: 40px !important;     /* Più piccoli */
        height: 40px !important;
        padding: 8px 12px !important;
        font-size: 14px !important;     /* Font normale */
        font-weight: 600 !important;
        background: rgba(212, 175, 55, 0.15) !important;
        border: 1.5px solid var(--gold) !important;
        color: var(--gold) !important;
        border-radius: 8px !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .pdf-btn:disabled {
        opacity: 0.3 !important;
        cursor: not-allowed !important;
    }
    
    .pdf-btn:not(:disabled):active {
        background: var(--gold) !important;
        color: #000 !important;
        transform: scale(0.95) !important;
    }
    
    .pdf-page-info {
        padding: 8px 16px !important;   /* Più piccolo */
        background: rgba(212, 175, 55, 0.15) !important;
        border: 1.5px solid var(--gold) !important;
        border-radius: 8px !important;
        color: var(--gold) !important;
        font-size: 14px !important;     /* Font normale */
        font-weight: 600 !important;
        min-width: 80px !important;
        text-align: center !important;
    }
}

/* CLOSE BUTTON LIGHTBOX - SOPRA LA FOTO */
@media (max-width: 900px) {
    /* Close button in alto a destra, sopra la foto */
    .lightbox .close-lightbox {
        position: fixed !important;
        top: 20px !important;           /* In alto */
        right: 20px !important;         /* A destra */
        bottom: auto !important;        /* Non più in basso */
        left: auto !important;          /* Non centrato */
        transform: none !important;     /* No transform */
        width: 60px !important;
        height: 60px !important;
        background: var(--gold) !important;
        color: #000 !important;
        font-size: 32px !important;
        font-weight: bold !important;
        border: 3px solid #fff !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        z-index: 100002 !important;     /* Sopra tutto */
        cursor: pointer !important;
        box-shadow: 0 6px 30px rgba(0, 0, 0, 0.9) !important;
        transition: all 0.3s ease !important;
    }
    
    .lightbox .close-lightbox:active {
        transform: scale(0.9) !important;  /* Solo scale, no translateX */
        background: var(--gold-hover) !important;
    }
    
    /* Lightbox content con spazio per close button */
    .lightbox-wrapper {
        padding: 80px 20px 20px 20px !important;  /* Top padding per close button */
        max-width: 100% !important;
        max-height: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .lightbox-content,
    #img-zoom {
        max-width: 90vw !important;
        max-height: 80vh !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
    }
}

/* Small mobile adjustments */
@media (max-width: 480px) {
    #pdfCanvas {
        min-height: 60vh !important;
    }
    
    .pdf-btn {
        min-width: 36px !important;
        height: 36px !important;
        font-size: 13px !important;
    }
    
    .pdf-page-info {
        font-size: 13px !important;
        padding: 6px 14px !important;
        min-width: 70px !important;
    }
    
    .lightbox .close-lightbox {
        width: 55px !important;
        height: 55px !important;
        font-size: 28px !important;
        top: 15px !important;
        right: 15px !important;
    }
}

/* ==========================================
   FIX FINALI 5 - Close Button Fisso + PDF Lightbox
   ========================================== */

/* CLOSE BUTTON GALLERY - ASSOLUTAMENTE FISSO */
@media (max-width: 900px) {
    .lightbox {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background: rgba(0, 0, 0, 0.97) !important;
        z-index: 100000 !important;
        display: none !important;
        overflow: hidden !important;  /* Nessuno scroll del lightbox */
    }
    
    .lightbox.active {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    /* Close button FISSO - NON scrolla */
    .lightbox .close-lightbox {
        position: fixed !important;     /* FIXED, non absolute */
        top: 20px !important;
        right: 20px !important;
        width: 60px !important;
        height: 60px !important;
        background: var(--gold) !important;
        color: #000 !important;
        font-size: 32px !important;
        font-weight: bold !important;
        border: 3px solid #fff !important;
        border-radius: 50% !important;
        z-index: 100003 !important;     /* Sopra tutto */
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-shadow: 0 6px 30px rgba(0, 0, 0, 0.9) !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
    }
    
    /* Lightbox wrapper scrollabile per foto */
    .lightbox-wrapper {
        width: 100% !important;
        height: 100% !important;
        overflow: auto !important;          /* Scroll per foto grandi */
        -webkit-overflow-scrolling: touch !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 80px 20px 20px 20px !important;
    }
    
    /* Foto/video con zoom touch */
    .lightbox-content,
    #img-zoom {
        max-width: none !important;
        max-height: none !important;
        width: auto !important;
        height: auto !important;
        min-width: 90vw !important;
        object-fit: contain !important;
        touch-action: pan-x pan-y pinch-zoom !important;  /* Zoom con dita */
        cursor: grab !important;
    }
}

/* PDF LIGHTBOX MOBILE - A tutto schermo con zoom */
@media (max-width: 900px) {
    /* Menu frame cliccabile */
    .menu-frame,
    .menu-pdf-frame {
        cursor: pointer !important;
        position: relative !important;
    }
    
    .menu-frame img,
    .menu-image {
        cursor: zoom-in !important;
        transition: opacity 0.3s ease !important;
    }
    
    .menu-frame:active img,
    .menu-frame:active .menu-image {
        opacity: 0.8 !important;
    }
    
    /* PDF Lightbox per menu */
    #pdf-lightbox-mobile {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        background: rgba(0, 0, 0, 0.98) !important;
        z-index: 100000 !important;
        display: none !important;
        overflow: hidden !important;
    }
    
    #pdf-lightbox-mobile.active {
        display: flex !important;
        flex-direction: column !important;
    }
    
    /* Header lightbox con close button */
    .pdf-lightbox-header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: 60px !important;
        background: rgba(0, 0, 0, 0.95) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 0 15px !important;
        z-index: 100002 !important;
        border-bottom: 1px solid rgba(212, 175, 55, 0.3) !important;
    }
    
    .pdf-lightbox-title {
        color: var(--gold) !important;
        font-size: 1rem !important;
        font-weight: 600 !important;
    }
    
    .pdf-lightbox-close {
        width: 45px !important;
        height: 45px !important;
        background: var(--gold) !important;
        color: #000 !important;
        font-size: 28px !important;
        font-weight: bold !important;
        border: none !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.5) !important;
    }
    
    /* Container PDF scrollabile con zoom */
    .pdf-lightbox-content {
        position: absolute !important;
        top: 60px !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        overflow: auto !important;
        -webkit-overflow-scrolling: touch !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
        padding: 20px !important;
    }
    
    /* Canvas PDF zoomabile */
    .pdf-lightbox-canvas {
        width: 100% !important;
        height: auto !important;
        max-width: none !important;
        display: block !important;
        touch-action: pan-x pan-y pinch-zoom !important;  /* Zoom con dita */
        cursor: grab !important;
        transform-origin: top center !important;
    }
    
    .pdf-lightbox-canvas:active {
        cursor: grabbing !important;
    }
    
    /* Controlli PDF fissi in basso */
    .pdf-lightbox-controls {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        height: 70px !important;
        background: rgba(0, 0, 0, 0.95) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 12px !important;
        padding: 0 15px !important;
        z-index: 100002 !important;
        border-top: 1px solid rgba(212, 175, 55, 0.3) !important;
    }
    
    .pdf-lightbox-btn {
        min-width: 45px !important;
        height: 45px !important;
        padding: 10px !important;
        background: rgba(212, 175, 55, 0.2) !important;
        border: 2px solid var(--gold) !important;
        color: var(--gold) !important;
        border-radius: 8px !important;
        font-size: 16px !important;
        font-weight: 600 !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
    }
    
    .pdf-lightbox-btn:disabled {
        opacity: 0.3 !important;
        cursor: not-allowed !important;
    }
    
    .pdf-lightbox-btn:not(:disabled):active {
        background: var(--gold) !important;
        color: #000 !important;
        transform: scale(0.95) !important;
    }
    
    .pdf-lightbox-page-info {
        padding: 10px 18px !important;
        background: rgba(212, 175, 55, 0.2) !important;
        border: 2px solid var(--gold) !important;
        border-radius: 8px !important;
        color: var(--gold) !important;
        font-size: 15px !important;
        font-weight: 600 !important;
        min-width: 90px !important;
        text-align: center !important;
    }
    
    /* Hint zoom */
    .pdf-zoom-hint {
        position: fixed !important;
        top: 80px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        background: rgba(0, 0, 0, 0.9) !important;
        color: var(--gold) !important;
        padding: 10px 20px !important;
        border-radius: 20px !important;
        font-size: 0.85rem !important;
        z-index: 100001 !important;
        pointer-events: none !important;
        animation: fadeOut 3s forwards !important;
    }
    
    @keyframes fadeOut {
        0%, 70% { opacity: 1; }
        100% { opacity: 0; }
    }
}

/* Small mobile */
@media (max-width: 480px) {
    .lightbox .close-lightbox {
        width: 55px !important;
        height: 55px !important;
        font-size: 28px !important;
        top: 15px !important;
        right: 15px !important;
    }
    
    .pdf-lightbox-header {
        height: 55px !important;
    }
    
    .pdf-lightbox-close {
        width: 40px !important;
        height: 40px !important;
        font-size: 24px !important;
    }
    
    .pdf-lightbox-content {
        top: 55px !important;
    }
    
    .pdf-lightbox-controls {
        height: 65px !important;
    }
    
    .pdf-lightbox-btn {
        min-width: 40px !important;
        height: 40px !important;
        font-size: 14px !important;
    }
    
    .pdf-lightbox-page-info {
        font-size: 14px !important;
        min-width: 80px !important;
    }
}

/* ==========================================
   FIX FINALE CLOSE BUTTON - ASSOLUTAMENTE FISSO
   ========================================== */

@media (max-width: 900px) {
    /* Lightbox container - NO SCROLL */
    .lightbox,
    #lightbox {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        overflow: hidden !important;  /* NESSUNO scroll del container */
        background: rgba(0, 0, 0, 0.97) !important;
        z-index: 100000 !important;
        display: none !important;
    }
    
    .lightbox.active,
    #lightbox.active {
        display: block !important;  /* Block per avere figli posizionati */
    }
    
    /* Close button FISSO in viewport */
    .lightbox .close-lightbox,
    #lightbox .close-lightbox,
    .close-lightbox {
        position: fixed !important;      /* FIXED alla viewport */
        top: 20px !important;
        right: 20px !important;
        width: 60px !important;
        height: 60px !important;
        background: var(--gold) !important;
        color: #000 !important;
        font-size: 32px !important;
        font-weight: bold !important;
        line-height: 1 !important;
        border: 3px solid #fff !important;
        border-radius: 50% !important;
        z-index: 100004 !important;      /* Sopra tutto */
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        cursor: pointer !important;
        box-shadow: 0 6px 30px rgba(0, 0, 0, 0.9) !important;
        transition: all 0.3s ease !important;
        margin: 0 !important;
        padding: 0 !important;
        pointer-events: auto !important; /* Sempre cliccabile */
    }
    
    .lightbox .close-lightbox:active,
    #lightbox .close-lightbox:active {
        transform: scale(0.9) !important;
        background: var(--gold-hover) !important;
    }
    
    /* Wrapper scrollabile per contenuto */
    .lightbox-wrapper,
    .lightbox .lightbox-wrapper {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        overflow: auto !important;              /* Solo wrapper scrolla */
        -webkit-overflow-scrolling: touch !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 80px 20px 20px 20px !important;
        z-index: 100001 !important;
    }
    
    /* Contenuto (foto/video) */
    .lightbox-content,
    #img-zoom,
    .lightbox img,
    .lightbox video {
        max-width: 90vw !important;
        max-height: 80vh !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain !important;
        touch-action: pan-x pan-y pinch-zoom !important;  /* Zoom con dita */
        cursor: grab !important;
        display: block !important;
        margin: auto !important;
    }
    
    .lightbox-content:active,
    #img-zoom:active {
        cursor: grabbing !important;
    }
    
    /* Zoom controls - Opzionali, nascosti su mobile */
    .zoom-controls,
    .zoom-hint {
        display: none !important;
    }
}

/* Small mobile - Close button leggermente più piccolo */
@media (max-width: 480px) {
    .lightbox .close-lightbox,
    #lightbox .close-lightbox,
    .close-lightbox {
        top: 15px !important;
        right: 15px !important;
        width: 55px !important;
        height: 55px !important;
        font-size: 28px !important;
    }
}