
/* =========================================================
   AIC FESTIVAL 2027 — INTERNAL PAGE DESIGN AUDIT
   Purpose:
   - Keep the homepage cinematic.
   - Stop every internal page from behaving like a second homepage.
   - Establish a consistent page-introduction hierarchy.
   - Preserve existing content, images, links and functionality.
   ========================================================= */

/* ---------- Shared internal-page header ---------- */

.page-about .header,
.page-artists .header,
.page-contact .header,
.page-disclaimer .header,
.page-gallery .header,
.page-news .header,
.page-partners .header,
.page-privacy .header,
.page-programme .header,
.page-registration .header,
.page-tourism .header{
    position:relative;
    inset:auto;
    background:#111;
    box-shadow:0 1px 0 rgba(255,255,255,.08);
}

.page-about .nav-container,
.page-artists .nav-container,
.page-contact .nav-container,
.page-disclaimer .nav-container,
.page-gallery .nav-container,
.page-news .nav-container,
.page-partners .nav-container,
.page-privacy .nav-container,
.page-programme .nav-container,
.page-registration .nav-container,
.page-tourism .nav-container{
    min-height:82px;
}

/* The internal pages use a solid navigation bar, so the first content
   no longer needs to reserve hero space for a transparent header. */
.page-about .header.scrolled,
.page-artists .header.scrolled,
.page-contact .header.scrolled,
.page-disclaimer .header.scrolled,
.page-gallery .header.scrolled,
.page-news .header.scrolled,
.page-partners .header.scrolled,
.page-privacy .header.scrolled,
.page-programme .header.scrolled,
.page-registration .header.scrolled,
.page-tourism .header.scrolled{
    position:fixed;
    inset:0 0 auto;
}

/* ---------- Compact editorial headers ---------- */

.page-about .about-hero,
.page-artists .artists-hero,
.page-news .news-hero,
.page-partners .partners-hero{
    min-height:0 !important;
    display:flex;
    align-items:center;
    background-position:center 42%;
}

.page-about .about-hero{ 
    min-height:42vh !important;
    background-image:
        linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.48)),
        url("../images/about/story.jpg");
}

.page-artists .artists-hero{
    min-height:44vh !important;
}

.page-news .news-hero{
    min-height:40vh !important;
}

.page-partners .partners-hero{
    min-height:36vh !important;
}

.page-about .about-hero-content,
.page-artists .artists-hero-content,
.page-news .news-hero-content,
.page-partners .partners-hero-content{
    padding:70px 0 58px !important;
    max-width:820px;
    text-align:left;
}

.page-about .about-hero-content h1,
.page-artists .artists-hero-content h1,
.page-news .news-hero-content h1,
.page-partners .partners-hero-content h1{
    font-size:clamp(2.35rem,5vw,4rem);
    line-height:1.05;
    margin:12px 0 16px;
}

.page-about .about-hero-content p,
.page-artists .artists-hero-content p,
.page-news .news-hero-content p,
.page-partners .partners-hero-content p{
    max-width:700px;
    margin:0;
    font-size:1rem;
}

/* About is a story page: retain the photograph, but treat it as a
   chapter opener rather than a full-screen landing page. */
.page-about .about-hero-content{
    text-align:left;
}

/* ---------- High-value visual pages: keep a real hero, but tighten it ---------- */

.page-programme .programme-hero,
.page-gallery .gallery-hero,
.page-tourism .tourism-hero{
    min-height:56vh !important;
}

.page-programme .programme-hero-content,
.page-gallery .gallery-hero-content,
.page-tourism .tourism-hero-content{
    padding:82px 0 64px !important;
}

.page-programme .programme-hero-content h1,
.page-gallery .gallery-hero-content h1,
.page-tourism .tourism-hero-content h1{
    font-size:clamp(2.45rem,5vw,4.15rem);
    line-height:1.04;
}

/* Programme benefits from its metadata, so don't compress its content too much. */
.page-programme .programme-hero-content{
    max-width:900px;
}

