/*
Theme Name: BrandB Gallery
Theme URI: https://brandb.ca
Author: The Agency Creative Co.
Description: A dark editorial WooCommerce theme for BrandB, balancing a working shop with a living photography archive.
Version: 0.4.0
Requires at least: 6.4
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: brandb-gallery
*/
:root{--ink:#0d0d0d;--paper:#f2f2f0;--muted:#aaa9a1;--line:rgba(239,238,232,.22);--acid:#6fd904;--font:Helvetica,Arial,sans-serif;--gutter:clamp(18px,3.5vw,54px)}
*{box-sizing:border-box}html{background:var(--ink);scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--acid)}img{display:block;max-width:100%;height:auto}button,input,select,textarea{font:inherit}.site-header{height:78px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:5;background:var(--ink)}.brandmark{font-size:23px;font-weight:800;letter-spacing:-1.3px}.brandmark span{color:var(--acid)}.primary-nav ul{display:flex;gap:34px;list-style:none;margin:0;padding:0;text-transform:uppercase;font-size:11px;letter-spacing:.09em}.header-tools{display:flex;gap:22px;text-transform:uppercase;font-size:11px;letter-spacing:.08em}.menu-toggle{display:none;color:var(--paper);background:none;border:0}.hero{margin:20px var(--gutter) 0;position:relative;overflow:hidden;aspect-ratio:16/9;min-height:420px;max-height:calc(100vh - 110px);background:#393832}.hero-media,.hero-media img,.hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.48),transparent 70%),linear-gradient(0deg,rgba(0,0,0,.28),transparent 45%)}.hero-copy{position:absolute;z-index:1;left:clamp(24px,5vw,76px);bottom:clamp(24px,5vw,72px);max-width:680px}.eyebrow,.label{font-size:10px;letter-spacing:.16em;text-transform:uppercase}.hero h1{font-size:clamp(48px,9.8vw,146px);line-height:.82;letter-spacing:-.085em;margin:20px 0 24px;text-transform:uppercase;max-width:720px}.hero-copy p{font-size:14px;max-width:340px}.text-link{display:inline-flex;gap:18px;align-items:center;text-transform:uppercase;font-size:11px;letter-spacing:.12em;border-bottom:1px solid currentColor;padding:0 0 7px;margin-top:16px}.text-link:after{content:'↗';font-size:15px}.hero-switch{position:absolute;z-index:2;right:22px;bottom:20px;border:1px solid rgba(255,255,255,.65);background:rgba(17,17,15,.35);color:#fff;padding:9px 12px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.section{padding:clamp(64px,9vw,132px) var(--gutter)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:17px;margin-bottom:28px}.section-head h2{font-size:clamp(29px,4vw,55px);letter-spacing:-.07em;font-weight:500;line-height:.95;margin:0;text-transform:uppercase}.section-head .label{color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.product-card{min-width:0}.product-image{aspect-ratio:4/5;background:#282824;overflow:hidden;position:relative}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.product-card:hover .product-image img{transform:scale(1.035)}.product-meta{display:flex;justify-content:space-between;gap:12px;padding-top:12px;font-size:11px;text-transform:uppercase;letter-spacing:.05em}.product-meta .price{color:var(--muted);white-space:nowrap}.lookbook-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.look-card{position:relative;aspect-ratio:1.28/1;overflow:hidden;background:#262622}.look-card:nth-child(2){aspect-ratio:.95/1;margin-top:72px}.look-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.look-card:hover img{transform:scale(1.03)}.look-card:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.58))}.look-card-copy{position:absolute;z-index:1;left:24px;bottom:22px}.look-card-copy h3{font-size:clamp(26px,4vw,52px);letter-spacing:-.07em;text-transform:uppercase;margin:6px 0}.archive-strip{display:grid;grid-template-columns:1fr 1fr;min-height:340px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.archive-copy{padding:clamp(30px,6vw,86px) var(--gutter);display:flex;flex-direction:column;justify-content:space-between}.archive-copy h2{font-size:clamp(38px,6.5vw,90px);line-height:.86;letter-spacing:-.08em;text-transform:uppercase;margin:20px 0}.archive-visual{min-height:260px;background:#35352f;position:relative;overflow:hidden}.archive-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.archive-note{color:var(--muted);max-width:340px}.site-footer{padding:36px var(--gutter);border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.page-intro{padding:clamp(64px,10vw,150px) var(--gutter) 45px}.page-intro h1{font-size:clamp(48px,10vw,140px);line-height:.82;letter-spacing:-.085em;text-transform:uppercase;margin:18px 0}.content-wrap{padding:0 var(--gutter) 100px}.entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.entry-card .product-image{aspect-ratio:4/5}.entry-card h2{font-size:21px;letter-spacing:-.04em;text-transform:uppercase;margin:12px 0 4px}.entry-card .label{color:var(--muted)}.single-lookbook{max-width:1260px;margin:auto;padding:80px var(--gutter)}.single-lookbook h1{font-size:clamp(44px,9vw,120px);letter-spacing:-.08em;line-height:.85;text-transform:uppercase}.lookbook-content img{margin:26px 0;width:100%}.woocommerce{padding:48px var(--gutter) 100px}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;color:var(--paper)}.woocommerce ul.products li.product a img{aspect-ratio:4/5;object-fit:cover;background:#282824}.woocommerce ul.products li.product .woocommerce-loop-product__title{font:11px var(--font);text-transform:uppercase;letter-spacing:.06em;color:var(--paper)}.woocommerce ul.products li.product .price{font-size:11px;color:var(--muted)}.woocommerce span.onsale{background:var(--acid);color:#111;border-radius:0;min-height:auto;padding:8px 10px;line-height:1;font-size:9px;text-transform:uppercase}.woocommerce div.product div.images img{background:#272722}.woocommerce div.product .product_title{font-size:clamp(32px,5vw,62px);line-height:.9;letter-spacing:-.07em;text-transform:uppercase}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--paper)}.woocommerce div.product form.cart .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--acid);border-radius:0;color:#111;text-transform:uppercase;letter-spacing:.08em;font-size:10px;padding:15px 20px}.woocommerce div.product form.cart .button:hover,.woocommerce a.button:hover{background:var(--paper);color:#111}.woocommerce table.shop_table{border-color:var(--line)}.woocommerce table.shop_table td,.woocommerce table.shop_table th{border-color:var(--line)}.woocommerce-message,.woocommerce-info{border-top-color:var(--acid);color:#111}.woocommerce-message:before,.woocommerce-info:before{color:#111}.woocommerce .quantity .qty{background:transparent;color:var(--paper);border:1px solid var(--line);padding:10px}.woocommerce div.product .woocommerce-tabs ul.tabs li{background:#222;border-color:var(--line);border-radius:0}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--ink);border-bottom-color:var(--ink)}.woocommerce div.product .woocommerce-tabs ul.tabs li a{color:var(--paper)}.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{background:var(--acid);color:#111;border-radius:0}.woocommerce-checkout #payment{background:#20201d;border-radius:0}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.select2-container--default .select2-selection--single{background:#1b1b18;color:var(--paper);border:1px solid var(--line);border-radius:0;min-height:42px;padding:9px}.woocommerce .woocommerce-breadcrumb{font-size:10px;color:var(--muted);text-transform:uppercase}.woocommerce .woocommerce-breadcrumb a{color:var(--muted)}.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering{font-size:11px;color:var(--muted)}.woocommerce .woocommerce-ordering select{background:#1b1b18;color:var(--paper);border:1px solid var(--line);padding:8px}.woocommerce-page .site-main{min-height:60vh}.alignwide{max-width:1400px;margin-inline:auto}.wp-block-image img{height:auto}.mobile-menu-open .primary-nav{display:block}.screen-reader-text{position:absolute!important;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){.primary-nav ul{gap:18px}.product-grid,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}.lookbook-grid{grid-template-columns:1fr 1fr}.look-card:nth-child(2){margin-top:35px}.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.site-header{height:64px}.menu-toggle{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.primary-nav{display:none;position:absolute;top:63px;left:0;right:0;background:var(--ink);padding:22px var(--gutter);border-bottom:1px solid var(--line)}.primary-nav ul{display:grid;gap:20px}.header-tools .search-link{display:none}.hero{margin:10px 10px 0;aspect-ratio:4/5;min-height:500px}.hero h1{font-size:clamp(48px,17vw,90px)}.hero-copy{left:22px;right:22px;bottom:25px}.section{padding:70px var(--gutter)}.section-head{align-items:start;gap:18px;flex-direction:column}.lookbook-grid{grid-template-columns:1fr}.look-card,.look-card:nth-child(2){aspect-ratio:1/1;margin:0}.archive-strip{grid-template-columns:1fr}.archive-visual{min-height:260px;grid-row:1}.archive-copy{min-height:270px}.entry-grid{grid-template-columns:1fr 1fr;gap:18px 10px}.site-footer{flex-direction:column}.woocommerce{padding:32px 16px 72px}.woocommerce ul.products{gap:10px!important}}

/* Collection-driven homepage, v0.2. */
.brandmark img{width:118px;height:auto}.collection-intro{display:flex;justify-content:space-between;padding:19px var(--gutter);color:var(--muted)}.collection-block{padding-bottom:90px}.collection-hero{margin:0 var(--gutter);aspect-ratio:16/9;background:#171717;overflow:hidden}.collection-media{position:relative;width:100%;height:100%}.collection-media>img,.collection-media>video{width:100%;height:100%;object-fit:cover;object-position:center}.collection-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:35px var(--gutter) 48px}.campaign-title{font-size:clamp(44px,7.8vw,115px);line-height:.92;letter-spacing:-.075em;font-weight:500;margin:12px 0 0}.collection-photography{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 var(--gutter)}.collection-photography figure{margin:0;aspect-ratio:4/3;overflow:hidden;background:#161616;display:grid;place-items:center}.collection-photography img{width:100%;height:100%;object-fit:contain}.collection-photography .paper{background:var(--paper);padding:25px}.collection-photography .sticker-study{background:#181818;padding:15%}.collection-products{padding:38px var(--gutter) 0}.product-row-heading{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:20px 0 25px}.collection-products .woocommerce{padding:0}.collection-products .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}.collection-products .woocommerce ul.products li.product a img{object-fit:contain;background:var(--paper);padding:12px}.archive-banner{margin:0 var(--gutter) 80px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:64px 20px;display:flex;gap:55px;align-items:center}.archive-banner>img{width:160px;height:auto}.archive-banner h2{font-size:clamp(34px,5vw,70px);letter-spacing:-.065em;line-height:1;margin:12px 0}.setup-note{margin:30px var(--gutter);padding:20px;border:1px solid var(--line)}.video-toggle{position:absolute;bottom:20px;right:20px;background:var(--ink);color:var(--paper);border:1px solid var(--paper);padding:9px 15px;cursor:pointer}.footer-logo{width:110px}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--acid);outline-offset:5px}.content-wrap .woocommerce{padding-inline:0}.woocommerce-page .content-wrap{background:var(--paper);color:var(--ink);padding-top:32px}.woocommerce-page .content-wrap .woocommerce{color:var(--ink)}.woocommerce-page .content-wrap .woocommerce input.input-text,.woocommerce-page .content-wrap .woocommerce textarea,.woocommerce-page .content-wrap .woocommerce .quantity .qty{color:var(--ink);background:white}.woocommerce-checkout #payment{background:#e4e4e0}.woocommerce-page .content-wrap .woocommerce table.shop_table{border-color:#aaa}.woocommerce-page .content-wrap .woocommerce table.shop_table td{border-color:#ccc}
@media(max-width:640px){.collection-intro{font-size:9px;padding-block:16px}.collection-intro .label{font-size:8px}.collection-hero{aspect-ratio:16/9;margin-inline:10px;min-height:0}.collection-heading{display:block;padding:25px var(--gutter) 30px}.campaign-title{font-size:clamp(38px,10vw,62px)}.collection-photography{gap:10px;grid-template-columns:1fr}.collection-block{padding-bottom:56px}.collection-products .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-banner{gap:22px;padding:32px 0;margin-bottom:48px}.archive-banner>img{width:80px}.archive-banner h2{font-size:34px}.collection-photography .paper{padding:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.site-footer ul{list-style:none;display:flex;gap:18px;padding:0;margin:0}.collection-media>img,.collection-media>video{object-fit:var(--hero-fit,cover);object-position:var(--hero-position,center)}

.collection-photography{grid-template-columns:repeat(var(--gallery-cols,2),minmax(0,1fr))}.collection-products .woocommerce ul.products{grid-template-columns:repeat(var(--product-cols,3),minmax(0,1fr))}.archive-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0 var(--gutter) 70px}.archive-photo-grid img{width:100%;height:auto}.archive-photo-grid figcaption{font-size:10px;text-transform:uppercase;letter-spacing:.1em;padding-top:12px;color:var(--muted)}.archive-photo-grid figure{margin:0}@media(max-width:640px){.collection-photography,.archive-photo-grid{grid-template-columns:1fr}.collection-products .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Art house edition */
.studio-masthead{padding:38px var(--gutter) 30px;border-bottom:1px solid var(--line)}
.studio-masthead .label{color:var(--acid)}
.studio-title{font-size:clamp(52px,10.7vw,170px);font-weight:700;line-height:.85;letter-spacing:-.075em;text-transform:uppercase;margin:28px 0 30px;max-width:1300px}
.studio-bottom{display:flex;justify-content:space-between;gap:24px;align-items:end}.studio-bottom p{max-width:320px;font-size:13px;margin:0;line-height:1.5}.studio-bottom .text-link{margin:0}
.collection-intro{padding-block:22px}.collection-hero{margin:0;position:relative;background:#080808}.collection-heading{padding-top:36px;padding-bottom:42px;border-bottom:1px solid var(--line);margin-bottom:40px}.campaign-title{text-transform:uppercase;font-weight:700;font-size:clamp(42px,7.8vw,112px);max-width:1000px;letter-spacing:-.065em}.collection-photography{gap:clamp(20px,5vw,80px);align-items:start}.collection-photography figure{aspect-ratio:4/5}.collection-photography figure:nth-child(2){margin-top:100px;aspect-ratio:1/1}.collection-photography figure:first-child img{object-fit:cover}.collection-products{margin-top:42px;padding-top:30px;padding-bottom:40px;background:var(--paper);color:var(--ink)}.collection-products .product-row-heading{border-color:currentColor}.collection-products .label,.collection-products .piece-count{color:var(--ink)}.collection-products .woocommerce ul.products li.product .woocommerce-loop-product__title,.collection-products .woocommerce ul.products li.product .price{color:var(--ink)}.collection-block{padding-bottom:64px}.archive-room{background:var(--paper);color:var(--ink);padding:65px var(--gutter) 80px}.archive-room-head{display:flex;justify-content:space-between;gap:30px;align-items:end;border-top:1px solid currentColor;padding-top:20px;margin-bottom:45px}.archive-room h2{font-size:clamp(64px,10vw,144px);line-height:.84;letter-spacing:-.075em;text-transform:uppercase;margin:20px 0 0}.archive-room-head>p{font-size:13px;max-width:250px}.archive-room .archive-photo-grid{padding:0;gap:30px;align-items:start}.archive-room .archive-photo-grid figure:nth-child(2){margin-top:100px}.archive-room .archive-photo-grid img{aspect-ratio:3/4;object-fit:cover}.archive-room figcaption{color:var(--ink);line-height:1.7}.archive-room .text-link{margin-top:38px}.archive-banner{padding-block:70px;margin-top:70px}.site-footer{align-items:center}.site-footer .footer-logo{width:clamp(110px,23vw,330px)}.preview-product{background:transparent!important}.preview-product img{aspect-ratio:1/1!important}.preview-product .details{font-size:12px!important}.label{letter-spacing:.12em}.hero-index{padding-block:16px}.studio-index{font-size:12px;font-variant-numeric:tabular-nums;color:var(--acid)}
@media(max-width:640px){.studio-masthead{padding-top:28px}.studio-title{font-size:clamp(48px,12vw,76px);margin-block:24px}.studio-bottom{align-items:start}.studio-bottom p{max-width:200px;font-size:11px}.studio-bottom .text-link{font-size:9px}.collection-photography{grid-template-columns:1fr 1fr;gap:12px}.collection-photography figure:nth-child(2){margin-top:45px}.collection-heading{margin-bottom:24px}.collection-products{margin-top:24px}.archive-room{padding:40px var(--gutter)}.archive-room-head{display:block}.archive-room-head>p{margin-top:24px}.archive-room .archive-photo-grid{grid-template-columns:1fr;gap:30px}.archive-room .archive-photo-grid figure:nth-child(2){margin:0}.archive-room .archive-photo-grid img{aspect-ratio:4/3}.site-footer{align-items:start}.archive-banner{margin-top:40px}}
