/*
 * index home styles — <style> A+B (dentro if is_home). Fase 6.
 */
        .home-grid-wrap {
            min-height: calc(100vh - 8rem);
            height: auto;
            padding: 2rem 2rem 6rem;
            display: flex;
            flex-direction: column;
        }
        body.bon-kiosk-navigation.is-index-page {
            padding-bottom: 0 !important;
        }
        body.bon-kiosk-navigation.is-index-page .home-grid-wrap {
            box-sizing: border-box;
            min-height: 100vh;
            min-height: 100dvh;
            padding-top: clamp(3.5rem, 8vh, 7rem);
            padding-bottom: calc(var(--bon-nav-bottom-h, 94px) + var(--bon-nav-safe-bottom, 46px) + clamp(0.75rem, 2vh, 3.5rem));
            justify-content: center;
        }
        .home-grid {
            display: grid !important;
            grid-template-columns: repeat(4, 1fr) !important;
            grid-template-rows: repeat(2, 1fr) auto auto auto !important;
            gap: 1.5rem !important;
            flex: 1 1 0% !important;
            max-width: 1400px;
            margin: 0 auto;
            width: 80%;
            transform: scale(0.95);
            transform-origin: top center;
        }
        body.bon-kiosk-navigation.is-index-page .home-grid {
            flex: 0 1 auto !important;
        }
        body.bon-kiosk-navigation.is-index-page .home-footer {
            display: none !important;
        }
        .home-tile {
            position: relative;
            overflow: hidden;
            border-radius: 0.3rem !important;
            cursor: pointer;
            display: flex !important;
            flex-direction: column;
            transition: transform 0.3s, box-shadow 0.3s;
            text-decoration: none;
        }
        .home-tile:hover {
            transform: translateY(-4px);
            box-shadow: 0 20px 40px rgba(0,0,0,0.15);
        }
        .home-tile .tile-img {
            flex: 1 1 0%;
            overflow: hidden;
            position: relative;
            min-height: 0;
            border-radius: 0.3rem !important;
        }
        .home-tile .tile-img img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.6s;
        }
        .home-tile:hover .tile-img img {
            transform: scale(1.06);
        }
        .home-tile--bondisnar {
            grid-row: span 2 !important;
            border: 1px solid rgba(220, 38, 38, 0.1);
            box-shadow: 0 40px 100px -20px rgba(220, 38, 38, 0.15);
            background: #050505;
        }
        .home-tile--bondisnar .tile-img img { opacity: 0.75; }
        .home-tile--bondisnar .tile-overlay {
            position: absolute;
            bottom: 0; left: 0; right: 0;
            padding: 1.25rem 2rem;
            background: linear-gradient(to top, rgba(0,0,0,0.92), transparent);
            z-index: 2;
        }
        .home-tile--bondisnar .tile-img img.home-tile--bondisnar-logo {
            display: block;
            width: min(90%, 15rem);
            max-width: 100%;
            height: auto;
            max-height: 7rem;
            object-fit: contain;
            filter: drop-shadow(0 0 30px rgba(220, 38, 38, 0.4));
        }
        .home-tile--bondisnar:hover .tile-img img.home-tile--bondisnar-logo {
            transform: none;
        }
        @keyframes homeEventsPulse {
            0%, 100% {
                color: #ef4444;
                opacity: 1;
                text-shadow: 0 2px 5px rgba(0,0,0,0.65), 0 0 0 rgba(239,68,68,0);
            }
            50% {
                color: #ff1f1f;
                opacity: 0.55;
                text-shadow: 0 2px 5px rgba(0,0,0,0.65), 0 0 22px rgba(239,68,68,0.95);
            }
        }
        .home-tile--events-pulse .home-events-pulse-label {
            color: #ef4444 !important;
            animation: homeEventsPulse 1.05s ease-in-out infinite;
            text-shadow: 0 2px 5px rgba(0,0,0,0.65), 0 0 16px rgba(239,68,68,0.62) !important;
        }
        @media (prefers-reduced-motion: reduce) {
            .home-tile--events-pulse .home-events-pulse-label {
                animation: none;
            }
        }
        @keyframes starPulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.15); }
        }
        .star-pulse-anim {
            animation: starPulse 2.5s ease-in-out infinite;
        }
        .home-events-menu-card {
            min-height: 19rem;
        }

        .home-tile--bondisnar .tile-label { display: none; }
        .home-info-grid {
            grid-column: 1 / -1 !important;
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
            gap: 1.5rem;
            align-items: stretch;
        }
        .home-info-grid > .home-mobile-visit,
        .home-info-grid > .home-weather-strip {
            grid-column: auto !important;
            min-height: 108px;
            height: auto !important;
        }
        .home-mobile-visit {
            grid-column: 1 / -1 !important;
            min-height: 108px;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1.25rem;
            padding: 1rem 1.25rem;
            border-radius: 0.3rem !important;
            background: #050505;
            border: 1px solid rgba(255,255,255,0.08);
            box-shadow: 0 24px 70px rgba(0,0,0,0.24);
            text-decoration: none;
            overflow: hidden;
        }
        .home-mobile-visit-logo {
            height: 3.2rem;
            width: auto;
            flex: 0 0 auto;
            filter: drop-shadow(0 12px 28px rgba(229,37,40,0.22));
        }
        .home-mobile-visit-copy {
            min-width: 0;
            flex: 1 1 auto;
            color: #fff;
        }
        .home-mobile-visit-copy strong {
            display: block;
            font-size: clamp(0.81rem, 1.8vw, 0.9rem);
            line-height: 0.98;
            font-weight: 600;
            letter-spacing: -0.02em;
        }
        .home-mobile-visit-copy span {
            display: block;
            margin-top: 0.35rem;
            color: rgba(255,255,255,0.48);
            font-size: 0.72rem;
            font-weight: 900;
            letter-spacing: 0.16em;
            text-transform: uppercase;
        }
        .home-mobile-visit-qr {
            display: flex;
            align-items: center;
            gap: 0.8rem;
            flex: 0 0 auto;
        }
        .home-mobile-visit-qr span {
            color: rgba(255,255,255,0.62);
            font-size: 0.7rem;
            line-height: 1.15;
            font-weight: 900;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            text-align: right;
        }
        .home-mobile-visit-qr img {
            width: 76px;
            height: 76px;
            padding: 0.35rem;
            border-radius: 0.85rem;
            background: #fff;
            display: block;
        }
        .home-weather-strip {
            grid-column: 1 / -1 !important;
            background: #050505;
            border: 1px solid rgba(255,255,255,0.09);
            box-shadow: 0 24px 70px rgba(0,0,0,0.24);
            text-decoration: none;
        }
        .home-weather-strip:hover {
            background: #0a0a0a;
            border-color: rgba(255,255,255,0.14);
        }
        .home-weather-values {
            background: rgba(255,255,255,0.06);
            border: 1px solid rgba(255,255,255,0.08);
        }
        .home-footer {
            text-align: center;
            padding: 0.4rem 0;
            font-size: 0.55rem;
            color: #94a3b8;
            flex-shrink: 0;
        }
        @media (max-width: 1420px) {
            .home-grid { width: 90% !important; }
            .home-info-grid {
                grid-template-columns: 1fr;
            }
        }
        @media (max-width: 768px) {
            .home-grid {
                grid-template-columns: repeat(2, 1fr) !important;
                grid-template-rows: auto !important;
                width: 100% !important;
                gap: 0.75rem !important;
            }
            .home-grid-wrap { height: auto; min-height: 100vh; padding: 1rem 1rem 6rem; }
            .home-tile--bondisnar {
                grid-column: 1 / -1 !important;
                grid-row: span 1 !important;
            }
            .home-tile--bondisnar .tile-img { height: 16rem; }
            .home-events-menu-card {
                min-height: 14rem;
            }
            .home-info-grid {
                gap: 0.75rem;
            }
            .home-mobile-visit {
                min-height: auto;
                flex-direction: column;
                text-align: center;
                padding: 1.15rem;
            }
            .home-mobile-visit-logo {
                height: 2.6rem;
            }
            .home-mobile-visit-qr {
                width: 100%;
                justify-content: center;
            }
            .home-mobile-visit-qr span {
                text-align: left;
            }
            .airport-txt { justify-content: center; }
        }

        /* Phase 5 UX theme pass: home support panels */
        .home-grid-wrap {
            background: var(--bon-bg) !important;
            color: var(--bon-text) !important;
        }
        .home-mobile-visit,
        .home-weather-strip {
            background: var(--bon-surface-strong) !important;
            color: var(--bon-text) !important;
            border-color: var(--bon-border) !important;
            box-shadow: var(--bon-shadow-card) !important;
        }
        .home-mobile-visit:hover,
        .home-weather-strip:hover {
            background: var(--bon-surface) !important;
            border-color: var(--bon-border-strong) !important;
        }
        .home-mobile-visit-logo {
            filter: none !important;
        }
        html[data-bon-theme="dark"] .home-mobile-visit-logo {
            filter: none !important;
        }
        .home-mobile-visit-copy,
        .home-mobile-visit-copy strong,
        .home-weather-strip h4,
        .home-weather-strip .text-white {
            color: var(--bon-heading) !important;
        }
        .home-mobile-visit-copy span,
        .home-mobile-visit-qr span,
        .home-weather-strip p,
        .home-weather-strip .text-slate-400,
        .home-weather-strip .text-slate-500,
        .home-weather-values span:first-child {
            color: var(--bon-text-muted) !important;
        }
        .home-weather-values {
            background: transparent !important;
            color: var(--bon-text) !important;
            border: 0 !important;
        }
        .home-weather-values .bg-white\/10 {
            background: var(--bon-border) !important;
        }
        /* Bondisnar Overlay Animations */
        #bondisnar-overlay,
        #eventi-overlay {
            z-index: 12050 !important;
        }

        #bondisnar-overlay.is-open,
        #eventi-overlay.is-open {
            opacity: 1;
            pointer-events: auto;
        }

        .bondisnar-menu-item,
        .eventi-menu-item {
            opacity: 0;
            transform: translateY(30px) scale(0.95);
            border-radius: 0.3rem !important;
            transition: opacity 0.5s cubic-bezier(0.23, 1, 0.32, 1),
                        transform 0.5s cubic-bezier(0.23, 1, 0.32, 1),
                        border-color 0.3s ease,
                        box-shadow 0.3s ease;
        }
        .bondisnar-menu-item > div,
        .eventi-menu-item > div,
        .bondisnar-menu-item img,
        .eventi-menu-item img {
            border-radius: 0.3rem !important;
        }
        .bondisnar-menu-grid {
            display: grid;
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: clamp(1rem, 2vw, 1.5rem);
            max-width: min(64rem, calc(100vw - 4rem));
            margin: 0 auto;
            align-items: stretch;
        }
        .bondisnar-menu-card {
            display: block;
            width: 100%;
            aspect-ratio: 4 / 3;
            min-height: clamp(15rem, 22vw, 18rem);
        }
        @media (max-width: 767px) {
            .bondisnar-menu-grid {
                grid-template-columns: 1fr;
                max-width: min(24rem, calc(100vw - 2rem));
            }
            .bondisnar-menu-card {
                min-height: 13rem;
            }
        }

        #bondisnar-overlay.is-open .bondisnar-menu-item,
        #eventi-overlay.is-open .eventi-menu-item {
            opacity: 1;
            transform: translateY(0) scale(1);
        }

        /* Phase 5 UX theme pass: home overlay chrome */
        #bondisnar-overlay > .absolute.inset-0:first-child,
        #eventi-overlay > .absolute.inset-0:first-child {
            background: rgba(15, 23, 42, 0.42) !important;
        }
        #bondisnar-overlay button[onclick*="close"],
        #eventi-overlay button[onclick*="close"] {
            background: var(--bon-close-bg) !important;
            color: var(--bon-close-fg) !important;
            border: 1px solid var(--bon-close-border) !important;
            box-shadow: var(--bon-shadow-soft) !important;
        }
        #bondisnar-overlay button[onclick*="close"]:hover,
        #eventi-overlay button[onclick*="close"]:hover {
            background: var(--bon-border) !important;
            color: var(--bon-text) !important;
        }
