
/* =========================================================
   NXA.CO — SUBCATEGORY EDITORIAL PAGES
   Hero inspired by supplied split-layout reference.
   Album section inspired by supplied numbered editorial cards.
========================================================= */

.subcat-page{
    background:#fffdf8;
    color:#2d201b;
}

/* ---------- HERO ---------- */
.subcat-hero{
    position:relative;
    min-height:100vh;
    display:grid;
    grid-template-columns:1fr 1fr;
    overflow:hidden;
    background-color:#fffdf8;
    background-image:url("assets/bg.texture.jpg");
    background-position:center top;
    background-repeat:repeat;
    background-size:900px auto;
}

.subcat-hero-left{
    position:relative;
    z-index:2;
    min-height:100vh;
    padding:150px 9vw 80px 7vw;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.subcat-kicker{
    margin:0 0 20px;
    font-family:"Red Hat Display",sans-serif;
    font-size:9px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:rgba(45,32,27,.52);
}

.subcat-hero-left h1{
    max-width:720px;
    margin:0;
    font-family:"Lora",serif;
    font-size:clamp(60px,7vw,118px);
    font-weight:400;
    line-height:.88;
    letter-spacing:-.055em;
    color:#2d201b;
}

.subcat-description{
    max-width:480px;
    margin:34px 0 0;
    font-family:"Lora",serif;
    font-size:clamp(14px,1.2vw,18px);
    line-height:1.75;
    color:rgba(45,32,27,.66);
}

.subcat-hero-link{
    width:max-content;
    display:inline-flex;
    align-items:center;
    gap:10px;
    margin-top:34px;
    padding-bottom:6px;
    border-bottom:1px solid rgba(89,15,13,.55);
    color:#590f0d;
    font-family:"Red Hat Display",sans-serif;
    font-size:9px;
    letter-spacing:.15em;
    text-transform:uppercase;
}

.subcat-hero-right{
    position:relative;
    min-height:100vh;
    overflow:hidden;
    background:#1b1714;
}

.subcat-hero-right video{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.subcat-video-shade{
    position:absolute;
    inset:0;
    background:linear-gradient(
        to bottom,
        rgba(0,0,0,.08) 0%,
        rgba(0,0,0,.05) 45%,
        rgba(0,0,0,.22) 100%
    );
}

.subcat-overlap-card{
    position:absolute;
    z-index:4;
    left:50%;
    top:50%;
    width:clamp(230px,23vw,390px);
    height:clamp(165px,18vw,285px);
    transform:translate(-50%,-50%);
    overflow:hidden;
    box-shadow:0 20px 60px rgba(0,0,0,.14);
    background:#ddd;
}

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

.subcat-overlap-label{
    position:absolute;
    z-index:5;
    left:calc(50% - clamp(115px,11.5vw,195px));
    top:calc(50% - clamp(103px,10vw,158px));
    transform:translateY(-100%);
    padding-bottom:9px;
    font-family:"Red Hat Display",sans-serif;
    font-size:8px;
    font-weight:600;
    letter-spacing:.15em;
    text-transform:uppercase;
    color:#2d201b;
}

/* ---------- FEATURED ALBUMS ---------- */
.subcat-albums{
    padding:115px 6vw 130px;
    background:#fffdf8;
}

.subcat-albums-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:30px;
    margin-bottom:70px;
}

.subcat-albums-head p{
    margin:0 0 8px;
    font-family:"Red Hat Display",sans-serif;
    font-size:9px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:rgba(45,32,27,.5);
}

.subcat-albums-head h2{
    margin:0;
    font-family:"Lora",serif;
    font-size:clamp(42px,5vw,76px);
    font-weight:400;
    line-height:.95;
    letter-spacing:-.04em;
}

.subcat-albums-head > a{
    padding-bottom:6px;
    border-bottom:1px solid rgba(89,15,13,.45);
    color:#590f0d;
    font-size:9px;
    letter-spacing:.14em;
    text-transform:uppercase;
}

.subcat-album-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:26px;
    align-items:start;
}

.subcat-album-card{
    color:#2d201b;
}

.subcat-album-number{
    display:block;
    margin-bottom:8px;
    font-family:"Lora",serif;
    font-size:clamp(58px,6vw,100px);
    line-height:.82;
    font-weight:400;
    letter-spacing:-.06em;
}

.subcat-album-image{
    width:100%;
    overflow:hidden;
    background:#ddd;
}

.subcat-album-card:nth-child(1) .subcat-album-image{
    aspect-ratio:4/5.2;
}

.subcat-album-card:nth-child(2){
    margin-top:110px;
}

.subcat-album-card:nth-child(2) .subcat-album-image{
    aspect-ratio:4/4.7;
}