/* ---------- Task-focused pages: remove the photographic hero treatment ---------- */

.page-contact .contact-hero,
.page-registration .registration-hero{
    min-height:0 !important;
    display:block;
    background:linear-gradient(135deg,#FFF8EE 0%,#fff 72%) !important;
    color:#111;
    border-bottom:1px solid #eee;
}

.page-contact .contact-hero-content,
.page-registration .registration-hero-content{
    max-width:920px;
    padding:66px 0 54px !important;
    color:#111;
}

.page-contact .contact-hero-content span,
.page-registration .registration-hero-content span{
    color:#B87300;
    font-weight:800;
    letter-spacing:2px;
}

.page-contact .contact-hero-content h1,
.page-registration .registration-hero-content h1{
    color:#111;
    font-size:clamp(2.3rem,5vw,4rem);
    line-height:1.06;
    margin:12px 0 15px;
}

.page-contact .contact-hero-content p,
.page-registration .registration-hero-content p{
    color:#555;
    max-width:760px;
}

.page-contact .contact-hero-content .btn-primary,
.page-registration .registration-hero-content .btn-primary{
    margin-top:10px;
}

/* ---------- Legal pages: no need for a marketing hero ---------- */

.page-disclaimer .disclaimer-hero,
.page-privacy .privacy-hero{
    padding:60px 0 48px !important;
    background:
        radial-gradient(circle at 82% 20%,rgba(196,145,48,.16),transparent 30%),
        linear-gradient(135deg,#111 0%,#191919 65%,#2a210f 100%);
}

.page-disclaimer .disclaimer-hero-content,
.page-privacy .privacy-hero-content{
    max-width:760px;
}

.page-disclaimer .disclaimer-hero-content h1,
.page-privacy .privacy-hero-content h1{
    font-size:clamp(2.2rem,4.5vw,3.35rem);
    margin:10px 0 10px;
}

.page-disclaimer .disclaimer-hero-content p,
.page-privacy .privacy-hero-content p{
    max-width:680px;
    color:rgba(255,255,255,.78);
}

/* ---------- Breadcrumbs: make them a quiet orientation cue ---------- */

.page-about .breadcrumb,
.page-artists .breadcrumb,
.page-contact .breadcrumb,
.page-gallery .breadcrumb,
.page-news .breadcrumb,
.page-partners .breadcrumb,
.page-programme .breadcrumb,
.page-registration .breadcrumb,
.page-tourism .breadcrumb,
.page-disclaimer .disclaimer-breadcrumb,
.page-privacy .privacy-breadcrumb{
    padding:12px 0;
    font-size:.84rem;
    background:#fff;
    border-bottom:1px solid #eee;
}

.page-about .breadcrumb .container,
.page-artists .breadcrumb .container,
.page-contact .breadcrumb .container,
.page-gallery .breadcrumb .container,
.page-news .breadcrumb .container,
.page-partners .breadcrumb .container,
.page-programme .breadcrumb .container,
.page-registration .breadcrumb .container,
.page-tourism .breadcrumb .container,
.page-disclaimer .disclaimer-breadcrumb .container,
.page-privacy .privacy-breadcrumb .container{
    display:flex;
    align-items:center;
    gap:9px;
}

.page-about .breadcrumb a,
.page-artists .breadcrumb a,
.page-contact .breadcrumb a,
.page-gallery .breadcrumb a,
.page-news .breadcrumb a,
.page-partners .breadcrumb a,
.page-programme .breadcrumb a,
.page-registration .breadcrumb a,
.page-tourism .breadcrumb a,
.page-disclaimer .disclaimer-breadcrumb a,
.page-privacy .privacy-breadcrumb a{
    color:#777;
}

.page-about .breadcrumb strong,
.page-artists .breadcrumb strong,
.page-contact .breadcrumb strong,
.page-gallery .breadcrumb strong,
.page-news .breadcrumb strong,
.page-partners .breadcrumb strong,
.page-programme .breadcrumb strong,
.page-registration .breadcrumb strong,
.page-tourism .breadcrumb strong,
.page-disclaimer .disclaimer-breadcrumb strong,
.page-privacy .privacy-breadcrumb strong{
    color:#222;
}

/* ---------- More breathing room where the hero has been reduced ---------- */

.page-about main > section:not(.about-hero):first-of-type,
.page-artists main > section:not(.artists-hero):first-of-type,
.page-news main > section:not(.news-hero):first-of-type,
.page-partners main > section:not(.partners-hero):first-of-type{
    scroll-margin-top:20px;
}

/* ---------- Mobile ---------- */

@media (max-width:768px){

    .page-about .nav-container,
    .page-artists .nav-container,
    .page-contact .nav-container,
    .page-disclaimer .nav-container,
    .page-gallery .nav-container,
    .page-news .nav-container,
    .page-partners .nav-container,
    .page-privacy .nav-container,
    .page-programme .nav-container,
    .page-registration .nav-container,
    .page-tourism .nav-container{
        min-height:74px;
    }

    .page-about .about-hero,
    .page-artists .artists-hero,
    .page-news .news-hero,
    .page-partners .partners-hero{
        min-height:0 !important;
    }

    .page-about .about-hero-content,
    .page-artists .artists-hero-content,
    .page-news .news-hero-content,
    .page-partners .partners-hero-content{
        padding:54px 0 44px !important;
    }

    .page-about .about-hero-content h1,
    .page-artists .artists-hero-content h1,
    .page-news .news-hero-content h1,
    .page-partners .partners-hero-content h1{
        font-size:clamp(2rem,9vw,2.8rem);
    }

    .page-about .about-hero-content p,
    .page-artists .artists-hero-content p,
    .page-news .news-hero-content p,
    .page-partners .partners-hero-content p{
        font-size:.94rem;
        line-height:1.6;
    }

    .page-programme .programme-hero,
    .page-gallery .gallery-hero,
    .page-tourism .tourism-hero{
        min-height:0 !important;
    }

    .page-programme .programme-hero-content,
    .page-gallery .gallery-hero-content,
    .page-tourism .tourism-hero-content{
        padding:72px 0 48px !important;
    }

    .page-programme .programme-hero-content h1,
    .page-gallery .gallery-hero-content h1,
    .page-tourism .tourism-hero-content h1{
        font-size:clamp(2.05rem,9vw,3rem);
    }

    .page-contact .contact-hero-content,
    .page-registration .registration-hero-content{
        padding:48px 0 40px !important;
    }

    .page-contact .contact-hero-content h1,
    .page-registration .registration-hero-content h1{
        font-size:clamp(2rem,9vw,2.85rem);
    }

    .page-disclaimer .disclaimer-hero,
    .page-privacy .privacy-hero{
        padding:48px 0 38px !important;
    }

    .page-disclaimer .disclaimer-hero-content h1,
    .page-privacy .privacy-hero-content h1{
        font-size:clamp(2rem,8vw,2.7rem);
    }

    .page-about .breadcrumb,
    .page-artists .breadcrumb,
    .page-contact .breadcrumb,
    .page-gallery .breadcrumb,
    .page-news .breadcrumb,
    .page-partners .breadcrumb,
    .page-programme .breadcrumb,
    .page-registration .breadcrumb,
    .page-tourism .breadcrumb,
    .page-disclaimer .disclaimer-breadcrumb,
    .page-privacy .privacy-breadcrumb{
        padding:10px 0;
    }
}

@media (prefers-reduced-motion:reduce){
    .page-about *,
    .page-artists *,
    .page-contact *,
    .page-disclaimer *,
    .page-gallery *,
    .page-news *,
    .page-partners *,
    .page-privacy *,
    .page-programme *,
    .page-registration *,
    .page-tourism *{
        scroll-behavior:auto !important;
        transition-duration:0.01ms !important;
    }
}
