/* Extension du thème saisonnier à toutes les pages publiques DarkRP. */
html[data-season]:not([data-season="none"]) :is(
    .roster-hero,
    .events-hero,
    .support-hero,
    .shop-hero,
    .catalog-heading,
    .legal-hero
){
    position:relative;
    isolation:isolate;
    overflow:hidden;
    background-color:#0b1018;
    background-image:
        linear-gradient(100deg,rgba(7,10,16,.96) 0%,rgba(7,10,16,.82) 48%,rgba(7,10,16,.34) 100%),
        var(--season-art);
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center,var(--theme-position,center);
    border-color:var(--season-accent);
    box-shadow:0 24px 70px rgba(0,0,0,.2),inset 0 -1px var(--season-accent);
}

/* La boutique vit dans un conteneur volontairement étroit pour ses cartes.
   Son bandeau sort de ce conteneur afin de retrouver le hero pleine largeur
   utilisé par les autres pages publiques. */
html[data-season]:not([data-season="none"]) .shop-page .shop-hero{
    box-sizing:border-box;
    display:flex;
    width:100vw;
    max-width:none;
    min-height:clamp(360px,38vw,500px);
    margin:-76px calc(50% - 50vw) 44px;
    padding:88px max(24px,calc((100vw - 1180px)/2)) 76px;
    align-items:center;
    justify-content:center;
    flex-direction:column;
}

html[data-season]:not([data-season="none"]) .shop-page .shop-hero>p{
    width:min(760px,100%);
    margin-left:auto;
    margin-right:auto;
}

html[data-season]:not([data-season="none"]) :is(
    .roster-hero,
    .events-hero,
    .support-hero,
    .shop-hero,
    .catalog-heading,
    .legal-hero
)::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:radial-gradient(circle at 82% 28%,var(--season-soft),transparent 38%);
}

html[data-season]:not([data-season="none"]) :is(
    .roster-hero,
    .events-hero,
    .support-hero,
    .shop-hero,
    .catalog-heading,
    .legal-hero
) :is(h1,h2){
    color:#fff;
    font-family:var(--season-title,inherit);
    text-shadow:0 3px 20px rgba(0,0,0,.5);
}

html[data-season]:not([data-season="none"]) :is(
    .roster-hero,
    .events-hero,
    .support-hero,
    .shop-hero,
    .catalog-heading,
    .legal-hero
) :is(.eyebrow,.badge){
    color:var(--season-bright);
}

html[data-season]:not([data-season="none"]) :is(
    .catalog-card,
    .catalog-detail,
    .event-spotlight,
    .agenda-row,
    .support-policy,
    .support-category,
    .support-model,
    .support-faq,
    .shop-card,
    .shop-comparison,
    .public-sheet-panel,
    .profile-discipline
){
    border-color:color-mix(in srgb,var(--season-accent) 58%,transparent);
    box-shadow:inset 0 1px rgba(255,255,255,.025),0 16px 40px rgba(0,0,0,.12);
}

html[data-season]:not([data-season="none"]) .public-sheet-hero{
    border-color:var(--season-accent);
    background-image:
        linear-gradient(105deg,rgba(8,11,17,.96),rgba(8,11,17,.72)),
        var(--season-art);
    background-repeat:no-repeat;
    background-size:cover;
    background-position:center,var(--theme-position,center);
    box-shadow:inset 0 -2px var(--season-accent),0 24px 70px rgba(0,0,0,.22);
}

html[data-season]:not([data-season="none"]) :is(
    .catalog-main,
    .support-page,
    .shop-page,
    .public-sheet,
    .events-content,
    .roster-content,
    .lbrp-legal-main
){
    position:relative;
    z-index:1;
}

html[data-season-intensity="discreet"]:not([data-season="none"]) :is(
    .roster-hero,
    .events-hero,
    .support-hero,
    .shop-hero,
    .catalog-heading,
    .legal-hero,
    .public-sheet-hero
){
    background-image:
        linear-gradient(100deg,rgba(7,10,16,.98),rgba(7,10,16,.9)),
        var(--season-art);
}

@media(max-width:700px){
    html[data-season]:not([data-season="none"]) .shop-page .shop-hero{
        min-height:390px;
        margin-top:-51px;
        padding:72px 22px 58px;
    }

    html[data-season]:not([data-season="none"]) :is(
        .roster-hero,
        .events-hero,
        .support-hero,
        .shop-hero,
        .catalog-heading,
        .legal-hero,
        .public-sheet-hero
    ){
        background-image:
            linear-gradient(rgba(7,10,16,.78),rgba(7,10,16,.95)),
            var(--season-art);
        background-position:center,var(--theme-position,center);
    }
}

@media print{
    html[data-season]:not([data-season="none"]) :is(
        .roster-hero,
        .events-hero,
        .support-hero,
        .shop-hero,
        .catalog-heading,
        .legal-hero,
        .public-sheet-hero
    ){
        background:#fff!important;
        color:#000!important;
        box-shadow:none;
    }
}


