/* ---------- TOURS ---------- */
        .tours {
            position: relative;
            padding: 48px 0 100px;
            background:
                linear-gradient(180deg, rgba(11,31,92,.82), rgba(11,31,92,.88)),
                url('{{ asset('images/tours-bg.jpg') }}') center top / cover no-repeat,
                #0b1f5c;
        }
        .back-link {
            display: inline-flex; align-items: center; gap: 14px;
            color: #e8c467;
            font-family: 'Oswald', sans-serif;
            font-size: 24px;
        }
        .back-link span { border-bottom: 1px solid #e8c467; padding-bottom: 2px; }

        .tours-kicker { margin-top: 64px; text-align: center; font-size: 15px; }
        .tours-heading {
            margin-top: 14px;
            text-align: center;
            font-family: 'Oswald', sans-serif;
            font-weight: 500;
            font-size: clamp(40px, 7vw, 80px);
            line-height: 1;
            text-transform: uppercase;
        }

        .shows { margin-top: 90px; display: grid; gap: 24px; }
        .show {
            display: grid;
            grid-template-columns: 300px 1fr 230px;
            /*grid-template-columns: 1fr 2fr 1fr;*/
            align-items: center;
            min-height: 128px;
            padding: 0 52px 0 46px;
            background: #cbd5e3;
            color: #a50d12;
        }
        .show-date { display: flex; align-items: center; gap: 12px; }
        .show-day {
            font-family: 'Anton', 'Oswald', sans-serif;
            font-size: 80px; line-height: 1;
            color: #a50d12;
        }
        .show-month {
            font-family: 'Oswald', sans-serif;
            font-size: 40px; line-height: 1;
            color: #0b1f5c;
            text-transform: uppercase;
        }
        .show-meta { margin-top: 6px; font-size: 16px; font-weight: 600; color: #0b1f5c; }
        .show-city {
            font-family: 'Oswald', sans-serif;
            font-weight: 600;
            font-size: 40px; line-height: 1;
            text-transform: uppercase;
        }
        .show-venue {
            margin-top: 6px;
            font-family: 'Oswald', sans-serif;
            font-size: 16px;
            color: #0b1f5c;
            text-transform: uppercase;
        }
        .show-tickets { display: grid; gap: 8px; }
        .show .btn-red { height: 58px; font-size: 20px; }

        /* expandable ticket card */
        .show--toggle { padding-top: 0; padding-bottom: 0; transition: background .2s; }
        .show-toggle { border: 0; cursor: pointer; width: 100%; }
        .show-toggle .arrow-open { display: none; }
        .show--toggle.is-open { background: #dcdde2; }
        .show--toggle.is-open .show-toggle .arrow-closed { display: none; }
        .show--toggle.is-open .show-toggle .arrow-open { display: inline-flex; }
        .show-details {
            grid-column: 1 / -1;
            display: grid;
            grid-template-columns: minmax(0, 1fr);
            grid-template-rows: 0fr;
            align-items: stretch;
            min-height: 0;
            padding: 0;
            overflow: hidden;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-8px);
            transition: grid-template-rows .42s cubic-bezier(.2, .7, .25, 1), opacity .28s ease,
                padding .35s ease, transform .35s ease, visibility 0s linear .42s;
        }
        .show-details-inner {
            display: grid;
            grid-template-columns: 300px minmax(0, 1fr);
            align-items: center;
            min-height: 0;
            overflow: hidden;
        }
        .show--toggle.is-open .show-details {
            grid-template-rows: 1fr;
            padding-bottom: 32px;
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
            transition: grid-template-rows .46s cubic-bezier(.2, .7, .25, 1), opacity .3s ease .04s,
                padding .35s ease, transform .35s ease, visibility 0s;
        }
        .show-time {
            font-family: 'Oswald', sans-serif;
            font-size: 38px; line-height: 1;
            color: #0b1f5c;
        }
        .show-links { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; }
        .show-links-label {
            font-family: 'Oswald', sans-serif;
            font-size: 22px; color: #0b1f5c; text-transform: uppercase;
        }
        .ticket-link {
            display: inline-flex; align-items: center; gap: 12px;
            height: 46px; padding: 0 20px 0 12px;
            border: 1.5px solid #0b1f5c;
            color: #a50d12;
            font-family: 'Oswald', sans-serif;
            font-size: 22px; text-transform: uppercase;
            transition: background .2s ease, border-color .2s ease, box-shadow .25s ease;
        }
        .ticket-link:hover,
        .ticket-link:focus-visible {
            background: rgba(95, 235, 255, .08);
            border-color: var(--gallery-light);
            box-shadow: 0 0 0 1px rgba(107, 234, 255, .7), 0 0 9px rgba(83, 224, 255, .7),
                0 0 18px rgba(83, 224, 255, .35), inset 0 0 7px rgba(83, 224, 255, .18);
            transform: none;
        }
        .ticket-link:focus-visible { outline: 1px solid #a6f3ff; outline-offset: 3px; }
        .ticket-link svg { flex: none; color: #0b1f5c; }
        @media (max-width: 760px) {
            .show-details-inner { grid-template-columns: 1fr; gap: 16px; }
        }
        @media (prefers-reduced-motion: reduce) {
            .show--toggle,
            .show-details,
            .ticket-link { transition: none; }
            .show-details { transform: none; }
            .ticket-link:hover,
            .ticket-link:focus-visible { box-shadow: none; transform: none; }
        }

        /* Archive only: upcoming events and ticket controls are unchanged. */
        .archive-heading {
            margin-top: 110px;
            font-family: 'Syne', sans-serif;
            font-size: 38px;
            font-weight: 600;
            line-height: 1.2;
            color: #fff;
        }
        .shows--archive { margin-top: 56px; }
        .shows--archive .show {
            grid-template-columns: 300px minmax(0, 1fr);
            background: rgba(203,213,227,.55);
            border-radius: 4px;
        }
        .shows--archive .show-date { justify-content: flex-start; }
        .shows--archive .show-city,
        .shows--archive .show-venue { overflow-wrap: anywhere; }
        @media (min-width: 761px) and (max-width: 1000px) {
            .shows--archive .show {
                grid-template-columns: 260px minmax(0, 1fr);
                padding-inline: 32px;
            }
        }

        .empty-state { padding: 30px; background: #cbd5e3; color: #0b1f5c; text-align: center; }
        /* ---------- RESPONSIVE ---------- */
        @media (max-width: 1000px) {
            
            .hero-bottom { flex-direction: column; align-items: flex-start; }
            .hero-title { min-width: 0; padding: 24px 30px 24px 20px; }
            .country-switch { margin-left: 20px; }
        }
        @media (max-width: 760px) {
            
            .hero { min-height: 560px; }
            .hero-title-top { font-size: 32px; }
            .hero-title-country { font-size: 44px; }
            .country-switch { flex-wrap: wrap; gap: 14px; padding: 16px; margin: 0 20px; }
            .country-switch a { font-size: 17px; }
            .flag { width: 30px; height: 30px; }
            .anniversary h3 { font-size: 18px; }
            .show, .shows--archive .show {
                grid-template-columns: 1fr;
                gap: 14px;
                padding: 22px;
            }
            .shows--archive .show-date { justify-content: flex-start; }
            .show-day { font-size: 54px; }
            .show-month, .show-city { font-size: 26px; }
            .shows { margin-top: 50px; }
        }
