/* Front-page visual system: shared rhythm, editorial dividers and a clear route to the catalogue. */
.front-intro,
.front-page .discovery-planner,
.front-discovery,
.front-cinema,
.front-catalogue-bridge,
.front-page .categories-section,
.front-page .why-section,
.front-page .social-section {
    max-width: var(--container);
    margin-inline: auto;
    padding-inline: clamp(1rem, 3vw, 2.5rem);
}

.section-kicker {
    margin: 0 0 0.45rem;
    color: #ffe68a;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.front-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.65fr);
    gap: clamp(1.5rem, 5vw, 5rem);
    align-items: end;
    padding-top: clamp(2.5rem, 5vw, 5rem);
    padding-bottom: clamp(2.3rem, 4vw, 3.7rem);
    border-bottom: 1px solid rgba(255, 247, 223, 0.13);
}
.front-intro h2 { max-width: 780px; margin: 0; color: var(--cream); font-size: clamp(1.65rem, 3.1vw, 3rem); letter-spacing: -0.055em; }
.front-intro > p { max-width: 39ch; margin: 0; color: rgba(255, 247, 223, 0.68); font-size: clamp(0.96rem, 1.25vw, 1.08rem); line-height: 1.58; }

.front-page .discovery-planner { padding-top: clamp(1.7rem, 3vw, 2.6rem); padding-bottom: clamp(1.7rem, 3vw, 2.6rem); }