.subcat-album-card:nth-child(3) .subcat-album-image{
    aspect-ratio:4/5.35;
}

.subcat-album-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:transform .65s cubic-bezier(.2,.7,.2,1);
}

.subcat-album-card:hover .subcat-album-image img{
    transform:scale(1.025);
}

.subcat-album-copy{
    padding-top:14px;
}

.subcat-album-copy h3{
    margin:0;
    font-family:"Lora",serif;
    font-size:clamp(17px,1.7vw,25px);
    font-weight:400;
    line-height:1.1;
}

.subcat-album-copy p{
    margin:7px 0 0;
    font-family:"Red Hat Display",sans-serif;
    font-size:9px;
    line-height:1.55;
    letter-spacing:.03em;
    color:rgba(45,32,27,.58);
}

.subcat-see-more{
    display:inline-block;
    margin-top:12px;
    padding-bottom:5px;
    border-bottom:1px solid rgba(89,15,13,.42);
    color:#590f0d;
    font-family:"Red Hat Display",sans-serif;
    font-size:8px;
    letter-spacing:.15em;
    text-transform:uppercase;
}

/* ---------- RESPONSIVE ---------- */
@media(max-width:900px){
    .subcat-hero{
        grid-template-columns:1fr;
    }

    .subcat-hero-left{
        min-height:auto;
        padding:135px 7vw 90px;
    }

    .subcat-hero-right{
        min-height:70vh;
    }

    .subcat-overlap-card{
        left:50%;
        top:54%;
        width:min(62vw,360px);
        height:min(45vw,260px);
    }

    .subcat-overlap-label{
        display:none;
    }

    .subcat-album-grid{
        grid-template-columns:1fr;
        gap:55px;
    }

    .subcat-album-card:nth-child(2){
        margin-top:0;
    }

    .subcat-album-image{
        aspect-ratio:4/5 !important;
    }
}

@media(max-width:600px){
    .subcat-hero-left h1{
        font-size:54px;
    }

    .subcat-hero-right{
        min-height:62vh;
    }

    .subcat-overlap-card{
        width:68vw;
        height:48vw;
    }

    .subcat-albums{
        padding:80px 6vw 95px;
    }

    .subcat-albums-head{
        flex-direction:column;
        align-items:flex-start;
        margin-bottom:50px;
    }
}


/* =========================================================
   FINAL SUBCATEGORY UPDATE
   1. Navbar is always dark on these pages
   2. Right side is VIDEO ONLY
   3. No overlapping photo card
========================================================= */

/* Force dark navigation on subcategory pages */
body:has(.subcat-page) .site-header,
body:has(.subcat-page) .site-header.scrolled,
body:has(.subcat-page) .site-header.nav-white,
body:has(.subcat-page) .site-header.nav-black {
    background: transparent !important;
    box-shadow: none !important;
}

body:has(.subcat-page) .site-header .desktop-nav > a,
body:has(.subcat-page) .site-header .nav-main-link,
body:has(.subcat-page) .site-header .nav-dropdown > a {
    color: rgba(45, 32, 27, .82) !important;
}

body:has(.subcat-page) .site-header .site-logo img {
    filter: brightness(0) saturate(100%) !important;
    opacity: .82 !important;
}

body:has(.subcat-page) .site-header .menu-btn span {
    background: #2d201b !important;
}

/* Hide old overlap image/label completely */
.subcat-overlap-card,
.subcat-overlap-label {
    display: none !important;
}

/* Keep right side clean: video fills whole half */
.subcat-hero-right {
    position: relative !important;
    min-height: 100vh !important;
    overflow: hidden !important;
    background: #111 !important;
}

