:root {
        --mobile-bg: #FFFFFF;
    --mobile-card-bg: rgba(255, 255, 255, 0.95);
    --mobile-glass: rgba(255, 255, 255, 0.5);
    --mobile-border: rgba(0, 0, 0, 0.08);
    --mobile-primary: #ff5e00;
    --mobile-active-tab: linear-gradient(135deg, #FFD700 0%, #ff5e00 100%);
    --mobile-explore-btn: linear-gradient(135deg, #FFD700 0%, #ff5e00 100%);

        --text-white: #1D1D1F;
    --text-muted: #86868B;
    --text-on-light: #1D1D1F;

        --modal-bg: #FFFFFF;
    --modal-inner-bg: rgba(0, 0, 0, 0.03);
    --input-bg: #F2F2F7;
    --input-border: rgba(0, 0, 0, 0.1);
    --input-text: #000000;

        --gold-glow-warm: var(--category-accent-1, rgba(255, 94, 0, 0.2));
    --anima-speed: 4.5s;
    --category-radius: 18px;

        --ctg-event: linear-gradient(135deg, #3bcfd4, #fc9305, #f20094);
    --ctg-trending: linear-gradient(135deg, #f44369, #3e3b92);
    --ctg-shopping: linear-gradient(135deg, #ede342, #ff51eb);
    --ctg-learning: linear-gradient(135deg, #ffce06, #6c960d);
    --ctg-service: linear-gradient(135deg, #00C6FF, #0072FF);
    --ctg-realestate: linear-gradient(135deg, #F093FB, #F5576C);
    --ctg-restaurant: linear-gradient(135deg, #2a8d08, #f2e713, #f71e06);
    --ctg-grocery: linear-gradient(135deg, #00F260, #0575E6);
    --ctg-temple: linear-gradient(135deg, #e62314, #f19e18);
    --ctg-organization: linear-gradient(135deg, #58efec, #e85c90, #fcc9ba);

        --cd-lang-default-1: var(--mobile-primary);
    --cd-lang-default-2: #e65000;
    --cd-lang-hindi-1: #ff7a00;
    --cd-lang-hindi-2: #c83a00;
    --cd-lang-punjabi-1: #66b51f;
    --cd-lang-punjabi-2: #1f6b18;
    --cd-lang-telugu-1: #dc2626;
    --cd-lang-telugu-2: #7f1d1d;
    --cd-lang-tamil-1: #f32ba3;
    --cd-lang-tamil-2: #a91667;
    --cd-lang-malayalam-1: #3a46d8;
    --cd-lang-malayalam-2: #16165f;
    --cd-lang-gujarati-1: #28bfff;
    --cd-lang-gujarati-2: #0758b8;
    --cd-lang-haryanvi-1: #64748b;
    --cd-lang-haryanvi-2: #334155;
    --cd-lang-nepali-1: #0891b2;
    --cd-lang-nepali-2: #164e63;
    --cd-lang-bengali-1: #9333ea;
    --cd-lang-bengali-2: #581c87;
    --cd-lang-kannada-1: #ca8a04;
    --cd-lang-kannada-2: #713f12;
    --cd-lang-marathi-1: #18b98f;
    --cd-lang-marathi-2: #0a4c48;
    --cd-lang-urdu-1: #166534;
    --cd-lang-urdu-2: #052e16;
}

[data-cinema-language] {
    --cinema-language-1: var(--cd-lang-default-1);
    --cinema-language-2: var(--cd-lang-default-2);
    --cinema-language-glow: color-mix(in srgb, var(--cinema-language-1) 34%, transparent);
}

[data-cinema-language="hindi"] {
    --cinema-language-1: var(--cd-lang-hindi-1);
    --cinema-language-2: var(--cd-lang-hindi-2);
}

[data-cinema-language="punjabi"] {
    --cinema-language-1: var(--cd-lang-punjabi-1);
    --cinema-language-2: var(--cd-lang-punjabi-2);
}

[data-cinema-language="telugu"] {
    --cinema-language-1: var(--cd-lang-telugu-1);
    --cinema-language-2: var(--cd-lang-telugu-2);
}

[data-cinema-language="tamil"] {
    --cinema-language-1: var(--cd-lang-tamil-1);
    --cinema-language-2: var(--cd-lang-tamil-2);
}

[data-cinema-language="malayalam"] {
    --cinema-language-1: var(--cd-lang-malayalam-1);
    --cinema-language-2: var(--cd-lang-malayalam-2);
}

[data-cinema-language="gujarati"],
[data-cinema-language="gujarathi"] {
    --cinema-language-1: var(--cd-lang-gujarati-1);
    --cinema-language-2: var(--cd-lang-gujarati-2);
}

[data-cinema-language="haryanvi"] {
    --cinema-language-1: var(--cd-lang-haryanvi-1);
    --cinema-language-2: var(--cd-lang-haryanvi-2);
}

[data-cinema-language="nepali"] {
    --cinema-language-1: var(--cd-lang-nepali-1);
    --cinema-language-2: var(--cd-lang-nepali-2);
}

[data-cinema-language="bengali"] {
    --cinema-language-1: var(--cd-lang-bengali-1);
    --cinema-language-2: var(--cd-lang-bengali-2);
}

[data-cinema-language="kannada"] {
    --cinema-language-1: var(--cd-lang-kannada-1);
    --cinema-language-2: var(--cd-lang-kannada-2);
}

[data-cinema-language="marathi"] {
    --cinema-language-1: var(--cd-lang-marathi-1);
    --cinema-language-2: var(--cd-lang-marathi-2);
}

[data-cinema-language="urdu"] {
    --cinema-language-1: var(--cd-lang-urdu-1);
    --cinema-language-2: var(--cd-lang-urdu-2);
}

body.dark-mode {
        --mobile-bg: #111113;
    --mobile-card-bg: rgba(28, 28, 30, 0.98);
    --mobile-glass: rgba(0, 0, 0, 0.6);
    --mobile-border: rgba(255, 255, 255, 0.1);

        --text-white: #F5F5F7;
    --text-muted: #8E8E93;
    --text-on-light: #F5F5F7;

        --modal-bg: #1C1C1E;
    --modal-inner-bg: rgba(255, 255, 255, 0.03);
    --input-bg: #2C2C2E;
    --input-border: rgba(255, 255, 255, 0.15);
    --input-text: #FFFFFF;

        --card-shadow: 0 12px 40px rgba(0, 0, 0, 0.6);
    --accent-glow: rgba(255, 94, 0, 0.1);
}

body.light-mode .glass-sub-inner {
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(40px) saturate(150%) !important;
    -webkit-backdrop-filter: blur(40px) saturate(150%) !important;
    border: 1px solid rgba(255, 255, 255, 1) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.04) !important;
}

body.light-mode .nav-tab {
    color: #1d1d1f;
}

body.light-mode .glass-nav-inner {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(40px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(40px) saturate(180%) !important;
    border: 1px solid rgba(255, 255, 255, 1) !important;
    box-shadow: 0 15px 50px rgba(0, 0, 0, 0.05) !important;
}

body.light-mode .nav-tab i {
    color: #48484A;
}

body.dark-mode .listing-card {
    background: linear-gradient(145deg, #1C1C1E, #111113) !important;
    border: 1px solid rgba(255, 255, 255, 0.05) !important;
    box-shadow: var(--card-shadow) !important;
}

body.dark-mode .listing-card:hover {
    border-color: rgba(255, 94, 0, 0.3) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.9), 0 0 20px var(--accent-glow) !important;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    background-color: var(--mobile-bg);
    color: var(--text-white);
    line-height: 1.47;
    overflow-x: hidden;
}

.glass-sub-nav {
    position: relative;
    width: 100%;
    z-index: 10;
    display: flex;
    justify-content: center;
    padding: 0 12px;
    margin-top: 2rem;
    pointer-events: none;
}

.glass-sub-inner {
    display: flex;
    align-items: center;
    width: fit-content;
    background: rgba(15, 15, 15, 0.6);
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 40px;     padding: 14px 10px;     pointer-events: auto;
    overflow-x: auto;
    overflow-y: hidden;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
    max-width: 100%;
    scrollbar-width: none;
}

.glass-sub-inner::-webkit-scrollbar {
    display: none;
}

.mobile-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 1.2rem;
    background: rgba(0, 0, 0, 0.85);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    z-index: 1000;
    transition: background 0.3s;
}

body.light-mode .mobile-header {
    background: #FFFFFF;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
}

.logo {
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'SF Pro Display', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 800;
    font-size: 1.85rem;
    letter-spacing: -1.2px;
}

.topbar-brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 0;
    gap: 6px;
}

.topbar-brand .logo {
    line-height: 0.92;
    text-align: center;
    white-space: nowrap;
}

.topbar-tagline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    max-width: min(46vw, 360px);
    overflow: hidden;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.72rem;
    font-weight: 750;
    letter-spacing: 0;
    line-height: 1.05;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.topbar-tagline span {
    flex: 0 0 auto;
}

.topbar-tagline-discover {
    color: #ffd166;
}

.topbar-tagline-connect {
    color: #ff9f0a;
}

.topbar-tagline-celebrate {
    color: #ff6b35;
}

.topbar-tagline-all {
    color: #34c759;
}

.logo-chicago { color: var(--text-white); }
.logo-desi {
    background: linear-gradient(135deg, #FF6E00 0%, #FF0000 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.header-left {
    position: absolute;
    left: 1.2rem;
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

#menuBtn {
    position: relative;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon-btn {
    background: none;
    border: none;
    color: var(--text-white);
    font-size: 1.3rem;
    cursor: pointer;
    transition: opacity 0.2s;
}

.icon-btn:hover {
    opacity: 0.7;
}

body.light-mode .icon-btn,
body.light-mode .icon-btn i {
    color: #1D1D1F !important;
}

body.light-mode .nav-icon-btn {
    color: #1D1D1F;
}


.round-btn {
    width: 38px;
    height: 38px;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    margin-right: 10px;
    color: var(--text-white);
    transition: background 0.2s, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.round-btn:hover {
    background: rgba(255, 255, 255, 0.15);
}

.round-btn:active {
    transform: scale(1.25);
}

#themeToggle i {
    transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

body.light-mode #themeToggle {
    background: rgba(0, 0, 0, 0.05);
    border-color: rgba(0, 0, 0, 0.1);
    color: #1D1D1F;
}

body.light-mode #themeToggle i {
    transform: rotate(360deg) scale(1);
    color: #1D1D1F;
}


body.dark-mode #themeToggle i {
    transform: rotate(0deg) scale(1);
}

.header-right {
    position: absolute;
    right: 1.2rem;
    display: flex;
    align-items: center;
    gap: 8px;
}

.mobile-search-trigger {
    display: none;
    z-index: 1005;
    background: none;
    border: none;
    color: var(--text-white);
    padding: 8px;
}


.header-search-container {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 400px;
    z-index: 10;
    pointer-events: none;
    display: flex;
    justify-content: center;
}

.header-search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 40px;
    height: 38px;
    padding: 0 40px 0 40px;
    width: 100%;
    max-width: 320px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    pointer-events: auto;
}

.header-search-wrapper:focus-within {
    width: 320px;
    background: rgba(255, 255, 255, 0.12);
    border-color: var(--mobile-primary);
    box-shadow: 0 0 20px rgba(255, 94, 0, 0.15);
}

.search-icon {
    position: absolute;
    left: 14px;
    font-size: 0.9rem;
    color: var(--text-muted);
    pointer-events: none;
    transition: color 0.3s;
}

.header-search-wrapper:focus-within .search-icon {
    color: var(--mobile-primary);
}

.header-search-input {
    background: none;
    border: none;
    color: var(--text-white);
    font-size: 0.9rem;
    width: 100%;
    outline: none;
    padding: 0;
}

.header-search-input::placeholder {
    color: var(--text-muted);
    opacity: 0.8;
}

.desktop-search-clear {
    position: absolute;
    right: 8px;
    display: none;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    color: var(--text-muted);
    cursor: pointer;
    font-size: 0.8rem;
    transition: background 0.16s ease, color 0.16s ease;
}

.header-search-wrapper.has-search-text .desktop-search-clear {
    display: inline-flex;
}

.desktop-search-clear:hover,
.desktop-search-clear:focus-visible {
    background: rgba(255, 94, 0, 0.18);
    color: var(--mobile-primary);
    outline: none;
}

body.light-mode .header-search-wrapper {
    height: 38px;
    max-width: 320px;
    padding: 0 40px 0 40px;
    background: #f8f8f8;
    border: 1px solid #d9d9d9;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.07), inset 0 1px 0 rgba(255, 255, 255, 0.86);
}

body.light-mode .header-search-input {
    color: #1D1D1F;
    font-size: 0.9rem;
    font-weight: 400;
}

body.light-mode .header-search-wrapper .search-icon {
    left: 14px;
    color: #7d7f88;
    font-size: 0.9rem;
}

body.light-mode .header-search-input::placeholder {
    color: #8e8e93;
    opacity: 1;
}

body.light-mode .header-search-wrapper:focus-within {
    width: 320px;
    background: #ffffff;
    border-color: #cfcfcf;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.1), 0 0 0 3px rgba(9, 104, 229, 0.1);
}

body.light-mode .desktop-search-clear {
    background: rgba(15, 23, 42, 0.07);
    color: #7d7f88;
}


.nav-icon-btn {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.7);
    font-size: 1.1rem;
    font-weight: 300 !important;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.34, 1.2, 0.64, 1);
    display: flex;
    align-items: center;
    justify-content: center;
}

.nav-icon-btn:hover {
    color: var(--text-white);
    transform: translateY(-2px);
}

.premium-form .form-group {
    margin-bottom: 30px;
}


.premium-form label {
    display: block;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 12px;
    line-height: 1.2;
}


.premium-form .input-with-icon {
    position: relative;
    display: flex;
    align-items: center;
}

.premium-form .input-with-icon i {
    position: absolute;
    left: 1.25rem;
    color: rgba(255, 255, 255, 0.4);
    pointer-events: none;
    transition: color 0.3s ease;
}

.premium-form .input-with-icon input,
.premium-form .input-with-icon select,
.premium-form .input-with-icon textarea {
    width: 100%;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 14px 16px 14px 3.2rem;
    color: white;
    font-size: 0.95rem;
    outline: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.premium-form .input-with-icon textarea {
    padding-top: 16px;
    resize: none;
}

.premium-form .input-with-icon input:focus,
.premium-form .input-with-icon select:focus,
.premium-form .input-with-icon textarea:focus {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.3);
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.05);
}

.premium-form .input-with-icon input:focus + i,
.premium-form .input-with-icon select:focus + i,
.premium-form .input-with-icon textarea:focus + i {
    color: white;
}

.premium-select-wrapper {
    position: relative;
    width: 100%;
}

.premium-select-wrapper select {
    width: 100%;
    background: rgba(255, 255, 255, 0.1);
    border: 1.5px solid rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    color: white;
    padding: 14px 45px 14px 16px;
    font-size: 0.95rem;
    appearance: none;
    -webkit-appearance: none;
    outline: none;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

.premium-select-wrapper select:focus {
    background: rgba(255, 255, 255, 0.15);
    border-color: #FF9500;
    box-shadow: 0 0 15px rgba(255, 149, 0, 0.2);
}

.premium-select-wrapper select::-ms-expand {
    display: none;
}
.premium-select-wrapper select {
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
}

.premium-select-wrapper .select-chevron {
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(255, 255, 255, 0.5);
    pointer-events: none;
    font-size: 0.8rem;
    transition: all 0.3s;
}

.premium-select-wrapper select:focus + .select-chevron {
    color: white;
    transform: translateY(-50%) rotate(180deg);
}

.premium-select-wrapper select option {
    background: #1a1a1f;
    color: white;
}

.today-highlight {
    background: rgba(52, 199, 89, 0.1) !important;
    border-radius: 12px;
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin: 0 -12px;
    border-left: 4px solid #34c759;
}

.premium-submit-btn {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

.premium-submit-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4);
    filter: brightness(1.1);
}

.premium-submit-btn:active {
    transform: translateY(0);
}

.header-divider {
    width: 1.5px;
    height: 18px;
    margin: 0 4px;
    background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.1), transparent);
}


.header-location-wrapper {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 40px;
    padding: 0 10px 0 14px;
    height: 38px;
    display: flex;
    align-items: center;
    min-width: 140px;
    max-width: 220px;
    position: relative;
    transition: all 0.3s ease;
}

.header-location-wrapper:hover {
    background: rgba(255, 255, 255, 0.12);
    border-color: rgba(255, 255, 255, 0.2);
}

.location-icon {
    font-size: 0.85rem;
    color: var(--mobile-primary);
    margin-right: -8px;
    z-index: 2;
}

.location-select {
    background: none !important;
    border: none !important;
    color: var(--text-white);
    font-size: 0.9rem;
    font-weight: 600;
    padding: 0 25px 0 14px !important;
    width: 100%;
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    box-shadow: none !important;
}

body.light-mode .location-select {
    color: #1D1D1F;
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 10px 35px 10px 15px;
    color: var(--text-white);
    font-size: 0.9rem;
    cursor: pointer;
    background-position: right 12px center;
    transition: all 0.3s ease;
}

option {
    font-family: inherit !important;
    background: #1c1c1e;
    color: var(--text-white);
}

body.light-mode option {
    background: var(--modal-bg);
    color: #333;
}

select:focus {
    border-color: #ff5e00;
    box-shadow: 0 0 0 2px rgba(255, 94, 0, 0.2);
    outline: none;
}

.pagination-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    margin: 50px 0;
    padding-bottom: 40px;
}

.pag-btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    color: var(--text-white);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.pag-btn:hover:not(:disabled) {
    background: #ff5e00;
    border-color: #ff5e00;
    transform: scale(1.1);
    box-shadow: 0 10px 20px rgba(255, 94, 0, 0.3);
}

.pag-btn:disabled {
    opacity: 0.2;
    cursor: not-allowed;
}
.menu-location-wrapper {
    position: relative;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px;
    padding: 2px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
}

.menu-location-wrapper .location-select {
    width: 100%;
    padding: 12px 25px 12px 35px !important;
    font-size: 0.95rem;
}

.menu-location-wrapper i:first-child {
    position: absolute;
    left: 15px;
    color: var(--mobile-primary);
    font-size: 0.9rem;
}

.menu-location-wrapper i:last-child {
    position: absolute;
    right: 15px;
    font-size: 0.7rem;
    color: var(--text-muted);
    pointer-events: none;
}


.page-numbers {
    display: flex;
    gap: 10px;
}

.page-num {
    min-width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    color: var(--text-white);
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
}

.page-num.active {
    background: linear-gradient(135deg, #FFD700 0%, #ff5e00 100%);
    border-color: transparent;
    box-shadow: 0 8px 15px rgba(255, 94, 0, 0.2);
    transform: scale(1.05);
}

.page-num:hover:not(.active) {
    background: rgba(255,255,255,0.1);
}




body.light-mode .header-location-wrapper {
    background: rgba(0, 0, 0, 0.05);
    border-color: rgba(0, 0, 0, 0.1);
    color: #1D1D1F;
}

body.light-mode .header-divider {
    background: rgba(0, 0, 0, 0.1);
}


body.light-mode .header-location-wrapper {
    background: rgba(0, 0, 0, 0.04);
    border-color: rgba(0, 0, 0, 0.06);
}

body.light-mode .header-location-wrapper select {
    color: #1D1D1F;
}

.promote-btn-sm {
    background: #ff5e00;
    color: #000;
    border: none;
    padding: 0.4rem 0.8rem;
    border-radius: 50px;
    font-weight: 700;
    font-size: 0.75rem;
}

.glass-nav-bar {
    position: fixed;
    top: 98px;
    left: 0;
    width: 100%;
    z-index: 999;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 10px 12px;
    pointer-events: none;
}

.glass-arrow {
    position: absolute;
    width: 44px;
    height: 44px;
    background: linear-gradient(135deg, #ffd700 0%, #ff9500 48%, #ff5e00 100%);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 50%;
    color: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 1001;
    pointer-events: auto;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 10px 24px rgba(255, 94, 0, 0.3), 0 4px 12px rgba(0, 0, 0, 0.2);
}

.glass-arrow i {
    font-size: 1rem;
}

.glass-arrow:hover {
    background: linear-gradient(135deg, #ffe066 0%, #ff9f0a 45%, #ff5e00 100%);
    transform: scale(1.1);
}

.glass-arrow:active {
    transform: scale(0.95);
}

.glass-arrow.left { left: 8px; }
.glass-arrow.right { right: 8px; }

.glass-arrow.hidden {
    opacity: 0;
    pointer-events: none;
    transform: scale(0.8);
}

body.light-mode .glass-arrow {
    background: linear-gradient(135deg, #ffd700 0%, #ff9500 48%, #ff5e00 100%);
    border-color: rgba(255, 255, 255, 0.9);
    color: #ffffff;
    box-shadow: 0 10px 24px rgba(255, 94, 0, 0.25), 0 4px 14px rgba(0, 0, 0, 0.12);
}

.glass-nav-inner {
    display: flex;
    align-items: center;
    gap: 6px;
    background: rgba(15, 15, 15, 0.65);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 60px;
    padding: 8px 10px;
    pointer-events: auto;
    overflow-x: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
    max-width: 100%;
}

.glass-nav-inner::-webkit-scrollbar {
    display: none;
}

.glass-pill {
    display: flex;
    align-items: center;
    gap: 6px;
    background: transparent;
    border: none;
    border-radius: 50px;
    padding: 12px 21px;     color: rgba(255, 255, 255, 1);     text-decoration: none;
    font-size: 0.98rem;     font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
    flex-shrink: 0;
    letter-spacing: 0.2px;
}

.glass-pill i {
    font-size: 0.98rem;     transition: transform 0.3s ease;
}

.glass-pill:hover {
    color: rgba(255, 255, 255, 0.85);
    background: rgba(255, 255, 255, 0.08);
}


.glass-pill.active {
    position: relative;
    overflow: hidden;
    padding: 12px 21px;     z-index: 1;
    font-weight: 800;
    background-size: 200% 200% !important;
    animation: nebulaFlow 2.5s ease-in-out infinite alternate,
               nebulaBreathe 3s ease-in-out infinite;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    color: #FFFFFF !important;
}

@keyframes nebulaFlow {
    0% { background-position: 0% 50%; }
    100% { background-position: 100% 50%; }
}

@keyframes nebulaBreathe {
    0%, 100% { transform: none; box-shadow: 0 8px 18px rgba(0,0,0,0.4); }
    50% { transform: none; box-shadow: 0 12px 34px var(--category-glow, rgba(255,140,0,0.6)); }
}


.glass-pill[data-category="event"].active { --category-glow: rgba(59, 207, 212, 0.5); background: linear-gradient(135deg, #3bcfd4, #fc9305, #f20094, #3bcfd4); }

.glass-pill[data-category="trending"].active { --category-glow: rgba(244, 67, 105, 0.5); background: linear-gradient(135deg, #f44369, #3e3b92, #f44369); }

.glass-pill[data-category="news"].active { --category-glow: rgba(247, 116, 187, 0.5); background: linear-gradient(135deg, #f7ea60, #3cf2de, #f774bb, #f7ea60); }

.glass-pill[data-category="shopping"].active { --category-glow: rgba(237, 227, 66, 0.5); background: linear-gradient(135deg, #ede342, #ff51eb, #ede342); }

.glass-pill[data-category="learning"].active { --category-glow: rgba(255, 206, 6, 0.5); background: linear-gradient(135deg, #ffce06, #6c960d, #ffce06); }

.glass-pill[data-category="service"].active { --category-glow: rgba(0, 198, 255, 0.5); background: linear-gradient(135deg, #00C6FF, #0072FF, #00C6FF); }
.glass-pill[data-category="realestate"].active { --category-glow: rgba(240, 147, 251, 0.5); background: linear-gradient(135deg, #F093FB, #F5576C, #F093FB); }
.glass-pill[data-category="restaurant"].active { --category-glow: rgba(42, 141, 8, 0.5); background: linear-gradient(135deg, #2a8d08, #f2e713, #f71e06, #2a8d08); }

.glass-pill[data-category="grocery"].active { --category-glow: rgba(0, 242, 96, 0.5); background: linear-gradient(135deg, #00F260, #0575E6, #00F260); }
.glass-pill[data-category="temple"].active { --category-glow: rgba(230, 35, 20, 0.5); background: linear-gradient(135deg, #e62314, #f19e18, #e62314); }

.glass-pill[data-category="organization"].active { --category-glow: rgba(88, 239, 236, 0.5); background: linear-gradient(135deg, #58efec, #e85c90, #fcc9ba, #58efec); }
.glass-pill[data-category="owners"].active { --category-glow: rgba(9, 104, 229, 0.44); background: linear-gradient(135deg, #0968e5, #091970, #0968e5); }
.glass-pill[data-category="classifieds"].active { --category-glow: rgba(242, 54, 115, 0.48); background: linear-gradient(135deg, #ff8a00, #f23673, #ff8a00); }
.glass-pill[data-category="cinema"].active { --category-glow: rgba(255, 0, 204, 0.5); background: linear-gradient(135deg, #FF00CC, #3333FF, #FF9900, #FF00CC); }







.glass-pill.active i {
    transform: scale(1.1);
}

.mobile-hero {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 60vh;
    padding-top: 160px;     padding-bottom: 2.5rem;
    overflow: hidden;
}

.hero-image-container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.hero-image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-image-container img:not([src]),
.hero-image-container img[src=""] {
    display: none;
}

.hero-overlay-gradient {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg,
        rgba(0, 0, 0, 0.4) 30%,
        rgba(0, 0, 0, 0.7) 70%,
        rgba(0, 0, 0, 0.95) 100%);

    z-index: 2;
}

.mobile-hero.utility-hero-active {
    height: auto;
    min-height: 30vh;
}

.mobile-hero.trending-hero-active {
    background: #000;
}

.mobile-hero.trending-hero-active .hero-image-container {
    background: #000;
}

.mobile-hero.news-hero-active {
    background: #000;
}

.mobile-hero.news-hero-active .hero-image-container {
    background: #000;
}

.mobile-hero.news-hero-active .hero-overlay-gradient {
    background: linear-gradient(180deg,
        rgba(0, 0, 0, 0.28) 0%,
        rgba(0, 0, 0, 0.55) 48%,
        rgba(17, 17, 19, 0.82) 100%);
}

.mobile-hero.utility-hero-active .hero-overlay-gradient {
    background: linear-gradient(180deg,
        rgba(8, 8, 10, 0.16) 20%,
        rgba(8, 8, 10, 0.48) 70%,
        rgba(10, 10, 11, 0.94) 100%);
}

.mobile-hero.utility-hero-active .tag-container {
    display: none;
}

.mobile-hero.utility-hero-active .hero-content p {
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
}

.mobile-hero.utility-hero-active .glass-sub-nav.utility-sub-nav {
    display: flex;
    margin-top: 1.25rem;
    padding: 0 1rem;
    pointer-events: none;
}

.mobile-hero.utility-hero-active .glass-sub-inner.utility-sub-inner {
    max-width: min(100%, 1180px);
    padding: 8px 10px;
    border-radius: 60px;
}

.mobile-sub-grid.utility-sub-grid {
    gap: 6px;
    padding: 0;
}

.utility-sub-pill {
    min-height: 44px;
}

body.light-mode .utility-sub-pill:not(.active) {
    color: #1d1d1f;
}

.glass-sub-nav.trending-hero-no-subnav {
    display: none;
}

.mobile-hero h1,
.mobile-hero p,
.modal-content.premium-modal .modal-title {
    color: #FFFFFF !important;
}
.modal-content.premium-modal .modal-subtitle {
    color: var(--text-muted);
}
.mobile-hero .stats-badge span {
    color: #F5F5F7 !important;
}

.mobile-hero .stats-badge {
    border-color: rgba(255, 255, 255, 0.2) !important;
    background: rgba(255, 255, 255, 0.1) !important;
}

.hero-content {
    position: relative;
    z-index: 10;
    padding: 2rem 1.5rem 2.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: left;
    width: 100%;
}

.stats-badge {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 0.5rem 1rem;
    border-radius: 100px;
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 2rem;
    animation: fadeInUp 0.8s ease;
}

.stats-badge i {
    color: var(--mobile-primary);
    font-size: 0.9rem;
}

.stats-badge span {
    font-size: 0.8rem;
    font-weight: 600;
}

h1 {
    font-size: 2.2rem;
    line-height: 1.1;
    font-weight: 800;
    margin-bottom: 0.8rem;
    letter-spacing: -1.5px;
}

.highlight {
    background: linear-gradient(135deg, #ff5e00 0%, #FF0000 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

.hero-content p {
    font-size: 0.95rem;
    color: rgba(255, 255, 255, 0.7);
    max-width: 90%;
    margin: 0 auto 2.5rem;
    line-height: 1.5;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mobile-hero.cinema-hero-active .cinema-hero-text-hidden {
    display: none !important;
}

.glass-sub-nav {
    flex: 1;
    position: relative;
    display: flex;
    align-items: center;
}

.select-wrapper select {
    width: 100%;
    background: none;
    border: none;
    color: var(--text-white);
    font-size: 0.9rem;
    font-weight: 600;
    padding: 0.5rem 1.4rem 0.5rem 0;
    -webkit-appearance: none;
    appearance: none;
}

.select-wrapper i {
    position: absolute;
    right: 4px;
    font-size: 0.7rem;
    color: var(--text-muted);
}

.explore-btn {
    background: var(--mobile-explore-btn);
    color: var(--text-white);
    border: none;
    padding: 0.7rem 1.6rem;
    border-radius: 50px;
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.3px;
    transition: transform 0.2s, box-shadow 0.2s;
}

.explore-btn:hover {
    transform: scale(1.03);
    box-shadow: 0 4px 16px rgba(255, 94, 0, 0.35);
}

.mobile-sub-grid-container {
    width: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    margin-bottom: 0;
}

.category-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: var(--text-white);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 200;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5);
}

.category-arrow:hover {
    background: rgba(255, 255, 255, 0.4);
    transform: translateY(-50%) scale(1.1);
}

.category-arrow.left { left: -10px; }
.category-arrow.right { right: -10px; }
.category-arrow.hidden { opacity: 0; pointer-events: none; transform: translateY(-50%) scale(0.8); }

.mobile-sub-grid {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-behavior: smooth;
    gap: 0.8rem;
    padding: 20px 12px;
    width: 100%;
    justify-content: flex-start;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.glass-sub-inner > .mobile-sub-grid {
    width: max-content;
    max-width: none;
}

.mobile-sub-grid::-webkit-scrollbar {
    display: none;
}

.sub-cat-btn {
    width: 280px;     height: 180px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    border-radius: 20px;
    overflow: hidden;
    cursor: pointer;
    border: 1px solid rgba(255, 255, 255, 0.08);     background: #000;
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    flex-shrink: 0;
    padding: 0;
    text-align: left;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.sub-cat-btn .card-bg-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    transition: transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

.sub-cat-btn:hover .card-bg-img {
    transform: scale(1.1);
}





.sub-cat-btn.active {
    border-color: var(--category-accent-1, #ff5e00);
    box-shadow: 0 0 25px var(--category-accent-1, rgba(255, 94, 0, 0.4));
    transform: translateY(-5px);
}

.mobile-sub-grid.classifieds-filter-grid {
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    padding: 0;
}

body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero.classifieds-hero-active .glass-sub-nav.utility-sub-nav {
    flex: 0 0 auto;
    width: min(1180px, calc(100vw - 48px));
    max-width: min(1180px, calc(100vw - 48px));
    min-height: 0;
    margin: 1.5rem auto 0;
    padding: 0 12px;
    align-items: center;
}

body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero.classifieds-hero-active .glass-sub-inner.utility-sub-inner {
    width: fit-content;
    max-width: 100%;
    min-height: 60px;
    margin: 0 auto;
    padding: 8px 12px;
    border-radius: 60px;
    align-items: center;
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    background: rgba(15, 15, 15, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
}

body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero.classifieds-hero-active .glass-sub-inner.utility-sub-inner::-webkit-scrollbar {
    display: none;
}

body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero.classifieds-hero-active .glass-sub-inner.utility-sub-inner .category-arrow {
    display: none !important;
}

.mobile-hero.classifieds-hero-active .mobile-sub-grid.classifieds-filter-grid {
    min-height: 44px;
}

.mobile-hero.classifieds-hero-active h1 {
    text-wrap: balance;
}

body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero.classifieds-hero-active .hero-content p {
    text-wrap: pretty;
}

.mobile-sub-grid.classifieds-filter-grid .sub-cat-btn.classified-filter-btn {
    width: auto;
    height: auto;
    min-height: 44px;
    min-width: 0;
    flex: 0 0 auto;
    display: inline-flex;
    flex-direction: row;
    gap: 6px;
    padding: 12px 14px;
    border: 0;
    border-radius: 50px;
    background: transparent;
    box-shadow: none;
    justify-content: center;
    align-items: center;
    overflow: visible;
    text-align: center;
    transform: none;
    white-space: nowrap;
    transition: background 200ms cubic-bezier(0.2, 0, 0, 1),
        box-shadow 200ms cubic-bezier(0.2, 0, 0, 1),
        color 200ms cubic-bezier(0.2, 0, 0, 1),
        transform 200ms cubic-bezier(0.2, 0, 0, 1);
}

.mobile-sub-grid.classifieds-filter-grid .sub-cat-btn.classified-filter-btn.active {
    background: linear-gradient(135deg, #ff8a00, #f23673, #ff8a00);
    color: #ffffff;
    box-shadow: 0 12px 34px rgba(242, 54, 115, 0.36);
    transform: none;
}

.mobile-sub-grid.classifieds-filter-grid .sub-cat-btn.classified-filter-btn:active {
    transform: scale(0.96);
}

.mobile-sub-grid.classifieds-filter-grid .classified-filter-label {
    display: inline-block;
    font-size: inherit;
    font-weight: inherit;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
}

.mobile-sub-grid.classifieds-filter-grid .sub-cat-btn.classified-filter-btn i {
    flex: 0 0 auto;
    font-size: 0.9rem;
    line-height: 1;
}

body.light-mode .mobile-sub-grid.classifieds-filter-grid .sub-cat-btn.classified-filter-btn {
    background: transparent;
}

body.light-mode .mobile-sub-grid.classifieds-filter-grid .sub-cat-btn.classified-filter-btn.active {
    background: linear-gradient(135deg, #ff8a00, #f23673, #ff8a00);
    color: #ffffff;
    box-shadow: 0 12px 34px rgba(242, 54, 115, 0.36);
}

body.light-mode .classified-filter-label {
    color: inherit;
}

body.light-mode .mobile-sub-grid.classifieds-filter-grid .sub-cat-btn.classified-filter-btn.active .classified-filter-label,
body.light-mode .mobile-sub-grid.classifieds-filter-grid .sub-cat-btn.classified-filter-btn.active i {
    color: #ffffff;
}

.classifieds-hero-search {
    position: relative;
    z-index: 12;
    width: min(680px, calc(100vw - 48px));
    margin: 14px auto 0;
    display: flex;
    align-items: center;
}

.classifieds-hero-search.hidden {
    display: none !important;
}

.classifieds-hero-search-field {
    width: 100%;
    min-height: 52px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 0 52px 0 18px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(11, 11, 13, 0.58);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    transition: border-color 200ms cubic-bezier(0.2, 0, 0, 1),
        box-shadow 200ms cubic-bezier(0.2, 0, 0, 1),
        background 200ms cubic-bezier(0.2, 0, 0, 1);
}

.classifieds-hero-search-field i {
    color: #ffb15c;
    font-size: 0.92rem;
    flex: 0 0 auto;
}

.classifieds-hero-search-field input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #ffffff;
    font-size: 0.96rem;
    font-weight: 700;
    line-height: 1.2;
}

.classifieds-hero-search-field input::placeholder {
    color: rgba(255, 255, 255, 0.68);
}

.classifieds-hero-search-field input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    appearance: none;
}

.classifieds-hero-search-field:focus-within {
    border-color: rgba(255, 138, 0, 0.62);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.26), 0 0 0 3px rgba(255, 138, 0, 0.16);
}

.classifieds-hero-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    cursor: pointer;
    transition: background 200ms cubic-bezier(0.2, 0, 0, 1),
        color 200ms cubic-bezier(0.2, 0, 0, 1),
        transform 200ms cubic-bezier(0.2, 0, 0, 1);
}

.classifieds-hero-search-clear::before {
    content: "";
    position: absolute;
    inset: -2px;
    border-radius: inherit;
}

.classifieds-hero-search-clear:active {
    transform: translateY(-50%) scale(0.96);
}

.classifieds-hero-search-clear.hidden {
    display: none !important;
}

.classifieds-hero-search-clear:focus-visible {
    outline: 2px solid rgba(255, 138, 0, 0.82);
    outline-offset: 2px;
}

body.light-mode .classifieds-hero-search-field {
    border-color: rgba(255, 138, 0, 0.22);
    background: rgba(255, 255, 255, 0.88);
    box-shadow: 0 16px 36px rgba(44, 24, 8, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.78);
}

body.light-mode .classifieds-hero-search-field input {
    color: #1d1d1f;
}

body.light-mode .classifieds-hero-search-field input::placeholder {
    color: rgba(29, 29, 31, 0.56);
}

body.light-mode .classifieds-hero-search-clear {
    background: rgba(255, 138, 0, 0.12);
    color: #9a3f00;
}

.card-action-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    z-index: 2;
    padding: 12px;
    background: linear-gradient(to top, rgba(0,0,0,0.4) 0%, transparent 35%);
}

.xyz-action-btn {
    background: rgba(20, 20, 22, 0.42);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #fff;
    padding: 5px 12px;
    border-radius: 10px;
    font-size: 1.1rem;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    transition: all 0.3s ease;
}

.xyz-action-btn:hover {
    background: #fff;
    color: #000;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.5);
}

.sub-cat-btn.active .xyz-action-btn {
    background: linear-gradient(135deg, var(--category-accent-1, #ff5e00), var(--category-accent-2, #f19e18));
    color: #fff;
    border-color: transparent;
    box-shadow: 0 4px 15px var(--category-accent-1, rgba(255, 94, 0, 0.4));
}



body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 50% 50%, rgba(200, 160, 100, 0.05) 0%, transparent 70%);
    pointer-events: none;
    z-index: 9999;
}

body::after {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
    opacity: 0.04;
    mix-blend-mode: soft-light;
    pointer-events: none;
    z-index: 10000;
}


















.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(5px);
    z-index: 2500;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

.side-menu {
    position: fixed;
    top: 1.5rem;
    left: -320px;
    width: 300px;
    height: calc(100% - 3rem);
    max-height: calc(100vh - 3rem);
    background: rgba(15, 15, 18, 0.82);     backdrop-filter: blur(50px) saturate(140%);
    -webkit-backdrop-filter: blur(50px) saturate(140%);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 36px;
    z-index: 3000;
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    box-shadow: 0 40px 100px rgba(0, 0, 0, 0.3);
    padding: 2.2rem 1.4rem;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    overflow: hidden;
}

.side-menu.active {
    left: 1.5rem;
}

.side-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 2.5rem;
    padding: 0 0.5rem 1.2rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);     flex-shrink: 0;
}

.side-menu-content {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    padding: 0 0.5rem 2rem;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.24) transparent;
}

.side-menu-content::-webkit-scrollbar {
    width: 6px;
}

.side-menu-content::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.24);
    border-radius: 999px;
}

.primary-glass-btn {
    width: 100%;
    background: #18C461;
    border-radius: 28px;
    padding: 12px 14px;
    display: flex;
    align-items: center;
    gap: 20px;
    cursor: pointer;
    margin-bottom: 2.2rem;
    box-shadow: 0 14px 35px rgba(24, 196, 97, 0.3);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: none;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

.primary-glass-btn .btn-icon-box {
    width: 52px;
    height: 52px;
    background: rgba(255, 255, 255, 0.3);
    border-radius: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.6rem;
    flex-shrink: 0;
}

.primary-glass-btn .btn-text-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.1;
}

.primary-glass-btn .btn-text-stack span {
    color: white;
    font-weight: 700;
    font-size: 1.35rem;
    letter-spacing: -0.4px;
}

.primary-glass-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 45px rgba(24, 196, 97, 0.4);
    filter: brightness(1.08);
}

.side-menu-header .logo {
    font-size: 1.4rem;
}

.menu-section h3 {
    font-size: 0.8rem;
    text-transform: uppercase;
    color: var(--text-muted);
    letter-spacing: 1px;
    margin-bottom: 0.6rem;
}

.menu-link {
    display: flex;
    align-items: center;
    gap: 14px;
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.6);     text-decoration: none;
    font-size: 1.05rem;
    font-weight: 700;
    padding: 0.8rem 0.9rem;
    width: 100%;
    border-radius: 18px;
    text-align: left;
    cursor: pointer;
    transition: all 0.25s ease;
    margin-bottom: 4px;
    white-space: nowrap;
}

.menu-link:hover {
    color: #FFFFFF;
    background: rgba(255, 255, 255, 0.1);
    transform: translateX(8px);
    opacity: 1 !important;
}

.menu-link.active {
    background: #FFFFFF;
    color: #000000;
    opacity: 1 !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}

.menu-link i {
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 40%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #ffffff;
    font-size: 1.05rem;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.16);
    transition: all 0.3s ease;
}

.menu-link:hover i {
    color: #FFFFFF;
    opacity: 1;
}

.menu-link.active i {
    color: #ffffff;
    transform: scale(1.1);
}

.menu-link:hover i {
    transform: scale(1.1);
    color: #FFFFFF; }

.menu-link[data-category="cinema"] i { background: linear-gradient(135deg, #FF00CC, #3333FF, #FF9900); }
.menu-link[data-category="trending"] i { background: linear-gradient(135deg, #f44369, #3e3b92); }
.menu-link[data-category="news"] i { background: linear-gradient(135deg, #f28367, #ff5282); }
.menu-link[data-category="restaurant"] i { background: linear-gradient(135deg, #FF3D00, #FF6E40); }
.menu-link[data-category="shopping"] i { background: linear-gradient(135deg, #D500F9, #AA00FF); }
.menu-link[data-category="event"] i { background: linear-gradient(135deg, #F50057, #C62828); }
.menu-link[data-category="grocery"] i { background: linear-gradient(135deg, #00C853, #1B5E20); }
.menu-link[data-category="temple"] i { background: linear-gradient(135deg, #FFAB00, #FF6D00); }
.menu-link[data-category="service"] i { background: linear-gradient(135deg, #007AFF, #00D2FF); }
.menu-link[data-category="organization"] i { background: linear-gradient(135deg, #C51162, #880E4F); }
.menu-link[data-category="learning"] i { background: linear-gradient(135deg, #00B8D4, #00838F); }
.menu-link[data-category="realestate"] i { background: linear-gradient(135deg, #6200EA, #7C4DFF); }
.menu-link[data-category="owners"] i { background: linear-gradient(135deg, #1E3C72, #2A5298, #21D4FD); }
.menu-link[data-category="classifieds"] i { background: linear-gradient(135deg, #ff8a00, #f23673); }

body.light-mode .menu-link:hover i {
    color: #111827;
}

body.light-mode .side-menu {
    background: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(50px) saturate(120%) !important;
    -webkit-backdrop-filter: blur(50px) saturate(120%) !important;
    border: 1px solid rgba(255, 255, 255, 1) !important;
    box-shadow: 0 40px 100px rgba(0, 0, 0, 0.05) !important;
    padding: 2.2rem 1.2rem !important;
    overflow: hidden !important;
}

body.light-mode .side-menu-header {
    margin: 0 0 2rem 0 !important;
    padding-bottom: 1.5rem !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.04) !important;
}

body.light-mode .side-menu-content {
    display: block !important;     flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 0 0.35rem 2rem 0 !important;
    scrollbar-color: rgba(0, 0, 0, 0.22) transparent !important;
}

body.light-mode .side-menu-content::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.22);
}

body.light-mode .menu-section {
    padding: 0 0 2rem 0 !important;
}

body.light-mode .menu-link {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    color: #111827 !important;
    opacity: 0.85 !important;     padding: 0.8rem 0.9rem !important;
    margin: 4px 0 !important;
    border-radius: 20px !important;
    background: transparent !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
    width: 100% !important;
    white-space: nowrap !important;
}

body.light-mode .menu-link i {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 40% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    font-size: 1.05rem !important;
    color: #ffffff !important;
    opacity: 1 !important;
}

body.light-mode .menu-link:hover {
    background: rgba(0, 0, 0, 0.02) !important;
    opacity: 0.9 !important;
}

body.light-mode .menu-link.active {
    background: #FFFFFF !important;
    opacity: 1 !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.04), 0 0 0 1px rgba(0, 0, 0, 0.01) !important;
    border: none !important;
}

body.light-mode .menu-link.active i {
    color: #ffffff !important;
}

body.light-mode .menu-section h3 {
    margin-left: 1.4rem !important;
    font-size: 0.78rem !important;
    color: rgba(0, 0, 0, 0.4) !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 1rem !important;
}

body.light-mode .menu-link i {
    text-align: center !important;
    font-size: 1.05rem !important;
    color: #ffffff !important;
    opacity: 1 !important;
}

body.light-mode .menu-link:hover {
    background: rgba(0, 0, 0, 0.12) !important;     transform: translateX(8px) !important;
    opacity: 1 !important;
    color: #000000 !important;
}

body.light-mode .menu-link:hover i {
    color: #ffffff !important;
}

body.light-mode .menu-link.active {
    background: #FFFFFF !important;
    opacity: 1 !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06), inset 0 0 0 1px rgba(255, 255, 255, 1) !important;
    transform: none !important;
}

body.light-mode .menu-link.active i {
    color: #ffffff !important;
    opacity: 1 !important;
}

body.light-mode .menu-section h3 {
    margin-left: 0.5rem !important;
    font-size: 0.8rem !important;
    color: rgba(0, 0, 0, 0.3) !important;
    font-weight: 800 !important;
    margin-bottom: 1.5rem !important;
}

body.light-mode #menuBtn {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    width: 44px !important;
    height: 44px !important;
    font-size: 1.5rem !important;
}

body.light-mode #menuBtn:hover {
    opacity: 0.6;
}

.add-listing-btn-menu,
.promote-btn-menu {
    width: 95%;
    margin: 0.5rem auto;
    border: none;
    padding: 0.65rem 1rem;
    border-radius: 9px;
    font-weight: 800;
    font-size: 1.02rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    cursor: pointer;
    transition: all 0.3s ease;
    color: #FFFFFF;
    position: relative;
}



.add-listing-btn-menu {
    background: linear-gradient(135deg, #2a8d08 0%, #f2e713 100%);
    box-shadow: 0 4px 15px rgba(42, 141, 8, 0.25);
    margin-bottom: 0.8rem;
    margin-top: 0.5rem;
}



.promote-btn-menu {
    background: linear-gradient(135deg, #f20094 0%, #fc9305 100%);
    box-shadow: 0 4px 15px rgba(242, 0, 148, 0.25);
}





.add-listing-btn-menu:hover,
.promote-btn-menu:hover {
    transform: translateY(-2px);
}

.mobile-results {
    padding: 2rem 1.2rem 3rem;
    background: var(--mobile-bg);
}

.results-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;     padding-top: 40px; }

.results-list.compact-search-results {
    grid-template-columns: 1fr;
    max-width: 1200px;
    margin: 0 auto;
}

.mobile-results.trending-results-active .results-controls-bar {
    display: none;
}

.mobile-results.news-results-active .results-controls-bar {
    display: none;
}

.trending-home-controls {
    max-width: 1200px;
    margin: 0 auto 1.5rem;
    padding: 18px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(244, 67, 105, 0.14), rgba(62, 59, 146, 0.2));
    box-shadow: 0 22px 58px rgba(0, 0, 0, 0.22);
}

.trending-home-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-bottom: 16px;
}

.trending-home-category-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 16px;
}

.trending-home-category-tabs button {
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid var(--mobile-border);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--text-muted);
    font: inherit;
    font-size: 0.84rem;
    font-weight: 850;
    letter-spacing: 0;
    cursor: pointer;
}

.trending-home-category-tabs button.active,
.trending-home-category-tabs button:focus-visible {
    border-color: rgba(244, 67, 105, 0.52);
    background: rgba(244, 67, 105, 0.16);
    color: var(--text-white);
    outline: none;
}

.trending-home-primary-cta,
.trending-home-whatsapp {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 0 16px;
    border-radius: 12px;
    font-weight: 800;
    text-decoration: none;
}

.trending-home-primary-cta {
    background: linear-gradient(135deg, #f44369, #3e3b92);
    color: #fff;
    box-shadow: 0 14px 32px rgba(244, 67, 105, 0.24);
}

.trending-home-whatsapp {
    border: 1px solid var(--mobile-border);
    background: var(--modal-inner-bg);
    color: var(--text-muted);
}

.trending-hero-cta-row {
    display: none;
    align-items: stretch;
    justify-content: flex-start;
    margin: 1.25rem auto 0;
    max-width: min(100%, 1180px);
    gap: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(244, 67, 105, 0.92), rgba(62, 59, 146, 0.88));
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.28);
    overflow: hidden;
}

.mobile-hero.trending-hero-active .trending-hero-cta-row {
    display: flex;
}

.trending-hero-cta-row .trending-home-primary-cta,
.trending-hero-whatsapp {
    min-height: 64px;
    border-radius: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.trending-hero-cta-row .trending-home-primary-cta {
    flex: 1 1 auto;
    justify-content: flex-end;
    padding: 0 18px 0 32px;
    font-size: clamp(1.08rem, 1.55vw, 1.35rem);
}

.trending-hero-whatsapp {
    flex: 0 0 auto;
    justify-content: flex-start;
    padding: 0 32px 0 18px;
    color: #fff;
    font-size: clamp(1.08rem, 1.55vw, 1.35rem);
    font-weight: 950;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.48);
}

.trending-home-filter-grid {
    display: grid;
    grid-template-columns: minmax(260px, 1.35fr) repeat(4, minmax(150px, 1fr));
    gap: 12px;
}

.trending-home-filter-grid label {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

.trending-home-filter-grid label > span {
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.trending-home-search-box,
.trending-home-filter-grid select {
    min-height: 48px;
    border: 1px solid var(--mobile-border);
    border-radius: 12px;
    background: rgba(0, 0, 0, 0.22);
    color: var(--text-white);
}

.trending-home-search-box {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 14px;
}

.trending-home-search-box i {
    color: var(--text-muted);
}

.trending-home-search-box input {
    width: 100%;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text-white);
    font: inherit;
}

.trending-home-filter-grid select {
    width: 100%;
    padding: 0 14px;
    font: inherit;
    font-weight: 700;
}

body.light-mode .trending-home-controls {
    background: #fff;
    border-color: rgba(0, 0, 0, 0.08);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.08);
}

body.light-mode .trending-home-search-box,
body.light-mode .trending-home-filter-grid select {
    background: #f7f7f9;
    color: #1d1d1f;
}

body.light-mode .trending-hero-whatsapp {
    color: #fff;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.48);
}

@media (max-width: 1023px) {
    .trending-home-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .trending-home-search {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .trending-hero-cta-row {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .trending-hero-cta-row .trending-home-primary-cta,
    .trending-hero-whatsapp {
        justify-content: center;
        width: 100%;
    }

    .trending-home-filter-grid {
        grid-template-columns: 1fr;
    }
}

.results-list.daily-mode,
.results-list.weekend-mode {
    display: block;
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 28px;
}

.weekend-planner-shell {
    display: flex;
    flex-direction: column;
    gap: 22px;
    width: 100%;
}

.weekend-planner-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    padding: 18px;
    border: 1px solid var(--mobile-border);
    border-radius: 18px;
    background: var(--mobile-card-bg);
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.16);
}

.weekend-planner-eyebrow {
    display: inline-flex;
    margin-bottom: 6px;
    color: #ff9b45;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.weekend-planner-toolbar h2 {
    margin: 0;
    color: var(--text-white);
    font-size: 1.42rem;
    line-height: 1.15;
    letter-spacing: 0;
}

.weekend-planner-toolbar p {
    margin: 6px 0 0;
    color: var(--text-muted);
    font-size: 0.95rem;
}

.weekend-planner-day-tabs {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.weekend-planner-day-tabs button {
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid var(--mobile-border);
    border-radius: 999px;
    background: var(--modal-inner-bg);
    color: var(--text-white);
    font: inherit;
    font-size: 0.86rem;
    font-weight: 800;
    cursor: pointer;
}

.weekend-planner-day-tabs button.active {
    border-color: rgba(255, 94, 0, 0.45);
    background: linear-gradient(135deg, #ff5e00, #f19e18);
    color: #fff;
}

.event-quick-filter-nav {
    width: 100%;
    z-index: 10;
    display: flex;
    justify-content: center;
    margin-top: 1rem;
    padding: 0 12px;
    pointer-events: none;
}

.event-quick-filter-nav.hidden {
    display: none;
}

.event-quick-filter-inner {
    display: flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    max-width: min(100%, 1180px);
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 60px;
    background: rgba(15, 15, 15, 0.6);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
    overflow-x: auto;
    pointer-events: auto;
    scrollbar-width: none;
    -webkit-backdrop-filter: blur(28px);
    backdrop-filter: blur(28px);
}

.event-quick-filter-inner::-webkit-scrollbar {
    display: none;
}

.event-quick-filter-inner .utility-sub-pill {
    flex: 0 0 auto;
}

body.light-mode .event-quick-filter-inner .utility-sub-pill:not(.active) {
    color: #1d1d1f;
}

body.light-mode .event-quick-filter-inner,
body.light-mode .owners-action-inner {
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(255, 255, 255, 1);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.05);
}

body.light-mode .event-quick-filter-inner .utility-sub-pill:not(.active):hover,
body.light-mode .owners-action-inner .utility-sub-pill:not(.active):hover {
    background: rgba(0, 0, 0, 0.06);
    color: #000;
}

.mobile-hero.owners-hero-active .tag-container {
    display: none;
}

.mobile-hero.owners-hero-active .hero-content p {
    margin-bottom: 1.35rem !important;
}

.owners-action-nav {
    width: 100%;
    z-index: 11;
    display: flex;
    justify-content: center;
    margin: 0 0 1rem;
    padding: 0 12px;
    pointer-events: none;
}

.owners-action-nav.hidden {
    display: none;
}

.owners-action-inner {
    display: flex;
    align-items: center;
    gap: 6px;
    width: fit-content;
    max-width: min(100%, 1180px);
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 60px;
    background: rgba(15, 15, 15, 0.6);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4);
    overflow-x: auto;
    pointer-events: auto;
    scrollbar-width: none;
    -webkit-backdrop-filter: blur(28px);
    backdrop-filter: blur(28px);
}

.owners-action-inner::-webkit-scrollbar {
    display: none;
}

.owners-action-pill {
    flex: 0 0 auto;
    min-height: 44px;
}

body.light-mode .owners-action-inner .utility-sub-pill:not(.active) {
    color: #1d1d1f;
}

.weekend-planner-source-strip {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 159, 10, 0.24);
    border-radius: 12px;
    background: rgba(255, 159, 10, 0.08);
    color: var(--text-muted);
    font-weight: 700;
}

.weekend-planner-source-strip i {
    color: #ff9f0a;
}

.weekend-planner-section {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.weekend-planner-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.weekend-planner-section-head h3 {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: var(--text-white);
    font-size: 1.12rem;
    line-height: 1.2;
    letter-spacing: 0;
}

.weekend-planner-section-head h3 i {
    color: #ff8b32;
}

.weekend-planner-section-head span {
    color: var(--text-muted);
    font-size: 0.86rem;
    font-weight: 800;
}

.weekend-planner-items {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.weekend-item-card {
    min-width: 0;
    min-height: 220px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--mobile-border);
    border-radius: 18px;
    background: var(--mobile-card-bg);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.14);
}

.daily-feed-card-media {
    aspect-ratio: 16 / 9;
    min-height: 0;
    overflow: hidden;
    border: 1px solid var(--mobile-border);
    border-radius: 14px;
    background: var(--modal-inner-bg);
}

.daily-feed-card-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.weekend-item-kicker,
.weekend-item-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.weekend-item-kicker {
    justify-content: space-between;
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 900;
}

.weekend-item-kicker span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.weekend-item-card h3 {
    margin: 0;
    color: var(--text-white);
    font-size: 1.12rem;
    line-height: 1.25;
    letter-spacing: 0;
}

.weekend-item-card p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.48;
}

.weekend-item-meta {
    margin-top: auto;
    color: var(--text-muted);
    font-size: 0.88rem;
    font-weight: 700;
}

.daily-utility-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.daily-utility-trust-chip {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border: 1px solid var(--mobile-border);
    border-radius: 999px;
    background: var(--modal-inner-bg);
    color: var(--text-muted);
    font-size: 0.74rem;
    font-weight: 900;
}

.daily-utility-trust-chip.trust {
    border-color: rgba(255, 159, 10, 0.42);
    background: rgba(255, 159, 10, 0.12);
    color: #ffb15c;
}

.daily-utility-trust-chip.warning {
    border-color: rgba(255, 94, 0, 0.42);
    background: rgba(255, 94, 0, 0.12);
    color: #ff9b45;
}

.weekend-item-actions {
    justify-content: space-between;
    padding-top: 2px;
}

.weekend-item-actions a,
.weekend-item-actions button,
.weekend-paid-disclosure {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    border-radius: 10px;
    font-size: 0.84rem;
    font-weight: 800;
    text-decoration: none;
}

.weekend-item-actions a,
.weekend-item-actions button {
    margin-left: auto;
    border: 1px solid rgba(255, 94, 0, 0.35);
    background: rgba(255, 94, 0, 0.1);
    color: var(--text-white);
}

.weekend-item-actions button {
    margin-left: 0;
    font-family: inherit;
    cursor: pointer;
}

.daily-utility-action-group {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
}

.weekend-item-actions button.active {
    border-color: rgba(255, 94, 0, 0.58);
    background: linear-gradient(135deg, #ff5e00, #f19e18);
    color: #fff;
}

.weekend-paid-disclosure {
    border: 1px solid var(--mobile-border);
    background: var(--modal-inner-bg);
    color: var(--text-muted);
}

body.light-mode .weekend-planner-toolbar,
body.light-mode .weekend-item-card {
    background: #fff;
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.08);
}

body.light-mode .weekend-planner-day-tabs button,
body.light-mode .weekend-paid-disclosure,
body.light-mode .daily-utility-trust-chip {
    background: #f7f7f9;
    color: #1d1d1f;
}

body.light-mode .daily-utility-trust-chip.trust,
body.light-mode .daily-utility-trust-chip.warning {
    color: #bf4b0a;
}

body.light-mode .weekend-item-actions a,
body.light-mode .weekend-item-actions button {
    color: #1d1d1f;
}

body.light-mode .weekend-item-actions button.active {
    color: #fff;
}

.news-category-shell .weekend-planner-items {
    grid-template-columns: 1fr;
    gap: 10px;
}

.news-category-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
    padding: 0 2px;
}

.news-category-head h3 {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--text-primary);
    font-size: 1.18rem;
    font-weight: 950;
    letter-spacing: 0;
}

.news-category-head h3 i {
    color: var(--accent-orange);
}

.news-freshness-note {
    margin: 5px 0 0;
    color: var(--text-muted);
    font-size: 0.86rem;
    font-weight: 750;
    line-height: 1.35;
}

.news-section-status {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid rgba(255, 149, 0, 0.18);
    border-radius: 999px;
    background: rgba(255, 149, 0, 0.10);
    color: var(--accent-orange);
    font-size: 0.76rem;
    font-weight: 900;
    white-space: nowrap;
}

.news-category-shell .weekend-item-card {
    min-height: 0;
    padding: 18px 20px;
    border-radius: 20px;
    cursor: default;
}

.news-category-shell .weekend-item-card.news-local-card {
    cursor: pointer;
}

.news-category-shell .weekend-item-card.news-local-card:focus-visible {
    outline: 2px solid rgba(255, 149, 0, 0.78);
    outline-offset: 4px;
}

.news-card-main {
    display: grid;
    grid-template-columns: minmax(144px, 196px) minmax(0, 1fr);
    gap: 18px;
    align-items: stretch;
    min-width: 0;
}

.news-card-main.no-image {
    display: block;
}

.news-card-media {
    position: relative;
    min-height: 132px;
    overflow: hidden;
    border: 1px solid rgba(255, 94, 0, 0.18);
    border-radius: 16px;
    background: var(--modal-inner-bg);
}

.news-card-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.news-card-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.news-category-shell .weekend-item-card h3 {
    max-width: 920px;
    font-size: 1.42rem;
    line-height: 1.18;
}

.news-category-shell .weekend-item-card p {
    max-width: 940px;
    font-size: 0.94rem;
    font-weight: 750;
    line-height: 1.48;
}

.news-category-shell .weekend-item-meta:empty {
    display: none;
}

.news-category-shell .weekend-item-actions {
    justify-content: flex-end;
    margin-top: 0;
}

.news-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: auto;
}

.news-card-date {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
    color: var(--text-muted);
    font-size: 0.82rem;
    font-weight: 850;
}

.news-new-badge {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(255, 94, 0, 0.14);
    color: var(--accent-orange);
    font-size: 0.68rem;
    font-weight: 950;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.news-utility-card .weekend-item-actions .daily-feed-news-open {
    margin-left: auto;
    min-height: 34px;
    height: 34px;
    padding: 0 13px;
    border: 0;
    border-radius: 10px;
    background: linear-gradient(135deg, #ffd21f 0%, #ff9500 52%, #ff5e00 100%);
    color: #fff;
    box-shadow: 0 10px 20px rgba(255, 94, 0, 0.18);
}

.news-utility-card .weekend-item-actions .daily-feed-news-open:hover {
    transform: translateY(-1px);
    box-shadow: 0 12px 24px rgba(255, 94, 0, 0.24);
}

.results-list.news-mode {
    padding-top: 18px;
}

@media (max-width: 900px) {
    .weekend-planner-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .weekend-planner-day-tabs {
        justify-content: flex-start;
    }

    .weekend-planner-items {
        grid-template-columns: 1fr;
    }

    .news-card-main {
        grid-template-columns: minmax(96px, 128px) minmax(0, 1fr);
        gap: 13px;
    }

    .news-card-media {
        min-height: 104px;
        border-radius: 14px;
    }
}


@media (min-width: 1024px) {
    .results-list:not(.compact-search-results) {
        grid-template-columns: repeat(3, 1fr);
        max-width: 1200px;
        margin: 0 auto;
    }
}

@media (min-width: 768px) {
    .results-list.cinema-mode {
        grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
        max-width: 1400px !important;
        gap: 3rem 2rem !important;
        justify-content: center !important;
        margin: 0 auto;
    }

    .results-list.cinema-mode .cinema-card {
        height: auto !important;
        min-height: 480px;
        background: rgba(20, 20, 22, 0.7) !important;
        border: 1px solid rgba(255, 255, 255, 0.1) !important;
        box-shadow: 0 15px 45px rgba(0, 0, 0, 0.4) !important;
    }

            }

@media (min-width: 768px) and (max-width: 1023px) {
    .results-list:not(.compact-search-results) {
        grid-template-columns: repeat(2, 1fr);
    }

        .featured-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 2rem !important;
    }

    .featured-card-flyer {
        max-width: 450px;
        margin: 0 auto;
    }
}

.results-list.trending-mode {
    grid-template-columns: 1fr;
    max-width: 1200px;
    margin: 0 auto;
    gap: 24px 26px;
    align-items: start;
}

.results-list.trending-mode.trending-grouped-mode {
    display: block;
    grid-template-columns: 1fr !important;
}

.trending-category-section {
    width: 100%;
    margin: 0 0 30px;
}

.trending-category-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 14px;
}

.trending-category-heading h2 {
    margin: 0;
    color: var(--text-white);
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: 0;
}

.trending-category-heading span {
    min-width: 32px;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    border: 1px solid var(--mobile-border);
    border-radius: 999px;
    color: var(--text-muted);
    font-size: 0.78rem;
    font-weight: 900;
}

.trending-category-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 24px 26px;
    align-items: start;
}

@media (min-width: 768px) {
    .results-list.trending-mode {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .trending-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .results-list.trending-mode .trending-card {
        width: 100%;
        max-width: 390px;
        justify-self: center;
    }

    .results-list.trending-mode .trending-card-media {
        aspect-ratio: 4 / 5;
        background: #111113;
        max-height: none;
        overflow: hidden;
    }

    .results-list.trending-mode .trending-card.is-vertical-flyer .trending-card-media {
        aspect-ratio: 2 / 3;
    }

    .results-list.trending-mode .trending-card.is-wide-flyer .trending-card-media {
        aspect-ratio: 16 / 10;
    }

    .results-list.trending-mode .trending-card-media .trending-flyer-ambient {
        position: absolute;
        inset: -22px;
        width: calc(100% + 44px);
        height: calc(100% + 44px);
        object-fit: cover;
        opacity: 0.62;
        filter: blur(24px) saturate(1.35) brightness(0.72);
        transform: scale(1.05);
        pointer-events: none;
    }

    .results-list.trending-mode .trending-card-media::after {
        content: "";
        position: absolute;
        inset: 0;
        pointer-events: none;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 22%, transparent 72%, rgba(0, 0, 0, 0.24)),
            radial-gradient(circle at 50% 12%, rgba(255, 255, 255, 0.14), transparent 42%);
    }

    .results-list.trending-mode .trending-card-media .trending-flyer-image {
        position: relative;
        z-index: 1;
        object-fit: contain;
        background: transparent;
    }
}

@media (min-width: 1024px) {
    .results-list.trending-mode {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .trending-category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

.results-list.classifieds-mode {
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)) !important;
    gap: 12px !important;
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 18px;
}

.classified-result-card {
    display: block;
    min-height: 142px;
    padding: 18px;
    border: 1px solid var(--mobile-border);
    border-radius: 16px;
    background: var(--mobile-card-bg);
    color: var(--text-white);
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.classified-result-card:hover,
.classified-result-card:focus-visible {
    transform: translateY(-3px);
    border-color: rgba(255, 138, 0, 0.32);
    box-shadow: 0 16px 34px rgba(0, 0, 0, 0.24);
    outline: none;
}

body.light-mode .classified-result-card {
    background: #ffffff;
    border-color: rgba(0, 0, 0, 0.08);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
}

body.light-mode .classified-result-card:hover,
body.light-mode .classified-result-card:focus-visible {
    border-color: rgba(255, 94, 0, 0.24);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.09);
}

.classified-result-content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.classified-result-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.classified-result-kicker,
.classified-result-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.classified-result-lane,
.classified-result-featured {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    border: 1px solid rgba(255, 138, 0, 0.22);
    background: rgba(255, 138, 0, 0.1);
    color: #ffb35c;
    font-size: 0.68rem;
    font-weight: 850;
    line-height: 1;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.classified-result-featured {
    border-color: rgba(242, 54, 115, 0.24);
    background: rgba(242, 54, 115, 0.11);
    color: #ff8fb7;
}

body.light-mode .classified-result-lane {
    color: #bd4c00;
    background: rgba(255, 138, 0, 0.12);
}

body.light-mode .classified-result-featured {
    color: #b91d53;
    background: rgba(242, 54, 115, 0.09);
}

.classified-result-card h3 {
    margin: 0;
    color: var(--text-white);
    font-size: 1.08rem;
    line-height: 1.22;
    font-weight: 850;
    letter-spacing: 0;
}

body.light-mode .classified-result-card h3 {
    color: #1d1d1f;
}

.classified-result-card p {
    margin: 0;
    color: var(--text-muted);
    font-size: 0.9rem;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.classified-result-meta {
    color: var(--text-muted);
    font-size: 0.8rem;
    font-weight: 750;
    line-height: 1.2;
}

.classified-result-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.classified-result-meta i {
    color: var(--mobile-primary);
    font-size: 0.72rem;
}

.classified-result-price {
    color: var(--mobile-primary) !important;
    font-weight: 900;
}

.classified-result-disclosure {
    color: var(--text-muted);
    font-size: 0.68rem;
    font-weight: 750;
}

.classified-result-card .classified-result-details {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    align-self: flex-start;
    flex: 0 0 auto;
    min-height: 34px;
    padding: 0 14px;
    border: 1px solid rgba(255, 122, 24, 0.22);
    border-radius: 999px;
    background: rgba(255, 122, 24, 0.12);
    color: #ffd9bd !important;
    box-shadow: none;
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0;
    text-decoration: none;
    line-height: 1;
}

.classified-result-card .classified-result-details::after {
    display: none;
}

@media (max-width: 640px) {
    .results-list.classifieds-mode {
        grid-template-columns: 1fr !important;
        padding-top: 12px;
    }

    .classified-result-card {
        min-height: 0;
        padding: 14px;
    }

    .classified-result-head {
        align-items: flex-start;
    }

    .classified-result-card .classified-result-details {
        align-self: flex-start;
    }
}

.trending-card {
    overflow: hidden;
    min-width: 0;
    background: var(--mobile-card-bg);
    border: 1px solid var(--mobile-border);
    border-radius: 18px;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.18);
    cursor: pointer;
}

.trending-card-media {
    position: relative;
    aspect-ratio: 16 / 10;
    background: rgba(255, 255, 255, 0.04);
}

.trending-card-category-label {
    position: absolute;
    left: 12px;
    bottom: 12px;
    z-index: 2;
    max-width: calc(100% - 24px);
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.74);
    color: #ffffff;
    font-size: 0.74rem;
    font-weight: 900;
    line-height: 1;
}

.trending-card-status-label {
    position: absolute;
    left: 12px;
    top: 12px;
    z-index: 3;
    max-width: calc(100% - 24px);
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.74);
    color: #ffffff;
    font-size: 0.74rem;
    font-weight: 900;
    line-height: 1;
}

.trending-card-media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.trending-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f44369;
    background: linear-gradient(135deg, rgba(244, 67, 105, 0.18), rgba(62, 59, 146, 0.22));
    font-size: 2rem;
}

.trending-freshness {
    position: absolute;
    left: 12px;
    bottom: 12px;
    max-width: calc(100% - 24px);
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.72);
    color: #fff;
    font-size: 0.76rem;
    font-weight: 800;
}

.trending-card-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-height: 290px;
    padding: 16px;
}

.trending-badge-row,
.trending-meta-row,
.trending-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.trending-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 8px;
    background: rgba(244, 67, 105, 0.16);
    color: #ff8da4;
    font-size: 0.76rem;
    font-weight: 800;
}

.trending-badge.secondary {
    background: rgba(255, 255, 255, 0.06);
    color: var(--text-muted);
}

.trending-badge.warning {
    background: rgba(255, 159, 10, 0.16);
    color: #ffcc66;
}

.trending-card h3 {
    min-height: 52px;
    margin: 0;
    color: var(--text-white);
    font-size: 1.08rem;
    line-height: 1.25;
    letter-spacing: 0;
}

.trending-card p {
    margin: 0;
    color: var(--text-muted);
    line-height: 1.48;
}

.trending-meta-row {
    color: var(--text-muted);
    font-size: 0.86rem;
}

.trending-meta-row span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.trending-action-row {
    margin-top: auto;
}

.trending-action-row button,
.trending-action-row a {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 12px;
    border: 1px solid var(--mobile-border);
    border-radius: 10px;
    background: var(--modal-inner-bg);
    color: var(--text-white);
    font: inherit;
    font-weight: 800;
    font-size: 0.84rem;
    text-decoration: none;
    cursor: pointer;
}

.trending-action-row button:hover,
.trending-action-row a:hover {
    border-color: rgba(244, 67, 105, 0.45);
}

body.light-mode .trending-card {
    background: #fff;
    box-shadow: 0 16px 42px rgba(0, 0, 0, 0.08);
}

body.light-mode .trending-badge {
    color: #9f183d;
}

body.light-mode .trending-badge.secondary,
body.light-mode .trending-card p,
body.light-mode .trending-meta-row {
    color: #5f6368;
}

body.light-mode .trending-home-category-tabs button {
    background: #ffffff;
    color: #5f6368;
}

body.light-mode .trending-home-category-tabs button.active,
body.light-mode .trending-home-category-tabs button:focus-visible {
    background: rgba(244, 67, 105, 0.12);
    color: #9f183d;
}

body.light-mode .trending-category-heading h2 {
    color: #1d1d1f;
}

body.light-mode .trending-action-row button,
body.light-mode .trending-action-row a {
    background: #f7f7f9;
    color: #1d1d1f;
}

.trending-modal {
    position: fixed;
    inset: 0;
    z-index: 2200;
    display: none;
}

.trending-modal.active {
    display: block;
}

.trending-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.trending-modal-panel {
    position: relative;
    width: min(920px, calc(100% - 28px));
    max-height: calc(100vh - 36px);
    overflow: auto;
    margin: 18px auto;
    background: var(--modal-bg);
    border: 1px solid var(--mobile-border);
    border-radius: 20px;
    color: var(--text-white);
}

.trending-modal-panel.is-vertical-flyer {
    width: min(1180px, calc(100% - 28px));
}

.trending-modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    z-index: 2;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.68);
    color: #fff;
    cursor: pointer;
}

.trending-detail-media {
    aspect-ratio: 16 / 9;
    background: #111113;
}

.trending-detail-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.trending-modal-panel.is-vertical-flyer .trending-detail-shell {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(360px, 1fr);
    align-items: stretch;
    min-height: min(760px, calc(100vh - 36px));
}

.trending-modal-panel.is-vertical-flyer .trending-detail-media {
    aspect-ratio: auto;
    min-height: min(760px, calc(100vh - 36px));
    display: grid;
    place-items: center;
}

.trending-modal-panel.is-vertical-flyer .trending-detail-media img {
    width: 100%;
    height: 100%;
    max-height: calc(100vh - 36px);
    object-position: top center;
}

.trending-modal-panel.is-vertical-flyer .trending-detail-body {
    max-height: calc(100vh - 36px);
    overflow: auto;
}

.trending-detail-body {
    padding: 22px;
}

.trending-detail-body h2 {
    margin: 12px 0;
    color: var(--text-white);
    font-size: 2rem;
    letter-spacing: 0;
}

.trending-detail-body p {
    color: var(--text-muted);
    line-height: 1.55;
}

.trending-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0;
}

.trending-detail-fact {
    padding: 12px;
    border: 1px solid var(--mobile-border);
    border-radius: 12px;
    background: var(--modal-inner-bg);
}

.trending-detail-fact label {
    display: block;
    color: var(--text-muted);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 6px;
}

.trending-detail-fact span,
.trending-detail-fact a {
    color: var(--text-white);
    overflow-wrap: anywhere;
}

.trending-toast {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 2300;
    max-width: min(360px, calc(100% - 36px));
    padding: 14px 16px;
    border-radius: 12px;
    background: var(--modal-bg);
    border: 1px solid var(--mobile-border);
    color: var(--text-white);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.32);
    opacity: 0;
    transform: translateY(10px);
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.trending-toast.active {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 640px) {
    .trending-modal-panel.is-vertical-flyer .trending-detail-shell {
        grid-template-columns: minmax(132px, 44%) minmax(0, 1fr);
        min-height: 0;
    }

    .trending-modal-panel.is-vertical-flyer .trending-detail-media {
        min-height: min(72vh, 560px);
    }

    .trending-modal-panel.is-vertical-flyer .trending-detail-body {
        padding: 14px;
    }

    .trending-modal-panel.is-vertical-flyer .trending-detail-body h2 {
        font-size: 1.15rem;
    }

    .trending-modal-panel.is-vertical-flyer .trending-badge-row,
    .trending-modal-panel.is-vertical-flyer .trending-action-row {
        gap: 6px;
    }

    .trending-detail-grid {
        grid-template-columns: 1fr;
    }

    .trending-card h3 {
        min-height: 0;
    }
}

.listing-card {
    background: rgba(22, 22, 24, 0.45);
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(32px);
    -webkit-backdrop-filter: blur(32px);
    position: relative;
    z-index: 1;
    transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1),
                box-shadow 0.5s ease,
                padding 0.4s ease;
}


.listing-card::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 250%;     height: 250%;
    transform: translate(-50%, -50%) rotate(0deg);
    background: conic-gradient(
        from 0deg,
        var(--category-accent-1, #FF5E00) 0%,
        var(--category-accent-2, #FF9B05) 25%,
        #FF3131 50%,            var(--category-accent-2, #FF9B05) 75%,
        var(--category-accent-1, #FF5E00) 100%
    );
    animation: rotateGoldenRing 6s linear infinite;
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: -1;
    pointer-events: none;
}

.listing-card:hover::before {
    opacity: 1;
}

.listing-card::after {
    content: '';
    position: absolute;
    inset: 2px;
    background: rgba(22, 22, 24, 0.95);     border-radius: 18px;
    z-index: -1;
    opacity: 0;
    transition: opacity 0.4s ease;
}

body.light-mode .listing-card::after {
    background: #FFFFFF; }


.listing-card:hover::after {
    opacity: 1;
}

.listing-card:hover {
    background: transparent !important;
}


.listing-card .card-image,
.listing-card .card-info {
    position: relative;
    z-index: 10;
}

.listing-card:hover {
    transform: translateY(-12px);
    box-shadow: 0 45px 85px -25px rgba(0, 0, 0, 0.9),
                0 0 35px var(--category-accent-1, rgba(255,140,0,0.3));
    border-color: transparent;
    z-index: 100;
}








body.light-mode .listing-card {
    background: #FFFFFF;
    border: 1px solid rgba(0,0,0,0.06);
    box-shadow: 0 4px 20px rgba(0,0,0,0.04);
}

body.light-mode .card-info h3 {
    color: #1a1a1b !important;
}

body.light-mode .contact-link {
    background: rgba(0, 0, 0, 0.02) !important;
    border-color: rgba(0, 0, 0, 0.05) !important;
}

body.light-mode .contact-text label {
    color: rgba(0, 0, 0, 0.45) !important;
}

body.light-mode .contact-text span {
    color: #2d2e2f !important;
}

body.light-mode .contact-link i {
    color: var(--mobile-primary) !important;
    filter: drop-shadow(0 2px 4px rgba(255, 94, 0, 0.2));
}

body.light-mode .contact-link:hover i {
    background: rgba(255, 94, 0, 0.15) !important;
    color: var(--mobile-primary) !important;
    border-color: var(--mobile-primary) !important;
}

body.light-mode .distance-tag {
    background: rgba(0, 0, 0, 0.04) !important;
    color: #444 !important;
}


.modal-content {
    background: var(--modal-bg) !important;
    color: var(--text-white) !important;
    border: 1px solid var(--mobile-border) !important;
    box-shadow: 0 25px 80px rgba(0, 0, 0, 0.5) !important;
    border-radius: 24px;
}

.modal-content.listing-card-vibe {
    width: 600px;     max-width: 90vw;
    border-radius: 28px;
    padding: 0;
    overflow: hidden;
    background: var(--mobile-card-bg) !important;
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.modal-content.listing-card-vibe .details-header {
    height: 250px;     width: 100%;
}

body.light-mode .modal-content.listing-card-vibe {
    background: #FFFFFF !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 40px 100px rgba(0, 0, 0, 0.12) !important;
}

body.light-mode .modal-content.listing-card-vibe .details-header-overlay {
    background: linear-gradient(to top, #FFFFFF, transparent);
}

.modal-content.listing-card-vibe .details-body {
    padding: 2rem 2.2rem 2.4rem;
    margin-top: -60px; }

.modal-content.listing-card-vibe #detailsModalTitle {
    font-size: 2.1rem;     font-weight: 700;
    margin: 1.2rem 0;     padding-bottom: 1.2rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); }

#listingDetailsModal.cinema-mode .modal-content.listing-card-vibe #detailsModalTitle {
    border-bottom: none !important;
    margin-bottom: 5px !important;
    margin-top: 5px !important;
}

#listingDetailsModal.cinema-mode .details-contact-column {
    margin-top: 10px !important;
    border-top: none !important;
}

#listingDetailsModal.cinema-mode .contact-link {
    border-bottom: none !important;
}

#listingDetailsModal.cinema-mode .details-body * {
    border-top: none !important;
    border-bottom: none !important;
}

body.light-mode .modal-content.listing-card-vibe #detailsModalTitle {
    border-bottom-color: rgba(0, 0, 0, 0.05); }

.modal-content.listing-card-vibe .modal-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.8rem;
}

.modal-content.listing-card-vibe .details-contact-column {
    display: flex;
    flex-direction: column;
    gap: 0;     margin-top: 1.5rem;
}

body.light-mode .modal-content {
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.1) !important;
}

.details-body {
    background: transparent !important;
    color: var(--text-white) !important;
}

.modal-title {
    color: var(--text-white) !important;
    font-weight: 800;
}

.modal-subtitle {
    color: var(--text-muted) !important;
}

.form-group label {
    color: var(--text-muted) !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.75rem;
}

.input-with-icon input,
.input-with-icon select,
.input-with-icon textarea {
    background: var(--input-bg) !important;
    border: 1.5px solid var(--input-border) !important;
    color: var(--input-text) !important;
    border-radius: 12px !important;
    transition: all 0.3s ease;
}

.input-with-icon input:focus,
.input-with-icon select:focus,
.input-with-icon textarea:focus {
    border-color: var(--mobile-primary) !important;
    background: var(--modal-inner-bg) !important;
}

.input-with-icon i {
    color: var(--text-muted) !important;
}

.listing-card {
    background: var(--mobile-card-bg) !important;
    border: 1px solid var(--mobile-border) !important;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}

.listing-card h3 {
    color: var(--text-white) !important;
}

.card-footer {
    display: none !important;
    border-top: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.footer-right, .card-distance {
    color: var(--text-muted) !important;
}

.contact-link {
    color: var(--text-white) !important;
    background: var(--modal-inner-bg) !important;
    border-radius: 16px !important;
    border: 1px solid var(--mobile-border) !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.contact-link i {
    background: rgba(255, 94, 0, 0.1) !important;
    color: var(--mobile-primary) !important;
    border: 1px solid rgba(255, 94, 0, 0.2) !important;
    border-radius: 12px;
}

.contact-text label {
    color: var(--text-muted) !important;
    opacity: 0.8;
}

.contact-text span {
    color: var(--text-white) !important;
    font-weight: 600;
}

@media (hover: hover) {
    .contact-link:hover {
        background: rgba(255, 94, 0, 0.08) !important;
        border-color: var(--mobile-primary) !important;
        transform: translateY(-2px);
    }

    .contact-link:hover i {
        background: var(--mobile-primary) !important;
        color: white !important;
        box-shadow: 0 0 20px rgba(255, 94, 0, 0.4);
    }

    .listing-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.3);
        border-color: rgba(255, 255, 255, 0.2);
    }

    body.light-mode .listing-card:hover {
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
        border-color: rgba(0, 0, 0, 0.1);
    }
}

.contact-link:active, .listing-card:active {
    transform: scale(0.97);
    background: rgba(255, 94, 0, 0.15) !important;
}

.privacy-content p, .privacy-content li {
    color: var(--text-white) !important;
    opacity: 0.95;
    line-height: 1.7;
}

.privacy-content h3 {
    color: var(--mobile-primary) !important;
    margin-top: 1.5rem;
}

.contact-link.event-highlight label {
    color: #ff5e00;
    font-weight: 800;
}

.contact-link.event-highlight span {
    color: var(--text-white);
    font-size: 1.25rem;
    font-weight: 800;
    text-shadow: 0 0 10px rgba(255, 94, 0, 0.3);
}

body.light-mode .contact-link.event-highlight span {
    color: #FF4500 !important;
}

.listing-card:active {
    transform: scale(0.98);
}

.card-image {
    position: relative;
    height: auto;
    aspect-ratio: 3 / 2;
    line-height: 0;
}

.results-list .listing-card:not(.event-card):not(.cinema-card) .card-image {
    height: auto !important;
    aspect-ratio: 1.35 / 1 !important;
}

.cinema-card .card-image {
    height: auto !important;
    aspect-ratio: 2 / 3 !important;
}

.card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.results-list.event-mode .card-image {
    height: auto !important;
    aspect-ratio: 3 / 2;
    line-height: 0;
}

.results-list.event-mode .card-image img {
    display: block;
    object-position: center top;
}

.results-list.event-mode .card-type-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    line-height: 1;
}

.playing-today-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #FF5E00 !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    box-shadow: 0 6px 15px rgba(255, 94, 0, 0.4) !important;
    z-index: 5;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    border: 1px solid rgba(255,255,255,0.4) !important;
}

.cinema-reboot-card-media {
    position: relative;
    width: 100%;
    overflow: hidden;
    border-radius: inherit;
    background: transparent !important;
    isolation: isolate;
}

.cinema-reboot-card-media::before,
.cinema-reboot-card-media::after,
.cinema-reboot-movie-card::before,
.cinema-reboot-movie-card::after {
    content: none !important;
    display: none !important;
}

.cinema-status-pill {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 5px 12px;
    border-radius: 6px;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #ffffff !important;
    z-index: 10;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.cinema-status-pill.now-playing {
    background: #1B5E20 !important; }

.cinema-status-pill.upcoming {
    background: #ff7a00 !important; }

.card-type-badge {
    position: absolute;
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    line-height: 1;
    bottom: 12px !important;
    left: 12px !important;
    top: auto !important;     background: rgba(0, 0, 0, 0.45) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    padding: 5px 14px !important;
    border-radius: 12px;
    font-size: 0.75rem !important;
    font-weight: 800 !important;
    color: #ffffff !important;
    letter-spacing: 0.8px;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.4) !important;
    z-index: 100 !important;
}

.cinema-card .card-type-badge {
    background: #FF5E00 !important;     color: #ffffff !important;
    font-weight: 900 !important;
    border: 1.5px solid rgba(255,255,255,0.4) !important;
    box-shadow: 0 8px 30px rgba(255, 94, 0, 0.5) !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    bottom: 12px !important;     top: auto !important;         left: 12px !important;
}

.card-info {
    padding: 1.25rem 1.4rem 1.4rem;
}

.cinema-card .card-info {
    padding-top: 0.4rem;
}

.cinema-card .card-top-row {
    margin-bottom: 0.2rem;
    min-height: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.card-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.85rem;
    padding-bottom: 0.75rem;
    min-height: 24px;     border-bottom: 1px solid rgba(255, 255, 255, 0.11);
}

.verified-column {
    flex: 1;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.rating-column {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.distance-column {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.card-meta-bottom {
    margin: 1rem 0 0;
    padding: 0.85rem 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.11);
    border-bottom: none;
}

.card-meta-bottom .rating-column{justify-content:center;text-align:center}.card-meta-bottom .card-rating-row{justify-content:center;width:100%}

.verified-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    background: #1B5E20 !important;     color: #ffffff !important;
    padding: 3px 8px;
    border-radius: 6px;
    font-size: 0.7rem;
    font-weight: 700;
}

.verified-badge i {
    color: #ffffff !important;
}

.unverified-badge {
    background: rgba(142, 142, 147, 0.15);
    color: #8E8E93;
    border: 1px solid rgba(142, 142, 147, 0.2);
    font-weight: 600;
}

.listing-card.card-stale {
    opacity: 0.85;
    filter: saturate(0.85);
}

.listing-card.card-stale:hover {
    opacity: 1;
    filter: saturate(1);
}

.card-info h3 {
    font-size: 1.25rem;
    font-weight: 700;
    margin: 0.2rem 0 0.9rem;
    padding-bottom: 0.85rem;
    display: flex;
    align-items: center;
    min-height: 2.8rem;
    line-height: 1.2;
    border-bottom: 1px solid rgba(255, 255, 255, 0.11);
}

.card-rating-row {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--text-muted);
    font-weight: 700;
    font-size: 0.85rem;
}

.card-rating-row i {
    color: #ff5e00;
    font-size: 0.75rem;
}

.contact-info {
    display: flex;
    flex-direction: column;
    gap: 12px;     margin-top: 0.5rem;
    padding-top: 0;
    border-top: none;
}


.card-event-datetime {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    margin: 1rem 0;
    font-size: 1.05rem;
    color: var(--mobile-primary);
    font-weight: 800;
}

.card-event-datetime i {
    margin-right: 4px;
}


.modal-event-datetime {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 12px;
    padding: 12px 16px;
    background: rgba(255, 94, 0, 0.1);
    border-radius: 12px;
    border-left: 4px solid var(--mobile-primary);
}

.modal-event-datetime span {
    display: flex;
    align-items: center;
    font-weight: 600;
    font-size: 1.05rem;
    color: var(--text-white);
}

.modal-event-datetime i {
    color: var(--mobile-primary);
    margin-right: 8px;
    font-size: 1.1rem;
}

.modal-event-datetime.hidden {
    display: none;
}

body.light-mode .contact-info {
    border-top: none;
}

body.light-mode .card-top-row,
body.light-mode .card-info h3 {
    border-bottom-color: rgba(0, 0, 0, 0.09);
}

body.light-mode .card-meta-bottom {
    border-top-color: rgba(0, 0, 0, 0.09);
    border-bottom: none;
}

body.light-mode .cinema-card .card-top-row {
    border-bottom: none;
}

.contact-row-top {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
}

.web-link-right {
    margin-left: 0;
    text-align: left;
}

.address-row-container {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
}

.address-link-full {
    flex: 1;
}

.distance-tag {
    font-size: 0.75rem;
    font-weight: 700;
    color: var(--mobile-primary);
    white-space: nowrap;
    background: rgba(255, 94, 0, 0.08);
    padding: 2px 8px;
    border-radius: 6px;
}

.contact-link {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 14px 10px;
    background: transparent;
    border: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    color: rgba(255, 255, 255, 0.9);
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
    width: 100%;
    box-sizing: border-box;
}

.contact-link:last-child {
    border-bottom: none;
}

.contact-link i {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 94, 0, 0.08);
    border: 1px solid rgba(255, 94, 0, 0.15);
    border-radius: 12px;
    color: var(--mobile-primary);
    font-size: 1.1rem;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.contact-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    overflow: hidden;
}

.contact-text label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: rgba(255, 255, 255, 0.4);
    font-weight: 700;
}

.contact-text span {
    font-size: 1rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.95);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contact-link:hover {
    background: rgba(255, 255, 255, 0.03);
    padding-left: 14px;
    color: var(--text-white);
}

.contact-link:hover i {
    background: var(--mobile-primary);
    color: var(--text-white);
    transform: scale(1.1) rotate(-5deg);
    box-shadow: 0 0 20px rgba(255, 94, 0, 0.4);
}

.contact-link:active {
    transform: scale(0.98);
}



.loading, .no-results, .error {
    text-align: center;
    padding: 3rem 0;
    color: var(--text-muted);
    font-style: italic;
}

.cd-reliability-state {
    grid-column: 1 / -1;
    width: 100%;
    box-sizing: border-box;
    color: var(--text-white, var(--cd-text-main, #ffffff));
    font-style: normal;
    scroll-margin-top: 150px;
}

.cd-reliability-state__status {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 auto 18px;
    width: min(100%, 520px);
    padding: 14px 16px;
    border: 1px solid var(--cd-border, rgba(255, 255, 255, 0.12));
    border-radius: 18px;
    background: var(--cd-card-bg, rgba(255, 255, 255, 0.06));
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.cd-reliability-state__status i {
    color: var(--cd-primary, var(--primary-orange, #ff5e00));
    font-size: 1.08rem;
}

.cd-reliability-state__status strong,
.cd-reliability-state__status span {
    display: block;
    text-align: left;
    letter-spacing: 0;
}

.cd-reliability-state__status strong {
    color: var(--text-white, var(--cd-text-main, #ffffff));
    font-size: 0.98rem;
    font-weight: 850;
    line-height: 1.25;
}

.cd-reliability-state__status span {
    margin-top: 3px;
    color: var(--text-muted, var(--cd-text-muted, rgba(255, 255, 255, 0.68)));
    font-size: 0.86rem;
    font-weight: 560;
    line-height: 1.35;
}

.cd-skeleton-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.cd-skeleton-card {
    min-height: 220px;
    padding: 16px;
    border: 1px solid var(--cd-border, rgba(255, 255, 255, 0.10));
    border-radius: 20px;
    background: var(--cd-card-bg, rgba(255, 255, 255, 0.055));
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.cd-skeleton-media,
.cd-skeleton-line,
.cd-skeleton-actions i {
    display: block;
    border-radius: 12px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.06));
    background-size: 220% 100%;
    animation: cd-skeleton-shimmer 1.4s ease-in-out infinite;
}

.cd-skeleton-media {
    height: 104px;
    margin-bottom: 16px;
}

.cd-skeleton-line {
    height: 13px;
    margin-top: 10px;
}

.cd-skeleton-line--title {
    width: 72%;
    height: 18px;
}

.cd-skeleton-line--short {
    width: 46%;
}

.cd-skeleton-actions {
    display: flex;
    gap: 10px;
    margin-top: 18px;
}

.cd-skeleton-actions i {
    width: 88px;
    height: 32px;
    border-radius: 999px;
}

.cd-reliability-state--trending .cd-skeleton-media,
.cd-reliability-state--event .cd-skeleton-media {
    height: 150px;
}

.cd-reliability-state--search .cd-skeleton-media {
    height: 44px;
}

body.light-mode .cd-reliability-state {
    color: var(--cd-text-main, #17171c);
}

body.light-mode .cd-reliability-state__status,
body.light-mode .cd-skeleton-card {
    border-color: rgba(23, 23, 28, 0.10);
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 18px 42px rgba(15, 23, 42, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

body.light-mode .cd-reliability-state__status strong {
    color: var(--cd-text-main, #17171c);
}

body.light-mode .cd-skeleton-media,
body.light-mode .cd-skeleton-line,
body.light-mode .cd-skeleton-actions i {
    background: linear-gradient(90deg, rgba(15, 23, 42, 0.055), rgba(15, 23, 42, 0.12), rgba(15, 23, 42, 0.055));
    background-size: 220% 100%;
}

@keyframes cd-skeleton-shimmer {
    0% { background-position: 120% 0; }
    100% { background-position: -120% 0; }
}

@media (max-width: 700px) {
    .cd-reliability-state__status {
        align-items: flex-start;
        border-radius: 16px;
    }

    .cd-skeleton-grid {
        grid-template-columns: 1fr;
    }

    .cd-skeleton-card {
        min-height: 190px;
    }
}

.search-empty-state {
    grid-column: 1 / -1;
    padding: 0;
    font-style: normal;
}

.fadeIn {
    animation: fadeIn 0.5s ease forwards;
}

@keyframes fadeIn {
    from { opacity: 0; transform: scale(0.95); }
    to { opacity: 1; transform: scale(1); }
}

.details-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 5000;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.details-modal.active {
    opacity: 1;
    visibility: visible;
}

.premium-modal {
    background: rgba(20, 20, 25, 0.72) !important;
    backdrop-filter: blur(40px) !important;
    -webkit-backdrop-filter: blur(40px) !important;
    border-radius: 32px !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    box-shadow: 0 40px 100px rgba(0,0,0,0.8) !important;
    overflow-y: auto;
    position: relative;
    width: 92%;
    max-width: 600px;
    max-height: 90vh;
    transform: translateY(30px) scale(0.95);
    transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.details-modal.active .premium-modal {
    transform: translateY(0) scale(1);
}

.close-modal {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(0,0,0,0.5);
    border: 1px solid rgba(255,255,255,0.15);
    color: var(--text-white);
    font-size: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 100;
    transition: all 0.3s ease;
    backdrop-filter: blur(5px);
}

.close-modal:hover {
    background: var(--mobile-primary);
    transform: rotate(90deg);
}

.details-header {
    width: 100%;
    height: 260px;
    position: relative;
}

#detailsModalImg {
    width: 100%;
    height: 100%;
    object-fit: cover;     transition: object-fit 0.3s ease;
}





.details-header-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 60%;
    background: linear-gradient(to top, #121214, transparent);
}

#listingDetailsModal.cinema-mode .details-header-overlay {
    display: none !important;
}

.details-body {
    padding: 0 28px 32px;
    margin-top: -40px;     position: relative;
    z-index: 5;
    overflow-y: auto;
    max-height: calc(90vh - 220px);
}

.details-badges {
    display: flex;
    gap: 10px;
    margin-bottom: 12px;
}

.verified-badge-pill, .type-badge-pill {
    display: none; }

#detailsModalTitle {
    font-size: 1.9rem;
    font-weight: 900;
    margin-bottom: 8px;
    letter-spacing: -0.8px;
    color: var(--text-white);
    line-height: 1.1;
}

.modal-rating-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 24px;
    color: var(--mobile-primary);
    font-weight: 700;
    font-size: 0.95rem;
}

.privacy-body .modal-title, .contact-body .modal-title {
    text-align: center;
    font-size: 1.6rem;
    margin-bottom: 0.5rem;
}

.privacy-body .modal-subtitle, .contact-body .modal-subtitle {
    text-align: center;
    font-size: 0.95rem;
    margin-bottom: 2rem;
    display: block;
}

.details-contact-column {
    display: flex;
    flex-direction: column;
    gap: 15px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    overflow: hidden;
}

.modal-event-datetime {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 24px;
    padding: 16px;
    background: rgba(255, 94, 0, 0.1);
    border-radius: 18px;
    border-left: 4px solid var(--mobile-primary);
}

.modal-event-datetime .dt-item {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--mobile-primary);
}


body.light-mode .premium-modal {
    background: #FFFFFF;
    border-color: rgba(0, 0, 0, 0.05);
    box-shadow: 0 40px 100px rgba(0, 0, 0, 0.15);
}

body.light-mode #schedule7DayModal .premium-modal {
    background: #ffffff !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 34px 90px rgba(15, 23, 42, 0.18) !important;
}

body.light-mode #schedule7DayModal .modal-title {
    color: #17171c !important;
}

body.light-mode #schedule7DayModal #scheduleModalContent > div {
    background: rgba(15, 23, 42, 0.04) !important;
}

body.light-mode .details-header-overlay {
    background: linear-gradient(to top, #FFFFFF, transparent);
}

body.light-mode .type-badge-pill {
    background: rgba(0, 0, 0, 0.05);
    color: rgba(0, 0, 0, 0.6);
    border-color: rgba(0, 0, 0, 0.1);
}

body.light-mode #detailsModalTitle {
    color: #1D1D1F;
}

body.light-mode .modal-event-datetime {
    background: rgba(255, 94, 0, 0.05);
}

body.light-mode .details-contact-column {
    background: rgba(0, 0, 0, 0.02);
    border-color: rgba(0, 0, 0, 0.05);
}


.details-contact-list .contact-link {
    width: 100%;     word-break: break-all;
}


.details-modal .modal-content {
    max-height: 90vh;     overflow-y: auto;     display: flex;
    flex-direction: column;
}

.details-modal.active .modal-content {
    transform: translateY(0);
}

.close-modal {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: rgba(0, 0, 0, 0.6);
    border: none;
    color: white;
    font-size: 1.8rem;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: center;
}

.premium-modal-header {
    height: 140px;
    position: relative;
}

.premium-header-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.premium-header-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 1.5rem;
    background: linear-gradient(to top, rgba(0,0,0,0.9), transparent);
}

.premium-header-overlay h2 {
    font-size: 1.4rem;
    margin-bottom: 0.2rem;
}

.premium-header-overlay p {
    font-size: 0.85rem;
    opacity: 0.8;
}

.promote-modal-body {
    padding: 1.5rem;
}

.promote-form {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.form-group label {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--text-muted);
}

.input-with-icon {
    position: relative;
    display: flex;
    align-items: center;
}

.input-with-icon i {
    position: absolute;
    left: 1rem;
    color: var(--text-muted);
}

.input-with-icon input, .input-with-icon select, .input-with-icon textarea {
    width: 100%;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: var(--text-white);
    padding: 0.8rem 1rem 0.8rem 2.8rem;
    border-radius: 10px;
    outline: none;
    font-size: 0.95rem;
}

body.light-mode .input-with-icon input,
body.light-mode .input-with-icon select,
body.light-mode .input-with-icon textarea {
    background: #F2F2F7;
    border: 1.5px solid rgba(0, 0, 0, 0.1);
    color: #000000;
}

body.light-mode .input-with-icon input::placeholder,
body.light-mode .input-with-icon textarea::placeholder {
    color: #888;
}

body.light-mode .form-group label,
body.light-mode .input-with-icon i {
    color: #1D1D1F;
    font-weight: 700;
}

.input-with-icon textarea {
    padding-top: 1rem;
}

.premium-submit-btn {
    background: var(--mobile-explore-btn);
    color: #000;
    border: none;
    padding: 1rem;
    border-radius: 12px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.8rem;
    margin-top: 1rem;
}

.form-message {
    padding: 0.8rem;
    border-radius: 8px;
    font-size: 0.85rem;
    text-align: center;
}

.form-message.success {
    background: rgba(56, 239, 125, 0.15);
    color: #38ef7d;
}

.form-message.error {
    background: rgba(255, 0, 0, 0.15);
    color: #ff4d4d;
}

.modal-title {
    font-size: 2.2rem;
    font-weight: 800;
    margin-bottom: 0.8rem;
    text-align: center;
}

.modal-subtitle {
    font-size: 1.1rem;
    color: var(--text-muted);
    text-align: center;
    margin-bottom: 3rem;
    line-height: 1.6;
}

.privacy-header {
    background: linear-gradient(135deg, #f7ba2c, #ea5459);
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.privacy-header-icon {
    font-size: 3.5rem;
    color: white;
    filter: drop-shadow(0 0 20px rgba(0,0,0,0.2));
}

.privacy-body {
    padding: 2rem 2.5rem 3rem !important;
    margin-top: 0 !important;
}

.privacy-content {
    line-height: 1.6;
    color: var(--text-white);
    font-size: 0.95rem;
}

.privacy-content h3 {
    margin: 2rem 0 0.8rem;
    color: var(--mobile-primary);
}

.contact-header {
    background: linear-gradient(135deg, #f7ba2c, #ea5459);
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.contact-body {
    padding: 2rem 2.5rem 3rem !important;
    margin-top: 0 !important;
    background: transparent !important;
}

.contact-header-icon {
    font-size: 3.2rem;
    color: white;
    filter: drop-shadow(0 0 20px rgba(0,0,0,0.2));
}

#contactUsModal .details-contact-column,
#contactUsModal .contact-link {
    overflow: visible;
}

#contactUsModal .contact-link:hover i {
    transform: scale(1.04) rotate(-3deg);
}

.desktop-compact {
    max-width: 420px !important;
}

.privacy-modal {
    max-width: 480px !important;
}

.privacy-content p {
    margin-bottom: 1.2rem;
    line-height: 1.6;
    color: var(--text-muted);
}

.privacy-content h3 {
    margin-top: 1.8rem;
    margin-bottom: 0.8rem;
    font-size: 1.1rem;
    font-weight: 700;
}

body.light-mode .modal-subtitle { color: #48484A; }
body.light-mode .contact-body, body.light-mode .privacy-body { background: #FFFFFF !important; }
body.light-mode #contactUsModal .contact-body .modal-title,
body.light-mode #contactUsModal .contact-text span {
    color: #1D1D1F !important;
}

.hidden { display: none !important; }

.featured-section {
    padding: 4rem 2rem;
    background: linear-gradient(to bottom, #000, #080808);
    overflow: hidden;
}
body.light-mode .featured-section {
    background: #ffffff;
}
.featured-grid {
    display: grid;
    grid-template-columns: 1fr;     gap: 3rem;
    margin-top: 3rem;
}
.featured-card-flyer {
    position: relative;
    aspect-ratio: 4 / 5.5;
    border-radius: 24px;
    overflow: hidden;
    cursor: pointer;
    background: #111;
    box-shadow: 0 16px 32px rgba(0,0,0,0.4);
    transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
    border: 1px solid rgba(255, 255, 255, 0.05);
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
}
.featured-card-flyer:hover {
    transform: translateY(-10px) scale(1.02);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.6);
    border-color: rgba(255, 94, 0, 0.3);
}
.flyer-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.8s ease;
}
.featured-card-flyer:hover .flyer-image {
    transform: scale(1.1);
}
.flyer-overlay {
    position: absolute;
    inset: 0;
    background: transparent;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.flyer-tag {
    align-self: flex-start;
    padding: 5px 12px;
    background: var(--mobile-primary);
    color: #fff;
    font-weight: 800;
    font-size: 0.75rem;
    border-radius: 6px;
    letter-spacing: 0.5px;
}
.featured-main-title { font-size: 2.2rem; letter-spacing: -1px; text-align: center; }

@media (min-width: 1024px) {
        .hero-content,
    .featured-content-container,
    .results-list,
    .results-controls-bar {
        max-width: 1400px;
        margin: 0 auto;
        padding-left: 2rem;
        padding-right: 2rem;
        width: 100%;
    }

        .mobile-header {
        justify-content: space-between;
        padding: 0 3rem;
        height: 72px;
        background: rgba(0, 0, 0, 0.92);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
    }

    .header-left, .header-right {
        position: static;
        display: flex;
        align-items: center;
    }

    .header-left { gap: 2rem; }
    .header-right { gap: 1.5rem; }

    .logo { font-size: 1.9rem; }

    .glass-nav-bar {
        top: 72px;
        padding: 1rem 0;
        pointer-events: none;
    }

    .glass-nav-inner {
        pointer-events: auto;
        padding: 8px 16px;
        background: rgba(15, 15, 15, 0.6);
        border: 1px solid rgba(255, 255, 255, 0.1);
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
        max-width: 90vw;
    }

    .glass-pill {
        padding: 12px 24px;
        font-size: 0.95rem;
        font-weight: 700;
    }

    .glass-arrow.left {
        left: max(0px, calc(5vw - 48px));
    }

    .glass-arrow.right {
        right: max(0px, calc(5vw - 48px));
    }

        .mobile-hero {
        height: 80vh;
        min-height: 80vh;
        padding-top: 180px;
        padding-bottom: 5rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }

    .mobile-hero.utility-hero-active {
        height: auto;
        min-height: 40vh;
        padding-top: 120px;
        padding-bottom: 3rem;
        justify-content: flex-start;
    }

    .mobile-hero.news-hero-active {
        height: 40vh;
        min-height: 40vh;
        padding-top: 104px;
        padding-bottom: 24px;
        justify-content: flex-start;
    }

    .mobile-hero.news-hero-active .hero-content {
        position: relative;
        bottom: auto;
        left: auto;
        transform: none;
        padding-top: 0;
        padding-bottom: 0;
    }

    .mobile-hero.news-hero-active h1 {
        margin-bottom: 0.9rem;
    }

    .mobile-hero.news-hero-active p {
        margin-bottom: 0 !important;
    }

    .mobile-hero.utility-hero-active .hero-content {
        position: relative;
        bottom: auto;
        left: auto;
        transform: none;
        z-index: 10;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        width: 100%;
        max-width: 1400px;
        padding-top: 0;
        padding-bottom: 0;
    }

    .mobile-hero.utility-hero-active h1 {
        font-size: clamp(3rem, 6vw, 4rem);
        line-height: 1.08;
        letter-spacing: -2px;
        margin-bottom: 1.25rem;
    }

    .mobile-hero.utility-hero-active p {
        font-size: 1.15rem;
        line-height: 1.48;
        max-width: 1100px !important;
        margin-bottom: 0 !important;
    }

    .mobile-hero.utility-hero-active .glass-sub-nav.utility-sub-nav {
        max-width: 1180px;
        margin: 1.35rem auto 0;
        padding: 0 1rem;
    }

    .mobile-hero.utility-hero-active .glass-sub-inner.utility-sub-inner {
        width: fit-content;
        max-width: 1180px;
        margin: 0 auto;
        padding: 8px 40px;
    }

    .mobile-hero.utility-hero-active .mobile-sub-grid.utility-sub-grid {
        flex: 0 1 auto;
        min-width: 0;
        width: auto;
        gap: 6px;
        padding: 0;
    }

    .mobile-hero h1 {
        font-size: 4.8rem;
        letter-spacing: -3px;
        margin-bottom: 1.5rem;
        line-height: 1;
    }

    .mobile-hero p {
        font-size: 1.3rem;
        max-width: 800px !important;
        margin-bottom: 4rem !important;
        opacity: 0.8;
    }

        .glass-sub-nav {
        width: 100%;
        max-width: 1180px;
        margin: 0 auto;
        padding: 0 1rem;
        display: flex;
        justify-content: center;
        position: relative;
    }

    .glass-sub-inner {
        width: fit-content;
        max-width: 1180px;
        margin: 0 auto 2rem auto;
        padding: 5px 40px;
        background: rgba(22, 12, 15, 0.9);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        border: 1px solid rgba(255, 255, 255, 0.05);
        border-radius: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
    }

    .mobile-sub-grid {
        flex: 1;
        min-width: 0;
        display: flex;
        align-items: center;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .sub-categories-grid {
        display: flex;
        flex-wrap: nowrap;
        gap: 15px;
        padding: 5px 0;
        transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
        width: max-content;
        min-width: 100%;
        margin: 0 auto;     }

        .glass-sub-inner .category-arrow {
        position: absolute;
        z-index: 100;
        background: rgba(255, 255, 255, 0.1);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        width: 44px;
        height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        top: 50%;
        transform: translateY(-50%);
        border: 1px solid rgba(255, 255, 255, 0.15);
    }

    .glass-sub-inner .category-arrow.left { left: 8px; }
    .glass-sub-inner .category-arrow.right { right: 8px; }

        .sub-cat-btn {
        width: 230px;
        height: 155px;
        border-radius: 20px;
        position: relative;
        overflow: hidden;
    }

        .featured-grid {
        grid-template-columns: repeat(3, 1fr);
        max-width: 1400px;
        margin: 3rem auto 0;
    }
    .featured-card-flyer {
        max-width: none;     }
    .featured-main-title { font-size: 2.8rem; letter-spacing: -1.5px; text-align: left; }

        .mobile-results {
        padding: 5rem 0;
    }

    .listing-card {
        border-radius: 22px;
    }

    .listing-card:hover {
        transform: translateY(-8px) scale(1.01);
        border-color: var(--category-accent-1);
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6);
    }

    .results-list {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
        gap: 2rem;
    }

    .results-list.event-mode{grid-template-columns:repeat(2,1fr);column-gap:2rem;row-gap:2rem;padding-top:24px}
    :is(.event-mode, .event-search-mode) .event-card .card-image{aspect-ratio:16/6.2;background:rgba(8,8,10,.82);overflow:hidden}
    :is(.event-mode, .event-search-mode) .event-card .card-image:before{content:"";position:absolute;inset:-18px;background:var(--event-card-image) center/cover;filter:blur(18px) saturate(1.45) brightness(.72);opacity:.9}
    :is(.event-mode, .event-search-mode) .event-card .card-image img{object-fit:contain;object-position:center;position:relative;z-index:1}
    :is(.event-mode, .event-search-mode) .event-card .card-info{padding:.85rem .95rem .95rem}
    :is(.event-mode, .event-search-mode) .event-card h3{min-height:0;margin:0 0 .6rem;padding-bottom:.6rem;font-size:1.04rem;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
    :is(.event-mode, .event-search-mode) .event-card .contact-info{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin-top:0}
    :is(.event-mode, .event-search-mode) .event-card .event-fact{display:flex;align-items:center;width:100%;box-sizing:border-box;text-decoration:none;color:var(--text-white);min-height:52px;gap:10px;padding:6px 4px;background:transparent;border:none;border-radius:0;box-shadow:none}
    :is(.event-mode, .event-search-mode) .event-card .event-fact i{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;background:rgba(255,94,0,.1);border:1px solid rgba(255,94,0,.2);border-radius:12px;color:var(--mobile-primary);font-size:.92rem}
    :is(.event-mode, .event-search-mode) .event-card .contact-text label{font-size:.62rem;letter-spacing:.08em;font-weight:700;line-height:1.05}
    :is(.event-mode, .event-search-mode) .event-card .contact-text span{font-size:.95rem;line-height:1.18;font-weight:800;color:rgba(255,255,255,.98)!important;text-shadow:0 0 10px rgba(255,255,255,.18),0 0 18px rgba(255,94,0,.16)}
    body.light-mode :is(.event-mode, .event-search-mode) .event-card .contact-text span{color:#232426!important;text-shadow:0 0 10px rgba(255,94,0,.24),0 1px 0 rgba(255,255,255,.9)}
    :is(.event-mode, .event-search-mode) .event-card .event-venue-link{grid-column:1/3}
    :is(.event-mode, .event-search-mode) .event-card .event-venue-link .contact-text span{white-space:normal;overflow:visible;text-overflow:clip}
    :is(.event-mode, .event-search-mode) .event-card .event-card-details-button{grid-column:3/4;align-self:center;justify-self:end;width:120px;max-width:100%;min-height:36px;margin:0;padding:0 7px 0 12px;gap:7px;font-size:.72rem}
    :is(.event-mode, .event-search-mode) .event-card .event-card-details-button i{width:21px;height:21px;font-size:.72rem}

        .premium-modal {
        max-width: 900px !important;
        border-radius: 32px;
    }

    .promote-modal.desktop-wide {
        max-width: 1000px !important;
    }
}

.results-controls-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 1rem 1rem;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

.results-info {
    font-size: 1.1rem;
    font-weight: 600;
    color: rgba(255,255,255,0.6);
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", sans-serif;
    letter-spacing: -0.2px;
}

body.light-mode .results-info {
    color: rgba(0,0,0,0.5);
}

.results-info span {
    color: var(--text-white);
    font-weight: 800;
    font-family: inherit;
}

body.light-mode .results-info span {
    color: #000;
}

.results-filters {
    display: flex;
    gap: 12px;
}

.filter-group {
    background: var(--mobile-card-bg);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid var(--mobile-border);
    border-radius: 12px;
    padding: 0 10px 0 12px;
    height: 40px;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
}

.filter-group:hover {
    border-color: rgba(255, 255, 255, 0.2);
}

.filter-group label {
    font-size: 0.85rem;
    color: var(--mobile-primary);
}

.filter-group select {
    background: none;
    border: none;
    color: var(--text-white);
    font-size: 0.85rem;
    font-weight: 600;
    outline: none;
    cursor: pointer;
    padding-right: 4px;
}

.filter-group select option {
    background: #1c1c1e;
    color: var(--text-white);
}

.pagination-controls {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
    margin-top: 3rem;
    padding-bottom: 2rem;
}

.pag-btn {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--mobile-card-bg);
    border: 1px solid var(--mobile-border);
    color: var(--text-white);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
}

.pag-btn:hover:not(:disabled) {
    background: rgba(255, 255, 255, 0.15);
    transform: scale(1.1);
}

.pag-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.page-numbers {
    display: flex;
    gap: 8px;
}

.page-num {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--mobile-card-bg);
    border: 1px solid var(--mobile-border);
    color: var(--text-white);
    font-weight: 600;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.page-num.active {
    background: var(--mobile-active-tab);
    border-color: transparent;
    color: var(--text-white);
    box-shadow: 0 4px 15px rgba(255, 94, 0, 0.3);
}

.page-num:hover:not(.active) {
    background: rgba(255, 255, 255, 0.1);
}

body.light-mode .page-num,
body.light-mode .pag-btn {
    background: #fff;
    border-color: rgba(0,0,0,0.1);
    color: #1a1a1b;
}

body.light-mode .page-num.active {
    background: var(--mobile-active-tab);
    color: #fff;
}

@media (max-width: 1023px) {
    .featured-grid {
        gap: 2rem;
    }
    .featured-card-flyer {
        max-width: 380px;
    }
}

@media (max-width: 600px) {
    .results-controls-bar {
        flex-direction: column;
        align-items: flex-start;
        gap: 1rem;
    }
    .results-filters {
        width: 100%;
        justify-content: space-between;
    }
    .filter-group {
        flex: 1;
    }
    .filter-group select {
        flex: 1;
        width: 100%;
    }
}

.promote-modal.desktop-wide {
    width: 1000px !important;
    max-width: 95vw;
    background: var(--modal-bg) !important;
    border: 1px solid var(--mobile-border) !important;
    padding: 0 !important;
    overflow: hidden;
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
}

.promote-header-new {
    position: relative;
    padding: 32px 48px;
    background: var(--modal-inner-bg);
    overflow: hidden;
}

.promote-header-gradient {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(255, 94, 0, 0.08) 0%, transparent 100%);
    z-index: 1;
}

.promote-header-content {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px;
}

.promote-icon-container {
    width: 64px;
    height: 64px;
    background: var(--mobile-active-tab);
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: #FFFFFF;
    box-shadow: 0 12px 32px rgba(255, 94, 0, 0.3);
    flex-shrink: 0;
}

.promote-modal .modal-title {
    font-size: 2.25rem;
    font-weight: 800;
    margin: 0;
    letter-spacing: -1.5px;
    color: var(--text-white);
}

.promote-modal .modal-subtitle {
    font-size: 1.05rem;
    color: var(--text-muted);
    margin: 8px 0 0;
    width: 100%;
}

.details-body.promote-body {
    padding: 48px 80px 64px 80px;
}

.premium-form-new {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.form-grid-single-column {
    display: flex;
    flex-direction: column;
    gap: 56px;
    width: 100%;
}

.section-header-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 24px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    padding-bottom: 12px;
}

.step-num {
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--mobile-active-tab);
    opacity: 0.9;
}

.section-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-white);
    margin: 0;
    text-transform: none;
    letter-spacing: 0;
}

.form-grid-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}

.full-width-group {
    margin-top: 20px;
    width: 100%;
}

.form-section {
    position: relative;
}

.request-type-selector {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.type-option {
    cursor: pointer;
    position: relative;
}

.type-option input {
    position: absolute;
    opacity: 0;
}

.type-option .option-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
    padding: 24px;
    background: var(--modal-inner-bg);
    border: 1px solid var(--mobile-border);
    border-radius: 20px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.type-option input:checked + .option-content {
    background: rgba(255, 94, 0, 0.08);
    border-color: var(--mobile-primary);
    box-shadow: 0 8px 24px rgba(255, 94, 0, 0.1);
}

.type-option .option-content i {
    font-size: 24px;
    color: var(--text-muted);
    transition: all 0.3s;
}

.type-option input:checked + .option-content i {
    color: var(--mobile-primary);
    transform: scale(1.1);
}

.type-option .option-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-white);
}

.type-option .option-desc {
    font-size: 0.8rem;
    color: var(--text-muted);
    line-height: 1.4;
}

.input-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.input-group.full-width {
    grid-column: 1 / -1;
}

.input-group label {
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--text-muted);
}

.input-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.input-wrapper i {
    position: absolute;
    left: 20px;
    color: var(--text-muted);
    transition: all 0.3s;
}

.input-wrapper input,
.input-wrapper select,
.input-wrapper textarea {
    width: 100%;
    background: var(--input-bg);
    border: 1.5px solid var(--input-border);
    border-radius: 14px;
    padding: 14px 20px 14px 52px;
    color: var(--input-text);
    font-size: 1rem;
    outline: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.input-wrapper select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='rgba(128,128,128,0.5)'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M19 9l-7 7-7-7'%3E%3C/path%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 20px center;
    background-size: 18px;
}

.input-wrapper input:focus,
.input-wrapper select:focus,
.input-wrapper textarea:focus {
    background: var(--modal-inner-bg);
    border-color: var(--mobile-primary);
    box-shadow: 0 0 0 4px rgba(255, 94, 0, 0.1);
}

.input-wrapper input:focus + i,
.input-wrapper select:focus + i,
.input-wrapper textarea:focus + i {
    color: var(--mobile-primary);
}

.form-disclaimer {
    font-size: 0.85rem;
    color: var(--text-muted);
    max-width: 320px;
    line-height: 1.5;
}

.form-footer-desktop {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 32px;
    border-top: 1px solid var(--mobile-border);
}

.premium-button-v2 {
    position: relative;
    background: var(--mobile-explore-btn);
    border: none;
    border-radius: 16px;
    padding: 20px 48px;
    cursor: pointer;
    overflow: hidden;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 8px 32px rgba(255, 94, 0, 0.2);
}

.premium-button-v2:hover {
    box-shadow: 0 15px 45px rgba(255, 94, 0, 0.4);
}

.premium-button-v2:active {
    transform: translateY(-2px) scale(1);
}

.btn-content {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 16px;
    color: var(--text-white);
    font-weight: 800;
    font-size: 1.1rem;
}

.btn-shimmer {
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.25),
        transparent
    );
    animation: shimmer 4s infinite ease-in-out;
}

@keyframes shimmer {
    0% { left: -100%; }
    100% { left: 100%; }
}

@keyframes floatIcon {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-12px) rotate(5deg); }
}




.modal-mode-free .promote-header-new {
    background: linear-gradient(135deg, #2a8d08 0%, #f2e713 100%) !important;
}
.modal-mode-free .submit-btn.premium-button-v2 {
    background: linear-gradient(135deg, #2a8d08 0%, #f2e713 100%) !important;
    box-shadow: 0 8px 25px rgba(42, 141, 8, 0.3) !important;
}

.modal-mode-promote .promote-header-new {
    background: linear-gradient(135deg, #f20094 0%, #fc9305 100%) !important;
}
.modal-mode-promote .submit-btn.premium-button-v2 {
    background: linear-gradient(135deg, #f20094 0%, #fc9305 100%) !important;
    box-shadow: 0 8px 25px rgba(242, 0, 148, 0.3) !important;
}

.modal-mode-free .promote-header-new {
    background: linear-gradient(135deg, #2a8d08 0%, #f2e713 100%) !important;
}
.modal-mode-free .submit-btn.premium-button-v2 {
    background: linear-gradient(135deg, #2a8d08 0%, #f2e713 100%) !important;
    box-shadow: 0 8px 25px rgba(42, 141, 8, 0.3) !important;
}

.modal-mode-promote .promote-header-new {
    background: linear-gradient(135deg, #f20094 0%, #fc9305 100%) !important;
}
.modal-mode-promote .submit-btn.premium-button-v2 {
    background: linear-gradient(135deg, #f20094 0%, #fc9305 100%) !important;
    box-shadow: 0 8px 25px rgba(242, 0, 148, 0.3) !important;
}

.tag-container {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: 1.5rem;
    pointer-events: none;
}

.discovery-tag {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 24px;
    background: rgba(255, 255, 255, 0.05);     backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 50px;
    pointer-events: auto;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3), inset 0 0 15px rgba(255,255,255,0.02);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.discovery-tag:hover {
    transform: translateY(-2px);
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow: 0 15px 40px rgba(0,0,0,0.4);
}

.discovery-tag i {
    color: #FFD700;
    font-size: 1.1rem;
    filter: drop-shadow(0 0 8px rgba(255, 215, 0, 0.4));
}

.discovery-tag span {
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif;
    font-size: 1rem;
    font-weight: 500;
    letter-spacing: 0.2px;
    background: linear-gradient(to right, #FFFFFF, rgba(255,255,255,0.7));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

body.light-mode .discovery-tag {
    background: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow: 0 10px 25px rgba(0,0,0,0.1);
}

body.light-mode .discovery-tag span {
    background: linear-gradient(to right, #FFFFFF, rgba(255, 255, 255, 0.85));
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.professional-title {
    font-size: 0.82rem;
    color: #666;
    margin-top: -6px;
    margin-bottom: 10px;
    font-weight: 500;
    display: block;
    line-height: 1.2;
}

body.dark-mode .professional-title {
    color: #aaa;
}
.card-reporting {
    display: flex;
    gap: 8px;
    margin-top: 15px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    justify-content: center;
    width: 100%;
}

body.light-mode .card-reporting {
    border-top-color: rgba(0,0,0,0.06);
}

.report-btn {
    all: unset;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 700;
    cursor: pointer;
    background: rgba(142, 142, 147, 0.1);
    border: 1px solid rgba(142, 142, 147, 0.2);
    color: #8E8E93 !important;
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', sans-serif;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    white-space: nowrap;
    text-transform: none !important;
    letter-spacing: normal !important;
    box-shadow: none !important;
}

.report-btn.claim {
    background: rgba(42, 141, 8, 0.1);
    border-color: rgba(42, 141, 8, 0.25);
    color: #2a8d08 !important;
}

.report-btn.claim:hover {
    background: #2a8d08;
    color: #fff !important;
}

.report-btn i {
    font-size: 0.72rem;
    color: inherit;
    opacity: 0.8;
}

.report-btn:hover {
    background: rgba(142, 142, 147, 0.15);
    color: #FFFFFF !important;
    border-color: rgba(142, 142, 147, 0.3);
    transform: translateY(-1px);
}

body.light-mode .report-btn {
    background: rgba(0, 0, 0, 0.02);
    border-color: rgba(0, 0, 0, 0.06);
    color: #636366 !important;
}

body.light-mode .report-btn:hover {
    background: rgba(0, 0, 0, 0.05);
    color: #1C1C1E !important;
}

.report-modal-body {
    padding: 25px;
}
@media (max-width: 900px) {
        .header-search-container {
        display: none !important;
    }

        .mobile-search-trigger {
        display: flex !important;
    }

        .header-divider, .header-location-wrapper {
        display: none !important;
    }

        .header-search-wrapper.mobile-active {
        display: flex !important;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 64px;
        z-index: 2000;
        background: #000;
        border-radius: 0;
        padding: 0 16px 0 50px;
        border: none;
        border-bottom: 1px solid var(--mobile-primary);
    }

    .header-search-wrapper.mobile-active .search-icon {
        left: 20px;
        position: absolute;
        display: block !important;
    }

    .header-search-wrapper.mobile-active .header-search-input {
        width: 100%;
        display: block !important;
        opacity: 1 !important;
    }
}

.stale-listing {
    opacity: 0.7;
    filter: grayscale(20%);
    transition: opacity 0.3s ease;
}
.stale-listing:hover {
    opacity: 0.9;
}
.verified-badge {
    background: #1B5E20 !important;
    color: #ffffff !important;
    margin-left: 6px;
    font-size: 0.9rem;
}
.freshness-tag {
    font-size: 0.75rem;
    color: var(--text-muted);
    background: rgba(255,255,255,0.05);
    padding: 2px 6px;
    border-radius: 4px;
    margin-top: 4px;
}

.card-reporting {
    display: flex;
    gap: 12px;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid rgba(255,255,255,0.05);
}
.report-btn {
    font-weight: 700;
    font-size: 0.8rem;
    color: var(--primary);
    background: rgba(255, 94, 0, 0.05);
    border: 1px solid rgba(255, 94, 0, 0.1);
    padding: 6px 12px;
    border-radius: 8px;
    transition: all 0.2s;
}
.report-btn:hover {
    background: rgba(255, 94, 0, 0.1);
    border-color: var(--primary);
}
.report-btn.claim {
    background: rgba(52, 199, 89, 0.05);
    color: #34c759;
    border-color: rgba(52, 199, 89, 0.1);
}
.report-btn.claim:hover {
    background: rgba(52, 199, 89, 0.1);
    border-color: #34c759;
}


#listingDetailsModal.cinema-mode .modal-content,
#listingDetailsModal.event-mode .modal-content {
    width: 95% !important;
    max-width: 1100px !important;
    height: auto !important;
    max-height: 94vh !important;
    min-height: 500px;
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 28px !important;
    background: #0f0f12 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 50px 100px rgba(0,0,0,0.9) !important;
}

#listingDetailsModal.event-mode .modal-content {
    max-width: 800px !important;
}

body.light-mode #listingDetailsModal.cinema-mode .modal-content,
body.light-mode #listingDetailsModal.event-mode .modal-content {
    background: #0f0f12 !important;
    border-color: rgba(255, 255, 255, 0.15) !important;
}


#listingDetailsModal.cinema-mode .modal-header,
#listingDetailsModal.event-mode .modal-header {
    display: none !important;
}

#listingDetailsModal.cinema-mode .modal-body,
#listingDetailsModal.event-mode .modal-body {
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
}

#listingDetailsModal.cinema-mode .details-header,
#listingDetailsModal.event-mode .details-header {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
}

#listingDetailsModal.cinema-mode .details-header #detailsModalImg {
    border-radius: 12px 12px 0 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    background: transparent !important;
}

#listingDetailsModal.event-mode .details-header #detailsModalImg {
    border-radius: 12px 12px 0 0 !important;
    aspect-ratio: 12/8 !important;     object-fit: cover !important;
}

#listingDetailsModal.cinema-mode .details-header-overlay,
#listingDetailsModal.event-mode .details-header-overlay {
    background: none !important;
    box-shadow: none !important;
}

@media screen and (min-width: 768px) {
    #listingDetailsModal.cinema-mode .modal-content {
        flex-direction: row !important;
        min-height: 500px !important;
        height: 85vh !important;
        max-height: 750px !important;
        width: 92% !important;
        max-width: 950px !important;         overflow: hidden !important;
        border-radius: 20px !important;
        background: #121214 !important;     }

    #listingDetailsModal.cinema-mode .details-header {
        width: 450px !important;         flex-shrink: 0 !important;
        height: 100% !important;
        border-right: 1px solid rgba(255,255,255,0.1);
    }

    #listingDetailsModal.cinema-mode .details-header img {
        border-radius: 12px 0 0 12px !important;
        height: 100% !important;
        width: 100% !important;
        object-fit: cover !important;
        background: transparent !important;
        aspect-ratio: auto !important;
    }

    #listingDetailsModal.cinema-mode .details-body {
        flex: 1 !important;
        overflow-y: auto !important;
        padding: 50px 60px !important;         display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        background: #121214 !important;     }

    #listingDetailsModal.cinema-mode .details-main-info {
        max-width: 500px !important;     }

    #listingDetailsModal.cinema-mode .info-card {
        padding: 24px !important;
        border-radius: 16px !important;
        background: rgba(255,255,255,0.05) !important;
    }
}

#listingDetailsModal.cinema-mode .details-body,
#listingDetailsModal.event-mode .details-body {
    padding: 30px !important;
}

#listingDetailsModal.cinema-mode .details-body *,
#listingDetailsModal.event-mode .details-body * {
    border: none !important;
    box-shadow: none !important;
}

#listingDetailsModal.cinema-mode #detailsModalTitle,
#listingDetailsModal.event-mode #detailsModalTitle {
    font-size: 2.2rem !important;
    font-weight: 950 !important;
    letter-spacing: -1px !important;
    line-height: normal !important;
    margin-bottom: 2px !important;
    padding: 0 !important;
    color: #ffffff !important;
}

#listingDetailsModal.cinema-mode .modal-top-row,
#listingDetailsModal.event-mode .modal-top-row {
    border-bottom: none !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

#listingDetailsModal.cinema-mode .details-body {
    flex: 1;
    padding: 30px !important;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    background: #121214 !important;     margin-top: 0 !important; }

@media (min-width: 1024px) {
    #listingDetailsModal.cinema-mode .details-body {
        padding: 50px 60px !important;
    }
}

#listingDetailsModal.cinema-mode .modal-title,
#listingDetailsModal.cinema-mode .details-body *,
#listingDetailsModal.cinema-mode .details-body .dt-item,
#listingDetailsModal.cinema-mode .contact-text span {
    color: #fff !important;
}

#listingDetailsModal.cinema-mode .modal-title {
    font-size: clamp(2rem, 3.5vw, 2.8rem) !important;
    font-weight: 950 !important;
    margin-bottom: 25px !important;
    line-height: 1.1 !important;
    overflow-wrap: break-word;
    word-break: normal;
    white-space: normal;
    text-align: left !important;
    letter-spacing: -1.5px;
}




#listingDetailsModal.cinema-mode .close-modal {
    background: #FF5E00 !important;
    color: #fff !important;
    box-shadow: 0 4px 20px rgba(255,94,0,0.5);
    opacity: 1 !important;
}


.movie-meta-row {
    display: none;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
    margin-bottom: 8px;
}

#listingDetailsModal.cinema-mode .movie-meta-row,
#listingDetailsModal.event-mode .movie-meta-row {
    display: flex;
}

.meta-badge {
    background: linear-gradient(135deg, rgba(255, 138, 29, 0.18), rgba(255, 255, 255, 0.08)) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid rgba(255, 138, 29, 0.34) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
    padding: 8px 14px !important;
    border-radius: 10px !important;
    font-size: 0.78rem !important;
    font-weight: 850 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    min-height: 32px !important;
    min-width: 0 !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.12), 0 10px 22px rgba(0,0,0,0.22) !important;
}

.meta-badge.highlight {
    background: linear-gradient(135deg, rgba(255, 94, 0, 0.94), rgba(255, 149, 0, 0.82)) !important;
    border-color: rgba(255, 187, 92, 0.72) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-weight: 900 !important;
    box-shadow: 0 10px 28px rgba(255, 94, 0, 0.28) !important;
}

#listingDetailsModal.cinema-mode .meta-badge.highlight,
#listingDetailsModal .meta-badge.highlight {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

#listingDetailsModal.event-mode .meta-badge.highlight {
    background: linear-gradient(135deg, rgba(255, 94, 0, 0.94), rgba(255, 149, 0, 0.82)) !important;
    border-color: rgba(255, 187, 92, 0.72) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

#listingDetailsModal.event-mode .modal-content {
    width: min(88vw, 640px) !important;
    max-width: 640px !important;
    min-height: 0 !important;
    max-height: 94vh !important;
    border-radius: 22px !important;
    background: #101114 !important;
    border: 1px solid rgba(255, 138, 29, 0.2) !important;
    overflow: hidden !important;
}

#listingDetailsModal.event-mode .close-modal {
    top: 12px !important;
    right: 12px !important;
    width: 34px !important;
    height: 34px !important;
    background: rgba(10, 10, 12, 0.78) !important;
    border: 1px solid rgba(255, 255, 255, 0.24) !important;
    color: #ffffff !important;
}

#listingDetailsModal.event-mode .details-header {
    height: auto !important;
    aspect-ratio: 3 / 2 !important;
    background: #090a0d !important;
}

#listingDetailsModal.event-mode .details-header #detailsModalImg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    aspect-ratio: 3 / 2 !important;
    object-fit: cover !important;
    object-position: center top !important;
    border-radius: 0 !important;
    background: #090a0d !important;
}

#listingDetailsModal.event-mode .details-body {
    margin-top: 0 !important;
    padding: 20px 28px 26px !important;
    background: #101114 !important;
    max-height: calc(94vh - 180px) !important;
    overflow-y: auto !important;
}

#listingDetailsModal.event-mode .details-main-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    align-items: flex-start !important;
}

#listingDetailsModal.event-mode #detailsModalTitle {
    margin: 0 !important;
    color: #ffffff !important;
    font-size: clamp(1.34rem, 1.85vw, 1.7rem) !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    max-width: 600px !important;
}

#listingDetailsModal.event-mode .movie-meta-row {
    display: flex !important;
    gap: 10px !important;
    margin: 2px 0 4px !important;
}

#listingDetailsModal.event-mode .meta-badge {
    background: linear-gradient(135deg, rgba(255, 138, 29, 0.18), rgba(255, 255, 255, 0.08)) !important;
    border: 1px solid rgba(255, 138, 29, 0.34) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background-clip: border-box !important;
    -webkit-background-clip: border-box !important;
    border-radius: 10px !important;
    padding: 8px 14px !important;
}

#listingDetailsModal.event-mode .meta-badge.highlight {
    background: linear-gradient(135deg, rgba(255, 94, 0, 0.94), rgba(255, 149, 0, 0.82)) !important;
    border-color: rgba(255, 187, 92, 0.72) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

#listingDetailsModal.cinema-mode .movie-meta-row .meta-badge.highlight,
#listingDetailsModal.event-mode .movie-meta-row .meta-badge.highlight {
    border: 1px solid rgba(255, 187, 92, 0.72) !important;
    background: linear-gradient(135deg, rgba(255, 94, 0, 0.94), rgba(255, 149, 0, 0.82)) !important;
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

#listingDetailsModal.event-mode .modal-event-datetime {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 0 !important;
    width: 100% !important;
    margin: 4px 0 6px !important;
    padding: 0 !important;
    background:
        linear-gradient(135deg, rgba(255, 94, 0, 0.2), rgba(255, 149, 0, 0.08)),
        rgba(255, 255, 255, 0.045) !important;
    border: 1px solid rgba(255, 138, 29, 0.34) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 18px 42px rgba(0,0,0,0.22) !important;
}

#listingDetailsModal.event-mode .modal-event-datetime .dt-item {
    min-height: 72px !important;
    padding: 12px 14px !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: none !important;
    border-right: 1px solid rgba(255, 187, 92, 0.24) !important;
    color: #ffffff !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    letter-spacing: 0.01em !important;
    box-shadow: none !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

#listingDetailsModal.event-mode .modal-event-datetime .dt-item:last-child {
    border-right: none !important;
}

#listingDetailsModal.event-mode .modal-event-datetime .dt-item i {
    color: #ff8a1d !important;
    font-size: 1.1rem !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 11px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 138, 29, 0.16) !important;
    border: 1px solid rgba(255, 138, 29, 0.24) !important;
}

#listingDetailsModal.event-mode .modal-event-datetime .dt-item > span {
    display: flex !important;
    flex-direction: column !important;
    gap: 5px !important;
    min-width: 0 !important;
    align-items: center !important;
    text-align: center !important;
}

#listingDetailsModal.event-mode #detailsModalTime > span {
    display: flex !important;
}

#listingDetailsModal.event-mode #detailsModalTime {
    display: contents !important;
}

#listingDetailsModal.event-mode .dt-segment {
    min-height: 72px !important;
    padding: 12px 14px !important;
    border-right: 1px solid rgba(255, 187, 92, 0.24) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    gap: 5px !important;
}

#listingDetailsModal.event-mode .dt-segment:last-child {
    border-right: none !important;
}

#listingDetailsModal.event-mode .dt-kicker {
    color: #ffb35c !important;
    -webkit-text-fill-color: #ffb35c !important;
    font-size: 0.74rem !important;
    font-weight: 900 !important;
    letter-spacing: 0.08em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

#listingDetailsModal.event-mode .dt-main {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    font-size: clamp(1.08rem, 1.6vw, 1.35rem) !important;
    font-weight: 950 !important;
    line-height: 1.08 !important;
}

#listingDetailsModal.event-mode .dt-sub {
    color: rgba(255, 255, 255, 0.72) !important;
    -webkit-text-fill-color: rgba(255, 255, 255, 0.72) !important;
    font-size: 0.88rem !important;
    font-weight: 750 !important;
    line-height: 1 !important;
}

#listingDetailsModal.event-mode .details-contact-column {
    width: 100% !important;
    margin-top: 6px !important;
    gap: 10px !important;
    background: transparent !important;
    border: none !important;
    overflow: visible !important;
}

#listingDetailsModal.event-mode .contact-link {
    min-height: 54px !important;
    padding: 11px 14px !important;
    border-radius: 16px !important;
    background: rgba(255, 255, 255, 0.065) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #ffffff !important;
}

#listingDetailsModal.event-mode .contact-link i {
    width: 34px !important;
    height: 34px !important;
    border-radius: 12px !important;
    color: #ff8a1d !important;
    background: rgba(255, 138, 29, 0.13) !important;
    border: 1px solid rgba(255, 138, 29, 0.22) !important;
}

#listingDetailsModal.event-mode .contact-text label {
    color: #ffb35c !important;
    font-size: 0.74rem !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
}

#listingDetailsModal.event-mode .contact-text span {
    color: #ffffff !important;
    font-size: 1rem !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}

body.light-mode #listingDetailsModal.event-mode .modal-content,
body.light-mode #listingDetailsModal.event-mode .details-body {
    background: #ffffff !important;
}

body.light-mode #listingDetailsModal.event-mode .modal-content {
    border-color: rgba(255, 138, 29, 0.24) !important;
    box-shadow: 0 34px 90px rgba(18, 18, 20, 0.2) !important;
}

body.light-mode #listingDetailsModal.event-mode .details-header,
body.light-mode #listingDetailsModal.event-mode .details-header #detailsModalImg {
    background: #f4f4f5 !important;
}

body.light-mode #listingDetailsModal.event-mode #detailsModalTitle {
    color: #161719 !important;
}

body.light-mode #listingDetailsModal.event-mode .modal-event-datetime {
    background:
        linear-gradient(135deg, rgba(255, 138, 29, 0.16), rgba(255, 220, 176, 0.28)),
        #fff8f1 !important;
    border-color: rgba(255, 138, 29, 0.32) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.8), 0 18px 42px rgba(135, 74, 14, 0.12) !important;
}

body.light-mode #listingDetailsModal.event-mode .modal-event-datetime .dt-item {
    background: transparent !important;
    border-right-color: rgba(255, 138, 29, 0.26) !important;
    color: #1f2023 !important;
    box-shadow: none !important;
}

body.light-mode #listingDetailsModal.event-mode .dt-segment {
    border-right-color: rgba(255, 138, 29, 0.26) !important;
}

body.light-mode #listingDetailsModal.event-mode .dt-kicker {
    color: #b85d00 !important;
    -webkit-text-fill-color: #b85d00 !important;
}

body.light-mode #listingDetailsModal.event-mode .dt-main {
    color: #1f2023 !important;
    -webkit-text-fill-color: #1f2023 !important;
}

body.light-mode #listingDetailsModal.event-mode .dt-sub {
    color: rgba(31, 32, 35, 0.62) !important;
    -webkit-text-fill-color: rgba(31, 32, 35, 0.62) !important;
}

body.light-mode #listingDetailsModal.event-mode .modal-event-datetime .dt-item i,
body.light-mode #listingDetailsModal.event-mode .contact-link i {
    color: #ff7a00 !important;
    background: rgba(255, 138, 29, 0.14) !important;
    border-color: rgba(255, 138, 29, 0.26) !important;
}

body.light-mode #listingDetailsModal.event-mode .contact-link {
    background: #f8f8fa !important;
    border-color: rgba(16, 17, 20, 0.08) !important;
    color: #1f2023 !important;
}

body.light-mode #listingDetailsModal.event-mode .contact-text label {
    color: #b85d00 !important;
}

body.light-mode #listingDetailsModal.event-mode .contact-text span {
    color: #1f2023 !important;
}

body.light-mode #listingDetailsModal.event-mode .close-modal {
    background: rgba(255, 255, 255, 0.9) !important;
    border-color: rgba(16, 17, 20, 0.12) !important;
    color: #161719 !important;
}

@media (max-width: 700px) {
    #listingDetailsModal.event-mode .modal-content {
        width: min(90vw, 350px) !important;
        max-width: 350px !important;
        border-radius: 18px !important;
    }

    #listingDetailsModal.event-mode .details-body {
        padding: 16px !important;
        max-height: calc(92vh - 160px) !important;
    }

    #listingDetailsModal.event-mode .modal-event-datetime {
        grid-template-columns: 1fr !important;
    }

    #listingDetailsModal.event-mode #detailsModalTitle {
        font-size: 1.22rem !important;
    }
}

.cinema-schedule-section {
    margin-top: 25px;
    padding-top: 20px;
    border-top: none;     display: none; }

#listingDetailsModal.cinema-mode .cinema-schedule-section {
    display: block;
}

.schedule-day-block {
    margin-bottom: 20px;
}

.schedule-day-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
}

.schedule-day-title {
    font-size: 0.85rem;
    font-weight: 700;
    color: #FF5E00;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.schedule-badge-today {
    background: #FF3B30;
    color: #fff;
    font-size: 0.6rem;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 4px;
}

.showtime-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.showtime-pill {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    color: #fff;
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 600;
    transition: all 0.2s ease;
}

.showtime-pill:hover {
    background: rgba(255, 94, 0, 0.1);
    border-color: #FF5E00;
    color: #FF5E00;
}

.theatre-info-block {
    margin-top: 15px;
    margin-bottom: 25px;
    background: rgba(255,255,255,0.04);
    backdrop-filter: blur(10px);
    padding: 20px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.08);
}

.theatre-info-title {
    font-size: 0.65rem;
    font-weight: 800;
    color: rgba(255,255,255,0.4);
    text-transform: uppercase;
    margin-bottom: 8px;
    letter-spacing: 1px;
}

.theatre-info-name {
    font-size: 1.15rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
    line-height: 1.2;
}

.theatre-website-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #FF9500;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 700;
    margin-top: 15px;
    padding: 8px 16px;
    background: rgba(255, 149, 0, 0.1);
    border-radius: 8px;
    transition: all 0.2s ease;
}

.theatre-website-link:hover {
    background: rgba(255, 149, 0, 0.2);
    transform: translateY(-1px);
}

.no-schedule-msg {
    color: #8E8E93;
    font-size: 0.9rem;
    padding: 20px 0;
    text-align: center;
}
.results-list.cinema-mode:has(.cinema-browse-shell),
.mobile-results .results-list.cinema-mode:has(.cinema-browse-shell) {
    display: block !important;
    max-width: min(1440px, calc(100vw - 48px)) !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding-top: 24px !important;
}

.cinema-browse-shell {
    --cinema-bg: rgba(20, 14, 30, 0.78);
    --cinema-panel: linear-gradient(180deg, rgba(43, 31, 61, 0.88), rgba(18, 12, 29, 0.96));
    --cinema-panel-soft: linear-gradient(180deg, rgba(52, 38, 74, 0.72), rgba(21, 14, 34, 0.88));
    --cinema-border: rgba(255, 255, 255, 0.13);
    --cinema-text: #f8f5ff;
    --cinema-muted: rgba(248, 245, 255, 0.64);
    --cinema-orange: #ff9f0a;
    --cinema-hot: #ff5e00;
    color: var(--cinema-text);
    line-height: 1.2;
}

.cinema-controls {
    position: sticky;
    top: 12px;
    z-index: 20;
    padding: 14px;
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(42, 31, 57, 0.88), rgba(16, 10, 26, 0.92));
    border: 1px solid var(--cinema-border);
    box-shadow: 0 22px 54px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.07);
    backdrop-filter: blur(24px) saturate(150%);
    -webkit-backdrop-filter: blur(24px) saturate(150%);
}

.cinema-mode-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 6px;
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.055);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.cinema-mode-tabs button,
.cinema-filter-bar select,
.cinema-search-field,
.cinema-toggle,
.cinema-load-more,
.cinema-showtime-chip,
.cinema-date-tab {
    font: inherit;
}

.cinema-mode-tabs button {
    min-height: 44px;
    border: 0;
    border-radius: 16px;
    color: var(--cinema-muted);
    background: transparent;
    font-weight: 850;
    letter-spacing: 0.01em;
    cursor: pointer;
}

.cinema-mode-tabs button.active {
    color: #ffffff;
    background: linear-gradient(135deg, rgba(255, 94, 0, 0.96), rgba(255, 159, 10, 0.9));
    box-shadow: 0 12px 28px rgba(255, 94, 0, 0.26);
}

.cinema-filter-bar {
    display: grid;
    grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(130px, 0.7fr)) auto minmax(150px, 0.8fr);
    gap: 10px;
    margin-top: 12px;
    align-items: center;
}

.cinema-search-field,
.cinema-filter-bar select,
.cinema-toggle {
    min-height: 42px;
    border-radius: 15px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.07);
    color: var(--cinema-text);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

.cinema-filter-bar select option {
    color: #17111f;
}

.cinema-search-field {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 13px;
}

.cinema-search-field i {
    color: var(--cinema-orange);
}

.cinema-search-field input {
    width: 100%;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--cinema-text);
    font-weight: 700;
}

.cinema-search-field input::placeholder {
    color: rgba(248, 245, 255, 0.48);
}

.cinema-filter-bar select {
    padding: 0 12px;
    font-weight: 750;
    outline: 0;
}

.cinema-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 12px;
    color: var(--cinema-muted);
    font-weight: 800;
    white-space: nowrap;
}

.cinema-toggle input {
    accent-color: var(--cinema-orange);
}

.cinema-browser-grid {
    display: grid;
    grid-template-columns: minmax(320px, 0.85fr) minmax(0, 1.55fr);
    gap: 18px;
    margin-top: 18px;
    align-items: start;
}

.cinema-list-panel,
.cinema-detail-panel,
.cinema-empty-state {
    border-radius: 28px;
    background: var(--cinema-panel);
    border: 1px solid var(--cinema-border);
    box-shadow: 0 22px 58px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.cinema-list-panel {
    max-height: min(760px, calc(100vh - 190px));
    overflow: auto;
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 9px;
    position: sticky;
    top: 142px;
}

.cinema-list-item {
    width: 100%;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) 18px;
    gap: 12px;
    align-items: center;
    min-height: 82px;
    padding: 10px;
    border-radius: 20px;
    border: 1px solid transparent;
    color: var(--cinema-text);
    background: rgba(255, 255, 255, 0.045);
    text-align: left;
    cursor: pointer;
    transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.cinema-list-item:hover,
.cinema-list-item:focus-visible,
.cinema-list-item.active {
    transform: translateY(-1px);
    border-color: rgba(255, 159, 10, 0.46);
    background: linear-gradient(135deg, rgba(255, 94, 0, 0.18), rgba(255, 255, 255, 0.07));
    box-shadow: 0 12px 28px rgba(255, 94, 0, 0.12);
    outline: none;
}

.cinema-list-item img {
    width: 58px;
    height: 76px;
    object-fit: cover;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.08);
}

.cinema-list-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cinema-list-copy strong {
    color: #ffffff;
    font-size: 0.98rem;
    font-weight: 900;
    letter-spacing: -0.01em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cinema-list-copy small,
.cinema-list-copy em,
.cinema-muted {
    color: var(--cinema-muted);
    font-size: 0.76rem;
    font-style: normal;
    font-weight: 680;
    line-height: 1.3;
}

.cinema-list-copy em {
    color: rgba(255, 214, 142, 0.88);
}

.cinema-theatre-icon,
.cinema-theatre-large-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(255, 94, 0, 0.22), rgba(255, 159, 10, 0.16));
    border: 1px solid rgba(255, 159, 10, 0.24);
    color: var(--cinema-orange);
}

.cinema-theatre-icon {
    width: 58px;
    height: 58px;
    border-radius: 18px;
}

.cinema-detail-panel,
.cinema-empty-state {
    padding: 20px;
    min-width: 0;
}

.cinema-detail-hero,
.cinema-theatre-hero {
    display: grid;
    grid-template-columns: 148px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
}

.cinema-theatre-hero {
    grid-template-columns: 92px minmax(0, 1fr);
}

.cinema-detail-hero img {
    width: 148px;
    aspect-ratio: 2 / 3;
    object-fit: cover;
    border-radius: 22px;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.34);
}

.cinema-theatre-large-icon {
    width: 92px;
    height: 92px;
    border-radius: 28px;
    font-size: 2rem;
}

.cinema-eyebrow,
.cinema-section-heading small {
    display: block;
    color: rgba(255, 159, 10, 0.86);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-size: 0.68rem;
    font-weight: 900;
}

.cinema-detail-panel h2 {
    margin: 6px 0 6px;
    color: #ffffff;
    font-size: clamp(1.55rem, 2.2vw, 2.45rem);
    line-height: 1.04;
    letter-spacing: -0.04em;
}

.cinema-detail-panel p,
.cinema-synopsis {
    margin: 0;
    color: var(--cinema-muted);
    font-weight: 650;
    line-height: 1.45;
}

.cinema-detail-meta,
.cinema-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.cinema-detail-meta span,
.cinema-action-row a,
.cinema-showtime-card-head a {
    color: #ffffff;
    text-decoration: none;
    border-radius: 999px;
    padding: 8px 11px;
    background: rgba(255, 255, 255, 0.075);
    border: 1px solid rgba(255, 255, 255, 0.11);
    font-size: 0.78rem;
    font-weight: 850;
}

.cinema-synopsis {
    margin-top: 12px;
}

.cinema-stats-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin: 20px 0;
}

.cinema-stats-row span {
    min-height: 74px;
    border-radius: 20px;
    padding: 13px;
    background: rgba(255, 255, 255, 0.055);
    border: 1px solid rgba(255, 255, 255, 0.10);
    color: var(--cinema-muted);
    font-size: 0.76rem;
    font-weight: 780;
}

.cinema-stats-row strong {
    display: block;
    color: #ffffff;
    font-size: 1.35rem;
    line-height: 1;
    margin-bottom: 7px;
}

.cinema-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 12px;
    margin: 8px 0 12px;
}

.cinema-section-heading span {
    color: #ffffff;
    font-size: 1.08rem;
    font-weight: 900;
}

.cinema-section-heading small {
    color: rgba(248, 245, 255, 0.52);
    text-transform: none;
    letter-spacing: 0;
    text-align: right;
}

.cinema-showtime-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.cinema-showtime-card {
    border-radius: 22px;
    padding: 14px;
    background: var(--cinema-panel-soft);
    border: 1px solid rgba(255, 255, 255, 0.105);
}

.cinema-showtime-card-head,
.cinema-movie-row-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.cinema-showtime-card h3 {
    margin: 0 0 4px;
    color: #ffffff;
    font-size: 1rem;
    line-height: 1.2;
}

.cinema-showtime-card p {
    margin: 0;
    color: var(--cinema-muted);
    font-size: 0.8rem;
}

.cinema-movie-row-head {
    justify-content: flex-start;
}

.cinema-movie-row-head img {
    width: 48px;
    height: 68px;
    object-fit: cover;
    border-radius: 12px;
}

.cinema-date-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 2px 0 10px;
}

.cinema-date-tab,
.cinema-showtime-chip,
.cinema-load-more {
    border: 1px solid rgba(255, 255, 255, 0.12);
    color: var(--cinema-text);
    background: rgba(255, 255, 255, 0.07);
    cursor: pointer;
}

.cinema-date-tab {
    flex: 0 0 auto;
    min-height: 34px;
    border-radius: 999px;
    padding: 0 12px;
    font-size: 0.76rem;
    font-weight: 850;
}

.cinema-date-tab.active,
.cinema-showtime-chip:hover,
.cinema-showtime-chip:focus-visible {
    background: linear-gradient(135deg, rgba(255, 94, 0, 0.92), rgba(255, 159, 10, 0.88));
    border-color: rgba(255, 199, 116, 0.65);
    color: #ffffff;
    outline: none;
}

.cinema-format-stack {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.cinema-format-label {
    color: rgba(248, 245, 255, 0.58);
    font-size: 0.68rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 900;
    margin-bottom: 7px;
}

.cinema-showtime-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cinema-showtime-chip {
    min-height: 38px;
    border-radius: 13px;
    padding: 0 12px;
    font-size: 0.85rem;
    font-weight: 900;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
}

.cinema-load-more {
    min-height: 44px;
    border-radius: 16px;
    font-weight: 900;
    margin: 4px;
}

.cinema-empty-state {
    text-align: center;
    padding: 44px 22px;
}

.cinema-empty-state h3 {
    margin: 0 0 8px;
    color: #ffffff;
}

.cinema-empty-state p {
    color: var(--cinema-muted);
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

@media (max-width: 900px) {
    .results-list.cinema-mode:has(.cinema-browse-shell),
    .mobile-results .results-list.cinema-mode:has(.cinema-browse-shell) {
        max-width: 100% !important;
        padding-top: 12px !important;
    }

    .cinema-controls {
        position: relative;
        top: auto;
        border-radius: 24px;
        padding: 12px;
    }

    .cinema-filter-bar {
        display: flex;
        overflow-x: auto;
        gap: 8px;
        padding-bottom: 4px;
        scroll-snap-type: x proximity;
    }

    .cinema-search-field {
        min-width: 230px;
    }

    .cinema-filter-bar select,
    .cinema-toggle {
        min-width: max-content;
        flex: 0 0 auto;
        scroll-snap-align: start;
    }

    .cinema-browser-grid {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    .cinema-list-panel {
        position: static;
        max-height: none;
        overflow: visible;
        border-radius: 24px;
    }

    .cinema-detail-panel {
        border-radius: 24px;
        padding: 14px;
    }

    .cinema-detail-hero,
    .cinema-theatre-hero {
        grid-template-columns: 92px minmax(0, 1fr);
        gap: 12px;
    }

    .cinema-detail-hero img {
        width: 92px;
        border-radius: 16px;
    }

    .cinema-detail-panel h2 {
        font-size: 1.35rem;
    }

    .cinema-stats-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px;
    }

    .cinema-stats-row span {
        min-height: 64px;
        padding: 10px 8px;
        font-size: 0.66rem;
    }

    .cinema-stats-row strong {
        font-size: 1.08rem;
    }

    .cinema-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .cinema-section-heading small {
        text-align: left;
    }

    .cinema-showtime-card-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .cinema-showtime-chip {
        min-height: 42px;
        min-width: 74px;
    }
}

.results-list.cinema-browser-active,
.mobile-results .results-list.cinema-browser-active {
    display: block !important;
    grid-template-columns: none !important;
    max-width: min(1440px, calc(100vw - 48px)) !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding-top: 24px !important;
}

.cinema-skeleton,
.cinema-skeleton-row span,
.cinema-skeleton-list-item span,
.cinema-skeleton-list-item b,
.cinema-skeleton-list-item i,
.cinema-skeleton-detail span,
.cinema-skeleton-detail b,
.cinema-skeleton-detail i {
    display: block;
    border-radius: 16px;
    background: linear-gradient(90deg, rgba(255,255,255,0.06), rgba(255,255,255,0.13), rgba(255,255,255,0.06));
    background-size: 220% 100%;
    animation: cinemaSkeletonPulse 1.2s ease-in-out infinite;
}

.cinema-skeleton.wide {
    height: 54px;
}

.cinema-skeleton-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-top: 12px;
}

.cinema-skeleton-row span {
    height: 42px;
}

.cinema-skeleton-list-item,
.cinema-skeleton-detail {
    display: grid;
    grid-template-columns: 58px 1fr;
    gap: 12px;
    padding: 10px;
}

.cinema-skeleton-list-item span {
    width: 58px;
    height: 76px;
}

.cinema-skeleton-list-item b,
.cinema-skeleton-detail b {
    height: 18px;
    margin: 7px 0 10px;
}

.cinema-skeleton-list-item i,
.cinema-skeleton-detail i {
    height: 12px;
    margin-top: 7px;
}

.cinema-skeleton-detail {
    grid-template-columns: 148px 1fr;
}

.cinema-skeleton-detail span {
    width: 148px;
    height: 222px;
}

@keyframes cinemaSkeletonPulse {
    from { background-position: 120% 0; }
    to { background-position: -120% 0; }
}

.cinema-page-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 8px 10px;
    color: rgba(248, 245, 255, 0.64);
    font-size: 0.74rem;
    font-weight: 850;
}

.cinema-page-actions {
    display: inline-flex;
    gap: 6px;
}

.cinema-page-actions button {
    min-height: 32px;
    border-radius: 999px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.07);
    color: #ffffff;
    font-weight: 900;
    padding: 0 10px;
    cursor: pointer;
}

.cinema-page-actions button:disabled {
    cursor: not-allowed;
    opacity: 0.42;
}

.cinema-list-empty {
    padding: 24px 16px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.045);
    color: var(--cinema-muted);
    text-align: center;
}

.cinema-list-empty strong,
.cinema-list-empty span,
.cinema-card-meta,
.cinema-action-disabled {
    display: block;
}

.cinema-list-empty strong {
    color: #ffffff;
    margin-bottom: 5px;
}

.cinema-card-meta {
    margin-top: 7px;
    color: rgba(255, 214, 142, 0.86);
    font-size: 0.72rem;
    font-weight: 850;
}

.cinema-action-row.compact {
    margin-top: 0;
    justify-content: flex-end;
}

.cinema-action-disabled {
    border-radius: 999px;
    padding: 8px 11px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(255, 255, 255, 0.035);
    color: rgba(248, 245, 255, 0.42);
    font-size: 0.78rem;
    font-weight: 850;
}

.cinema-synopsis.muted,
.cinema-no-dates,
.cinema-no-times {
    color: rgba(248, 245, 255, 0.50);
}

.cinema-browse-shell {
    --cinema-panel: linear-gradient(180deg, rgba(37, 27, 55, 0.72), rgba(15, 11, 24, 0.9));
    --cinema-panel-soft: linear-gradient(180deg, rgba(43, 31, 61, 0.62), rgba(21, 15, 34, 0.82));
    --cinema-border: rgba(255, 255, 255, 0.10);
    --cinema-muted: rgba(235, 229, 245, 0.58);
    --cinema-orange: #ff9f0a;
}

.cinema-controls {
    position: relative;
    top: auto;
    max-width: 460px;
    padding: 6px;
    border-radius: 22px;
    background: rgba(31, 23, 46, 0.72);
    border-color: rgba(255, 255, 255, 0.09);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

.cinema-filter-bar,
.cinema-page-row,
.cinema-stats-row {
    display: none !important;
}

.cinema-browser-grid {
    grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.7fr);
    gap: 16px;
    margin-top: 14px;
}

.cinema-list-panel,
.cinema-detail-panel,
.cinema-empty-state {
    border-radius: 24px;
    background: var(--cinema-panel);
    border-color: var(--cinema-border);
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

.cinema-list-panel {
    top: 24px;
    max-height: min(760px, calc(100vh - 72px));
    padding: 8px;
    gap: 8px;
}

.cinema-list-item {
    grid-template-columns: 54px minmax(0, 1fr);
    min-height: 74px;
    padding: 9px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.035);
}

.cinema-list-item:hover,
.cinema-list-item:focus-visible,
.cinema-list-item.active {
    transform: none;
    border-color: rgba(255, 159, 10, 0.46);
    background: linear-gradient(135deg, rgba(255, 159, 10, 0.13), rgba(255, 255, 255, 0.045));
    box-shadow: inset 0 0 0 1px rgba(255, 159, 10, 0.08), 0 10px 26px rgba(0, 0, 0, 0.22);
}

.cinema-list-item img,
.cinema-theatre-icon {
    width: 54px;
    height: 60px;
    border-radius: 15px;
}

.cinema-list-item img {
    object-fit: cover;
}

.cinema-list-copy {
    gap: 5px;
}

.cinema-list-copy strong {
    font-size: 0.94rem;
    letter-spacing: -0.015em;
}

.cinema-list-copy small {
    font-size: 0.78rem;
    font-weight: 760;
}

.cinema-list-copy em,
.cinema-list-item > i {
    display: none !important;
}

.cinema-detail-panel {
    padding: 18px;
}

.cinema-detail-hero {
    grid-template-columns: 118px minmax(0, 1fr);
    align-items: start;
}

.cinema-detail-hero img {
    width: 118px;
    border-radius: 18px;
}

.cinema-detail-panel h2 {
    font-size: clamp(1.45rem, 2vw, 2.15rem);
    letter-spacing: -0.035em;
}

.cinema-section-heading {
    margin-top: 18px;
}

.cinema-showtime-card {
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.045);
    border-color: rgba(255, 255, 255, 0.095);
}

.cinema-showtime-chip {
    min-height: 40px;
    border-radius: 14px;
    background: rgba(255, 159, 10, 0.11);
    border-color: rgba(255, 159, 10, 0.22);
    color: #fff4df;
}

@media (max-width: 900px) {
    .cinema-controls {
        max-width: none;
        border-radius: 22px;
    }

    .cinema-browser-grid {
        margin-top: 12px;
    }

    .cinema-list-panel {
        max-height: none;
    }

    .cinema-detail-hero,
    .cinema-theatre-hero {
        grid-template-columns: 86px minmax(0, 1fr);
    }

    .cinema-detail-hero img {
        width: 86px;
    }
}

.cinema-mode-tabs button {
    transition: transform 140ms ease, background 140ms ease, box-shadow 140ms ease, color 140ms ease;
}

.cinema-mode-tabs button:hover,
.cinema-mode-tabs button:focus-visible {
    transform: translateY(-1px);
    color: #ffffff;
    outline: none;
}

.cinema-list-panel {
    padding: 7px;
    gap: 7px;
}

.cinema-list-item {
    position: relative;
    overflow: hidden;
    min-height: 76px;
    padding: 8px 10px 8px 8px;
    border-color: rgba(255, 255, 255, 0.045);
    transition: transform 150ms ease, background 150ms ease, border-color 150ms ease, box-shadow 150ms ease;
    will-change: transform;
}

.cinema-list-item::before {
    content: "";
    position: absolute;
    inset: 10px auto 10px 0;
    width: 3px;
    border-radius: 999px;
    background: transparent;
    transition: background 150ms ease, box-shadow 150ms ease;
}

.cinema-list-item:hover,
.cinema-list-item:focus-visible {
    transform: translateY(-2px) scale(1.01);
    border-color: rgba(255, 159, 10, 0.28);
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.07), rgba(255, 159, 10, 0.06));
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28), 0 0 24px rgba(255, 159, 10, 0.08);
}

.cinema-list-item.active {
    transform: scale(1.012);
    border-color: rgba(255, 159, 10, 0.62);
    background: linear-gradient(135deg, rgba(255, 159, 10, 0.18), rgba(255, 255, 255, 0.07));
    box-shadow: inset 0 0 0 1px rgba(255, 159, 10, 0.14), 0 16px 34px rgba(0, 0, 0, 0.32), 0 0 28px rgba(255, 159, 10, 0.12);
}

.cinema-list-item.active::before {
    background: linear-gradient(180deg, #ffb13d, #ff6a00);
    box-shadow: 0 0 16px rgba(255, 159, 10, 0.62);
}

.cinema-list-item img,
.cinema-theatre-icon {
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.24);
}

.cinema-list-copy strong {
    color: #fffaf2;
    font-size: 0.98rem;
    font-weight: 950;
}

.cinema-list-copy small {
    color: rgba(235, 229, 245, 0.58);
    font-size: 0.75rem;
    letter-spacing: 0.01em;
}

.cinema-next-badge {
    display: inline-flex !important;
    align-items: center;
    width: fit-content;
    gap: 5px;
    margin-top: 2px;
    padding: 4px 8px;
    border-radius: 999px;
    color: #ffd890 !important;
    background: rgba(255, 159, 10, 0.11);
    border: 1px solid rgba(255, 159, 10, 0.18);
    font-size: 0.68rem !important;
    font-weight: 900 !important;
    line-height: 1;
}

.cinema-detail-panel {
    padding: 18px;
}

.cinema-detail-hero,
.cinema-theatre-hero {
    position: relative;
    overflow: hidden;
    padding: 18px;
    border-radius: 24px;
    background: radial-gradient(circle at 18% 10%, rgba(255, 159, 10, 0.16), transparent 34%), linear-gradient(135deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.025));
    border: 1px solid rgba(255, 255, 255, 0.08);
    align-items: center;
}

.cinema-detail-hero {
    grid-template-columns: 142px minmax(0, 1fr);
    gap: 20px;
}

.cinema-detail-hero img {
    width: 142px;
    border-radius: 20px;
    box-shadow: 0 22px 48px rgba(0, 0, 0, 0.45), 0 0 34px rgba(255, 159, 10, 0.13);
}

.cinema-detail-copy {
    min-width: 0;
}

.cinema-detail-panel h2 {
    margin-top: 0;
    margin-bottom: 8px;
    font-size: clamp(2rem, 3.5vw, 3.45rem);
    line-height: 0.98;
    letter-spacing: -0.055em;
}

.cinema-detail-panel p {
    font-size: 0.92rem;
}

.cinema-detail-meta {
    margin-top: 10px;
}

.cinema-quick-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.cinema-quick-stats span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 0 11px;
    border-radius: 999px;
    color: rgba(248, 245, 255, 0.76);
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.10);
    font-size: 0.75rem;
    font-weight: 850;
}

.cinema-quick-stats i {
    color: var(--cinema-orange);
    font-size: 0.78rem;
}

.cinema-quick-stats strong {
    color: #ffffff;
    font-size: 0.9rem;
}

.cinema-synopsis {
    margin-top: 14px;
    max-width: 74ch;
}

.cinema-section-heading {
    margin: 20px 0 14px;
}

.cinema-section-heading span {
    font-size: 1.18rem;
    letter-spacing: -0.02em;
}

.cinema-section-heading small {
    display: none;
}

.cinema-showtime-list {
    gap: 14px;
}

.cinema-showtime-card {
    padding: 16px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.058), rgba(255, 255, 255, 0.032));
    transition: transform 150ms ease, border-color 150ms ease, box-shadow 150ms ease, background 150ms ease;
}

.cinema-showtime-card:hover {
    transform: translateY(-1px);
    border-color: rgba(255, 159, 10, 0.18);
    box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
}

.cinema-showtime-card-head {
    align-items: flex-start;
    margin-bottom: 13px;
}

.cinema-showtime-card h3 {
    font-size: 1.08rem;
    font-weight: 950;
    letter-spacing: -0.015em;
}

.cinema-showtime-card p {
    color: rgba(235, 229, 245, 0.54);
    font-weight: 700;
}

.cinema-date-tabs {
    gap: 6px;
    padding-bottom: 9px;
}

.cinema-date-tab {
    min-height: 30px;
    padding: 0 10px;
    font-size: 0.7rem;
    transition: transform 130ms ease, background 130ms ease, border-color 130ms ease, color 130ms ease;
}

.cinema-date-tab:hover,
.cinema-date-tab:focus-visible {
    transform: translateY(-1px);
    outline: none;
}

.cinema-showtime-chips {
    gap: 9px;
}

.cinema-showtime-chip {
    min-height: 44px;
    border-radius: 999px;
    padding: 0 16px;
    font-size: 0.9rem;
    transition: transform 140ms ease, background 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.cinema-showtime-chip:hover,
.cinema-showtime-chip:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(255, 159, 10, 0.16), 0 10px 22px rgba(0, 0, 0, 0.22);
}

@media (max-width: 900px) {
    .cinema-list-item:hover,
    .cinema-list-item:focus-visible,
    .cinema-list-item.active {
        transform: none;
    }

    .cinema-detail-hero,
    .cinema-theatre-hero {
        padding: 13px;
        border-radius: 20px;
        align-items: start;
    }

    .cinema-detail-hero {
        grid-template-columns: 96px minmax(0, 1fr);
        gap: 13px;
    }

    .cinema-detail-hero img {
        width: 96px;
    }

    .cinema-detail-panel h2 {
        font-size: clamp(1.45rem, 7vw, 2rem);
    }

    .cinema-quick-stats span {
        min-height: 32px;
        padding: 0 9px;
        font-size: 0.68rem;
    }

    .cinema-showtime-card {
        padding: 13px;
    }

    .cinema-showtime-chip {
        min-height: 44px;
        min-width: 78px;
    }
}

.cinema-browse-shell {
    --cinema-panel: linear-gradient(180deg, rgba(28, 28, 30, 0.96), rgba(13, 13, 15, 0.98));
    --cinema-panel-soft: linear-gradient(180deg, rgba(24, 24, 26, 0.98), rgba(14, 14, 16, 0.98));
    --cinema-border: rgba(255, 255, 255, 0.085);
    --cinema-muted: rgba(235, 235, 245, 0.56);
    --cinema-text: #f5f5f7;
    --cinema-orange: #ff9f0a;
}

.cinema-controls,
.cinema-list-panel,
.cinema-detail-panel,
.cinema-empty-state {
    background: linear-gradient(145deg, rgba(28, 28, 30, 0.98), rgba(16, 16, 18, 0.98)) !important;
    border-color: rgba(255, 255, 255, 0.085) !important;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.48), inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
}

.cinema-mode-tabs {
    background: rgba(255, 255, 255, 0.04);
    border-color: rgba(255, 255, 255, 0.075);
}

.cinema-mode-tabs button.active {
    background: #ffcc00;
    color: #141416;
    box-shadow: 0 12px 28px rgba(255, 204, 0, 0.18);
}

.cinema-list-item {
    background: rgba(255, 255, 255, 0.035) !important;
    border-color: rgba(255, 255, 255, 0.055) !important;
}

.cinema-list-item:hover,
.cinema-list-item:focus-visible {
    background: rgba(255, 255, 255, 0.065) !important;
    border-color: rgba(255, 204, 0, 0.22) !important;
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.34), 0 0 18px rgba(255, 204, 0, 0.055) !important;
}

.cinema-list-item.active {
    background: linear-gradient(135deg, rgba(255, 204, 0, 0.13), rgba(255, 255, 255, 0.06)) !important;
    border-color: rgba(255, 204, 0, 0.56) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 204, 0, 0.10), 0 16px 34px rgba(0, 0, 0, 0.36) !important;
}

.cinema-list-item.active::before {
    background: linear-gradient(180deg, #ffcc00, #ff7a00);
    box-shadow: 0 0 14px rgba(255, 204, 0, 0.46);
}

.cinema-next-badge {
    color: #ffd76a !important;
    background: rgba(255, 204, 0, 0.09) !important;
    border-color: rgba(255, 204, 0, 0.18) !important;
}

.cinema-detail-panel {
    padding: 20px !important;
}

.cinema-detail-hero {
    grid-template-columns: minmax(160px, 230px) minmax(0, 1fr) !important;
    gap: clamp(22px, 3vw, 34px) !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    overflow: visible !important;
    align-items: start !important;
}

.cinema-detail-hero img {
    width: 100% !important;
    max-width: 230px;
    aspect-ratio: 2 / 3;
    border-radius: 8px !important;
    object-fit: cover;
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.68), 0 0 34px rgba(255, 204, 0, 0.07) !important;
}

.cinema-title-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 2px 0 14px;
}

.cinema-title-badges span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.075);
    color: rgba(245, 245, 247, 0.82);
    font-size: 0.72rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.cinema-title-badges span.hot {
    color: #ffcc00;
    background: transparent;
    padding-left: 4px;
}

.cinema-detail-panel h2 {
    max-width: 11ch;
    margin-bottom: 22px !important;
    font-size: clamp(3rem, 6vw, 5.7rem) !important;
    line-height: 0.92 !important;
    letter-spacing: -0.075em !important;
    text-transform: uppercase;
}

.cinema-synopsis {
    max-width: 760px !important;
    margin-top: 0 !important;
    color: rgba(235, 235, 245, 0.62) !important;
    font-size: 1.02rem !important;
    line-height: 1.75 !important;
    font-weight: 650 !important;
}

.cinema-detail-meta {
    gap: 0 !important;
    margin-top: 24px !important;
}

.cinema-detail-meta span {
    min-width: 132px;
    padding: 0 22px 0 0 !important;
    margin-right: 22px;
    border: 0 !important;
    border-right: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #f5f5f7 !important;
    font-size: 0.9rem !important;
    line-height: 1.25;
}

.cinema-detail-meta span:last-child {
    border-right: 0 !important;
}

.cinema-detail-meta small {
    display: block;
    margin-bottom: 5px;
    color: rgba(235, 235, 245, 0.42);
    font-size: 0.62rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.16em;
}

.cinema-quick-stats {
    margin-top: 22px !important;
}

.cinema-quick-stats span {
    min-height: 32px !important;
    background: rgba(255, 255, 255, 0.055) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

.cinema-quick-stats i {
    color: #ffcc00 !important;
}

.cinema-section-heading {
    margin: 42px 0 16px !important;
}

.cinema-section-heading span {
    color: rgba(245, 245, 247, 0.72) !important;
    font-size: 0.78rem !important;
    font-weight: 950 !important;
    text-transform: uppercase;
    letter-spacing: 0.24em !important;
}

.cinema-showtime-list {
    gap: 18px !important;
}

.cinema-showtime-card {
    display: grid;
    grid-template-columns: minmax(230px, 0.42fr) minmax(0, 1fr);
    column-gap: 24px;
    align-items: start;
    padding: 26px 28px !important;
    border-radius: 10px !important;
    background: linear-gradient(180deg, rgba(20, 20, 22, 0.92), rgba(12, 12, 14, 0.96)) !important;
    border-color: rgba(255, 255, 255, 0.045) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.cinema-showtime-card-head {
    grid-column: 1;
    grid-row: 1 / 3;
    display: block !important;
    margin: 0 !important;
}

.cinema-card-times {
    grid-column: 2;
    min-width: 0;
}

.cinema-showtime-card h3 {
    margin-bottom: 12px !important;
    color: #f5f5f7 !important;
    font-size: 1.24rem !important;
    line-height: 1.05 !important;
    text-transform: uppercase;
    letter-spacing: -0.035em !important;
}

.cinema-showtime-card p {
    color: rgba(235, 235, 245, 0.42) !important;
    font-size: 0.78rem !important;
    line-height: 1.45;
}

.cinema-showtime-card p i {
    color: rgba(235, 235, 245, 0.38);
    margin-right: 5px;
}

.cinema-action-row.compact {
    justify-content: flex-start !important;
    margin-top: 16px !important;
}

.cinema-action-row a {
    background: rgba(255, 255, 255, 0.055) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

.cinema-date-tabs {
    padding: 0 0 12px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.055);
    margin-bottom: 14px;
}

.cinema-date-tab {
    min-height: 42px !important;
    min-width: 58px;
    border-radius: 6px !important;
    background: rgba(255, 255, 255, 0.065) !important;
    border-color: rgba(255, 255, 255, 0.075) !important;
    color: rgba(245, 245, 247, 0.72) !important;
}

.cinema-date-tab.active {
    background: #ffcc00 !important;
    border-color: #ffcc00 !important;
    color: #111113 !important;
    box-shadow: 0 10px 22px rgba(255, 204, 0, 0.18);
}

.cinema-format-label {
    margin: 0 0 10px !important;
    color: #ff8a70 !important;
    font-size: 0.66rem !important;
    letter-spacing: 0.22em !important;
}

.cinema-format-group {
    padding-top: 2px;
}

.cinema-showtime-chip {
    min-width: 88px;
    min-height: 48px !important;
    border-radius: 5px !important;
    background: rgba(255, 255, 255, 0.075) !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: rgba(245, 245, 247, 0.84) !important;
    box-shadow: none !important;
}

.cinema-showtime-chip:hover,
.cinema-showtime-chip:focus-visible {
    background: #ff7f73 !important;
    border-color: #ff7f73 !important;
    color: #111113 !important;
    box-shadow: 0 12px 28px rgba(255, 127, 115, 0.18) !important;
}

@media (max-width: 900px) {
    .cinema-detail-hero {
        grid-template-columns: 100px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    .cinema-detail-panel h2 {
        max-width: none;
        font-size: clamp(1.55rem, 8vw, 2.4rem) !important;
        line-height: 1 !important;
    }

    .cinema-title-badges {
        gap: 6px;
        margin-bottom: 10px;
    }

    .cinema-title-badges span {
        min-height: 24px;
        font-size: 0.58rem;
        padding: 0 7px;
    }

    .cinema-detail-meta span {
        min-width: 0;
        margin-right: 12px;
        padding-right: 12px !important;
    }

    .cinema-showtime-card {
        display: block;
        padding: 16px !important;
        border-radius: 14px !important;
    }

    .cinema-card-times {
        margin-top: 14px;
    }

    .cinema-date-tab {
        min-height: 36px !important;
    }

    .cinema-showtime-chip {
        min-width: 76px;
        min-height: 44px !important;
    }
}

.cinema-detail-panel h2 {
    max-width: 100% !important;
    font-size: clamp(2.15rem, 4.15vw, 4.25rem) !important;
    line-height: 0.96 !important;
    letter-spacing: -0.065em !important;
    overflow-wrap: anywhere;
    word-break: normal;
}

.cinema-theatre-hero .cinema-detail-panel h2,
.cinema-theatre-hero h2 {
    font-size: clamp(2rem, 3.5vw, 3.65rem) !important;
    max-width: 14ch !important;
}

.cinema-quick-stats {
    gap: 10px !important;
}

.cinema-quick-stats span {
    min-height: 42px !important;
    padding: 9px 14px !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.04)) !important;
    border-color: rgba(255, 255, 255, 0.105) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.cinema-quick-stats strong {
    font-size: 1rem !important;
}

.cinema-theatre-icon.cinema-theatre-image,
.cinema-theatre-large-icon.cinema-theatre-image {
    object-fit: cover;
    background: rgba(255, 255, 255, 0.06) !important;
}

.cinema-theatre-large-icon.cinema-theatre-image {
    width: 150px !important;
    height: 150px !important;
    border-radius: 12px !important;
}

.cinema-theatre-hero {
    grid-template-columns: 150px minmax(0, 1fr) !important;
    gap: 28px !important;
}

.cinema-showtime-card p,
.cinema-list-item.theatre .cinema-list-copy small,
.cinema-theatre-hero > .cinema-detail-copy > p {
    text-transform: none;
}

@media (max-width: 900px) {
    .cinema-detail-panel h2 {
        font-size: clamp(1.55rem, 7vw, 2.35rem) !important;
        letter-spacing: -0.045em !important;
    }

    .cinema-theatre-hero {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    .cinema-theatre-large-icon.cinema-theatre-image,
    .cinema-theatre-large-icon {
        width: 82px !important;
        height: 82px !important;
        border-radius: 14px !important;
    }

    .cinema-quick-stats span {
        min-height: 38px !important;
        border-radius: 11px !important;
    }
}

.cinema-detail-hero {
    grid-template-columns: minmax(190px, 285px) minmax(0, 1fr) !important;
    gap: clamp(26px, 3.4vw, 42px) !important;
    margin-bottom: 26px !important;
}

.cinema-detail-hero > img {
    max-width: 285px !important;
    min-height: 420px;
}

.cinema-movie-date-tabs {
    display: flex;
    gap: 14px;
    margin: 4px 0 24px;
    padding: 4px 0 2px;
    overflow-x: auto;
    scrollbar-width: none;
}

.cinema-movie-date-tabs::-webkit-scrollbar {
    display: none;
}

.cinema-movie-date-tab {
    flex: 0 0 auto;
    width: 82px;
    min-height: 96px;
    border: 1px solid rgba(255, 255, 255, 0.13);
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.055);
    color: rgba(245, 245, 247, 0.76);
    display: grid;
    place-items: center;
    padding: 10px 8px;
    cursor: pointer;
    transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}

.cinema-movie-date-tab span,
.cinema-movie-date-tab small {
    font-size: 0.66rem;
    font-weight: 950;
    letter-spacing: 0.16em;
    line-height: 1;
}

.cinema-movie-date-tab strong {
    color: #f5f5f7;
    font-size: 1.72rem;
    font-weight: 950;
    line-height: 1;
    letter-spacing: -0.04em;
}

.cinema-movie-date-tab:hover,
.cinema-movie-date-tab:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(255, 204, 0, 0.42);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.32);
}

.cinema-movie-date-tab.active {
    background: #ffcc00;
    border-color: #ffcc00;
    color: #221b00;
    box-shadow: 0 16px 32px rgba(255, 204, 0, 0.18);
}

.cinema-movie-date-tab.active strong {
    color: #171300;
}

.cinema-movie-theatre-list {
    margin-top: 8px;
}

.cinema-theatre-showtime-row {
    grid-template-columns: 92px minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: stretch !important;
    padding: 24px !important;
}

.cinema-theatre-row-media {
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.cinema-theatre-row-icon {
    width: 76px;
    height: 76px;
    border-radius: 14px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 159, 10, 0.28);
    background: radial-gradient(circle at 30% 20%, rgba(255, 159, 10, 0.22), rgba(255, 159, 10, 0.07) 55%, rgba(255, 255, 255, 0.04));
    color: #ff9f0a;
    font-size: 1.35rem;
    object-fit: cover;
}

.cinema-theatre-row-icon.cinema-theatre-image {
    background: rgba(255, 255, 255, 0.06) !important;
}

.cinema-theatre-row-content {
    min-width: 0;
    display: grid;
    gap: 18px;
}

.cinema-theatre-row-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.cinema-theatre-row-head h3 {
    margin-bottom: 8px !important;
}

.cinema-theatre-row-head p {
    max-width: 520px;
}

.cinema-theatre-showtime-row .cinema-card-times {
    grid-column: auto;
    margin-top: 0;
}

.cinema-theatre-showtime-row .cinema-format-stack {
    gap: 14px;
}

.cinema-theatre-showtime-row .cinema-format-group {
    display: grid;
    grid-template-columns: minmax(92px, 0.18fr) minmax(0, 1fr);
    align-items: start;
    gap: 14px;
}

.cinema-theatre-showtime-row .cinema-format-label {
    margin-top: 15px !important;
}

@media (max-width: 900px) {
    .cinema-detail-hero {
        grid-template-columns: 116px minmax(0, 1fr) !important;
        gap: 15px !important;
        margin-bottom: 18px !important;
    }

    .cinema-detail-hero > img {
        width: 116px !important;
        min-height: 174px;
    }

    .cinema-movie-date-tabs {
        gap: 10px;
        margin-bottom: 18px;
    }

    .cinema-movie-date-tab {
        width: 68px;
        min-height: 82px;
        border-radius: 10px;
    }

    .cinema-movie-date-tab strong {
        font-size: 1.42rem;
    }

    .cinema-theatre-showtime-row {
        display: grid !important;
        grid-template-columns: 62px minmax(0, 1fr) !important;
        gap: 13px !important;
        padding: 15px !important;
    }

    .cinema-theatre-row-icon {
        width: 54px;
        height: 54px;
        border-radius: 12px;
        font-size: 1rem;
    }

    .cinema-theatre-row-head {
        display: block;
    }

    .cinema-theatre-row-head .cinema-action-row {
        margin-top: 10px !important;
    }

    .cinema-theatre-showtime-row .cinema-format-group {
        display: block;
    }

    .cinema-theatre-showtime-row .cinema-format-label {
        margin-top: 0 !important;
    }
}

.cinema-detail-copy .cinema-movie-date-tabs {
    margin: 26px 0 0;
    max-width: min(100%, 760px);
}

.cinema-detail-hero + .cinema-movie-date-tabs {
    display: none;
}

.cinema-format-label {
    display: none !important;
}

.cinema-format-group,
.cinema-theatre-showtime-row .cinema-format-group {
    display: block !important;
}

.cinema-theatre-showtime-row .cinema-showtime-chips {
    margin-top: 0;
}

@media (max-width: 900px) {
    .cinema-detail-copy .cinema-movie-date-tabs {
        grid-column: 1 / -1;
        margin-top: 16px;
        max-width: 100%;
    }
}

.cinema-detail-copy .cinema-quick-stats {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 !important;
    width: min(100%, 720px);
    margin-top: 22px !important;
    padding: 10px 14px;
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    background: linear-gradient(180deg, rgba(82, 18, 53, 0.62), rgba(35, 8, 34, 0.76)), rgba(24, 7, 30, 0.92);
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.055);
    overflow: hidden;
}

.cinema-detail-copy .cinema-quick-stats span {
    position: relative;
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr);
    align-items: center;
    gap: 12px !important;
    min-width: 0;
    min-height: 54px !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: rgba(245, 236, 246, 0.78);
    font-size: 0.86rem;
    font-weight: 850;
    line-height: 1.1;
    white-space: nowrap;
}

.cinema-detail-copy .cinema-quick-stats span + span::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    bottom: 8px;
    width: 1px;
    background: rgba(255, 255, 255, 0.09);
}

.cinema-detail-copy .cinema-quick-stats i {
    display: inline-grid;
    place-items: center;
    width: 54px;
    height: 46px;
    border-radius: 12px;
    color: #ff9500 !important;
    background: rgba(94, 26, 23, 0.88);
    font-size: 1.24rem !important;
}

.cinema-detail-copy .cinema-quick-stats strong {
    display: inline-block;
    margin-right: 5px;
    color: #ffffff;
    font-size: 1.34rem !important;
    font-weight: 950;
    line-height: 1;
}

@media (max-width: 720px) {
    .cinema-detail-copy .cinema-quick-stats {
        width: 100%;
        padding: 8px;
        border-radius: 14px;
    }

    .cinema-detail-copy .cinema-quick-stats span {
        grid-template-columns: 38px minmax(0, 1fr);
        gap: 8px !important;
        min-height: 46px !important;
        padding: 0 8px !important;
        font-size: 0.68rem;
    }

    .cinema-detail-copy .cinema-quick-stats i {
        width: 38px;
        height: 36px;
        border-radius: 10px;
        font-size: 0.98rem !important;
    }

    .cinema-detail-copy .cinema-quick-stats strong {
        display: block;
        margin: 0 0 2px;
        font-size: 1rem !important;
    }
}

.cinema-theatre-showtime-row {
    grid-template-columns: 86px minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: start !important;
    padding: 16px 18px !important;
}

.cinema-theatre-row-media {
    width: 86px;
}

.cinema-theatre-row-icon {
    width: 76px !important;
    height: 76px !important;
    aspect-ratio: 1;
    border-radius: 16px !important;
    border-color: rgba(255, 159, 10, 0.16) !important;
    background: radial-gradient(circle at 50% 38%, rgba(255, 159, 10, 0.16), rgba(255, 255, 255, 0.045) 60%, rgba(255, 255, 255, 0.025)) !important;
    color: rgba(255, 159, 10, 0.88) !important;
    font-size: 1.18rem !important;
}

.cinema-theatre-row-icon.cinema-theatre-image {
    display: block !important;
    object-fit: cover;
    object-position: center;
    background: rgba(255, 255, 255, 0.06) !important;
}

.cinema-theatre-showtime-row .cinema-card-times {
    border-top: 1px solid rgba(255, 255, 255, 0.075);
    padding-top: 9px;
}

.cinema-theatre-row-head .cinema-action-row.compact {
    gap: 8px;
}

.cinema-theatre-row-head .cinema-action-row.compact a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 16px;
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.86);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.035));
    border: 1px solid rgba(255, 255, 255, 0.105);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.055);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0;
}

.cinema-theatre-row-head .cinema-action-row.compact a:hover,
.cinema-theatre-row-head .cinema-action-row.compact a:focus-visible {
    background: linear-gradient(180deg, rgba(255, 159, 10, 0.22), rgba(255, 159, 10, 0.10));
    border-color: rgba(255, 159, 10, 0.34);
    outline: none;
}

.cinema-theatre-showtime-row .cinema-theatre-row-content {
    gap: 8px;
}

.cinema-theatre-showtime-row .cinema-theatre-row-head {
    min-height: 66px;
    align-items: center;
}

.cinema-theatre-showtime-row .cinema-theatre-row-head h3 {
    margin-bottom: 6px !important;
    font-size: clamp(1.02rem, 1.45vw, 1.34rem);
    letter-spacing: -0.02em;
}

.cinema-theatre-showtime-row .cinema-theatre-row-head p {
    color: rgba(235, 229, 245, 0.48);
    font-size: 0.88rem;
}

.cinema-theatre-showtime-row .cinema-showtime-chips {
    gap: 8px;
}

.cinema-theatre-showtime-row .cinema-showtime-chip {
    min-width: 0;
    min-height: 34px !important;
    height: 34px !important;
    padding: 0 15px !important;
    border-radius: 10px !important;
    color: rgba(255, 255, 255, 0.86);
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.12);
    font-size: 0.8rem !important;
    font-weight: 850;
}

@media (max-width: 720px) {
    .cinema-theatre-showtime-row {
        grid-template-columns: 72px minmax(0, 1fr) !important;
        gap: 12px !important;
        padding: 13px !important;
    }

    .cinema-theatre-row-media {
        width: 72px;
    }

    .cinema-theatre-row-icon {
        width: 64px !important;
        height: 64px !important;
        border-radius: 14px !important;
    }

    .cinema-theatre-showtime-row .cinema-card-times {
        padding-top: 10px;
    }

    .cinema-theatre-row-head .cinema-action-row.compact a {
        min-height: 36px;
        padding: 0 14px;
        font-size: 0.78rem;
    }

    .cinema-theatre-showtime-row .cinema-theatre-row-head {
        min-height: 58px;
        align-items: flex-start;
    }

    .cinema-theatre-showtime-row .cinema-showtime-chip {
        min-height: 34px;
        padding: 0 13px;
    }
}

.cinema-title-badges {
    gap: 10px !important;
    margin: 0 0 16px !important;
}

.cinema-title-badges span {
    min-height: 36px !important;
    padding: 0 16px !important;
    border-radius: 8px !important;
    color: #ffd166 !important;
    background: linear-gradient(180deg, rgba(255, 159, 10, 0.24), rgba(255, 159, 10, 0.11)) !important;
    border: 1px solid rgba(255, 159, 10, 0.26);
    font-size: 0.88rem !important;
    font-weight: 950 !important;
    letter-spacing: 0.18em !important;
}

.cinema-showtime-card.cinema-theatre-showtime-row {
    grid-template-columns: 116px minmax(0, 1fr) !important;
    gap: 22px !important;
    padding: 18px 20px !important;
    border-radius: 14px !important;
}

.cinema-theatre-row-media {
    width: 116px !important;
}

.cinema-theatre-row-icon {
    width: 104px !important;
    height: 104px !important;
    border-radius: 16px !important;
}

.cinema-theatre-row-icon.cinema-theatre-image {
    object-fit: cover !important;
    object-position: center !important;
}

.cinema-theatre-showtime-row .cinema-theatre-row-head {
    min-height: 104px !important;
}

.cinema-theatre-row-head .cinema-action-row.compact a {
    min-height: 38px !important;
    padding: 0 20px !important;
    border-radius: 12px !important;
    font-size: 0.84rem !important;
    font-weight: 900 !important;
}

.cinema-theatre-showtime-row .cinema-showtime-chip {
    border-radius: 10px !important;
}

@media (max-width: 720px) {
    .cinema-title-badges span {
        min-height: 32px !important;
        padding: 0 12px !important;
        font-size: 0.76rem !important;
    }

    .cinema-showtime-card.cinema-theatre-showtime-row {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        gap: 13px !important;
        padding: 14px !important;
        border-radius: 12px !important;
    }

    .cinema-theatre-row-media {
        width: 82px !important;
    }

    .cinema-theatre-row-icon {
        width: 76px !important;
        height: 76px !important;
        border-radius: 14px !important;
    }

    .cinema-theatre-showtime-row .cinema-theatre-row-head {
        min-height: 76px !important;
    }

    .cinema-theatre-row-head .cinema-action-row.compact a {
        min-height: 34px !important;
        padding: 0 14px !important;
        border-radius: 10px !important;
        font-size: 0.76rem !important;
    }
}

.cinema-showtime-card.cinema-theatre-showtime-row {
    grid-template-columns: 156px minmax(0, 1fr) !important;
    align-items: stretch !important;
}

.cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-media {
    align-self: stretch;
    display: flex;
    width: 156px !important;
}

.cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-icon {
    width: 100% !important;
    height: 100% !important;
    min-height: 154px;
    border-radius: 14px !important;
}

.cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-icon.cinema-theatre-image {
    object-fit: cover !important;
    object-position: center !important;
}

@media (max-width: 720px) {
    .cinema-showtime-card.cinema-theatre-showtime-row {
        grid-template-columns: 88px minmax(0, 1fr) !important;
    }

    .cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-media {
        width: 88px !important;
    }

    .cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-icon {
        min-height: 88px;
        border-radius: 12px !important;
    }
}

.cinema-browse-shell {
    --cinema-radius-panel: 14px;
    --cinema-radius-card: 12px;
    --cinema-radius-control: 10px;
    --cinema-space-xs: 8px;
    --cinema-space-sm: 12px;
    --cinema-space-md: 16px;
    --cinema-space-lg: 22px;
}

.cinema-browser-grid {
    gap: var(--cinema-space-md) !important;
}

.cinema-list-panel,
.cinema-detail-panel,
.cinema-empty-state {
    border-radius: var(--cinema-radius-panel) !important;
}

.cinema-list-panel {
    padding: var(--cinema-space-xs) !important;
    gap: var(--cinema-space-xs) !important;
}

.cinema-list-item {
    min-height: 76px !important;
    padding: 10px !important;
    border-radius: var(--cinema-radius-card) !important;
}

.cinema-list-item img,
.cinema-list-item .cinema-theatre-icon {
    border-radius: var(--cinema-radius-control) !important;
}

.cinema-detail-panel {
    padding: 20px !important;
}

.cinema-detail-hero {
    gap: 28px !important;
    align-items: start !important;
}

.cinema-detail-hero > img {
    border-radius: var(--cinema-radius-control) !important;
}

.cinema-title-badges {
    margin: 0 0 var(--cinema-space-md) !important;
}

.cinema-title-badges span {
    border-radius: var(--cinema-radius-control) !important;
}

.cinema-detail-panel h2 {
    margin: 0 0 18px !important;
}

.cinema-detail-meta {
    margin-top: 0 !important;
}

.cinema-detail-copy .cinema-quick-stats {
    margin-top: 18px !important;
    border-radius: var(--cinema-radius-card) !important;
    padding: 9px 12px !important;
}

.cinema-detail-copy .cinema-quick-stats i {
    border-radius: var(--cinema-radius-control) !important;
}

.cinema-detail-copy .cinema-movie-date-tabs {
    margin: var(--cinema-space-lg) 0 0 !important;
    gap: var(--cinema-space-sm) !important;
}

.cinema-movie-date-tab {
    border-radius: var(--cinema-radius-control) !important;
}

.cinema-section-heading {
    margin: var(--cinema-space-lg) 0 var(--cinema-space-sm) !important;
}

.cinema-showtime-list {
    gap: var(--cinema-space-sm) !important;
}

.cinema-movie-theatre-list {
    margin-top: var(--cinema-space-lg) !important;
}

.cinema-showtime-card.cinema-theatre-showtime-row {
    grid-template-columns: 148px minmax(0, 1fr) !important;
    gap: 20px !important;
    align-items: stretch !important;
    padding: var(--cinema-space-md) !important;
    border-radius: var(--cinema-radius-card) !important;
}

.cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-media {
    align-self: stretch !important;
    width: 148px !important;
}

.cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-icon {
    width: 100% !important;
    height: 100% !important;
    min-height: 148px !important;
    border-radius: var(--cinema-radius-control) !important;
}

.cinema-theatre-showtime-row .cinema-theatre-row-content {
    gap: 10px !important;
}

.cinema-theatre-showtime-row .cinema-theatre-row-head {
    min-height: 92px !important;
    align-items: center !important;
}

.cinema-theatre-showtime-row .cinema-theatre-row-head h3 {
    margin: 0 0 6px !important;
}

.cinema-theatre-showtime-row .cinema-theatre-row-head p {
    margin: 0 !important;
}

.cinema-theatre-showtime-row .cinema-card-times {
    padding-top: 10px !important;
}

.cinema-theatre-row-head .cinema-action-row.compact {
    gap: var(--cinema-space-xs) !important;
    margin-top: 0 !important;
}

.cinema-theatre-row-head .cinema-action-row.compact a,
.cinema-theatre-showtime-row .cinema-showtime-chip {
    border-radius: var(--cinema-radius-control) !important;
}

@media (max-width: 720px) {
    .cinema-detail-panel {
        padding: 14px !important;
    }

    .cinema-detail-hero {
        gap: 14px !important;
    }

    .cinema-showtime-card.cinema-theatre-showtime-row {
        grid-template-columns: 88px minmax(0, 1fr) !important;
        gap: 12px !important;
        padding: 12px !important;
    }

    .cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-media {
        width: 88px !important;
    }

    .cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-icon {
        min-height: 88px !important;
    }

    .cinema-theatre-showtime-row .cinema-theatre-row-head {
        min-height: 76px !important;
        align-items: start !important;
    }
}

.cinema-showtime-card.cinema-theatre-showtime-row {
    grid-template-columns: 118px minmax(0, 1fr) !important;
    padding: 14px !important;
    gap: 18px !important;
}

.cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-media {
    width: 118px !important;
}

.cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-icon {
    min-height: 118px !important;
}

.cinema-theatre-showtime-row .cinema-theatre-row-head {
    min-height: 72px !important;
}

.cinema-theatre-detail-hero {
    grid-template-columns: minmax(190px, 285px) minmax(0, 1fr) !important;
}

.cinema-theatre-detail-hero .cinema-theatre-large-icon {
    width: 100% !important;
    max-width: 285px;
    aspect-ratio: 2 / 3;
    height: auto !important;
    border-radius: var(--cinema-radius-control) !important;
    object-fit: cover;
}

.theatre-mode .cinema-showtime-card.movie-row {
    padding: 14px !important;
    border-radius: var(--cinema-radius-card) !important;
}

.theatre-mode .cinema-showtime-card.movie-row .cinema-movie-row-head {
    margin-bottom: 10px;
}

.theatre-mode .cinema-showtime-card.movie-row .cinema-format-stack {
    border-top: 1px solid rgba(255, 255, 255, 0.075);
    padding-top: 10px;
}

@media (max-width: 720px) {
    .cinema-showtime-card.cinema-theatre-showtime-row {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        padding: 12px !important;
    }

    .cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-media {
        width: 82px !important;
    }

    .cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-icon {
        min-height: 82px !important;
    }

    .cinema-theatre-showtime-row .cinema-theatre-row-head {
        min-height: 62px !important;
    }

    .cinema-theatre-detail-hero {
        grid-template-columns: 86px minmax(0, 1fr) !important;
    }
}

.cinema-showtime-card.cinema-theatre-showtime-row {
    grid-template-columns: 112px minmax(0, 1fr) !important;
    gap: 16px !important;
    padding: 12px !important;
}

.cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-media {
    width: 112px !important;
}

.cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-icon {
    min-height: 112px !important;
}

.cinema-theatre-showtime-row .cinema-theatre-row-head {
    min-height: 64px !important;
}

.theatre-mode .cinema-detail-hero.cinema-theatre-detail-hero {
    grid-template-columns: 190px minmax(0, 1fr) !important;
    gap: 28px !important;
    align-items: start !important;
}

.theatre-mode .cinema-theatre-detail-hero .cinema-theatre-large-icon {
    width: 190px !important;
    height: 190px !important;
    max-width: 190px !important;
    aspect-ratio: 1;
}

.theatre-mode .cinema-detail-panel h2 {
    max-width: 18ch !important;
    font-size: clamp(2.25rem, 4.6vw, 4.5rem) !important;
    line-height: 0.98 !important;
    margin-bottom: 14px !important;
}

.theatre-mode .cinema-detail-meta {
    margin-bottom: 12px !important;
}

.theatre-mode .cinema-action-row.compact {
    margin: 0 0 16px !important;
}

@media (max-width: 720px) {
    .cinema-showtime-card.cinema-theatre-showtime-row {
        grid-template-columns: 76px minmax(0, 1fr) !important;
    }

    .cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-media {
        width: 76px !important;
    }

    .cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-icon {
        min-height: 76px !important;
    }

    .theatre-mode .cinema-detail-hero.cinema-theatre-detail-hero {
        grid-template-columns: 82px minmax(0, 1fr) !important;
        gap: 14px !important;
    }

    .theatre-mode .cinema-theatre-detail-hero .cinema-theatre-large-icon {
        width: 82px !important;
        height: 82px !important;
    }

    .theatre-mode .cinema-detail-panel h2 {
        font-size: clamp(1.45rem, 6vw, 2.2rem) !important;
    }
}

.cinema-browse-shell {
    --cinema-radius-sm: 8px;
    --cinema-radius-md: 16px;
    --cinema-radius-lg: 24px;
    --cinema-transition: 220ms ease;
}

.cinema-list-panel {
    gap: 14px !important;
}

.cinema-list-item {
    border-radius: var(--cinema-radius-lg) !important;
    padding: 14px 16px !important;
    transition: transform var(--cinema-transition), background var(--cinema-transition), border-color var(--cinema-transition), box-shadow var(--cinema-transition), opacity var(--cinema-transition) !important;
}

.cinema-list-item img,
.cinema-list-item .cinema-theatre-icon {
    opacity: 1 !important;
    filter: none !important;
    transition: opacity var(--cinema-transition), filter var(--cinema-transition), transform var(--cinema-transition) !important;
}

.cinema-list-item.active img,
.cinema-list-item.active .cinema-theatre-icon,
.cinema-list-item:hover img,
.cinema-list-item:focus-visible img,
.cinema-list-item:hover .cinema-theatre-icon,
.cinema-list-item:focus-visible .cinema-theatre-icon {
    opacity: 1;
    filter: none;
}

.cinema-list-item:hover,
.cinema-list-item:focus-visible {
    transform: scale(1.02) !important;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.38), 0 0 24px rgba(255, 159, 10, 0.08) !important;
}

.cinema-list-copy strong {
    color: rgba(245, 245, 247, 0.82) !important;
    font-weight: 850 !important;
    letter-spacing: -0.018em;
}

.cinema-list-copy small {
    color: rgba(235, 235, 245, 0.48) !important;
    font-weight: 700 !important;
}

.cinema-list-item.active .cinema-list-copy strong {
    color: #ffffff !important;
    font-weight: 950 !important;
}

.cinema-list-item.active .cinema-list-copy small {
    color: rgba(245, 245, 247, 0.68) !important;
}

.cinema-detail-panel h2 {
    max-width: min(100%, 12.5ch) !important;
    font-size: clamp(1.95rem, 3.68vw, 3.78rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.055em !important;
}

.cinema-synopsis {
    max-width: 720px !important;
    line-height: 1.58 !important;
}

.cinema-detail-copy .cinema-quick-stats {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0 !important;
    width: auto !important;
    max-width: 100%;
    min-height: 42px;
    margin-top: 18px !important;
    padding: 4px 8px !important;
    border: 1px solid rgba(255, 255, 255, 0.095) !important;
    border-radius: var(--cinema-radius-md) !important;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.025)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
}

.cinema-detail-copy .cinema-quick-stats span {
    position: relative;
    min-height: 34px !important;
    padding: 6px 14px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: rgba(235, 235, 245, 0.74) !important;
    white-space: nowrap;
}

.cinema-detail-copy .cinema-quick-stats span + span::before {
    content: '';
    position: absolute;
    left: 0;
    top: 7px;
    bottom: 7px;
    width: 1px;
    background: rgba(255, 255, 255, 0.11);
}

.cinema-detail-copy .cinema-quick-stats i {
    width: 15px;
    text-align: center;
    color: rgba(255, 190, 72, 0.9) !important;
    font-size: 0.9rem !important;
}

.cinema-detail-copy .cinema-quick-stats strong {
    color: #ffffff !important;
    font-size: 1.02rem !important;
    line-height: 1;
}

.cinema-detail-copy .cinema-movie-date-tabs {
    gap: 10px !important;
    margin-top: 20px !important;
}

.cinema-movie-date-tab {
    width: 74px !important;
    min-height: 86px !important;
    border-radius: var(--cinema-radius-md) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
    background: rgba(255, 255, 255, 0.045) !important;
    color: rgba(235, 235, 245, 0.62) !important;
    transition: transform var(--cinema-transition), background var(--cinema-transition), border-color var(--cinema-transition), box-shadow var(--cinema-transition), color var(--cinema-transition) !important;
}

.cinema-movie-date-tab strong {
    font-size: 1.48rem !important;
    color: rgba(245, 245, 247, 0.82) !important;
}

.cinema-movie-date-tab:hover,
.cinema-movie-date-tab:focus-visible {
    transform: translateY(-2px) !important;
    border-color: rgba(255, 159, 10, 0.42) !important;
    background: rgba(255, 159, 10, 0.08) !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.28), 0 0 18px rgba(255, 159, 10, 0.07) !important;
}

.cinema-movie-date-tab.active {
    background: linear-gradient(180deg, rgba(255, 204, 0, 0.86), rgba(255, 167, 16, 0.78)) !important;
    border-color: rgba(255, 204, 0, 0.7) !important;
    color: rgba(26, 20, 0, 0.82) !important;
    box-shadow: 0 12px 24px rgba(255, 159, 10, 0.16) !important;
}

.cinema-movie-date-tab.active strong {
    color: #171300 !important;
}

.cinema-showtime-card.cinema-theatre-showtime-row {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    gap: 16px !important;
    padding: 16px 18px !important;
    border-radius: var(--cinema-radius-md) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.022) !important;
    transition: border-color var(--cinema-transition), background var(--cinema-transition), box-shadow var(--cinema-transition) !important;
}

.cinema-showtime-card.cinema-theatre-showtime-row:hover {
    border-color: rgba(255, 255, 255, 0.09) !important;
    background: linear-gradient(180deg, rgba(23, 23, 25, 0.94), rgba(12, 12, 14, 0.97)) !important;
}

.cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-media {
    align-items: center !important;
}

.cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-icon {
    width: 58px !important;
    height: 58px !important;
    border-radius: var(--cinema-radius-md) !important;
    opacity: 0.68;
    filter: grayscale(15%) saturate(0.78) brightness(0.74);
    box-shadow: inset 0 0 0 999px rgba(0, 0, 0, 0.34), 0 10px 22px rgba(0, 0, 0, 0.28) !important;
}

.cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-icon.cinema-theatre-image {
    opacity: 0.72;
    filter: grayscale(15%) saturate(0.72) brightness(0.72);
}

.cinema-theatre-showtime-row .cinema-theatre-row-content {
    gap: 10px !important;
}

.cinema-theatre-showtime-row .cinema-theatre-row-head {
    align-items: flex-start !important;
    gap: 12px !important;
}

.cinema-theatre-showtime-row .cinema-theatre-row-head h3 {
    margin-bottom: 4px !important;
    font-size: 1.05rem !important;
    line-height: 1.08 !important;
    color: rgba(245, 245, 247, 0.92) !important;
}

.cinema-theatre-showtime-row .cinema-theatre-row-head p {
    font-size: 0.73rem !important;
    line-height: 1.28 !important;
    color: rgba(235, 235, 245, 0.44) !important;
}

.cinema-theatre-showtime-row .cinema-card-times {
    margin-top: 0 !important;
}

.cinema-theatre-showtime-row .cinema-showtime-chips {
    gap: 8px !important;
    margin-top: 0 !important;
}

.cinema-theatre-showtime-row .cinema-showtime-chip {
    min-width: 68px !important;
    min-height: 36px !important;
    padding: 7px 12px !important;
    border-radius: var(--cinema-radius-sm) !important;
    font-size: 0.78rem !important;
    font-weight: 850 !important;
    transition: transform var(--cinema-transition), background var(--cinema-transition), border-color var(--cinema-transition), box-shadow var(--cinema-transition), color var(--cinema-transition) !important;
}

.cinema-theatre-showtime-row .cinema-showtime-chip:hover,
.cinema-theatre-showtime-row .cinema-showtime-chip:focus-visible {
    transform: translateY(-1px);
    box-shadow: 0 10px 20px rgba(255, 127, 115, 0.14) !important;
}

.cinema-theatre-row-head .cinema-action-row.compact {
    align-self: flex-start !important;
    margin-top: 0 !important;
    gap: 8px !important;
}

.cinema-theatre-row-head .cinema-action-row.compact a {
    min-height: 32px !important;
    padding: 7px 11px !important;
    border-radius: var(--cinema-radius-sm) !important;
    font-size: 0.72rem !important;
    transition: background var(--cinema-transition), border-color var(--cinema-transition), color var(--cinema-transition), box-shadow var(--cinema-transition), transform var(--cinema-transition) !important;
}

.cinema-theatre-row-head .cinema-action-row.compact a:hover,
.cinema-theatre-row-head .cinema-action-row.compact a:focus-visible {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.085) !important;
    border-color: rgba(255, 159, 10, 0.38) !important;
    box-shadow: 0 0 18px rgba(255, 159, 10, 0.08) !important;
}

@media (max-width: 900px) {
    .cinema-list-panel {
        gap: 12px !important;
    }

    .cinema-list-item:hover,
    .cinema-list-item:focus-visible {
        transform: none !important;
    }

    .cinema-detail-panel h2 {
        max-width: 100% !important;
        font-size: clamp(1.38rem, 6.2vw, 2.08rem) !important;
        line-height: 1.06 !important;
    }

    .cinema-detail-copy .cinema-quick-stats {
        width: 100% !important;
        overflow-x: auto;
        padding: 4px 6px !important;
    }

    .cinema-detail-copy .cinema-quick-stats span {
        padding: 6px 10px !important;
        font-size: 0.68rem !important;
    }

    .cinema-detail-copy .cinema-movie-date-tabs {
        gap: 8px !important;
    }

    .cinema-movie-date-tab {
        width: 62px !important;
        min-height: 76px !important;
        border-radius: 12px !important;
    }

    .cinema-movie-date-tab strong {
        font-size: 1.28rem !important;
    }

    .cinema-showtime-card.cinema-theatre-showtime-row {
        grid-template-columns: 50px minmax(0, 1fr) !important;
        gap: 10px !important;
        padding: 12px !important;
    }

    .cinema-showtime-card.cinema-theatre-showtime-row .cinema-theatre-row-icon {
        width: 44px !important;
        height: 44px !important;
        border-radius: 12px !important;
    }

    .cinema-theatre-showtime-row .cinema-theatre-row-head {
        display: block !important;
    }

    .cinema-theatre-row-head .cinema-action-row.compact {
        margin-top: 8px !important;
    }

    .cinema-theatre-showtime-row .cinema-showtime-chip {
        min-width: 62px !important;
        min-height: 34px !important;
        padding: 6px 10px !important;
    }
}

.cinema-structured-row {
    --cinema-row-media-w: 82px;
    --cinema-row-media-h: 104px;
    display: grid !important;
    grid-template-columns: var(--cinema-row-media-w) minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 16px !important;
    min-height: calc(var(--cinema-row-media-h) + 28px) !important;
    padding: 14px 16px !important;
}

.cinema-structured-row .cinema-row-media {
    width: var(--cinema-row-media-w) !important;
    height: var(--cinema-row-media-h) !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    align-self: start !important;
    flex: 0 0 var(--cinema-row-media-w) !important;
}

.cinema-structured-row .cinema-theatre-row-icon,
.cinema-structured-row .cinema-movie-row-poster {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    object-fit: cover !important;
    border-radius: 14px !important;
}

.cinema-structured-row .cinema-row-content {
    min-height: var(--cinema-row-media-h) !important;
    height: var(--cinema-row-media-h) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 8px !important;
    min-width: 0 !important;
}

.cinema-structured-row .cinema-row-top {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    min-width: 0 !important;
}

.cinema-structured-row .cinema-row-top > div:first-child {
    min-width: 0 !important;
}

.cinema-structured-row .cinema-row-top h3 {
    margin: 0 0 4px !important;
    max-width: 34ch !important;
    line-height: 1.12 !important;
    text-wrap: balance;
}

.cinema-structured-row .cinema-row-top p {
    margin: 0 !important;
    line-height: 1.25 !important;
}

.cinema-structured-row .cinema-row-divider {
    width: 100% !important;
    height: 1px !important;
    flex: 0 0 1px !important;
    background: rgba(255, 255, 255, 0.075) !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

.cinema-structured-row .cinema-row-bottom {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.cinema-structured-row .cinema-showtime-chips {
    align-items: flex-end !important;
    gap: 7px !important;
    margin: 0 !important;
}

.cinema-structured-row .cinema-showtime-chip {
    min-height: 34px !important;
    min-width: 64px !important;
    padding: 6px 11px !important;
}

.cinema-structured-row .cinema-action-row.compact {
    align-self: flex-start !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
}

.theatre-mode .cinema-showtime-card.movie-row .cinema-movie-row-head {
    display: flex !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.theatre-mode .cinema-showtime-card.movie-row .cinema-format-stack,
.theatre-mode .cinema-showtime-card.movie-row .cinema-card-times {
    margin-top: 0 !important;
}

@media (max-width: 900px) {
    .cinema-structured-row {
        --cinema-row-media-w: 62px;
        --cinema-row-media-h: 82px;
        gap: 12px !important;
        min-height: calc(var(--cinema-row-media-h) + 24px) !important;
        padding: 12px !important;
    }

    .cinema-structured-row .cinema-row-content {
        min-height: var(--cinema-row-media-h) !important;
        height: var(--cinema-row-media-h) !important;
        gap: 6px !important;
    }

    .cinema-structured-row .cinema-row-top {
        gap: 8px !important;
    }

    .cinema-structured-row .cinema-row-top h3 {
        max-width: 24ch !important;
        font-size: 0.92rem !important;
        line-height: 1.12 !important;
    }

    .cinema-structured-row .cinema-row-top p {
        font-size: 0.68rem !important;
    }

    .cinema-structured-row .cinema-showtime-chips {
        gap: 6px !important;
    }

    .cinema-structured-row .cinema-showtime-chip {
        min-width: 58px !important;
        min-height: 32px !important;
        padding: 5px 9px !important;
        font-size: 0.72rem !important;
    }

    .cinema-structured-row .cinema-action-row.compact a {
        min-height: 30px !important;
        padding: 6px 9px !important;
    }
}

.cinema-showtime-card.cinema-structured-row {
    grid-template-columns: var(--cinema-row-media-w) minmax(0, 1fr) !important;
}

.cinema-showtime-card.cinema-structured-row .cinema-row-media,
.cinema-showtime-card.cinema-structured-row .cinema-theatre-row-media,
.cinema-showtime-card.cinema-structured-row .cinema-movie-row-media {
    width: var(--cinema-row-media-w) !important;
    height: var(--cinema-row-media-h) !important;
}

.cinema-showtime-card.cinema-structured-row .cinema-theatre-row-icon,
.cinema-showtime-card.cinema-structured-row .cinema-theatre-row-icon.cinema-theatre-image,
.cinema-showtime-card.cinema-structured-row .cinema-movie-row-poster {
    width: 100% !important;
    height: 100% !important;
}

.cinema-showtime-card.cinema-structured-row {
    --cinema-row-media-w: 64px;
    --cinema-row-media-h: 92px;
    gap: 14px !important;
    min-height: calc(var(--cinema-row-media-h) + 24px) !important;
    padding: 12px 14px !important;
}

.cinema-showtime-card.cinema-structured-row .cinema-row-content {
    height: var(--cinema-row-media-h) !important;
    min-height: var(--cinema-row-media-h) !important;
    gap: 6px !important;
}

.cinema-showtime-card.cinema-structured-row .cinema-row-top h3 {
    max-width: 30ch !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cinema-showtime-card.cinema-structured-row .cinema-row-top p {
    display: -webkit-box !important;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.cinema-showtime-card.cinema-structured-row .cinema-row-divider {
    background: rgba(255, 255, 255, 0.055) !important;
}

.cinema-showtime-card.cinema-structured-row .cinema-showtime-chip {
    min-height: 31px !important;
    min-width: 58px !important;
    padding: 5px 10px !important;
}

.cinema-showtime-card.cinema-structured-row .cinema-movie-row-head img.cinema-movie-row-poster,
.theatre-mode .cinema-showtime-card.cinema-structured-row .cinema-movie-row-head img.cinema-movie-row-poster {
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    border-radius: 12px !important;
}

.cinema-showtime-card.cinema-structured-row .cinema-theatre-row-icon {
    border-radius: 12px !important;
}

@media (max-width: 900px) {
    .cinema-showtime-card.cinema-structured-row {
        --cinema-row-media-w: 56px;
        --cinema-row-media-h: 78px;
        gap: 10px !important;
        min-height: calc(var(--cinema-row-media-h) + 20px) !important;
        padding: 10px !important;
    }

    .cinema-showtime-card.cinema-structured-row .cinema-row-content {
        height: var(--cinema-row-media-h) !important;
        min-height: var(--cinema-row-media-h) !important;
        gap: 5px !important;
    }

    .cinema-showtime-card.cinema-structured-row .cinema-showtime-chip {
        min-height: 29px !important;
        min-width: 52px !important;
        padding: 4px 8px !important;
    }
}

.cinema-showtime-card.cinema-structured-row .cinema-theatre-row-icon,
.cinema-showtime-card.cinema-structured-row .cinema-theatre-row-icon.cinema-theatre-image {
    min-height: 0 !important;
    max-height: var(--cinema-row-media-h) !important;
}

@media (max-width: 900px) {
    .cinema-showtime-card.cinema-structured-row {
        --cinema-row-media-w: 64px;
        --cinema-row-media-h: 112px;
        min-height: calc(var(--cinema-row-media-h) + 20px) !important;
    }

    .cinema-showtime-card.cinema-structured-row .cinema-row-content {
        height: var(--cinema-row-media-h) !important;
        min-height: var(--cinema-row-media-h) !important;
    }

    .cinema-showtime-card.cinema-structured-row .cinema-action-row.compact {
        gap: 6px !important;
    }

    .cinema-showtime-card.cinema-structured-row .cinema-action-row.compact a {
        min-height: 28px !important;
        padding: 5px 8px !important;
        font-size: 0.66rem !important;
    }

    .cinema-showtime-card.cinema-structured-row .cinema-showtime-chip {
        min-height: 30px !important;
    }
}

@media (min-width: 1024px) {
    .mobile-hero.cinema-hero-active {
        height: auto;
        min-height: max(720px, 92vh);
        padding-top: 150px;
        padding-bottom: 72px;
        justify-content: flex-start;
    }

    .mobile-hero.cinema-hero-active .hero-content {
        position: relative;
        bottom: auto;
        left: auto;
        transform: none;
        z-index: 10;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        width: 100%;
        max-width: 1400px;
        padding: 0 2rem 2.5rem;
    }

    .mobile-hero.cinema-hero-active h1 {
        font-size: clamp(3rem, 4.7vw, 4.4rem);
        margin-bottom: 1rem;
    }

    .mobile-hero.cinema-hero-active .hero-content p {
        margin-bottom: 1.45rem !important;
    }

    .mobile-hero.cinema-hero-active .glass-sub-nav {
        max-width: min(1180px, calc(100vw - 56px));
        margin: 0 auto;
        padding: 0;
    }

    .mobile-hero.cinema-hero-active .glass-sub-nav.is-centered {
        max-width: min(760px, calc(100vw - 56px));
    }

    .mobile-hero.cinema-hero-active .glass-sub-inner {
        width: 100%;
        max-width: 1180px;
        margin: 0 auto;
        padding: 12px 42px 14px;
        border-radius: 34px;
        align-items: stretch;
        justify-content: flex-start;
    }

    .mobile-hero.cinema-hero-active .glass-sub-inner.is-centered {
        width: fit-content;
        max-width: calc(100vw - 96px);
        padding-inline: 28px;
        justify-content: center;
    }
}

.mobile-sub-grid.cinema-hero-movie-grid {
    gap: 16px;
    padding: 8px 2px 12px;
    scroll-snap-type: x proximity;
}

.mobile-sub-grid.cinema-hero-movie-grid.is-centered {
    flex: 0 1 auto;
    width: auto;
    justify-content: center;
}

.mobile-sub-grid.cinema-hero-movie-grid.is-centered .cinema-hero-movie-card {
    flex-basis: clamp(190px, 15vw, 230px);
}

.cinema-hero-movie-card {
    flex: 0 0 calc((100% - 64px) / 4.1);
    min-width: 0;
    border: 0;
    border-radius: 18px;
    background: transparent;
    color: #ffffff;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    overflow: visible;
    padding: 0;
    scroll-snap-align: start;
    text-align: center;
    transform-origin: center top;
    transition: transform 260ms cubic-bezier(0.34, 1.56, 0.64, 1), filter 260ms ease;
}

.cinema-hero-movie-card:hover,
.cinema-hero-movie-card:focus-visible {
    filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.42));
    outline: none;
    transform: translateY(-3px) scale(1.012);
}

.cinema-hero-movie-card:hover .cinema-hero-poster-wrap,
.cinema-hero-movie-card.active .cinema-hero-poster-wrap,
.cinema-hero-movie-card:focus-visible .cinema-hero-poster-wrap {
    border-color: var(--cinema-language-1, #ff9500);
    box-shadow: 0 0 0 1px var(--cinema-language-glow, rgba(255, 149, 0, 0.28)), 0 18px 34px rgba(0, 0, 0, 0.4);
}

.cinema-hero-poster-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 2 / 3;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    background: #101012;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.34);
    overflow: hidden;
    transition: border-color 260ms ease, box-shadow 260ms ease;
}

.cinema-hero-poster-wrap img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(1.08) saturate(1.12) contrast(1.04);
}

.cinema-hero-status-pill {
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 999px;
    background: linear-gradient(135deg, #35d35f, #087d38);
    box-shadow: 0 10px 20px rgba(8, 125, 56, 0.32);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 950;
    line-height: 1;
    white-space: nowrap;
}

.cinema-hero-status-pill.upcoming {
    background: linear-gradient(135deg, #ffb02e, #ff5e00);
    box-shadow: 0 10px 20px rgba(255, 94, 0, 0.34);
}

.cinema-hero-movie-copy {
    min-height: 94px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    padding: 10px 4px 0;
    text-align: center;
}

.cinema-hero-movie-title {
    max-width: 100%;
    color: #ffffff;
    display: -webkit-box;
    font-size: 0.95rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.18;
    overflow: hidden;
    overflow-wrap: anywhere;
    text-align: center;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.cinema-hero-card-cta {
    display: block;
    max-width: 100%;
    color: #ffb25f;
    -webkit-text-fill-color: #ffb25f;
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.1;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cinema-hero-language-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    max-width: 100%;
    padding: 0 11px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--cinema-language-1, #ff7a00), var(--cinema-language-2, #c83a00));
    box-shadow: 0 10px 22px var(--cinema-language-glow, rgba(255, 122, 0, 0.24));
    color: #ffffff;
    font-size: 0.74rem;
    font-weight: 950;
    line-height: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cinema-hero-movie-card-skeleton {
    aspect-ratio: 2 / 3.34;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.07));
    background-size: 220% 100%;
    border-radius: 16px;
    animation: cinemaSkeletonPulse 1.2s ease-in-out infinite;
}

.cinema-hero-movie-empty {
    flex: 0 0 100%;
    min-height: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.72);
    font-weight: 800;
    text-align: center;
}

body.light-mode .cinema-hero-movie-title {
    color: #1d1d1f;
    text-shadow: none;
}

body.light-mode .cinema-hero-card-cta {
    color: #bf4b00;
    -webkit-text-fill-color: #bf4b00;
}

body.light-mode .cinema-hero-movie-empty {
    color: rgba(29, 29, 31, 0.72);
}

@media (max-width: 1023px) {
    .cinema-hero-movie-card {
        flex-basis: min(46vw, 210px);
    }
}

.results-list.cinema-browser-active,
.mobile-results .results-list.cinema-browser-active {
    display: block !important;
    grid-template-columns: none !important;
    width: 100% !important;
    max-width: min(1500px, calc(100vw - 48px)) !important;
    margin: 0 auto !important;
}

.cinema-browse-shell.cinema-reboot {
    --cinema-reboot-bg: #0d0d0f;
    --cinema-reboot-panel: #151517;
    --cinema-reboot-panel-2: #1c1c1f;
    --cinema-reboot-line: rgba(255, 255, 255, 0.1);
    --cinema-reboot-text: #f5f5f7;
    --cinema-reboot-muted: rgba(235, 235, 245, 0.62);
    --cinema-reboot-orange: #ff5e00;
    --cinema-reboot-orange-2: #ff9500;
    --cinema-reboot-red: #ff5a4f;
    color: var(--cinema-reboot-text);
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 4px 0 28px;
    background: transparent;
}

.cinema-reboot-top-panel,
.cinema-reboot-detail-panel {
    position: relative;
    width: 100%;
    border: 1px solid var(--cinema-reboot-line);
    border-radius: 28px;
    background: linear-gradient(180deg, rgba(24, 24, 27, 0.98), rgba(11, 11, 13, 0.98));
    box-shadow: 0 22px 56px rgba(0, 0, 0, 0.34);
    overflow: hidden;
}

.cinema-reboot-top-panel {
    display: flex;
    justify-content: center;
    justify-self: center;
    padding: 6px 34px 8px;
    max-width: 100%;
    transition: max-width 220ms ease;
}

.cinema-reboot-empty-panel {
    width: min(100%, 520px);
    margin: clamp(12px, 4vh, 40px) auto 0;
    padding: 18px;
    border-radius: 32px;
    overflow: visible;
}

.cinema-reboot-empty-panel .cd-empty-state {
    padding: 0;
}

.cinema-reboot-empty-panel .cd-empty-state__card {
    width: min(100%, 430px);
}

.cinema-reboot-rail-frame {
    position: relative;
    width: min(100%, max-content);
    max-width: 100%;
}

.cinema-reboot-rail-frame:not(.is-centered) {
    width: 100%;
}

.cinema-reboot-top-panel.is-centered,
.cinema-reboot-top-panel:has(.cinema-reboot-rail-frame.is-centered) {
    max-width: calc(100% - 48px);
    width: max-content;
    margin-inline: auto;
    padding-inline: 24px;
    border-radius: 28px;
}

.cinema-reboot-rail {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: clamp(204px, 14vw, 238px);
    gap: 16px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 10px;
    padding: 30px 10px 18px;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.26) transparent;
}

.cinema-reboot-rail-frame.is-centered .cinema-reboot-rail {
    padding: 26px 8px 14px;
}

.cinema-reboot-rail::-webkit-scrollbar {
    height: 8px;
}

.cinema-reboot-rail::-webkit-scrollbar-track {
    background: transparent;
}

.cinema-reboot-rail::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.24);
    border-radius: 8px;
}

.cinema-reboot-movie-card {
    position: relative;
    width: 100%;
    min-width: 0;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    background: transparent;
    color: var(--cinema-reboot-text);
    cursor: pointer;
    display: block;
    overflow: hidden;
    scroll-snap-align: start;
    text-align: center;
    transition: border-color 260ms ease, background 260ms ease, box-shadow 260ms ease, transform 260ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.cinema-reboot-movie-card:hover,
.cinema-reboot-movie-card:focus-visible {
    border-color: var(--category-accent-1, rgba(255, 94, 0, 0.56));
    background: transparent;
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.46), 0 0 24px var(--category-accent-1, rgba(255, 94, 0, 0.26));
    outline: none;
    transform: translateY(-7px) scale(1.014);
}

.cinema-reboot-movie-card.active {
    border-color: rgba(255, 94, 0, 0.9);
    background: transparent;
    box-shadow: 0 0 0 1px rgba(255, 94, 0, 0.22), 0 18px 32px rgba(0, 0, 0, 0.42);
}

.cinema-reboot-movie-card.active:hover,
.cinema-reboot-movie-card.active:focus-visible {
    border-color: var(--category-accent-1, rgba(255, 94, 0, 0.92));
    background: transparent;
    box-shadow: 0 20px 38px rgba(0, 0, 0, 0.5), 0 0 28px var(--category-accent-1, rgba(255, 94, 0, 0.3));
    transform: translateY(-7px) scale(1.014);
}

.cinema-reboot-movie-card img {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    background: #101012;
    display: block;
    opacity: 1 !important;
    filter: brightness(1.42) saturate(1.38) contrast(1.1) !important;
    transform: translateZ(0);
}

.cinema-reboot-card-copy {
    min-height: 98px;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    align-items: start;
    gap: 8px;
    padding: 14px;
    text-align: center;
}

.cinema-reboot-card-copy strong,
.cinema-reboot-card-copy small {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cinema-reboot-card-copy strong {
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 850;
    line-height: 1.18;
    letter-spacing: 0;
    text-align: center;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    justify-self: center;
}

.cinema-reboot-card-copy small {
    align-self: end;
    justify-self: center;
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 900;
    line-height: 1;
    padding: 8px 11px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--cinema-language-1, var(--cinema-reboot-orange)), var(--cinema-language-2, var(--cinema-reboot-orange-2)));
    white-space: nowrap;
    box-shadow: 0 10px 22px var(--cinema-language-glow, rgba(255, 94, 0, 0.22));
}

.cinema-reboot-rail-arrow {
    position: absolute;
    top: 50%;
    z-index: 5;
    width: 44px;
    height: 44px;
    transform: translateY(-50%);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 50%;
    background: rgba(18, 18, 20, 0.64);
    color: var(--cinema-reboot-orange-2);
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    transition: opacity 180ms ease, transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.cinema-reboot-rail-arrow:hover,
.cinema-reboot-rail-arrow:focus-visible {
    border-color: rgba(255, 94, 0, 0.62);
    background: rgba(255, 94, 0, 0.12);
    color: #ffffff;
    outline: none;
    transform: translateY(-50%) scale(1.06);
}

.cinema-reboot-rail-arrow.left {
    left: 12px;
}

.cinema-reboot-rail-arrow.right {
    right: 12px;
}

.cinema-reboot-rail-arrow.is-hidden {
    opacity: 0;
    pointer-events: none;
    transform: translateY(-50%) scale(0.82);
}

.cinema-reboot-detail-panel {
    padding: 16px;
    border-radius: 28px;
}

.cinema-reboot-detail-head {
    display: grid;
    grid-template-columns: 126px minmax(0, 1fr);
    gap: 28px;
    align-items: start;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.cinema-reboot-detail-head > img {
    width: 126px;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    border-radius: 16px;
    background: #101012;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.3);
}

.cinema-reboot-detail-copy {
    min-width: 0;
}

.cinema-reboot-title-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: start;
    gap: 18px;
}

.cinema-reboot-eyebrow {
    display: inline-block;
    margin-bottom: 8px;
    color: var(--cinema-reboot-orange-2);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.cinema-reboot-title-row h2 {
    max-width: none !important;
    margin: 0 0 8px !important;
    color: #ffffff !important;
    font-size: clamp(1.7rem, 3vw, 3rem) !important;
    line-height: 1.05 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere;
}

.cinema-reboot-language-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0 15px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--cinema-language-1, var(--cinema-reboot-orange)), var(--cinema-language-2, var(--cinema-reboot-orange-2)));
    color: #ffffff;
    font-size: 0.96rem;
    font-weight: 950;
    line-height: 1;
    white-space: nowrap;
    box-shadow: 0 12px 24px var(--cinema-language-glow, rgba(255, 94, 0, 0.18));
}

.cinema-reboot-date-tabs {
    display: flex;
    gap: 8px;
    margin-top: 14px;
    overflow-x: auto;
    padding: 2px 0 6px;
    scroll-snap-type: x proximity;
}

.cinema-reboot-date-tab {
    flex: 0 0 68px;
    min-height: 70px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    background: #202023;
    color: var(--cinema-reboot-text);
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    font: inherit;
    scroll-snap-align: start;
}

.cinema-reboot-date-tab span,
.cinema-reboot-date-tab small {
    color: var(--cinema-reboot-muted);
    font-size: 0.68rem;
    font-weight: 850;
    line-height: 1;
}

.cinema-reboot-date-tab strong {
    color: #ffffff;
    font-size: 1.34rem;
    line-height: 1;
}

.cinema-reboot-date-tab:hover,
.cinema-reboot-date-tab:focus-visible,
.cinema-reboot-date-tab.active {
    border-color: rgba(255, 94, 0, 0.72);
    outline: none;
}

.cinema-reboot-date-tab.active {
    background: linear-gradient(135deg, var(--cinema-reboot-orange), var(--cinema-reboot-orange-2));
    color: #ffffff;
}

.cinema-reboot-date-tab.active span,
.cinema-reboot-date-tab.active small,
.cinema-reboot-date-tab.active strong {
    color: #ffffff;
}

.cinema-reboot-showtimes {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 18px;
}

.cinema-reboot-theatre-row {
    position: relative;
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 28px;
    align-items: stretch;
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 16px;
    background: var(--cinema-reboot-panel-2);
    padding: 12px;
    overflow: hidden;
    transition: border-color 260ms ease, background 260ms ease, box-shadow 260ms ease, transform 260ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

.cinema-reboot-theatre-row::before {
    content: '';
    position: absolute;
    inset: -80%;
    background: conic-gradient(
        from 0deg,
        var(--category-accent-1, #ff5e00) 0%,
        var(--category-accent-2, #ff9500) 30%,
        rgba(255, 49, 49, 0.95) 50%,
        var(--category-accent-2, #ff9500) 70%,
        var(--category-accent-1, #ff5e00) 100%
    );
    animation: rotateGoldenRing 6s linear infinite;
    opacity: 0;
    transition: opacity 260ms ease;
    z-index: 0;
    pointer-events: none;
}

.cinema-reboot-theatre-row::after {
    content: '';
    position: absolute;
    inset: 2px;
    border-radius: 16px;
    background: linear-gradient(180deg, rgba(32, 32, 35, 0.98), rgba(18, 18, 21, 0.98));
    opacity: 0;
    transition: opacity 260ms ease;
    z-index: 0;
    pointer-events: none;
}

.cinema-reboot-theatre-row:hover,
.cinema-reboot-theatre-row:focus-within {
    transform: translateY(-3px);
    border-color: rgba(255, 94, 0, 0.3);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4);
}

.cinema-reboot-theatre-row:hover::before,
.cinema-reboot-theatre-row:focus-within::before {
    opacity: 0.4; }
.cinema-reboot-theatre-row:hover::after,
.cinema-reboot-theatre-row:focus-within::after {
    opacity: 1;
}

.cinema-reboot-theatre-media,
.cinema-reboot-theatre-content {
    position: relative;
    z-index: 1;
}

.cinema-reboot-theatre-media {
    min-width: 0;
}

.cinema-reboot-theatre-image {
    width: 100%;
    height: 100%;
    min-height: 110px;
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(255, 94, 0, 0.15), rgba(0, 0, 0, 0.3));
    border: 1px solid rgba(255, 94, 0, 0.25);
    color: #ff5e00;
    font-size: 2rem;
    box-shadow: inset 0 0 20px rgba(255, 94, 0, 0.05);
}

.cinema-reboot-theatre-image i {
    filter: drop-shadow(0 0 10px rgba(255, 94, 0, 0.4));
}

.cinema-reboot-theatre-content {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 16px;
    padding-left: 6px;
}

.cinema-reboot-theatre-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.cinema-reboot-theatre-head h3 {
    margin: 0 0 5px;
    color: #ffffff;
    font-size: 1.28rem;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: 0;
}

.cinema-reboot-theatre-head p {
    margin: 0;
    color: var(--cinema-reboot-muted);
    font-size: 0.8rem;
    font-weight: 650;
    line-height: 1.35;
}

.cinema-reboot-theatre-head p i {
    color: var(--cinema-reboot-red);
    margin-right: 6px;
}

.cinema-reboot-row-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    flex: 0 0 auto;
}

.cinema-reboot-row-actions a {
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 14px;
    background: rgba(255, 94, 0, 0.08);
    border-color: rgba(255, 94, 0, 0.24);
    color: #ffb15c;
    text-decoration: none;
    font-size: 0.76rem;
    font-weight: 850;
    white-space: nowrap;
}

.cinema-reboot-row-actions a:hover,
.cinema-reboot-row-actions a:focus-visible {
    border-color: rgba(255, 94, 0, 0.58);
    background: rgba(255, 94, 0, 0.15);
    color: #ffffff;
    outline: none;
}

.cinema-reboot-showtime-stack,
.cinema-reboot-format-group,
.cinema-reboot-time-chips {
    min-width: 0;
}

.cinema-reboot-time-chips {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 10px;
}

.cinema-reboot-time-chips::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: min(100%, 980px);
    height: 1px;
    transform: translateX(-50%);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.13), transparent);
}

.cinema-reboot-time-chip {
    min-width: 68px;
    min-height: 36px;
    padding: 0 12px;
    border: 1px solid rgba(255, 94, 0, 0.3);
    border-radius: 14px;
    background: rgba(255, 94, 0, 0.1);
    color: #ffc28a;
    cursor: pointer;
    font: inherit;
    font-size: 0.82rem;
    font-weight: 850;
}

.cinema-reboot-time-chip:hover,
.cinema-reboot-time-chip:focus-visible {
    border-color: rgba(255, 94, 0, 0.72);
    background: rgba(255, 94, 0, 0.18);
    color: #ffffff;
    outline: none;
}

.cinema-browse-shell.cinema-reboot .cinema-muted,
.cinema-browse-shell.cinema-reboot .cinema-no-times,
.cinema-browse-shell.cinema-reboot .cinema-no-dates {
    color: var(--cinema-reboot-muted);
    font-size: 0.85rem;
    font-weight: 700;
}

.cinema-reboot-card-skeleton {
    aspect-ratio: 3 / 4;
    border-radius: 18px;
    background: #171719;
    overflow: hidden;
}

.cinema-reboot-card-skeleton span,
.cinema-reboot-card-skeleton b,
.cinema-reboot-card-skeleton i {
    display: block;
    background: linear-gradient(90deg, rgba(255,255,255,0.06), rgba(255,255,255,0.14), rgba(255,255,255,0.06));
    background-size: 220% 100%;
    animation: cinemaSkeletonPulse 1.2s ease-in-out infinite;
}

.cinema-reboot-card-skeleton span {
    width: 100%;
    height: 100%;
}

@media (max-width: 900px) {
    .results-list.cinema-browser-active,
    .mobile-results .results-list.cinema-browser-active {
        max-width: calc(100vw - 24px) !important;
    }

    .cinema-browse-shell.cinema-reboot {
        gap: 14px;
        padding-bottom: 20px;
    }

    .cinema-reboot-top-panel {
        padding: 6px 28px 8px;
    }

    .cinema-reboot-empty-panel {
        width: min(100%, 460px);
        margin-top: 12px;
        padding: 14px;
    }

    .cinema-reboot-rail {
        grid-auto-columns: minmax(156px, 172px);
        gap: 12px;
        scroll-padding-inline: 8px;
        padding: 26px 8px 16px;
    }

    .cinema-reboot-card-copy {
        min-height: 88px;
        padding: 12px;
    }

    .cinema-reboot-card-copy strong {
        font-size: 0.88rem;
    }

    .cinema-reboot-card-copy small {
        font-size: 0.72rem;
        padding: 6px 8px;
    }

    .cinema-reboot-rail-arrow {
        width: 36px;
        height: 36px;
    }

    .cinema-reboot-detail-panel {
        padding: 14px;
    }

    .cinema-reboot-detail-head {
        grid-template-columns: 86px minmax(0, 1fr);
        gap: 12px;
    }

    .cinema-reboot-detail-head > img {
        width: 86px;
    }

    .cinema-reboot-detail-copy h2 {
        font-size: clamp(1.34rem, 6vw, 2rem) !important;
    }

    .cinema-reboot-title-row {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .cinema-reboot-language-pill {
        justify-self: start;
        min-height: 32px;
        padding: 0 12px;
        font-size: 0.78rem;
    }

    .cinema-reboot-date-tabs {
        margin-top: 12px;
        gap: 8px;
    }

    .cinema-reboot-date-tab {
        flex-basis: 58px;
        min-height: 66px;
    }

    .cinema-reboot-date-tab strong {
        font-size: 1.16rem;
    }

    .cinema-reboot-theatre-head {
        flex-direction: column;
        gap: 10px;
    }

    .cinema-reboot-theatre-row {
        grid-template-columns: 74px minmax(0, 1fr);
        gap: 16px;
        padding: 12px;
    }

    .cinema-reboot-theatre-image {
        min-height: 96px;
        border-radius: 14px;
        font-size: 1.25rem;
    }

    .cinema-reboot-theatre-content {
        gap: 12px;
        padding-left: 0;
    }

    .cinema-reboot-theatre-head h3 {
        font-size: 1.02rem;
    }

    .cinema-reboot-row-actions {
        justify-content: flex-start;
    }

    .cinema-reboot-time-chip {
        min-width: 60px;
        min-height: 34px;
        padding: 0 10px;
        font-size: 0.76rem;
    }
}

body.light-mode .cinema-browse-shell.cinema-reboot {
    --cinema-reboot-bg: #f5f5f7;
    --cinema-reboot-panel: #ffffff;
    --cinema-reboot-panel-2: #f2f2f7;
    --cinema-reboot-line: rgba(0, 0, 0, 0.08);
    --cinema-reboot-text: #1d1d1f;
    --cinema-reboot-muted: rgba(60, 60, 67, 0.6);
}

body.light-mode .cinema-reboot-top-panel,
body.light-mode .cinema-reboot-detail-panel {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 248, 250, 0.98)) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06) !important;
    border-color: rgba(0, 0, 0, 0.05) !important;
}

body.light-mode .cinema-reboot-movie-card {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 250, 252, 0.98)) !important;
    border-color: rgba(0, 0, 0, 0.05) !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06) !important;
}

body.light-mode .cinema-reboot-movie-card:hover {
    background: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(248, 248, 251, 1)) !important;
    box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08) !important;
}

body.light-mode .cinema-reboot-movie-card.active {
    background: linear-gradient(180deg, rgba(255, 255, 255, 1), rgba(247, 247, 249, 1)) !important;
    border-color: var(--cinema-reboot-orange) !important;
    box-shadow: 0 0 0 1px rgba(255, 94, 0, 0.12), 0 14px 32px rgba(15, 23, 42, 0.08) !important;
}

body.light-mode .cinema-reboot-card-media {
    background: #ffffff !important;
}

body.light-mode .cinema-reboot-movie-card img {
    filter: brightness(1.08) saturate(1.14) contrast(1.08) !important;
}

body.light-mode .cinema-reboot-card-copy {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(255, 255, 255, 0.98)) !important;
}

body.light-mode .cinema-reboot-card-copy strong {
    color: #2a2a2e !important;
    opacity: 1 !important;
}

body.light-mode .cinema-reboot-card-copy small {
    box-shadow: 0 10px 22px var(--cinema-language-glow, rgba(255, 94, 0, 0.16)) !important;
}

body.light-mode .cinema-reboot-title-row h2 {
    color: #1d1d1f !important;
}

body.light-mode .cinema-reboot-date-tab {
    background: #ffffff !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    color: #1d1d1f !important;
}

body.light-mode .cinema-reboot-date-tab strong {
    color: #1d1d1f !important;
}

body.light-mode .cinema-reboot-date-tab span,
body.light-mode .cinema-reboot-date-tab small {
    color: rgba(60, 60, 67, 0.6) !important;
}

body.light-mode .cinema-reboot-date-tab.active {
    background: linear-gradient(135deg, var(--cinema-reboot-orange), var(--cinema-reboot-orange-2)) !important;
    color: #ffffff !important;
}

body.light-mode .cinema-reboot-date-tab.active * {
    color: #ffffff !important;
}

body.light-mode .cinema-reboot-theatre-row {
    background: #fbfbfd !important;
    border-color: rgba(0, 0, 0, 0.06) !important;
}

body.light-mode .cinema-reboot-theatre-row::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 250, 252, 0.98)) !important;
}

body.light-mode .cinema-reboot-theatre-head h3 {
    color: #1d1d1f !important;
}

body.light-mode .cinema-reboot-rail::-webkit-scrollbar-thumb {
    background: rgba(0, 0, 0, 0.12) !important;
}

body.light-mode .cinema-reboot-rail-arrow {
    background: rgba(255, 255, 255, 0.8) !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08) !important;
}

body.light-mode .cinema-reboot-time-chip {
    background: rgba(255, 94, 0, 0.06) !important;
    color: #ff5e00 !important;
    border-color: rgba(255, 94, 0, 0.15) !important;
}

body.light-mode .cinema-reboot-time-chip:hover {
    background: #ff5e00 !important;
    color: #ffffff !important;
}

body.light-mode .cinema-reboot-detail-head > img {
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08) !important;
}

body.light-mode .cinema-reboot-detail-head {
    border-bottom-color: rgba(0, 0, 0, 0.05) !important;
}


.event-l3-modal {
    background: #0A0A0C !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 0 50px 150px rgba(0, 0, 0, 0.9) !important;
    border-radius: 32px !important;
}

.event-l3-layout {
    display: grid;
    grid-template-columns: 1fr 420px;
    gap: 0;
    height: 100%;
}

.event-l3-main {
    padding: 50px;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,0.1) transparent;
}

.event-l3-sidebar {
    background: rgba(255, 255, 255, 0.02);
    border-left: 1px solid rgba(255, 255, 255, 0.05);
    padding: 50px 40px;
    display: flex;
    flex-direction: column;
    gap: 28px;
    overflow-y: auto;
}

.event-l3-gallery {
    position: relative;
    width: 100%;
    margin-bottom: 40px;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.5);
    background: #151518;
}

.event-l3-hero-main {
    width: 100%;
    height: 520px;
    object-fit: contain;
    background: #000;
}

.event-l3-thumbs {
    display: flex;
    gap: 12px;
    padding: 15px;
    background: rgba(0,0,0,0.4);
    backdrop-filter: blur(10px);
    overflow-x: auto;
    scrollbar-width: none;
}

.event-l3-thumb {
    width: 80px;
    height: 80px;
    border-radius: 12px;
    object-fit: cover;
    cursor: pointer;
    border: 2px solid transparent;
    transition: all 0.2s;
    flex-shrink: 0;
}

.event-l3-thumb.active {
    border-color: #FF9500;
    transform: scale(1.05);
}

.event-l3-title-row {
    margin-bottom: 30px;
}

.event-l3-title {
    font-size: 3.2rem;
    font-weight: 900;
    color: #FFF;
    line-height: 1.1;
    letter-spacing: -1px;
    margin-bottom: 15px;
}

.event-l3-about-text {
    font-size: 1.15rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.75);
    font-weight: 400;
}

.event-l3-about-text p {
    margin-bottom: 1.5rem;
}

.event-l3-pricing-section {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
    margin-top: 20px;
}

.event-l3-price-tier {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 20px;
    padding: 20px;
    text-align: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.event-l3-price-tier:hover {
    background: rgba(255, 255, 255, 0.08);
    transform: translateY(-4px);
    border-color: rgba(255, 149, 0, 0.3);
}

.event-l3-tier-name {
    font-size: 0.8rem;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.4);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 8px;
}

.event-l3-tier-price {
    font-size: 1.8rem;
    font-weight: 800;
    color: #FF9500;
    margin-bottom: 12px;
}

.event-l3-tier-btn {
    width: 100%;
    padding: 10px;
    background: rgba(255, 255, 255, 0.1);
    color: #FFF;
    border: none;
    border-radius: 10px;
    font-weight: 700;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.2s;
}

.event-l3-tier-btn:hover {
    background: #FF9500;
    color: #000;
}

.event-l3-sidebar-block {
    background: rgba(255, 255, 255, 0.03);
    border-radius: 24px;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, 0.05);
}

.event-l3-sidebar-label {
    font-size: 0.75rem;
    font-weight: 800;
    color: #FF9500;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.event-l3-sidebar-value {
    font-size: 1.1rem;
    font-weight: 600;
    color: #FFF;
    line-height: 1.4;
}

.event-l3-promoter {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 10px;
}

.event-l3-promoter-img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    padding: 2px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.event-l3-map-container {
    width: 100%;
    height: 350px;
    border-radius: 24px;
    overflow: hidden;
    background: #000;
    border: 1px solid rgba(255, 255, 255, 0.1);
    margin-top: 15px;
}

body.light-mode .event-l3-price-tier {
    background: #f7f8fa;
    border-color: rgba(0, 0, 0, 0.08);
}

body.light-mode .event-l3-sidebar-block {
    background: rgba(255, 255, 255, 0.84);
    border-color: rgba(0, 0, 0, 0.08);
}

body.light-mode .event-l3-sidebar-value {
    color: #1C1C1E;
}

.cinema-reboot-detail-actions {
    display: flex;
    justify-content: flex-start;
}

.cinema-reboot-detail-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(255, 94, 0, 0.14);
    border: 1px solid rgba(255, 149, 0, 0.3);
    color: var(--cinema-reboot-text);
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-decoration: none;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.cinema-reboot-detail-link:hover,
.cinema-reboot-detail-link:focus-visible {
    transform: translateY(-1px);
    background: linear-gradient(135deg, rgba(255, 94, 0, 0.88), rgba(255, 149, 0, 0.88));
    border-color: transparent;
    color: #111;
}

.event-l3-share-actions {
    --listing-l3-accent: #ff9500;
    --listing-l3-text: #ffffff;
    --listing-l3-border: rgba(255, 255, 255, 0.12);
}

.event-l3-share-actions {
    margin-top: auto;
}

.event-l3-share-actions .listing-l3-share-panel,
.event-l3-share-actions .listing-l3-line-action {
    background: rgba(255, 255, 255, 0.045);
    border-color: rgba(255, 255, 255, 0.12);
}

body.light-mode .event-l3-share-actions {
    --listing-l3-text: #1c1c1e;
    --listing-l3-border: rgba(0, 0, 0, 0.10);
}

body.light-mode .event-l3-share-actions .listing-l3-share-panel,
body.light-mode .event-l3-share-actions .listing-l3-line-action {
    background: rgba(255, 255, 255, 0.88);
    border-color: rgba(0, 0, 0, 0.10);
}


.movie-l3-body{--movie-l3-bg:#050505;--movie-l3-text:#fff;--movie-l3-muted:rgba(255,255,255,.62);--movie-l3-accent:#ff5e00;--brand-gradient:linear-gradient(135deg,#ffd700 0%,#ff5e00 100%);--glass-card:rgba(255,255,255,.045);--glass-border:rgba(255,255,255,.12);--movie-l3-control-bg:rgba(255,94,0,.08);--movie-l3-control-border:rgba(255,94,0,.22);--movie-l3-gradient-text:#1b1300;background:var(--movie-l3-bg);color:var(--movie-l3-text);font-family:'Inter',sans-serif;margin:0;overflow-x:hidden;padding-bottom:120px;min-height:100vh}

.movie-l3-body.light-mode{--movie-l3-bg:#f7f8fa;--movie-l3-text:#17171c;--movie-l3-muted:rgba(23,23,28,.64);--movie-l3-accent:#ff5e00;--glass-card:rgba(255,255,255,.84);--glass-border:rgba(0,0,0,.08);--movie-l3-control-bg:rgba(255,94,0,.08);--movie-l3-control-border:rgba(255,94,0,.22)}

.mobile-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
    height: 60px;
    background: rgba(13, 13, 13, 0.94);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 40px;
}

.movie-l3-body.light-mode .mobile-header {
    background: rgba(255, 255, 255, 0.94);
    border-bottom-color: rgba(0, 0, 0, 0.12);
}

.header-left { display: flex; align-items: center; gap: 15px; }

.back-btn-banner {
    width: 38px;
    height: 38px;
    background: var(--movie-l3-control-bg, rgba(255, 255, 255, 0.08));
    border: 1px solid var(--movie-l3-control-border, rgba(255, 255, 255, 0.06));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--movie-l3-text, #fff);
    text-decoration: none;
    transition: all 0.3s;
}
.back-btn-banner:hover { background: var(--movie-l3-accent, #fff); color: var(--movie-l3-gradient-text, #000); transform: scale(1.08); }

.round-btn {
    background: var(--movie-l3-control-bg, rgba(255, 255, 255, 0.1)) !important;
    border: 1px solid var(--movie-l3-control-border, rgba(255, 255, 255, 0.1)) !important;
    color: var(--movie-l3-text, #fff) !important;
    width: 38px; height: 38px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer;
}

.movie-hero-container {
    position: relative;
    width: 100%;
    height: 600px;
    background: #000;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-ambient-bg {
    position: absolute;
    inset: -20px;
    background-size: cover;
    background-position: center;
    filter: blur(30px) brightness(0.4);
    z-index: 1;
    transform: scale(1.1);
}

.hero-banner-img {
    position: relative;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    z-index: 5;
    box-shadow: 0 0 100px color-mix(in srgb, var(--cd-black) 80%, transparent);
}

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 40%, color-mix(in srgb, var(--cd-black) 80%, transparent) 100%);
    z-index: 10;
    pointer-events: none;
}

.hero-content {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 20;
    width: 100%;
    display: block;
    max-width: 1300px;
    padding: 0 40px 60px 40px;
    text-align: left;
}

.movie-hero-container .movie-l3-language-pill{min-height:52px;padding:0 28px;margin-bottom:20px;font-size:1.08rem;box-shadow:0 16px 34px var(--cinema-language-glow,rgba(255,94,0,.24))}

.hero-title {
    font-size: clamp(2.4rem, 5vw, 4.4rem);
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -1.5px;
    margin: 0;
    text-shadow: 0 10px 40px rgba(0,0,0,0.6);
    color: #FFF;
}

.vitals-section-new {
    max-width: 1300px;
    margin: 20px auto 40px;
    padding: 0 40px;
    position: relative;
    z-index: 100;
}

.vitals-container-5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:rgba(15,15,18,.6);backdrop-filter:blur(40px) saturate(180%);border:1px solid var(--glass-border);border-radius:24px;overflow:hidden;box-shadow:0 30px 60px #0008}
.movie-l3-body.light-mode .vitals-container-5{background:rgba(255,255,255,.9)}
.vital-box-new{display:flex;align-items:center;gap:18px;padding:30px 24px;border-right:1px solid var(--glass-border);min-width:0}
.vital-box-new:last-child { border-right: none; }
.v-icon{width:56px;height:56px;background:var(--movie-l3-control-bg);border-radius:16px;display:flex;align-items:center;justify-content:center;color:var(--movie-l3-accent);font-size:1.35rem}

.v-content { display: flex; flex-direction: column; min-width: 0; }
.v-label{font-size:.74rem;font-weight:900;text-transform:uppercase;letter-spacing:1.5px;color:var(--movie-l3-accent);margin-bottom:2px}
.v-value{font-size:1.15rem;font-weight:900;color:var(--movie-l3-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.movie-l3-main{max-width:1300px;margin:60px auto;padding:0 40px;display:grid;grid-template-columns:1fr 380px;gap:32px}
.pro-card{background:var(--glass-card);border:1px solid var(--glass-border);border-radius:24px;padding:42px;margin-bottom:40px}
.movie-showtimes-section{margin-bottom:40px}
.section-header{font-size:1.9rem;font-weight:900;margin-bottom:30px;display:flex;align-items:center;gap:15px}
.movie-l3-body .secondary-text,.movie-l3-muted{color:var(--movie-l3-muted);font-size:1.05rem;line-height:1.65}

.movie-poster-sidebar{position:sticky;top:110px;align-self:start}
.movie-poster-card{background:var(--glass-card);border:1px solid var(--glass-border);border-radius:28px;padding:16px;margin:0 0 40px}
.movie-poster-card img{display:block;width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:18px;background:rgba(255,255,255,.06)}

.cta-btn-pro{background:var(--brand-gradient,linear-gradient(135deg,#ffd700 0%,#ff5e00 100%));color:var(--movie-l3-gradient-text,#1b1300)!important;padding:22px;border-radius:20px;font-size:1.1rem;font-weight:900;text-transform:uppercase;width:100%;border:none;cursor:pointer;box-shadow:0 15px 35px rgba(255,94,0,.3);text-decoration:none;display:block}

.movie-date-heading{display:flex;align-items:center;gap:16px;margin:0 0 24px;color:var(--movie-l3-text);font-size:1.95rem;font-weight:900}
.movie-date-heading::before{content:"";width:9px;height:44px;border-radius:9px;background:var(--movie-l3-accent)}
.movie-l3-date-tabs{display:flex;gap:20px;overflow-x:auto;padding-bottom:24px;margin-bottom:26px;border-bottom:1px solid var(--glass-border)}
.movie-l3-date-tabs .nav-pill{flex:0 0 106px;min-height:154px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:18px 12px;background:var(--movie-l3-control-bg);border:1px solid var(--movie-l3-control-border);border-radius:28px;color:var(--movie-l3-text)!important;cursor:pointer;text-align:center}
.movie-l3-date-tabs .nav-pill.active{background:var(--brand-gradient);border-color:transparent;color:var(--movie-l3-gradient-text)!important;box-shadow:0 16px 32px rgba(255,129,0,.24)}
.movie-date-tab-month,.movie-date-tab-weekday{color:var(--movie-l3-muted);font-size:.9rem;font-weight:900;letter-spacing:.16em;line-height:1}
.movie-date-tab-day{font-size:3rem;font-weight:900;line-height:1}
.movie-l3-date-tabs .nav-pill.active .movie-date-tab-month,.movie-l3-date-tabs .nav-pill.active .movie-date-tab-weekday{color:var(--movie-l3-gradient-text)}

.theatre-list{display:grid;gap:22px}
.theatre-row-premium{display:grid;gap:20px;padding:34px 38px;background:color-mix(in srgb,var(--glass-card) 88%,#101113 12%);border:1px solid var(--glass-border);border-radius:28px;box-shadow:0 18px 42px #0003}
.movie-l3-body.light-mode .theatre-row-premium{background:#fff;box-shadow:0 16px 34px #0f172a14}
.theatre-info{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:start;gap:22px;min-width:0}
.theatre-logo-circle{width:88px;height:88px;min-width:88px;flex:0 0 88px;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.06);border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;overflow:hidden}
.theatre-logo-circle img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.theatre-logo-fallback{color:var(--movie-l3-text);opacity:.56}
.theatre-meta{min-width:0}
.theatre-meta h3{max-width:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:1.6rem;font-weight:900;line-height:1.16;margin:0 0 8px}
.theatre-meta p{color:var(--movie-l3-muted);font-size:1.12rem;line-height:1.45;margin:0}
.theatre-actions{display:grid;grid-template-columns:repeat(2,minmax(136px,180px));justify-content:flex-start;align-items:center;gap:14px;min-width:0;margin-top:2px;padding-top:18px;border-top:1px dashed var(--glass-border)}
.theatre-action-link{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:0 18px;border:1px solid var(--movie-l3-control-border);border-radius:14px;background:var(--movie-l3-control-bg);color:var(--movie-l3-text);font-size:.98rem;font-weight:900;text-decoration:none;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}
.theatre-action-link:hover,.theatre-action-link:focus-visible{background:var(--movie-l3-accent);border-color:var(--movie-l3-accent);color:var(--movie-l3-gradient-text);box-shadow:0 12px 28px #ff5e003d;transform:translateY(-1px);outline:none}
.theatre-action-link:active{transform:translateY(0) scale(.98)}
.theatre-action-link--disabled{opacity:.45;pointer-events:none}

.showtime-chips{display:flex;gap:12px;flex-wrap:nowrap;overflow-x:auto;max-width:100%;margin-top:24px;padding-top:18px;padding-bottom:4px;border-top:1px dashed var(--glass-border)}
.showtime-language-groups{display:grid;gap:14px;margin-top:24px;padding-top:18px;border-top:1px dashed var(--glass-border);min-width:0}
.showtime-language-group{display:grid;gap:8px}
.showtime-language-label{color:var(--movie-l3-muted);font-size:.72rem;font-weight:900;letter-spacing:0;text-transform:uppercase}
.showtime-language-group .showtime-chips{margin-top:0;padding-top:0;border-top:0}

.showtime-chip{min-height:50px;min-width:128px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;background:#ff95000d;border:1px solid var(--movie-l3-accent);border-radius:14px;font-size:1.08rem;font-weight:900;color:var(--movie-l3-accent);text-decoration:none;cursor:default}
.movie-l3-body.light-mode .showtime-chip{background:#ff5e0014;color:#a83a00;border-color:#a83a006b}

@media (max-width: 1100px) {
    .movie-l3-main { grid-template-columns: 1fr; padding: 0 20px; }
    .vitals-container-5 { grid-template-columns: 1fr 1fr; }
    .vitals-section-new { margin-top: -60px; padding: 0 20px; }
}

@media (max-width: 600px) {
    .movie-hero-container { height: 400px; }
    .vitals-container-5 { grid-template-columns: 1fr; }
    .hero-content { padding: 0 20px 40px 20px; }
    .hero-title { font-size: 2rem; }
    .pro-card { padding: 25px; }
}

.movie-page-root {
    width: 100%;
    min-height: 100vh;
}

.listing-l3-body{--listing-l3-bg:#050505;--listing-l3-text:#fff;--listing-l3-muted:rgba(255,255,255,.62);--listing-l3-card:rgba(255,255,255,.045);--listing-l3-border:rgba(255,255,255,.12);--listing-l3-accent:#ff5e00;margin:0;background:var(--listing-l3-bg);color:var(--listing-l3-text);font-family:'Inter',sans-serif;overflow-x:hidden}

.listing-l3-body.light-mode{--listing-l3-bg:#f7f8fa;--listing-l3-text:#17171c;--listing-l3-muted:rgba(23,23,28,.64);--listing-l3-card:rgba(255,255,255,.84);--listing-l3-border:rgba(0,0,0,.08)}

.l3-neighbor-nav {
    position: fixed;
    inset: 0;
    z-index: 1750;
    pointer-events: none;
}

.l3-neighbor-button {
    position: fixed;
    top: 50%;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #ffffff;
    background: rgba(5, 5, 5, 0.58);
    border: 1px solid rgba(255, 255, 255, 0.24);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.32);
    backdrop-filter: blur(20px) saturate(160%);
    -webkit-backdrop-filter: blur(20px) saturate(160%);
    pointer-events: auto;
    transform: translateY(-50%);
    transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.l3-neighbor-button.left {
    left: max(18px, env(safe-area-inset-left));
}

.l3-neighbor-button.right {
    right: max(18px, env(safe-area-inset-right));
}

.l3-neighbor-button:hover,
.l3-neighbor-button:focus-visible {
    background: linear-gradient(135deg, #ffd700 0%, #ff5e00 100%);
    border-color: rgba(255, 255, 255, 0.42);
    box-shadow: 0 22px 52px rgba(255, 94, 0, 0.28);
    color: #1b1300;
    transform: translateY(-50%) scale(1.04);
    outline: none;
}

body.light-mode .l3-neighbor-button {
    color: #17171c;
    background: rgba(255, 255, 255, 0.82);
    border-color: rgba(23, 23, 28, 0.14);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.14);
}

body.light-mode .l3-neighbor-button:hover,
body.light-mode .l3-neighbor-button:focus-visible {
    color: #1b1300;
}

.listing-page-root {
    min-height: 100vh;
}

.listing-l3-loader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--listing-l3-bg);
    color: var(--listing-l3-accent);
}

.listing-l3-loader .cd-reliability-state,
#eventPageLoader .cd-reliability-state {
    width: min(92vw, 900px);
    padding: 0;
}

.listing-l3-nav {
    background: rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(28px) saturate(180%);
}

.listing-l3-body.light-mode .listing-l3-nav {
    background: rgba(255, 255, 255, 0.76);
}

body.light-mode:is(.movie-l3-body,.listing-l3-body) :is(.back-btn-banner,.round-btn){background:rgba(23,23,28,.06)!important;border-color:rgba(23,23,28,.14)!important;color:var(--movie-l3-text,var(--listing-l3-text))!important;box-shadow:0 8px 24px rgba(15,23,42,.08)}
body.light-mode:is(.movie-l3-body,.listing-l3-body) :is(.back-btn-banner,.round-btn):hover{background:var(--movie-l3-text,var(--listing-l3-text))!important;border-color:var(--movie-l3-text,var(--listing-l3-text))!important;color:#fff!important}

.listing-l3-hero {
    position: relative;
    min-height: 620px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #000;
}

.listing-l3-ambient {
    position: absolute;
    inset: -36px;
    background-size: cover;
    background-position: center;
    filter: blur(34px) brightness(0.38) saturate(1.08);
    transform: scale(1.12);
    opacity: 0.92;
}

.listing-l3-hero-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.56;
}

.listing-l3-hero-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.48) 44%, rgba(0,0,0,0.28) 100%),
        linear-gradient(180deg, rgba(0,0,0,0.18) 0%, rgba(0,0,0,0.9) 100%);
}

.listing-l3-hero-content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 1300px;
    padding: 150px 40px 86px;
}

.listing-l3-category {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 18px;
    padding: 8px 15px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--listing-l3-accent) 22%, rgba(255,255,255,0.08));
    border: 1px solid color-mix(in srgb, var(--listing-l3-accent) 55%, transparent);
    color: #fff;
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1.2px;
}

.listing-l3-hero-content h1 {
    max-width: 920px;
    margin: 0;
    color: #fff;
    font-size: clamp(2.2rem, 6vw, 5.3rem);
    line-height: 0.96;
    font-weight: 900;
    letter-spacing: 0;
    text-shadow: 0 18px 54px rgba(0,0,0,0.48);
}

.listing-l3-hero-content p {
    max-width: 650px;
    margin: 20px 0 0;
    color: rgba(255,255,255,0.78);
    font-size: 1.05rem;
    font-weight: 650;
}

.listing-l3-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 34px;
}

.listing-l3-primary-action,
.listing-l3-secondary-action,
.listing-profile-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    text-decoration: none;
    border: none;
    font-family: inherit;
    appearance: none;
    cursor: pointer;
}

.listing-l3-primary-action {
    min-height: 54px;
    padding: 0 24px;
    border-radius: 16px;
    background: linear-gradient(135deg, #ffd700 0%, var(--listing-l3-accent) 100%);
    color: #111 !important;
    font-weight: 900;
    box-shadow: 0 18px 46px color-mix(in srgb, var(--listing-l3-accent) 30%, transparent);
}

.listing-l3-secondary-action {
    min-height: 54px;
    padding: 0 20px;
    border-radius: 16px;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.18);
    color: #fff !important;
    font-weight: 850;
    backdrop-filter: blur(16px);
}

.listing-l3-vitals {
    position: relative;
    z-index: 4;
    max-width: 1300px;
    margin: -48px auto 52px;
    padding: 0 40px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
}

.listing-l3-vital {
    min-width: 0;
    padding: 24px;
    background: rgba(14,14,18,0.74);
    border-top: 1px solid var(--listing-l3-border);
    border-bottom: 1px solid var(--listing-l3-border);
    border-right: 1px solid var(--listing-l3-border);
    backdrop-filter: blur(32px) saturate(180%);
}

.listing-l3-vital:first-child {
    border-left: 1px solid var(--listing-l3-border);
    border-radius: 22px 0 0 22px;
}

.listing-l3-vital:last-child {
    border-radius: 0 22px 22px 0;
}

.listing-l3-vital div {
    width: 38px;
    height: 38px;
    margin-bottom: 14px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--listing-l3-accent);
    background: color-mix(in srgb, var(--listing-l3-accent) 15%, transparent);
}

.listing-l3-vital span {
    display: block;
    margin-bottom: 5px;
    color: var(--listing-l3-accent);
    font-size: 0.58rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1.4px;
}

.listing-l3-vital strong {
    display: block;
    min-width: 0;
    color: #fff;
    font-size: 0.92rem;
    font-weight: 900;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.listing-l3-body.light-mode .listing-l3-vital {
    background: rgba(255,255,255,0.84);
}

.listing-l3-body.light-mode .listing-l3-vital strong {
    color: var(--listing-l3-text);
}

.listing-l3-main {
    max-width: 1300px;
    margin: 0 auto 90px;
    padding: 0 40px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 390px;
    gap: 38px;
}

.listing-l3-card,
.listing-l3-action-card {
    background: var(--listing-l3-card);
    border: 1px solid var(--listing-l3-border);
    border-radius: 26px;
    padding: 36px;
    margin-bottom: 32px;
    backdrop-filter: blur(22px);
}

.listing-l3-card h2,
.listing-l3-action-card h2 {
    margin: 0 0 18px;
    font-size: 1.35rem;
    font-weight: 900;
    color: var(--listing-l3-text);
}

.listing-l3-rich-text,
.listing-l3-action-card p,
.listing-l3-address {
    margin: 0;
    color: var(--listing-l3-muted);
    font-size: 1rem;
    line-height: 1.75;
}

.listing-l3-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.listing-l3-chip-row span {
    padding: 9px 13px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--listing-l3-accent) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--listing-l3-accent) 28%, transparent);
    color: var(--listing-l3-text);
    font-size: 0.78rem;
    font-weight: 800;
}

.listing-l3-photo-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.listing-l3-photo-tile {
    display: block;
    min-width: 0;
    aspect-ratio: 1.18 / 1;
    overflow: hidden;
    border-radius: 18px;
    border: 1px solid var(--listing-l3-border);
    background: rgba(255,255,255,0.055);
    text-decoration: none;
}

.listing-l3-photo-tile img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 180ms ease;
}

.listing-l3-photo-tile:hover img,
.listing-l3-photo-tile:focus-visible img {
    transform: scale(1.025);
}

.listing-l3-photo-tile:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--listing-l3-accent) 68%, transparent);
    outline-offset: 3px;
}

.listing-l3-review-list {
    display: grid;
    gap: 0;
}

.listing-l3-review-item {
    padding: 16px 0;
    border-top: 1px solid var(--listing-l3-border);
}

.listing-l3-review-item:first-child {
    border-top: 0;
    padding-top: 0;
}

.listing-l3-review-item:last-child {
    padding-bottom: 0;
}

.listing-l3-review-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 8px;
    color: var(--listing-l3-muted);
    font-size: 0.78rem;
    font-weight: 850;
}

.listing-l3-review-meta span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.listing-l3-review-meta i {
    color: var(--listing-l3-accent);
}

.listing-l3-review-item p {
    margin: 0;
    color: var(--listing-l3-text);
    font-size: 0.98rem;
    line-height: 1.62;
}

.listing-l3-hours {
    display: grid;
    gap: 10px;
}

.listing-l3-hours-row {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 0;
    border-bottom: 1px solid var(--listing-l3-border);
}

.listing-l3-hours-row:last-child {
    border-bottom: 0;
}

.listing-l3-hours-row span {
    color: var(--listing-l3-muted);
    font-weight: 800;
}

.listing-l3-hours-row strong {
    color: var(--listing-l3-text);
    text-align: right;
}

.listing-l3-hours-row.today span,
.listing-l3-hours-row.today strong {
    color: var(--listing-l3-accent);
}

.listing-l3-hours-row strong.closed {
    color: #ff453a;
}

.listing-l3-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.listing-l3-section-head h2 {
    margin: 0;
}

.listing-l3-section-head a {
    color: var(--listing-l3-accent);
    font-weight: 850;
    text-decoration: none;
}

.listing-l3-map {
    width: 100%;
    height: 320px;
    margin-top: 22px;
    border-radius: 22px;
    overflow: hidden;
    position: relative;
    background: rgba(255,255,255,0.05);
    border: 1px solid var(--listing-l3-border);
}

.listing-l3-map::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px),
        radial-gradient(circle at center, color-mix(in srgb, var(--listing-l3-accent) 18%, transparent), transparent 42%);
    background-size: 42px 42px, 42px 42px, 100% 100%;
    opacity: 0.9;
}

.listing-l3-map iframe {
    position: relative;
    width: 100%;
    height: 100%;
    border: 0;
    filter: saturate(0.94) contrast(1.02);
}

.listing-l3-map-overlay {
    position: absolute;
    left: 22px;
    right: 22px;
    bottom: 22px;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
    border-radius: 16px;
    color: var(--listing-l3-text);
    background: rgba(0,0,0,0.66);
    border: 1px solid rgba(255,255,255,0.14);
    backdrop-filter: blur(18px);
    font-weight: 800;
}

.listing-l3-body.light-mode .listing-l3-map-overlay {
    background: rgba(255,255,255,0.8);
    border-color: rgba(0,0,0,0.08);
}

.listing-l3-map-overlay i {
    color: var(--listing-l3-accent);
}

.listing-l3-sidebar {
    position: relative;
}

.listing-l3-action-card {
    position: sticky;
    top: 106px;
    text-align: center;
}

.listing-l3-action-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    color: var(--listing-l3-accent);
    background: color-mix(in srgb, var(--listing-l3-accent) 16%, transparent);
    border: 1px solid color-mix(in srgb, var(--listing-l3-accent) 34%, transparent);
    font-size: 1.45rem;
}

.listing-l3-action-stack {
    display: grid;
    gap: 12px;
    margin-top: 26px;
}

.listing-l3-action-stack .cta-btn-pro {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 18px;
    font-size: 0.92rem;
}

.listing-l3-line-action {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 16px;
    border-radius: 16px;
    color: var(--listing-l3-text);
    text-decoration: none;
    background: rgba(255,255,255,0.055);
    border: 1px solid var(--listing-l3-border);
    font-weight: 800;
    text-align: left;
    transition-property: transform, background-color, border-color, box-shadow, color;
    transition-duration: 150ms;
    transition-timing-function: ease;
    -webkit-tap-highlight-color: transparent;
}

.listing-l3-body.light-mode .listing-l3-line-action {
    background: rgba(255, 255, 255, 0.92);
    border-color: rgba(0, 0, 0, 0.10);
}

.listing-l3-line-action i {
    width: 20px;
    color: var(--listing-l3-accent);
    text-align: center;
}

.listing-l3-share-panel {
    padding: 14px;
    border-radius: 18px;
    background: rgba(255,255,255,0.045);
    border: 1px solid var(--listing-l3-border);
}

.movie-l3-body {
    --listing-l3-accent: var(--movie-l3-accent);
    --listing-l3-text: var(--movie-l3-text);
    --listing-l3-border: var(--glass-border);
}

.event-l3-body {
    --listing-l3-accent: var(--event-accent);
    --listing-l3-text: var(--event-text);
    --listing-l3-border: var(--glass-border);
}

:is(.movie-l3-body, .event-l3-body) .listing-l3-share-panel,
:is(.movie-l3-body, .event-l3-body) .listing-l3-line-action {
    background: var(--glass-card);
}

.listing-l3-body.light-mode .listing-l3-share-panel,
:is(.movie-l3-body, .event-l3-body).light-mode .listing-l3-share-panel,
:is(.movie-l3-body, .event-l3-body).light-mode .listing-l3-line-action {
    background: rgba(255, 255, 255, 0.9);
    border-color: rgba(0, 0, 0, 0.10);
}

.listing-l3-share-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.listing-l3-share-head > span {
    color: var(--listing-l3-text);
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.7px;
    text-transform: uppercase;
}

.listing-l3-copy-link,
.listing-l3-share-button {
    width: 42px;
    height: 42px;
    display: inline-grid;
    place-items: center;
    border-radius: 14px;
    border: 1px solid color-mix(in srgb, var(--listing-l3-accent) 28%, transparent);
    background: color-mix(in srgb, var(--listing-l3-accent) 13%, transparent);
    color: var(--listing-l3-text);
    text-decoration: none;
    cursor: pointer;
    transition-property: transform, background-color, border-color, box-shadow, color;
    transition-duration: 150ms;
    transition-timing-function: ease;
    -webkit-tap-highlight-color: transparent;
}

.listing-l3-copy-link:hover,
.listing-l3-copy-link:focus-visible,
.listing-l3-share-button:hover,
.listing-l3-share-button:focus-visible {
    color: #171006;
    background: linear-gradient(135deg, #ffd700 0%, var(--listing-l3-accent) 100%);
    border-color: transparent;
}

.listing-l3-line-action:focus-visible,
.listing-l3-action-stack .cta-btn-pro:focus-visible,
.listing-l3-copy-link:focus-visible,
.listing-l3-share-button:focus-visible {
    outline: 2px solid var(--listing-l3-accent);
    outline-offset: 3px;
}

.listing-l3-line-action:active,
.listing-l3-copy-link:active,
.listing-l3-share-button:active,
.listing-l3-action-stack .cta-btn-pro:active,
.listing-l3-line-action[data-l3-processing="true"],
.listing-l3-copy-link[data-l3-processing="true"],
.listing-l3-share-button[data-l3-processing="true"],
.listing-l3-action-stack .cta-btn-pro[data-l3-processing="true"] {
    transform: scale(0.96);
    border-color: color-mix(in srgb, var(--listing-l3-accent) 44%, var(--listing-l3-border));
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
}

.listing-l3-share-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
}

.listing-l3-share-grid .listing-l3-share-button {
    width: 100%;
}

.listing-l3-share-label {
    display: none;
}

.l3-action-toast {
    position: fixed;
    left: 50%;
    bottom: calc(26px + env(safe-area-inset-bottom));
    z-index: 13000;
    max-width: min(92vw, 360px);
    padding: 12px 16px;
    border-radius: 999px;
    color: #ffffff;
    background: rgba(18, 15, 12, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.16);
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.26);
    font-size: 0.9rem;
    font-weight: 850;
    line-height: 1.2;
    text-align: center;
    pointer-events: none;
    opacity: 0;
    transform: translate(-50%, 18px);
    transition-property: opacity, transform;
    transition-duration: 180ms;
    transition-timing-function: ease;
}

.l3-action-toast.show {
    opacity: 1;
    transform: translate(-50%, 0);
}

.listing-premium-shell .listing-l3-share-panel {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.14);
}

.premium-profile-active {
    background: var(--listing-premium-surface, #090806);
}

.listing-premium-shell {
    --listing-l3-text: #ffffff;
    --listing-l3-muted: rgba(255, 255, 255, 0.72);
    --listing-l3-card: rgba(255, 255, 255, 0.075);
    --listing-l3-border: rgba(255, 255, 255, 0.14);
    --listing-premium-glass: color-mix(in srgb, var(--listing-l3-accent) 14%, rgba(255,255,255,0.08));
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--listing-l3-accent) 12%, var(--listing-premium-surface, #090806)) 0%, var(--listing-premium-surface, #090806) 42%),
        var(--listing-premium-surface, #090806);
    color: var(--listing-l3-text);
}

.listing-premium-hero {
    position: relative;
    min-height: 82vh;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    isolation: isolate;
}

.listing-premium-ambient,
.listing-premium-hero-img,
.listing-premium-hero-overlay {
    position: absolute;
    inset: 0;
}

.listing-premium-ambient {
    background-size: cover;
    background-position: center;
    filter: blur(34px) saturate(1.18);
    transform: scale(1.08);
    opacity: 0.46;
    z-index: -3;
}

.listing-premium-hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: saturate(1.08) contrast(1.04);
    z-index: -2;
}

.listing-premium-hero-overlay {
    background:
        linear-gradient(90deg, rgba(0,0,0,0.86) 0%, rgba(0,0,0,0.56) 46%, rgba(0,0,0,0.16) 100%),
        linear-gradient(180deg, rgba(0,0,0,0.08) 0%, var(--listing-premium-surface, #090806) 100%);
    z-index: -1;
}

.listing-premium-hero-content {
    width: min(1180px, calc(100% - 64px));
    margin: 0 auto;
    padding: 150px 0 120px;
}

.listing-premium-badge {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 14px;
    padding: 9px 13px;
    border-radius: 999px;
    color: #15100a;
    background: linear-gradient(135deg, var(--listing-premium-secondary, #ffd166), var(--listing-l3-accent));
    font-size: 0.72rem;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    box-shadow: 0 18px 46px color-mix(in srgb, var(--listing-l3-accent) 28%, transparent);
}

.listing-premium-hero-content .listing-l3-category {
    display: flex;
    width: fit-content;
    margin-bottom: 18px;
}

.listing-premium-hero-content h1 {
    max-width: 900px;
    margin: 0;
    color: #fff;
    font-size: 4.4rem;
    line-height: 0.98;
    font-weight: 950;
    letter-spacing: 0;
    text-shadow: 0 20px 60px rgba(0,0,0,0.52);
}

.listing-premium-hero-content p {
    max-width: 720px;
    margin: 22px 0 0;
    color: rgba(255,255,255,0.82);
    font-size: 1.1rem;
    line-height: 1.7;
    font-weight: 650;
}

.listing-premium-vitals {
    margin-top: -58px;
}

.listing-premium-main {
    max-width: 1220px;
    margin: 0 auto 96px;
    padding: 0 40px;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
}

.listing-premium-story,
.listing-premium-offer,
.listing-premium-section-card,
.listing-premium-contact {
    background: rgba(255,255,255,0.065);
    border: 1px solid color-mix(in srgb, var(--listing-l3-accent) 26%, rgba(255,255,255,0.12));
    border-radius: 24px;
    backdrop-filter: blur(24px);
    box-shadow: 0 30px 70px rgba(0,0,0,0.24);
}

.listing-premium-story {
    padding: 40px;
}

.listing-premium-story > span,
.listing-premium-offer > span {
    display: inline-flex;
    margin-bottom: 12px;
    color: var(--listing-premium-secondary, #ffd166);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 1.2px;
    text-transform: uppercase;
}

.listing-premium-story h2,
.listing-premium-offer h2 {
    margin: 0;
    color: var(--listing-l3-text);
    font-size: 1.85rem;
    line-height: 1.12;
    font-weight: 950;
}

.listing-premium-story p,
.listing-premium-offer p,
.listing-premium-section-card p {
    color: var(--listing-l3-muted);
    line-height: 1.75;
}

.listing-premium-offer {
    padding: 34px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--listing-l3-accent) 22%, rgba(255,255,255,0.06)), rgba(255,255,255,0.055));
}

.listing-premium-offer a {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 8px;
    color: #111 !important;
    background: linear-gradient(135deg, var(--listing-premium-secondary, #ffd166), var(--listing-l3-accent));
    border-radius: 999px;
    padding: 13px 17px;
    font-weight: 950;
    text-decoration: none;
}

.listing-premium-section-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.listing-premium-section-card {
    padding: 28px;
}

.listing-premium-section-card i {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    color: var(--listing-premium-secondary, #ffd166);
    background: color-mix(in srgb, var(--listing-l3-accent) 16%, transparent);
}

.listing-premium-section-card h3 {
    margin: 18px 0 10px;
    color: var(--listing-l3-text);
    font-size: 1.05rem;
    font-weight: 950;
}

.listing-premium-gallery {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr;
    gap: 12px;
}

.listing-premium-gallery img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    border-radius: 18px;
    border: 1px solid var(--listing-l3-border);
}

.listing-premium-gallery img:first-child {
    grid-row: span 2;
    height: 472px;
}

.listing-premium-standard-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    align-items: start;
}

.listing-premium-standard-grid .listing-l3-card {
    margin-bottom: 0;
}

.listing-premium-contact {
    position: static;
    max-width: none;
    margin: 0;
}

.listing-premium-shell .listing-l3-line-action {
    background: rgba(255, 255, 255, 0.07);
    border-color: rgba(255, 255, 255, 0.14);
    color: var(--listing-l3-text);
}

.listing-l3-empty-state {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 80px 24px;
    text-align: center;
}

.listing-l3-empty-state i {
    color: var(--listing-l3-accent);
    font-size: 3rem;
    margin-bottom: 22px;
}

.listing-l3-empty-state h1 {
    margin: 0 0 12px;
    font-size: clamp(2rem, 5vw, 4rem);
    font-weight: 900;
}

.listing-l3-empty-state p {
    max-width: 520px;
    margin: 0 0 28px;
    color: var(--listing-l3-muted);
    line-height: 1.65;
}

.listing-l3-empty-state a,
.listing-l3-empty-state button {
    padding: 11px 15px;
    border: 0;
    border-radius: 12px;
    color: #111 !important;
    background: linear-gradient(135deg, #ffd700 0%, #ff9500 100%);
    font: inherit;
    font-weight: 900;
    text-decoration: none;
    cursor: pointer;
}

.listing-l3-empty-state button + a {
    margin-top: 12px;
}

.listing-profile-link {
    position: relative;
    min-height: 36px;
    padding: 0 2px;
    color: var(--category-accent-2, #ffb000) !important;
    background: transparent;
    border-radius: 0;
    font-size: 0.82rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0;
    text-transform: uppercase;
}

.listing-profile-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 24px;
    bottom: 7px;
    height: 2px;
    border-radius: 999px;
    background: currentColor;
    opacity: 0.28;
    transform: scaleX(0.72);
    transform-origin: left center;
    transition: opacity 180ms ease, transform 180ms ease;
}

.listing-profile-link i {
    display: inline-grid;
    width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--category-accent-1, #ff5e00) 16%, transparent);
    color: var(--category-accent-2, #ffb000);
    font-size: 0.72rem;
    transition: transform 180ms ease, background 180ms ease;
}

.listing-profile-link:hover,
.listing-profile-link:focus-visible {
    color: #ffd36a !important;
    outline: none;
}

.listing-profile-link:hover::after,
.listing-profile-link:focus-visible::after {
    opacity: 0.72;
    transform: scaleX(1);
}

.listing-profile-link:hover i,
.listing-profile-link:focus-visible i {
    background: color-mix(in srgb, var(--category-accent-1, #ff5e00) 30%, transparent);
    transform: translateX(3px);
}

.listing-card-l3-row {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

body.light-mode .listing-card-l3-row {
    border-top-color: rgba(0, 0, 0, 0.08);
}

body.light-mode .listing-profile-link {
    color: var(--category-accent-1, #d84b00) !important;
}

.listing-card-details-button {
    min-height: 34px;
    padding: 0 10px 0 14px;
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 999px;
    background: linear-gradient(135deg, #ff9500 0%, #ff5e00 100%) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(255, 94, 0, 0.28);
}

.listing-card-details-button::after {
    display: none;
}

.listing-card-details-button i {
    width: 22px;
    height: 22px;
    background: rgba(255, 255, 255, 0.18);
    color: #ffffff;
}

.listing-card-details-button:hover,
.listing-card-details-button:focus-visible,
body.light-mode .listing-card-details-button {
    color: #ffffff !important;
}

.search-profile-link {
    align-self: flex-start;
    margin-top: 12px;
}

@media (max-width: 1050px) {
    .listing-l3-vitals {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-top: -64px;
    }

    .listing-l3-vital,
    .listing-l3-vital:first-child,
    .listing-l3-vital:last-child {
        border: 1px solid var(--listing-l3-border);
        border-radius: 18px;
    }

    .listing-l3-main {
        grid-template-columns: 1fr;
    }

    .listing-l3-action-card {
        position: static;
    }

    .listing-premium-standard-grid,
    .listing-premium-section-grid {
        grid-template-columns: 1fr;
    }

    .listing-premium-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .listing-premium-gallery img:first-child {
        grid-row: auto;
        height: 230px;
    }
}

@media (max-width: 640px) {
    .l3-neighbor-button {
        top: 12%;
        width: 40px;
        height: 40px;
        font-size: 0.9rem;
    }

    .l3-neighbor-button.left {
        left: max(6px, env(safe-area-inset-left));
    }

    .l3-neighbor-button.right {
        right: max(6px, env(safe-area-inset-right));
    }

    .listing-l3-hero {
        min-height: 540px;
    }

    .listing-l3-hero-content {
        padding: 130px 20px 72px;
    }

    .listing-l3-hero-content h1 {
        font-size: 2.5rem;
    }

    .listing-l3-vitals,
    .listing-l3-main {
        padding-left: 18px;
        padding-right: 18px;
    }

    .listing-l3-vitals {
        grid-template-columns: 1fr;
    }

    .listing-l3-card,
    .listing-l3-action-card {
        padding: 24px;
        border-radius: 20px;
    }

    .listing-l3-hero-actions {
        display: grid;
    }

    .listing-l3-hours-row {
        display: grid;
        gap: 6px;
    }

    .listing-l3-hours-row strong {
        text-align: left;
    }

    .listing-premium-hero {
        min-height: 620px;
    }

    .listing-premium-hero-content {
        width: calc(100% - 36px);
        padding: 118px 0 70px;
    }

    .listing-premium-hero-content h1 {
        font-size: 2.65rem;
    }

    .listing-premium-hero-content p {
        font-size: 0.96rem;
        line-height: 1.55;
    }

    .listing-premium-main {
        padding-left: 18px;
        padding-right: 18px;
        gap: 18px;
    }

    .listing-premium-story,
    .listing-premium-offer,
    .listing-premium-section-card {
        padding: 24px;
        border-radius: 20px;
    }

    .listing-premium-gallery {
        grid-template-columns: 1fr;
    }

    .listing-premium-gallery img,
    .listing-premium-gallery img:first-child {
        height: 230px;
    }
}

@media (max-width: 768px) {
    .movie-l3-body .mobile-header,
    .listing-l3-body .mobile-header,
    .event-l3-body .mobile-header {
        display: none !important;
    }
}

@media (max-width: 700px) {
    .movie-l3-body,
    .listing-l3-body {
        padding-bottom: 34px !important;
    }

    .movie-l3-body.light-mode .mobile-header,
    .listing-l3-body.light-mode .mobile-header {
        background: rgba(255, 255, 255, 0.86) !important;
    }

    .movie-l3-body .logo,
    .listing-l3-body .logo {
        min-width: 0 !important;
    }

    .movie-l3-body .round-btn,
    .listing-l3-body .round-btn,
    .movie-l3-body .back-btn-banner,
    .listing-l3-body .back-btn-banner {
        width: 38px !important;
        height: 38px !important;
        flex: 0 0 38px !important;
    }

    .movie-hero-container {
        height: min(54vh, 410px) !important;
        min-height: 310px !important;
    }

    .movie-hero-container .hero-banner-img {
        width: auto !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        box-shadow: 0 0 70px color-mix(in srgb, var(--cd-black) 75%, transparent) !important;
    }

    .movie-hero-container .hero-content {
        padding: 0 18px 28px !important;
        text-align: left !important;
    }

    .movie-hero-container .movie-l3-language-pill{min-height:40px!important;padding:0 18px!important;margin-bottom:14px!important;font-size:.86rem!important}

    .movie-hero-container .hero-title {
        font-size: clamp(1.7rem, 8.4vw, 2.35rem) !important;
        line-height: 1.02 !important;
        letter-spacing: 0 !important;
    }

    .movie-hero-container .hero-subtitle {
        font-size: 0.88rem !important;
        line-height: 1.35 !important;
    }

    .movie-l3-body .vitals-section-new {
        margin: -28px auto 22px !important;
        padding: 0 12px !important;
    }

    .movie-l3-body .vitals-container-5 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
        overflow: visible !important;
    }

    .movie-l3-body .vital-box-new {
        min-width: 0 !important;
        gap: 10px !important;
        padding: 13px 12px !important;
        border: 1px solid var(--glass-border) !important;
        border-radius: 16px !important;
        background: rgba(15, 15, 18, 0.78) !important;
        backdrop-filter: blur(20px) saturate(160%) !important;
        -webkit-backdrop-filter: blur(20px) saturate(160%) !important;
    }

    .movie-l3-body.light-mode .vital-box-new {
        background: rgba(255, 255, 255, 0.9) !important;
    }

    .movie-l3-body .vital-box-new:nth-child(4) {
        grid-column: 1 / -1;
    }

    .movie-l3-body .v-icon {
        width: 34px !important;
        height: 34px !important;
        border-radius: 11px !important;
        flex: 0 0 auto !important;
    }

    .movie-l3-body .v-content {
        min-width: 0 !important;
    }

    .movie-l3-body .v-value {
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .movie-l3-main {
        display: block !important;
        margin: 0 auto 36px !important;
        padding: 0 12px !important;
    }

    .movie-l3-body .pro-card,
    .movie-l3-body .movie-poster-card {
        padding: 22px !important;
        border-radius: 22px !important;
        margin-bottom: 16px !important;
    }

    .movie-l3-body .movie-poster-sidebar {
        position: static !important;
    }

    .movie-l3-date-tabs {
        gap: 10px !important;
        margin-bottom: 14px !important;
        padding-bottom: 12px !important;
    }

    .movie-l3-date-tabs .nav-pill{flex-basis:88px!important;min-width:88px!important;min-height:122px!important;justify-content:center!important;padding:12px!important;border-radius:18px!important}

    .theatre-row-premium{display:block!important;padding:18px!important}
    .theatre-info{display:grid!important;grid-template-columns:58px minmax(0,1fr)!important;gap:12px!important;align-items:flex-start!important}
    .theatre-logo-circle{width:58px!important;height:58px!important;min-width:58px!important;flex:0 0 58px!important}
    .theatre-meta{min-width:0!important}

    .theatre-meta h3 {
        font-size: 1.15rem !important;
        line-height: 1.2 !important;
    }

    .theatre-meta p {
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .theatre-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:14px!important;padding-top:14px!important}

    .theatre-action-link{min-height:48px!important;padding:0 12px!important;font-size:.82rem!important}

    .showtime-chips{margin-top:14px!important;padding-top:14px!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}

    .showtime-language-groups{margin-top:14px!important;padding-top:14px!important;gap:14px!important;min-width:0!important}

    .showtime-language-group .showtime-chips{margin-top:0!important;padding-top:0!important;border-top:0!important}

    .showtime-language-label {
        font-size: 0.7rem !important;
    }

    .showtime-chip{min-width:0!important;width:100%!important;min-height:42px!important;padding:0 10px!important;border-radius:12px!important;font-size:.88rem!important;white-space:nowrap!important}

    .listing-l3-hero {
        min-height: min(64vh, 470px) !important;
    }

    .listing-l3-hero-content {
        padding: 116px 18px 58px !important;
    }

    .listing-l3-hero-content h1 {
        max-width: 100% !important;
        font-size: clamp(2rem, 10vw, 3rem) !important;
        line-height: 1 !important;
    }

    .listing-l3-hero-content p {
        font-size: 0.94rem !important;
        line-height: 1.4 !important;
    }

    .listing-l3-hero-actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
    }

    .listing-l3-primary-action,
    .listing-l3-secondary-action {
        min-height: 48px !important;
        padding: 0 12px !important;
        border-radius: 14px !important;
        font-size: 0.82rem !important;
        white-space: nowrap !important;
    }

    .listing-l3-primary-action:first-child {
        grid-column: 1 / -1;
    }

    .listing-l3-vitals {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin: -30px auto 24px !important;
        padding: 0 12px !important;
    }

    .listing-l3-vital,
    .listing-l3-vital:first-child,
    .listing-l3-vital:last-child {
        padding: 14px !important;
        border-radius: 16px !important;
    }

    .listing-l3-vital:nth-child(3) {
        grid-column: 1 / -1;
    }

    .listing-l3-vital div {
        width: 32px !important;
        height: 32px !important;
        margin-bottom: 10px !important;
        border-radius: 10px !important;
    }

    .listing-l3-vital strong {
        font-size: 0.82rem !important;
    }

    .listing-l3-main {
        display: block !important;
        margin-bottom: 36px !important;
        padding: 0 12px !important;
    }

    .listing-l3-card,
    .listing-l3-action-card {
        padding: 22px !important;
        border-radius: 22px !important;
        margin-bottom: 16px !important;
    }

    .listing-l3-action-card {
        position: static !important;
    }

    .listing-l3-map {
        height: 240px !important;
        border-radius: 18px !important;
    }

    .listing-l3-line-action {
        min-width: 0 !important;
    }

    .listing-l3-line-action span {
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
}

.cinema-reboot-language-pill,
.cinema-hero-language-pill,
.movie-hero-container .movie-l3-language-pill {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

.logo-desi {
    background: linear-gradient(135deg, #ffd700 0%, #ff5e00 100%) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
}

body.dark-mode .logo-chicago,
.movie-l3-body:not(.light-mode) .logo-chicago,
.listing-l3-body:not(.light-mode) .logo-chicago {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
}

body.light-mode .logo-chicago,
.movie-l3-body.light-mode .logo-chicago,
.listing-l3-body.light-mode .logo-chicago {
    color: #17171c !important;
    -webkit-text-fill-color: #17171c !important;
}

@media (max-width: 640px) {
    .l3-neighbor-button {
        top: 50% !important;
        width: 48px !important;
        height: 48px !important;
        font-size: 1rem !important;
    }

    .l3-neighbor-button.left {
        left: max(10px, env(safe-area-inset-left)) !important;
    }

    .l3-neighbor-button.right {
        right: max(10px, env(safe-area-inset-right)) !important;
    }
}

/* Desktop responsive rescue: preserve the approved UI while fitting tablet-width desktop windows. */
@media (min-width: 641px) and (max-width: 1023px) {
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-nav-bar {
        top: 68px;
        padding-inline: 8px;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-nav-inner {
        max-width: calc(100vw - 88px);
        padding: 8px 12px;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-pill {
        padding: 11px 18px;
        font-size: 0.92rem;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-arrow.left {
        left: 8px;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-arrow.right {
        right: 8px;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero:not(.utility-hero-active):not(.news-hero-active) {
        min-height: 640px;
        padding-top: 190px;
        padding-bottom: 3rem;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero.cinema-hero-active {
        min-height: 660px;
        padding-top: 176px;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .hero-content {
        padding-top: 0;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero h1 {
        max-width: calc(100vw - 64px);
        font-size: clamp(3rem, 8vw, 4.25rem);
        line-height: 1.04;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .hero-content p {
        max-width: min(720px, calc(100vw - 64px)) !important;
        white-space: normal;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-nav,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .event-quick-filter-nav,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .owners-action-nav {
        max-width: calc(100vw - 48px);
        margin-left: auto;
        margin-right: auto;
        padding-inline: 0;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-inner,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .event-quick-filter-inner,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .owners-action-inner {
        width: 100%;
        max-width: 100%;
        padding: 10px 34px;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-inner::-webkit-scrollbar,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .event-quick-filter-inner::-webkit-scrollbar,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .owners-action-inner::-webkit-scrollbar {
        display: none;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-sub-grid {
        gap: 14px;
        padding: 12px 2px;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .sub-cat-btn {
        width: clamp(220px, 31vw, 270px);
        height: clamp(140px, 19vw, 165px);
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .cinema-hero-movie-card {
        flex-basis: clamp(170px, 25vw, 205px);
    }
}

@media (min-width: 1024px) and (max-width: 1365px) {
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-nav-inner {
        max-width: calc(100vw - 112px);
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-pill {
        padding-left: clamp(15px, 1.5vw, 20px);
        padding-right: clamp(15px, 1.5vw, 20px);
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-nav,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .event-quick-filter-nav,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .owners-action-nav {
        max-width: calc(100vw - 56px);
        padding-inline: 0;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-inner,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .event-quick-filter-inner,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .owners-action-inner {
        width: 100%;
        max-width: 100%;
        padding: 10px 42px;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-inner::-webkit-scrollbar,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .event-quick-filter-inner::-webkit-scrollbar,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .owners-action-inner::-webkit-scrollbar {
        display: none;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-sub-grid {
        gap: 14px;
        padding: 14px 2px;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .sub-cat-btn {
        width: clamp(220px, 22vw, 250px);
        height: clamp(142px, 15vw, 160px);
    }
}

@media (max-width: 1023px) {
    .promote-modal.desktop-wide {
        width: min(720px, calc(100vw - 40px)) !important;
        max-width: calc(100vw - 40px) !important;
        max-height: calc(100vh - 32px);
        max-height: calc(100dvh - 32px);
        overflow-x: hidden;
        overflow-y: hidden;
        background: var(--modal-bg) !important;
    }

    .promote-header-new {
        padding: 28px 36px;
    }

    .details-body.promote-body {
        padding: 32px 40px 44px;
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .form-grid-single-column {
        gap: 40px;
    }
}

@media (max-width: 640px) {
    .details-modal {
        align-items: flex-start;
        padding: 12px;
        overflow-y: auto;
    }

    .promote-modal.desktop-wide {
        width: calc(100vw - 24px) !important;
        max-width: calc(100vw - 24px) !important;
        max-height: calc(100vh - 24px);
        max-height: calc(100dvh - 24px);
        margin: 0 auto;
        border-radius: 24px !important;
    }

    .promote-header-new {
        padding: 24px 20px;
    }

    .promote-icon-container {
        width: 54px;
        height: 54px;
        border-radius: 18px;
        font-size: 23px;
    }

    .promote-modal .modal-title {
        font-size: clamp(1.55rem, 8vw, 2rem);
        letter-spacing: 0;
    }

    .promote-modal .modal-subtitle {
        font-size: 0.92rem;
    }

    .details-body.promote-body {
        padding: 24px 18px 28px;
    }

    .request-type-selector,
    .form-grid-2col {
        grid-template-columns: 1fr;
    }

    .type-option .option-content {
        padding: 18px;
    }

    .form-footer-desktop {
        align-items: stretch;
        flex-direction: column;
        gap: 18px;
    }

    .premium-button-v2 {
        width: 100%;
        padding: 18px 22px;
    }
}

/* Desktop responsive rescue v2: medium browser widths between full desktop and mobile. */
@media (min-width: 769px) and (max-width: 1365px) {
    html,
    body {
        max-width: 100%;
        overflow-x: clip;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-header {
        height: 64px;
        padding-inline: clamp(22px, 3vw, 38px);
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-nav-bar {
        top: 64px;
        padding: 10px 8px;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-nav-inner {
        width: max-content;
        max-width: calc(100vw - 168px) !important;
        min-width: 0;
        gap: 4px;
        padding: 8px 10px;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-nav-inner::-webkit-scrollbar {
        display: none;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-pill,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-pill.active {
        min-height: 42px;
        padding: 10px clamp(13px, 1.45vw, 18px) !important;
        font-size: clamp(0.82rem, 1.2vw, 0.94rem);
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-arrow {
        width: 48px;
        height: 48px;
        font-size: 1.1rem;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-arrow.left {
        left: 6px;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-arrow.right {
        right: 6px;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero:not(.news-hero-active) {
        height: auto !important;
        min-height: clamp(500px, 62vh, 620px) !important;
        padding-top: 128px !important;
        padding-bottom: 36px !important;
        justify-content: flex-start !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero.utility-hero-active {
        min-height: clamp(410px, 52vh, 540px) !important;
        padding-top: 118px !important;
        padding-bottom: 34px !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero.trending-hero-active {
        min-height: clamp(380px, 48vh, 470px) !important;
        padding-top: 110px !important;
        padding-bottom: 26px !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero.cinema-hero-active {
        min-height: clamp(540px, 64vh, 650px) !important;
        padding-top: 122px !important;
        padding-bottom: 30px !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .hero-content {
        padding: 1.2rem clamp(20px, 3vw, 36px) 1.8rem !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero h1 {
        max-width: calc(100vw - 72px);
        font-size: clamp(3rem, 6vw, 4.15rem) !important;
        line-height: 1.02;
        margin-bottom: 0.9rem;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero p {
        max-width: min(760px, calc(100vw - 72px)) !important;
        margin-bottom: 1.35rem !important;
        font-size: clamp(0.98rem, 1.45vw, 1.12rem) !important;
        line-height: 1.45;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-nav,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .event-quick-filter-nav,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .owners-action-nav {
        max-width: calc(100vw - 54px);
        margin-left: auto;
        margin-right: auto;
        padding-inline: 0;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-inner,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .event-quick-filter-inner,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .owners-action-inner {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding: 9px 36px;
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-inner::-webkit-scrollbar,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .event-quick-filter-inner::-webkit-scrollbar,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .owners-action-inner::-webkit-scrollbar {
        display: none;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-sub-grid,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .sub-categories-grid {
        min-width: 0 !important;
        gap: 10px;
        padding: 8px 0;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .sub-cat-btn {
        flex: 0 0 clamp(185px, 22vw, 235px) !important;
        width: clamp(185px, 22vw, 235px) !important;
        height: clamp(112px, 13vw, 145px) !important;
        border-radius: 18px;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-results {
        padding: 2.6rem 24px 4rem !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .results-controls-bar {
        max-width: min(1120px, calc(100vw - 48px)) !important;
        padding: 1rem 0 0.75rem !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .results-list:not(.compact-search-results):not(.cinema-browser-active):not(.daily-mode):not(.weekend-mode):not(.news-mode) {
        max-width: min(1120px, calc(100vw - 48px)) !important;
        margin: 0 auto !important;
        gap: 18px !important;
        padding-top: 18px !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .listing-card,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .trending-card,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .classified-result-card {
        min-width: 0;
    }

    .mobile-hero.cinema-hero-active .glass-sub-nav {
        max-width: min(920px, calc(100vw - 54px)) !important;
    }

    .mobile-hero.cinema-hero-active .glass-sub-inner {
        padding: 10px 28px 12px !important;
        border-radius: 28px;
        justify-content: center;
    }

    .mobile-sub-grid.cinema-hero-movie-grid {
        justify-content: center;
        gap: 14px;
        padding: 6px 0 10px !important;
    }

    .cinema-hero-movie-card,
    .mobile-sub-grid.cinema-hero-movie-grid.is-centered .cinema-hero-movie-card {
        flex: 0 0 clamp(165px, 18vw, 205px) !important;
        max-width: 205px;
    }

    .cinema-hero-movie-copy {
        min-height: 84px;
        gap: 5px;
        padding-top: 8px;
    }

    .cinema-hero-status-pill {
        min-height: 24px;
        padding-inline: 10px;
        font-size: 0.64rem;
    }

    .cinema-hero-movie-title {
        font-size: 0.88rem;
    }

    .cinema-hero-card-cta {
        font-size: 0.72rem;
    }

    .cinema-hero-language-pill {
        min-height: 28px;
        font-size: 0.68rem;
    }

    .results-list.trending-mode {
        max-width: min(1080px, calc(100vw - 48px)) !important;
        gap: 18px !important;
        padding-top: 18px !important;
    }

    .results-list.trending-mode .trending-card {
        width: 100%;
        max-width: none !important;
        justify-self: stretch;
    }

    .trending-card-body {
        min-height: 0;
        padding: 14px;
    }

    .trending-card h3 {
        min-height: 0;
        font-size: 1rem;
    }

    .trending-home-controls {
        max-width: min(1080px, calc(100vw - 40px));
        padding: 16px;
    }

    .mobile-hero.trending-hero-active .trending-hero-cta-row {
        margin-top: 1rem;
    }

    .trending-hero-cta-row .trending-home-primary-cta,
    .trending-hero-whatsapp {
        min-height: 48px;
        border-radius: 16px;
    }

    .trending-home-filter-grid {
        grid-template-columns: minmax(240px, 1.2fr) repeat(2, minmax(140px, 1fr));
    }

    .trending-home-filter-grid label:nth-child(n+4) {
        grid-column: span 1;
    }

    .results-list.event-mode {
        gap: 18px !important;
    }

    :is(.event-mode, .event-search-mode) .event-card .card-image {
        aspect-ratio: 16 / 6.2 !important;
        background: rgba(8, 8, 10, 0.82) !important;
        overflow: hidden !important;
    }

    :is(.event-mode, .event-search-mode) .event-card .card-image::before {
        content: "";
        position: absolute;
        inset: -18px;
        background: var(--event-card-image) center / cover;
        filter: blur(18px) saturate(1.45) brightness(0.72);
        opacity: 0.9;
    }

    :is(.event-mode, .event-search-mode) .event-card .card-image img {
        position: relative;
        z-index: 1;
        object-fit: contain !important;
        object-position: center !important;
    }

    :is(.event-mode, .event-search-mode) .event-card .card-info {
        min-width: 0;
        padding: 0.85rem 0.95rem 0.95rem !important;
    }

    :is(.event-mode, .event-search-mode) .event-card h3 {
        min-height: 0 !important;
        margin: 0 0 0.6rem !important;
        padding-bottom: 0.6rem !important;
        font-size: 1.04rem !important;
        line-height: 1.2 !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    :is(.event-mode, .event-search-mode) .event-card .contact-info {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 0.55rem !important;
        margin-top: 0 !important;
    }

    :is(.event-mode, .event-search-mode) .event-card .event-fact,
    :is(.event-mode, .event-search-mode) .event-card .event-venue-link {
        min-height: 52px !important;
        gap: 10px !important;
        padding: 6px 4px !important;
        color: var(--text-white) !important;
        text-decoration: none !important;
    }

    :is(.event-mode, .event-search-mode) .event-card .event-fact i {
        width: 32px !important;
        height: 32px !important;
        border-radius: 12px !important;
        background: rgba(255, 94, 0, 0.1) !important;
        border: 1px solid rgba(255, 94, 0, 0.2) !important;
        color: var(--mobile-primary) !important;
        font-size: 0.92rem !important;
    }

    :is(.event-mode, .event-search-mode) .event-card .contact-text label {
        font-size: 0.62rem !important;
        letter-spacing: 0.08em !important;
    }

    :is(.event-mode, .event-search-mode) .event-card .contact-text span {
        font-size: 0.95rem !important;
        line-height: 1.18 !important;
        font-weight: 800 !important;
        color: rgba(255, 255, 255, 0.98) !important;
        text-shadow: 0 0 10px rgba(255, 255, 255, 0.18), 0 0 18px rgba(255, 94, 0, 0.16);
        white-space: normal;
        overflow-wrap: anywhere;
    }

    body.light-mode :is(.event-mode, .event-search-mode) .event-card .contact-text span {
        color: #232426 !important;
        text-shadow: 0 0 10px rgba(255, 94, 0, 0.24), 0 1px 0 rgba(255, 255, 255, 0.9);
    }

    :is(.event-mode, .event-search-mode) .event-card .event-venue-link {
        grid-column: 1 / 3 !important;
    }

    :is(.event-mode, .event-search-mode) .event-card .event-card-details-button {
        grid-column: 3 / 4 !important;
        align-self: center !important;
        justify-self: end !important;
        width: 120px !important;
        max-width: 100% !important;
        min-height: 36px !important;
        margin: 0 !important;
        padding: 0 7px 0 12px !important;
        gap: 7px !important;
        font-size: 0.72rem !important;
    }

    .results-list.classifieds-mode {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        max-width: min(1080px, calc(100vw - 48px)) !important;
        gap: 14px !important;
    }
}

@media (max-width: 768px) {
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .results-list.event-mode {
        grid-template-columns: 1fr !important;
        max-width: min(640px, calc(100vw - 32px)) !important;
        margin-inline: auto !important;
        gap: 18px !important;
        padding-top: 18px !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) :is(.event-mode, .event-search-mode) .event-card .card-image {
        aspect-ratio: 16 / 6.2 !important;
        background: rgba(8, 8, 10, 0.82) !important;
        overflow: hidden !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) :is(.event-mode, .event-search-mode) .event-card .card-image::before {
        content: "";
        position: absolute;
        inset: -18px;
        background: var(--event-card-image) center / cover;
        filter: blur(18px) saturate(1.45) brightness(0.72);
        opacity: 0.9;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) :is(.event-mode, .event-search-mode) .event-card .card-image img {
        position: relative;
        z-index: 1;
        object-fit: contain !important;
        object-position: center !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) :is(.event-mode, .event-search-mode) .event-card .card-info {
        padding: clamp(1.35rem, 5vw, 1.75rem) !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) :is(.event-mode, .event-search-mode) .event-card h3 {
        min-height: 0 !important;
        margin: 0 0 1.1rem !important;
        padding-bottom: 1rem !important;
        font-size: clamp(1.45rem, 4.8vw, 1.9rem) !important;
        line-height: 1.15 !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) :is(.event-mode, .event-search-mode) .event-card .contact-info {
        display: flex !important;
        flex-direction: column !important;
        gap: 18px !important;
        margin-top: 0 !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) :is(.event-mode, .event-search-mode) .event-card .event-fact,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) :is(.event-mode, .event-search-mode) .event-card .event-venue-link {
        display: flex !important;
        align-items: center !important;
        gap: 14px !important;
        min-height: 56px !important;
        padding: 0 !important;
        width: 100% !important;
        color: var(--text-white) !important;
        text-decoration: none !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) :is(.event-mode, .event-search-mode) .event-card .event-fact i {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 54px !important;
        width: 54px !important;
        height: 54px !important;
        border-radius: 18px !important;
        background: rgba(255, 94, 0, 0.1) !important;
        border: 1px solid rgba(255, 94, 0, 0.22) !important;
        color: var(--mobile-primary) !important;
        font-size: 1.05rem !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) :is(.event-mode, .event-search-mode) .event-card .contact-text {
        min-width: 0 !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) :is(.event-mode, .event-search-mode) .event-card .contact-text label {
        font-size: 0.72rem !important;
        letter-spacing: 0.12em !important;
        line-height: 1.1 !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) :is(.event-mode, .event-search-mode) .event-card .contact-text span {
        font-size: clamp(1.15rem, 4.2vw, 1.45rem) !important;
        line-height: 1.2 !important;
        font-weight: 800 !important;
        color: rgba(255, 255, 255, 0.98) !important;
        text-shadow: 0 0 10px rgba(255, 255, 255, 0.18), 0 0 18px rgba(255, 94, 0, 0.16);
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        overflow-wrap: anywhere !important;
    }

    body.light-mode:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) :is(.event-mode, .event-search-mode) .event-card .contact-text span {
        color: #232426 !important;
        text-shadow: 0 0 10px rgba(255, 94, 0, 0.24), 0 1px 0 rgba(255, 255, 255, 0.9);
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) :is(.event-mode, .event-search-mode) .event-card .event-card-details-button {
        width: 100% !important;
        min-height: 58px !important;
        margin-top: 2px !important;
        justify-content: center !important;
        font-size: 0.95rem !important;
    }
}

body.light-mode :is(.event-mode, .event-search-mode) .event-card .contact-text span {
    color: #232426 !important;
    text-shadow: 0 0 10px rgba(255, 94, 0, 0.24), 0 1px 0 rgba(255, 255, 255, 0.9);
}

@media (min-width: 860px) and (max-width: 1365px) {
    .trending-home-controls {
        padding: 14px 16px;
    }

    .trending-home-filter-grid {
        grid-template-columns: minmax(190px, 1.25fr) repeat(4, minmax(112px, 1fr));
        gap: 10px;
    }

    .trending-home-search-box,
    .trending-home-filter-grid select {
        min-height: 44px;
    }
}

@media (min-width: 860px) and (max-width: 1023px) {
    .trending-home-filter-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 880px) and (max-width: 1365px) {
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .results-list:not(.compact-search-results):not(.cinema-browser-active):not(.daily-mode):not(.weekend-mode):not(.news-mode):not(.event-mode):not(.classifieds-mode):not(.trending-mode),
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .results-list.trending-mode {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 769px) and (max-width: 879px) {
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero:not(.news-hero-active) {
        min-height: clamp(500px, 58vh, 580px) !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero h1 {
        font-size: clamp(2.55rem, 7vw, 3.45rem) !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-results {
        padding-inline: 20px !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .results-list:not(.compact-search-results):not(.cinema-browser-active):not(.daily-mode):not(.weekend-mode):not(.news-mode),
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .results-list.event-mode,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .results-list.trending-mode {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        max-width: calc(100vw - 40px) !important;
    }

    .cinema-hero-movie-card,
    .mobile-sub-grid.cinema-hero-movie-grid.is-centered .cinema-hero-movie-card {
        flex-basis: clamp(150px, 24vw, 182px) !important;
    }
}

@media (min-width: 701px) and (max-width: 1365px) {
    .listing-l3-body .mobile-header,
    .movie-l3-body .mobile-header,
    .event-l3-body .mobile-header {
        height: 60px;
        padding-inline: clamp(26px, 4vw, 40px);
    }

    .l3-neighbor-button {
        top: auto !important;
        bottom: 24px !important;
        width: 44px !important;
        height: 44px !important;
        transform: none !important;
    }

    .l3-neighbor-button.left {
        left: max(14px, env(safe-area-inset-left)) !important;
    }

    .l3-neighbor-button.right {
        right: max(14px, env(safe-area-inset-right)) !important;
    }

    .l3-neighbor-button:hover,
    .l3-neighbor-button:focus-visible {
        transform: scale(1.04) !important;
    }

    .listing-l3-hero {
        min-height: clamp(460px, 56vh, 560px) !important;
    }

    .listing-l3-hero-content {
        max-width: min(1120px, calc(100vw - 72px));
        padding: 108px 0 66px !important;
    }

    .listing-l3-hero-content h1 {
        max-width: min(840px, calc(100vw - 72px)) !important;
        font-size: clamp(3rem, 5.8vw, 4.35rem) !important;
        line-height: 1.02 !important;
    }

    .listing-l3-hero-content p {
        max-width: min(620px, calc(100vw - 72px)) !important;
    }

    .listing-l3-hero-actions {
        margin-top: 24px !important;
    }

    .listing-l3-primary-action,
    .listing-l3-secondary-action {
        min-height: 48px !important;
        padding: 0 18px !important;
        border-radius: 14px !important;
    }

    .listing-l3-vitals {
        max-width: min(1120px, calc(100vw - 72px)) !important;
        margin: -34px auto 36px !important;
        padding: 0 !important;
        gap: 10px !important;
    }

    .listing-l3-vital,
    .listing-l3-vital:first-child,
    .listing-l3-vital:last-child {
        padding: 18px !important;
        border: 1px solid var(--listing-l3-border) !important;
        border-radius: 18px !important;
    }

    .listing-l3-vital div {
        width: 34px !important;
        height: 34px !important;
        margin-bottom: 10px !important;
    }

    .listing-l3-vital strong {
        white-space: normal !important;
        overflow-wrap: anywhere;
        font-size: 0.88rem !important;
        line-height: 1.22 !important;
    }

    .listing-l3-main {
        max-width: min(1120px, calc(100vw - 72px)) !important;
        margin: 0 auto 60px !important;
        padding: 0 !important;
        gap: 24px !important;
    }

    .listing-l3-card,
    .listing-l3-action-card {
        padding: 28px !important;
        border-radius: 22px !important;
        margin-bottom: 24px !important;
    }

    .listing-l3-action-card {
        position: static !important;
    }

    .event-hero-container,
    .movie-hero-container {
        height: clamp(460px, 56vh, 560px) !important;
        min-height: 420px !important;
    }

    .event-l3-body .hero-content,
    .movie-l3-body .hero-content {
        max-width: min(1120px, calc(100vw - 72px)) !important;
        padding: 0 0 42px !important;
    }

    .event-l3-body .hero-title,
    .movie-l3-body .hero-title {
        max-width: min(840px, calc(100vw - 72px)) !important;
        font-size: clamp(2.35rem, 4.8vw, 3.65rem) !important;
        line-height: 1.08 !important;
        letter-spacing: 0 !important;
    }

    .movie-l3-body .hero-banner-img {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: contain !important;
    }

    .event-l3-body .hero-banner-img {
        max-width: min(960px, calc(100vw - 96px)) !important;
        max-height: calc(100% - 28px) !important;
    }

    .event-l3-body .vitals-section-new,
    .movie-l3-body .vitals-section-new {
        max-width: min(1120px, calc(100vw - 72px)) !important;
        margin: -34px auto 36px !important;
        padding: 0 !important;
    }

    .event-l3-body .vitals-container-5,
    .movie-l3-body .vitals-container-5 {
        gap: 10px !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
        overflow: visible !important;
        backdrop-filter: none !important;
    }

    .event-l3-body .vital-box-new,
    .movie-l3-body .vital-box-new {
        min-width: 0 !important;
        gap: 10px !important;
        padding: 16px !important;
        border: 1px solid var(--glass-border) !important;
        border-radius: 18px !important;
        background: rgba(15, 15, 18, 0.72) !important;
        backdrop-filter: blur(22px) saturate(160%) !important;
        -webkit-backdrop-filter: blur(22px) saturate(160%) !important;
    }

    .event-l3-body.light-mode .vital-box-new,
    .movie-l3-body.light-mode .vital-box-new {
        background: rgba(255, 255, 255, 0.9) !important;
    }

    .event-l3-body .v-icon,
    .movie-l3-body .v-icon {
        width: 36px !important;
        height: 36px !important;
        border-radius: 12px !important;
        flex: 0 0 auto !important;
        font-size: 0.98rem !important;
    }

    .event-l3-body .v-value,
    .movie-l3-body .v-value {
        white-space: normal !important;
        overflow-wrap: anywhere;
        font-size: 0.92rem !important;
        line-height: 1.24 !important;
    }

    .event-l3-main,
    .movie-l3-main {
        max-width: min(1120px, calc(100vw - 72px)) !important;
        margin: 42px auto 64px !important;
        padding: 0 !important;
        gap: 24px !important;
    }

    .pro-card,
    .movie-poster-card {
        padding: 30px !important;
        border-radius: 22px !important;
        margin-bottom: 24px !important;
    }

    .movie-l3-date-tabs .nav-pill {
        flex-basis: 92px !important;
        min-height: 126px !important;
        border-radius: 20px !important;
        padding: 14px 10px !important;
    }
}

@media (min-width: 1101px) and (max-width: 1365px) {
    .listing-l3-vitals,
    .event-l3-body .vitals-container-5,
    .movie-l3-body .vitals-container-5 {
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    }

    .listing-l3-main {
        grid-template-columns: minmax(0, 1fr) minmax(280px, 330px) !important;
    }
}

@media (min-width: 880px) and (max-width: 1100px) {
    .listing-l3-vitals,
    .event-l3-body .vitals-container-5,
    .movie-l3-body .vitals-container-5 {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 701px) and (max-width: 879px) {
    .listing-l3-vitals,
    .event-l3-body .vitals-container-5,
    .movie-l3-body .vitals-container-5 {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 769px) and (max-width: 1365px) {
    .details-modal {
        padding: 24px;
        overflow: hidden;
    }

    .details-modal .modal-content,
    .details-modal .premium-modal {
        max-height: calc(100vh - 48px) !important;
        max-height: calc(100dvh - 48px) !important;
        overflow-x: hidden;
    }

    .modal-content.listing-card-vibe {
        width: min(620px, calc(100vw - 48px)) !important;
    }

    .modal-content.listing-card-vibe .details-body,
    .details-modal .modal-body,
    .details-modal .details-body {
        min-height: 0;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .details-modal .modal-body {
        max-height: calc(100vh - 48px) !important;
        max-height: calc(100dvh - 48px) !important;
    }

    .modal-content.listing-card-vibe .details-body {
        max-height: calc(100vh - 260px) !important;
        max-height: calc(100dvh - 260px) !important;
    }

    .promote-modal.desktop-wide {
        width: min(860px, calc(100vw - 48px)) !important;
        max-width: calc(100vw - 48px) !important;
        max-height: calc(100vh - 48px) !important;
        max-height: calc(100dvh - 48px) !important;
        overflow: hidden !important;
    }

    .promote-header-new {
        padding: 28px 36px !important;
    }

    .details-body.promote-body {
        max-height: calc(100vh - 214px) !important;
        max-height: calc(100dvh - 214px) !important;
        overflow-y: auto !important;
        padding: 30px 36px 38px !important;
    }

    #eventDetailModal .modal-content {
        width: min(1060px, calc(100vw - 48px)) !important;
    }

    .trending-modal-panel {
        width: min(900px, calc(100vw - 48px)) !important;
        max-height: calc(100vh - 48px) !important;
        max-height: calc(100dvh - 48px) !important;
        margin: 24px auto !important;
        overflow: hidden !important;
        display: flex;
        flex-direction: column;
    }

    .trending-modal-panel.is-vertical-flyer {
        width: min(1080px, calc(100vw - 48px)) !important;
    }

    .trending-modal-panel.is-vertical-flyer .trending-detail-shell {
        grid-template-columns: minmax(240px, 0.82fr) minmax(0, 1fr) !important;
        min-height: 0 !important;
    }

    .trending-modal-panel.is-vertical-flyer .trending-detail-media {
        min-height: 0 !important;
        max-height: calc(100vh - 48px) !important;
        max-height: calc(100dvh - 48px) !important;
    }

    .trending-modal-panel.is-vertical-flyer .trending-detail-body,
    .trending-detail-body {
        min-height: 0;
        max-height: calc(100vh - 48px) !important;
        max-height: calc(100dvh - 48px) !important;
        overflow-y: auto !important;
    }
}

@media (min-width: 769px) and (max-width: 840px) {
    .trending-modal-panel.is-vertical-flyer .trending-detail-shell {
        grid-template-columns: 1fr !important;
    }

    .trending-modal-panel.is-vertical-flyer .trending-detail-media {
        max-height: 42vh !important;
    }
}

/* Responsive Continuity Rescue
   Keep component identities stable between desktop and tablet widths. These rules
   intentionally sit after older breakpoint rules so component-specific rail/card
   styles win over generic fallback sizing. */
@media (min-width: 600px) and (max-width: 1365px) {
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero {
        --cd-continuity-rail-gutter: clamp(48px, 6vw, 96px);
        --cd-continuity-card-width: clamp(220px, 25vw, 280px);
        --cd-continuity-card-height: clamp(140px, 17vw, 180px);
        --cd-continuity-cinema-card-width: clamp(180px, 25vw, 230px);
    }

    /* Hero continuity: prevent L3 absolute hero-content styles from leaking into desktop category heroes. */
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero .hero-content {
        position: relative !important;
        inset: auto !important;
        bottom: auto !important;
        left: auto !important;
        transform: none !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        text-align: center !important;
    }

    /* Events filter rail continuity. */
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .event-quick-filter-nav {
        max-width: calc(100vw - var(--cd-continuity-rail-gutter)) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-inline: 0 !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .event-quick-filter-inner {
        align-items: center !important;
        flex-wrap: nowrap !important;
        width: fit-content !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 8px 10px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .event-quick-filter-inner::-webkit-scrollbar {
        display: none;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .event-quick-filter-inner .utility-sub-pill {
        flex: 0 0 auto !important;
        width: auto !important;
        height: auto !important;
        min-height: 44px !important;
        padding: 12px 18px !important;
        border-radius: 50px !important;
        white-space: nowrap !important;
    }

    /* Classifieds rail continuity. */
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero.classifieds-hero-active .glass-sub-nav.utility-sub-nav {
        min-height: 0 !important;
        padding-inline: 0 !important;
    }

    .mobile-hero.classifieds-hero-active .glass-sub-inner.utility-sub-inner {
        width: fit-content !important;
        max-width: 100% !important;
        min-height: 60px !important;
        padding: 8px 12px !important;
        border-radius: 60px !important;
        background: rgba(15, 15, 15, 0.6) !important;
        border: 1px solid rgba(255, 255, 255, 0.08) !important;
        box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4) !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
    }

    .mobile-hero.classifieds-hero-active .glass-sub-inner.utility-sub-inner::-webkit-scrollbar {
        display: none;
    }

    .mobile-hero.classifieds-hero-active .glass-sub-inner.utility-sub-inner .category-arrow {
        display: none !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-sub-grid.classifieds-filter-grid {
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        padding: 0 !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-sub-grid.classifieds-filter-grid::-webkit-scrollbar {
        display: none;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-sub-grid.classifieds-filter-grid .sub-cat-btn.classified-filter-btn {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        width: auto !important;
        height: auto !important;
        min-width: 0 !important;
        min-height: 44px !important;
        padding: 12px 14px !important;
        border: 0 !important;
        border-radius: 50px !important;
        background: transparent !important;
        box-shadow: none !important;
        overflow: visible !important;
        text-align: center !important;
        transform: none !important;
        white-space: nowrap !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-sub-grid.classifieds-filter-grid .sub-cat-btn.classified-filter-btn.active {
        background: linear-gradient(135deg, #ff8a00, #f23673, #ff8a00) !important;
        box-shadow: 0 12px 34px rgba(242, 54, 115, 0.36) !important;
        color: #ffffff !important;
        transform: none !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-sub-grid.classifieds-filter-grid .sub-cat-btn.classified-filter-btn:active {
        transform: scale(0.96) !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-sub-grid.classifieds-filter-grid .sub-cat-btn.classified-filter-btn i,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-sub-grid.classifieds-filter-grid .classified-filter-label {
        flex: 0 0 auto !important;
    }

    /* Cinema rail continuity. */
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero.cinema-hero-active .cinema-language-nav,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-hero.cinema-hero-active .glass-sub-nav {
        max-width: calc(100vw - var(--cd-continuity-rail-gutter)) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-inline: 0 !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .cinema-language-inner {
        align-items: center !important;
        flex-wrap: nowrap !important;
        width: fit-content !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 8px 10px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .cinema-language-inner::-webkit-scrollbar {
        display: none;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .cinema-language-inner .cinema-language-pill {
        flex: 0 0 auto !important;
        width: auto !important;
        height: auto !important;
        min-height: 44px !important;
        padding: 12px 18px !important;
        border-radius: 50px !important;
        white-space: nowrap !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-sub-grid.cinema-hero-movie-grid {
        align-items: flex-start !important;
        flex-wrap: nowrap !important;
        width: max-content !important;
        max-width: none !important;
        gap: clamp(12px, 2vw, 18px) !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-sub-grid.cinema-hero-movie-grid::-webkit-scrollbar {
        display: none;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .cinema-hero-movie-card,
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-sub-grid.cinema-hero-movie-grid.is-centered .cinema-hero-movie-card {
        flex: 0 0 var(--cd-continuity-cinema-card-width) !important;
        width: var(--cd-continuity-cinema-card-width) !important;
        min-width: var(--cd-continuity-cinema-card-width) !important;
        max-width: 230px !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .cinema-hero-poster-wrap {
        aspect-ratio: 2 / 3 !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .cinema-hero-poster-wrap img {
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
    }

    /* Post/promote rail continuity. */
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .owners-action-nav {
        max-width: calc(100vw - var(--cd-continuity-rail-gutter)) !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-inline: 0 !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .owners-action-inner {
        align-items: center !important;
        flex-wrap: nowrap !important;
        width: fit-content !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: 8px 10px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .owners-action-inner::-webkit-scrollbar {
        display: none;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .owners-action-inner .owners-action-pill {
        flex: 0 0 auto !important;
        width: auto !important;
        height: auto !important;
        min-height: 44px !important;
        padding: 12px 18px !important;
        border-radius: 50px !important;
        white-space: nowrap !important;
    }

    /* Event/card rail continuity: image-card rails may scroll, but must not collapse into tiny tiles. */
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-sub-grid:not(.classifieds-filter-grid):not(.cinema-hero-movie-grid) .sub-cat-btn {
        flex: 0 0 var(--cd-continuity-card-width) !important;
        width: var(--cd-continuity-card-width) !important;
        height: var(--cd-continuity-card-height) !important;
        min-width: var(--cd-continuity-card-width) !important;
        border-radius: 20px !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-inner:not(.utility-sub-inner) {
        width: fit-content !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-inner:not(.utility-sub-inner) > .mobile-sub-grid:not(.classifieds-filter-grid) {
        width: max-content !important;
        max-width: none !important;
        flex: 0 0 auto !important;
    }
}

@media (min-width: 900px) and (max-width: 1365px) {
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-sub-grid.classifieds-filter-grid {
        gap: 3px !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .mobile-sub-grid.classifieds-filter-grid .sub-cat-btn.classified-filter-btn {
        padding: 12px 10px !important;
    }
}

/* Content-sized image-card trays: short rails center, long rails scroll with arrows. */
body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-inner:not(.utility-sub-inner) {
    --image-rail-gap: 18px;
    position: relative !important;
    width: fit-content !important;
    max-width: min(calc(100vw - 56px), 1180px) !important;
    padding: 14px 16px !important;
    justify-content: center !important;
    overflow: visible !important;
}

body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-inner.has-overflow:not(.utility-sub-inner) {
    width: min(calc(100vw - 56px), 1180px) !important;
    justify-content: flex-start !important;
}

body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-inner:not(.utility-sub-inner) > .mobile-sub-grid:not(.classifieds-filter-grid) {
    width: max-content !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    gap: var(--image-rail-gap) !important;
    padding: 0 !important;
    overflow: visible !important;
}

body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-inner.has-overflow:not(.utility-sub-inner) > .mobile-sub-grid:not(.classifieds-filter-grid) {
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 auto !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scrollbar-width: none !important;
}

body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-inner.has-overflow:not(.utility-sub-inner) > .mobile-sub-grid:not(.classifieds-filter-grid)::-webkit-scrollbar {
    display: none !important;
}

body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-inner.has-overflow:not(.utility-sub-inner) .category-arrow.left {
    left: -22px !important;
}

body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-inner.has-overflow:not(.utility-sub-inner) .category-arrow.right {
    right: -22px !important;
}

@media (min-width: 600px) and (max-width: 1365px) {
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) .glass-sub-inner:not(.utility-sub-inner) {
        --image-rail-gap: 14px;
        padding: 12px 14px !important;
    }
}

/* Event card continuity. */
@media (max-width: 768px) {
    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) :is(.event-mode, .event-search-mode) .event-card .card-image {
        aspect-ratio: 16 / 6.2 !important;
        background: rgba(8, 8, 10, 0.82) !important;
        overflow: hidden !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) :is(.event-mode, .event-search-mode) .event-card .card-image img {
        object-fit: contain !important;
        object-position: center !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) :is(.event-mode, .event-search-mode) .event-card .event-fact i {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 54px !important;
        width: 54px !important;
        height: 54px !important;
        border-radius: 18px !important;
        background: rgba(255, 94, 0, 0.1) !important;
        border: 1px solid rgba(255, 94, 0, 0.22) !important;
        color: var(--mobile-primary) !important;
    }

    body:not(.movie-l3-body):not(.listing-l3-body):not(.event-l3-body) :is(.event-mode, .event-search-mode) .event-card .event-venue-link {
        color: var(--text-white) !important;
        text-decoration: none !important;
    }
}

/* Modal continuity. */
@media (max-width: 1365px) {
    .details-modal.active {
        overflow: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .details-modal .modal-content,
    .details-modal .premium-modal,
    .promote-modal.desktop-wide {
        max-height: calc(100vh - 32px) !important;
        max-height: calc(100dvh - 32px) !important;
        overflow-x: hidden;
    }

    .promote-modal.desktop-wide {
        max-width: calc(100vw - 32px) !important;
        overflow: hidden !important;
    }

    .details-modal .modal-body,
    .details-modal .details-body,
    .details-body.promote-body {
        min-height: 0 !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch;
    }
}