.front-cinema {
    padding-top: clamp(1.8rem, 3vw, 3rem);
    padding-bottom: clamp(1.8rem, 3vw, 3rem);
    border-bottom: 1px solid rgba(255, 247, 223, 0.13);
}
.front-cinema-heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.front-cinema-heading h2 { margin: 0; font-size: clamp(1.5rem, 2.5vw, 2.2rem); letter-spacing: -0.045em; }
.front-cinema-all, .cinema-card-link { color: #ffe68a; font-size: 0.85rem; font-weight: 780; }
.front-cinema-all:hover, .cinema-card-link:hover { color: var(--cream); }
.front-cinema-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.8rem; }
.cinema-card { display: flex; flex-direction: column; min-width: 0; min-height: 180px; padding: 1rem; border: 1px solid rgba(255, 247, 223, 0.15); border-radius: var(--radius-lg); background: rgba(255, 247, 223, 0.045); transition: transform 0.2s var(--ease), border-color 0.2s var(--ease), background 0.2s var(--ease); }
.cinema-card:hover { transform: translateY(-3px); border-color: rgba(247, 198, 0, 0.4); background: rgba(247, 198, 0, 0.09); }
.cinema-card-label { margin: 0 0 0.65rem; color: #251707; background: #ffe68a; width: fit-content; padding: 0.2rem 0.48rem; border-radius: var(--radius-pill); font-size: 0.68rem; font-weight: 800; }
.cinema-card-title { margin-bottom: 0.75rem; font-size: 1.08rem; line-height: 1.12; letter-spacing: -0.03em; }
.cinema-card-title a:hover { color: #ffe68a; }
.cinema-card-meta { display: grid; gap: 0.2rem; margin: 0 0 0.85rem; color: rgba(255, 247, 223, 0.66); font-size: 0.82rem; line-height: 1.35; }
.cinema-card-link { margin-top: auto; }
.front-page .discovery-planner::after { display: none; }
.front-page .discovery-planner .section-kicker { margin-bottom: 0.25rem; }
.front-page .discovery-planner .section-title { margin-bottom: 0.22rem; font-size: clamp(1.5rem, 2.4vw, 2.05rem); line-height: 1.06; }
.front-page .discovery-planner .section-intro { max-width: 680px; margin-bottom: 0; color: rgba(255, 247, 223, 0.7); font-size: 0.92rem; }
.planner-group { display: flex; align-items: center; gap: 0.9rem; margin-top: 0.9rem; }
.planner-group--moods { padding-top: 0.85rem; border-top: 1px solid rgba(255, 247, 223, 0.1); }
.planner-label { flex: 0 0 116px; margin: 0; color: #ffe68a; font-size: 0.7rem; font-weight: 800; line-height: 1; letter-spacing: 0.07em; text-transform: uppercase; }
.front-page .discovery-planner .filter-grid { flex: 1; gap: 0.42rem; padding: 0; }
.planner-more-categories { display: flex; flex-wrap: wrap; gap: 0.42rem; margin: 0.75rem 0 0 116px; }
.planner-more-categories[hidden] { display: none !important; }
.filter-tile--more { border-style: dashed; color: #ffe68a; }
.filter-tile--more[aria-expanded="true"] { color: #201313; background: var(--cream); border-color: var(--cream); }
.filter-grid--dates .filter-tile, .filter-tile--mood { min-height: 38px; min-width: 0; padding: 0 0.78rem; border-color: rgba(255, 247, 223, 0.18); color: rgba(255, 247, 223, 0.9); background: rgba(12, 8, 8, 0.46); font-size: 0.8rem; font-weight: 740; }
.front-page .discovery-planner .filter-tile.active, .front-page .discovery-planner .filter-tile.active:hover { transform: none; border-color: var(--cream); color: #201313; background: var(--cream); box-shadow: none; text-shadow: none; }
.front-page .discovery-planner .filter-tile:hover { transform: none; border-color: rgba(255, 247, 223, 0.72); color: var(--cream); background: rgba(255, 247, 223, 0.1); }

.front-discovery { padding-top: clamp(1.4rem, 2.5vw, 2.2rem); padding-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.front-discovery .section-intro { max-width: 610px; }

.front-catalogue-bridge {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding-top: clamp(1.6rem, 3vw, 2.4rem);
    padding-bottom: clamp(1.6rem, 3vw, 2.4rem);
    border-top: 1px solid rgba(255, 247, 223, 0.14);
    border-bottom: 1px solid rgba(255, 247, 223, 0.14);
}
.front-catalogue-bridge h2 { margin-bottom: 0.45rem; font-size: clamp(1.5rem, 2.6vw, 2.3rem); letter-spacing: -0.045em; }
.front-catalogue-bridge p:not(.section-kicker) { max-width: 610px; margin: 0; color: rgba(255, 247, 223, 0.68); }
.front-catalogue-live-count {
    display: inline-flex;
    width: fit-content;
    margin-top: 0.8rem !important;
    padding: 0.38rem 0.68rem;
    border: 1px solid rgba(247, 198, 0, 0.32);
    border-radius: var(--radius-pill);
    color: #ffe68a !important;
    background: rgba(247, 198, 0, 0.09);
    font-size: 0.82rem;
    font-weight: 760;
}
.front-catalogue-actions { display: grid; justify-items: start; gap: 0.7rem; flex: 0 0 auto; }
.front-catalogue-text-link { color: #ffe68a; font-size: 0.85rem; font-weight: 760; }
.front-catalogue-text-link:hover { color: var(--cream); }

.front-page .categories-section, .front-page .why-section, .front-page .social-section { padding-top: clamp(3rem, 5vw, 5rem); padding-bottom: clamp(3rem, 5vw, 5rem); }
.front-page .categories-section .section-title, .front-page .why-section .section-title, .front-page .social-section .section-title { margin-bottom: 0.55rem; }
.front-page .categories-section .section-intro { max-width: 590px; }
.front-page .why-section { border-top: 1px solid rgba(255, 247, 223, 0.1); }
.front-page .social-section { border-top: 1px solid rgba(255, 247, 223, 0.1); }

@media (max-width: 760px) {
    .front-intro { grid-template-columns: 1fr; gap: 1rem; padding-top: 2.2rem; padding-bottom: 2.2rem; }
    .front-page .discovery-planner { padding-top: 1.5rem; padding-bottom: 1.5rem; }
    .front-cinema-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .planner-group { display: block; margin-top: 1rem; }
    .planner-group--moods { padding-top: 0.8rem; }
    .planner-label { margin-bottom: 0.5rem; }
    .planner-more-categories { margin-left: 0; }
    .front-catalogue-bridge { align-items: flex-start; flex-direction: column; gap: 1.25rem; }
}
@media (max-width: 560px) {
    .front-intro, .front-page .discovery-planner, .front-discovery, .front-cinema, .front-catalogue-bridge, .front-page .categories-section, .front-page .why-section, .front-page .social-section { padding-inline: 0.8rem; }
    .front-cinema-heading { align-items: flex-start; flex-direction: column; gap: 0.35rem; }
    .front-cinema-grid { display: flex; overflow-x: auto; padding-bottom: 0.35rem; scroll-snap-type: x mandatory; }
    .cinema-card { flex: 0 0 min(78vw, 280px); min-height: 168px; scroll-snap-align: start; }
    .front-intro h2 { font-size: 1.65rem; }
    .front-page .discovery-planner .section-title { font-size: 1.48rem; }
    .front-page .discovery-planner .section-intro { font-size: 0.86rem; line-height: 1.4; }
    .filter-grid--dates .filter-tile, .filter-tile--mood { min-height: 40px; }
    .front-catalogue-actions, .front-catalogue-actions .btn { width: 100%; }
}