.subcat-hero-right video {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* Light cinematic exposure only */
.subcat-video-shade {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(0,0,0,.08) !important;
    pointer-events: none;
}

@media (max-width: 900px) {
    .subcat-hero-right {
        min-height: 68vh !important;
    }
}


/* =========================================================
   FINAL CINEMATIC FULL-VIDEO HERO
   - full background video
   - darker exposure
   - smaller typography
   - white navbar
========================================================= */

.subcat-hero{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-height:100vh !important;
    width:100% !important;
    overflow:hidden !important;
    background:#111 !important;
}

/* Hide old split-left hero structure */
.subcat-hero-left{
    display:none !important;
}

/* Video fills the whole hero */
.subcat-hero-right{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    min-height:100% !important;
    overflow:hidden !important;
    background:#111 !important;
}

.subcat-hero-right video{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
}

/* Darken video enough for text readability */
.subcat-video-shade{
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    background:
        linear-gradient(
            to bottom,
            rgba(0,0,0,.46) 0%,
            rgba(0,0,0,.42) 42%,
            rgba(0,0,0,.56) 100%
        ) !important;
    pointer-events:none !important;
}

/* Center copy */
.subcat-cinematic-copy{
    position:relative !important;
    z-index:5 !important;
    width:min(760px,78vw) !important;
    text-align:center !important;
    color:#fff !important;
}

.subcat-cinematic-copy h1{
    margin:0 !important;
    font-family:"Lora",serif !important;
    font-size:clamp(34px,4.2vw,66px) !important;
    font-weight:400 !important;
    line-height:1 !important;
    letter-spacing:-.035em !important;
    color:#fff !important;
}

.subcat-cinematic-copy p{
    max-width:680px !important;
    margin:18px auto 0 !important;
    font-family:"Lora",serif !important;
    font-size:clamp(12px,1vw,16px) !important;
    line-height:1.65 !important;
    color:rgba(255,255,255,.68) !important;
}

.subcat-cinematic-meta{
    position:absolute !important;
    z-index:5 !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    font-family:"Lora",serif !important;
    font-size:clamp(11px,.9vw,15px) !important;
    color:rgba(255,255,255,.88) !important;
}

.subcat-cinematic-meta.left{
    left:5vw !important;
    display:flex !important;
    gap:34px !important;
    align-items:center !important;
}

.subcat-cinematic-meta.right{
    right:5vw !important;
}

/* White navbar on all subcategory hero pages */
body:has(.subcat-page) .site-header,
body:has(.subcat-page) .site-header.scrolled,
body:has(.subcat-page) .site-header.nav-white,
body:has(.subcat-page) .site-header.nav-black{
    background:transparent !important;
    box-shadow:none !important;
}

body:has(.subcat-page) .site-header .desktop-nav > a,
body:has(.subcat-page) .site-header .nav-main-link,
body:has(.subcat-page) .site-header .nav-dropdown > a{
    color:rgba(255,255,255,.82) !important;
}

body:has(.subcat-page) .site-header .site-logo img{
    filter:brightness(0) invert(1) !important;
    opacity:.9 !important;
}

body:has(.subcat-page) .site-header .menu-btn span{
    background:#fff !important;
}

/* Remove any old center image if present */
.subcat-overlap-card,
.subcat-overlap-label,
.subcat-center-photo,
.subcat-center-label{
    display:none !important;
}

@media(max-width:800px){
    .subcat-hero{
        min-height:88vh !important;
    }

    .subcat-cinematic-copy{
        width:82vw !important;
    }

    .subcat-cinematic-copy h1{
        font-size:38px !important;
    }

    .subcat-cinematic-copy p{
        font-size:12px !important;
    }

    .subcat-cinematic-meta{
        top:auto !important;
        bottom:26px !important;
        transform:none !important;
        font-size:10px !important;
    }

    .subcat-cinematic-meta.left{
        left:5vw !important;
        gap:16px !important;
    }

    .subcat-cinematic-meta.right{
        right:5vw !important;
    }
}


/* SUBCATEGORY ALBUM LINK UPDATE */
.subcat-album-grid.cards-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1050px;}
.subcat-album-grid.cards-2 .subcat-album-card:nth-child(2){margin-top:110px;}
@media (max-width:760px){.subcat-album-grid.cards-2{grid-template-columns:1fr;max-width:none}.subcat-album-grid.cards-2 .subcat-album-card:nth-child(2){margin-top:0}}


/* =========================================================
   TRUE FULL-SCREEN SUBCATEGORY HERO
   Video fills the whole viewport, including behind navbar.
========================================================= */
body:has(.subcat-page) .site-header,
body:has(.subcat-page) .site-header.scrolled{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    background:transparent !important;
    box-shadow:none !important;
    z-index:9999 !important;
}

.subcat-hero{
    position:relative !important;
    width:100% !important;
    height:100vh !important;
    height:100svh !important;
    min-height:100vh !important;
    min-height:100svh !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
}

.subcat-hero-right{
    position:absolute !important;
    inset:0 !important;
    width:100vw !important;
    height:100vh !important;
    height:100svh !important;
    min-height:0 !important;
}

.subcat-hero-right video{
    position:absolute !important;
    top:50% !important;
    left:50% !important;
    width:100% !important;
    height:100% !important;
    min-width:100% !important;
    min-height:100% !important;
    object-fit:cover !important;
    object-position:center center !important;
    transform:translate(-50%,-50%) scale(1.16) !important;
    transform-origin:center center !important;
}

@media (max-width:900px){
    .subcat-hero{
        height:100svh !important;
        min-height:100svh !important;
    }

    .subcat-hero-right{
        height:100svh !important;
    }

    .subcat-hero-right video{
        transform:translate(-50%,-50%) scale(1.18) !important;
    }
}
