/* =========================================================
   BRANDS — header dropdown, landing page (approved editorial
   design), brand/catalog pages, brand archives. Uses the
   theme's existing palette/variables. Logos are always
   presented contain-style (never cropped or distorted).
   ========================================================= */

/* ---------- Header nav: Brands caret ---------- */
.rh-brands-menu-item > a{align-items:center;display:inline-flex;gap:7px}
.rh-brands-caret{border:solid currentColor;border-width:0 1.8px 1.8px 0;display:inline-block;height:6px;margin-top:-4px;transform:rotate(45deg);width:6px}

/* ---------- Brands landing page (live template sync) ---------- */
.brands-hero{padding:64px 0 8px}
.brands-hero h1{font-size:clamp(32px,5vw,44px);margin:0 0 10px}
.brands-hero .rh-section-sub{max-width:640px}
.brands-group{padding-bottom:30px;padding-top:26px}
.brands-group:last-of-type{padding-bottom:32px}
.brands-grid{display:grid;gap:20px;grid-template-columns:repeat(5,minmax(0,1fr))}
.rh-brand-card{background:#fff;border:1px solid var(--line);border-radius:14px;display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .25s ease,transform .25s ease}
.rh-brand-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}
.rh-brand-card:focus-visible{outline:2px solid var(--clay);outline-offset:3px}
.rh-brand-card__media{align-items:center;aspect-ratio:5/3;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:center;overflow:hidden;padding:20px}
.rh-brand-card__image{height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}
.rh-brand-card__placeholder{align-items:center;background:linear-gradient(135deg,var(--sand-deep),#d8d0bf);color:#fff;display:flex;font-size:34px;font-weight:800;height:100%;justify-content:center;width:100%}
.rh-brand-card__name{align-items:center;color:var(--ink);display:flex;font-size:15px;font-weight:700;gap:8px;justify-content:space-between;padding:14px 16px 4px}
.rh-brand-card__name svg{color:var(--clay);transition:transform .25s ease}
.rh-brand-card:hover .rh-brand-card__name svg{transform:translateX(4px)}
.rh-brand-card__count{color:var(--muted);font-size:12.5px;padding:0 16px 15px}
@media (prefers-reduced-motion:reduce){
	.rh-brand-card{transition:none}
	.rh-brand-card__name svg{transition:none}
	.rh-brand-card:hover{transform:none}
}

/* ---------- Brands catalog: shared (breadcrumb, blocks) ---------- */
.rh-bcat-page{background:var(--cream);padding-bottom:88px}
.rh-bcat-page .page-width{padding-left:32px;padding-right:32px}
.rh-brands-breadcrumb{color:var(--muted);display:flex;flex-wrap:wrap;font-size:12.5px;gap:8px;padding:22px 0 26px}
.rh-brands-breadcrumb a{color:var(--muted)}
.rh-brands-breadcrumb a:hover{color:var(--clay)}
.rh-brands-breadcrumb__sep{color:var(--line)}
.rh-brands-breadcrumb span[aria-current]{color:var(--ink)}
.rh-bcat-intro{border-bottom:1px solid var(--line);margin-bottom:8px;padding:6px 0 26px}
.rh-bcat-title{font-size:clamp(32px,3.6vw,46px);margin:0 0 12px}
.rh-bcat-desc{color:var(--ink);font-size:15.5px;line-height:1.7;max-width:680px}
.rh-bcat-sub{color:var(--muted);font-size:14px;margin:-6px 0 0}
.rh-bcat-intro .rh-bcat-desc{margin-top:16px}
.rh-bcat-block{padding-top:46px}
/* Section labels: uppercase editorial label + hairline divider, matching the
   Brands landing group headings for one connected catalog language. */
.rh-bcat-block__title{align-items:center;display:flex;font-size:17px;font-weight:700;gap:26px;letter-spacing:.12em;margin:0 0 28px;text-transform:uppercase}
.rh-bcat-block__title::after{background:var(--line);content:"";flex:1 1 auto;height:1px}
.rh-bcat-empty{color:var(--muted);font-size:14.5px;margin:0;padding:4px 0}

/* ---------- Brands catalog: collection/finish cards ---------- */
.rh-bcat-grid{display:grid;gap:24px;list-style:none;margin:0;padding:0}
.rh-bcat-grid--collections{grid-template-columns:repeat(3,minmax(0,1fr))}
/* Explore Finishes: responsive card grid — cards hold their size and wrap
   automatically (3/4/more per row depending on available width). */
.rh-bcat-grid--finishes{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.rh-bcat-grid--styles{grid-template-columns:repeat(3,minmax(0,1fr))}
.rh-bcat-card-item{margin:0}
.rh-bcat-card{background:#fff;border:1px solid var(--line);border-radius:10px;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:border-color .25s ease,box-shadow .3s ease,transform .3s ease}
.rh-bcat-card:hover,.rh-bcat-card:focus-visible{border-color:#cdc3ae;box-shadow:0 18px 36px rgba(34,31,28,.1);transform:translateY(-4px)}
.rh-bcat-card:focus-visible{outline:2px solid var(--clay);outline-offset:3px}
.rh-bcat-card__media{aspect-ratio:4/3;background:var(--sand);display:block;height:auto;overflow:hidden;position:relative;width:100%}
.rh-bcat-card__media img{height:100%;object-fit:cover;transition:transform .45s ease;width:100%}
.rh-bcat-card:hover .rh-bcat-card__media img{transform:scale(1.04)}
.rh-bcat-card__media .rh-bcat-card__placeholder{align-items:center;background:linear-gradient(160deg,var(--sand),#e7e0d2);color:var(--clay);display:flex;font-family:var(--serif);font-size:44px;height:100%;justify-content:center;width:100%}
.rh-bcat-card__name{color:var(--ink);font-size:14.5px;font-weight:600;padding:15px 48px 15px 16px;border-top:1px solid var(--line)}
.rh-bcat-card__arrow{bottom:15px;color:var(--muted);position:absolute;right:16px;transition:color .25s ease,transform .25s ease}
.rh-bcat-card:hover .rh-bcat-card__arrow,.rh-bcat-card:focus-visible .rh-bcat-card__arrow{color:var(--clay);transform:translateX(4px)}
@media (prefers-reduced-motion:reduce){
	.rh-bcat-card,.rh-bcat-card__media img,.rh-bcat-card__arrow{transition:none}
	.rh-bcat-card:hover,.rh-bcat-card:focus-visible{transform:none}
	.rh-bcat-card:hover .rh-bcat-card__media img{transform:none}
}

/* ---------- Brands catalog: style detail ---------- */
.rh-bcat-style{align-items:start;display:grid;gap:clamp(26px,4vw,56px);grid-template-columns:minmax(0,11fr) minmax(0,9fr);grid-template-areas:"media info" "thumbs info";padding-top:6px}
.rh-bcat-style__gallery{grid-area:media;min-width:0}
/* Controlled showroom frame: ~4/3, the finish visual renders COMPLETE
   (object-fit contain) and centered — never cropped, stretched or oversized. */
.rh-bcat-style__frame{aspect-ratio:4/3;background:var(--sand);border-radius:18px;overflow:hidden;position:relative}
.rh-bcat-style__main-link{cursor:zoom-in;display:block;height:100%;inset:0;overflow:hidden;position:absolute;width:100%}
.rh-bcat-style__main-img{display:block;height:100%;object-fit:contain;width:100%}
.rh-bcat-style__expand{align-items:center;background:rgba(250,249,245,.9);border-radius:6px;color:var(--ink);display:flex;height:32px;justify-content:center;position:absolute;right:12px;top:12px;width:32px}
.rh-bcat-style__thumbs{display:flex;gap:10px;grid-area:thumbs;margin-top:14px;overflow-x:auto}
.rh-bcat-style__thumb{background:#fff;border:2px solid transparent;border-radius:4px;cursor:pointer;flex:0 0 auto;height:72px;overflow:hidden;padding:0;width:72px}
.rh-bcat-style__thumb img{aspect-ratio:1;height:72px;object-fit:cover;width:72px}
.rh-bcat-style__thumb.is-active{border-color:var(--clay)}
.rh-bcat-style__info{grid-area:info;min-width:0;padding-top:8px}
.rh-bcat-style__name{font-size:clamp(30px,3.2vw,42px);margin:0 0 6px}
.rh-bcat-style__series{border-bottom:1px solid var(--line);color:var(--muted);font-size:14px;margin:0 0 22px;padding-bottom:18px}
.rh-bcat-style__specs{display:grid;gap:16px;margin:0}
.rh-bcat-style__spec{background:#fff;border:1px solid var(--line);border-radius:8px;padding:12px 16px}
.rh-bcat-style__spec dt{align-items:center;color:var(--ink);display:flex;font-size:13px;font-weight:700;gap:10px}
.rh-bcat-style__spec-icon{color:var(--clay);display:inline-flex}
.rh-bcat-style__spec dd{color:var(--muted);font-size:14px;margin:2px 0 0 28px}
.rh-bcat-available{padding-top:64px}

/* ---------- Available Cabinets catalog toolbar ----------
   Count + sort controls above the product grid; mirrors the Shop toolbar
   styling from the existing design system. */
.rh-bcat-toolbar{align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:24px;padding:12px 18px}
.rh-bcat-toolbar__count{color:var(--muted);font-size:12.5px;font-weight:700;letter-spacing:.06em;margin:0;text-transform:uppercase}
.rh-bcat-toolbar__sort{margin-left:auto}
.rh-bcat-toolbar__sort-label{align-items:center;display:flex;gap:10px}
.rh-bcat-toolbar__sort-label span{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.rh-bcat-toolbar__sort select{background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;font-size:13.5px;font-weight:600;max-width:230px;padding:9px 30px 9px 12px}
.rh-bcat-toolbar__sort select:focus-visible{border-color:var(--clay);outline:0}

/* ---------- Brands catalog: Available Cabinets product card grid ----------
   Compact ecommerce catalog cards for the WooCommerce products associated
   with the finish. The image area is fixed (1:1) and cabinet drawings render
   COMPLETE (object-fit contain) — original image dimensions never drive the
   card height. Uses the theme's existing palette, typography and buttons. */
.rh-bcat-products{display:grid;gap:22px;grid-template-columns:repeat(4,minmax(0,1fr))}
.rh-product-card{background:#fff;border:1px solid #e8e4dc;border-radius:10px;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:border-color .25s ease,box-shadow .3s ease,transform .3s ease}
.rh-product-card:hover,.rh-product-card:focus-within{border-color:#cdc3ae;box-shadow:0 18px 36px rgba(34,31,28,.1);transform:translateY(-3px)}
.rh-product-card__media{aspect-ratio:1/1;background:#fff;display:block;overflow:hidden;position:relative;width:100%}
.rh-product-card__media img{height:100%;object-fit:contain;transition:transform .4s ease;width:100%}
.rh-product-card:hover .rh-product-card__media img{transform:scale(1.03)}
.rh-product-card__body{display:flex;flex-direction:column;flex:1 1 auto;padding:14px 16px 16px}
.rh-product-card__name{color:var(--ink);display:-webkit-box;-webkit-box-orient:vertical;font-family:var(--serif);font-size:16px;font-weight:600;letter-spacing:-.025em;line-height:1.3;margin:0;overflow:hidden;-webkit-line-clamp:3}
.rh-product-card__name a{color:var(--ink);transition:color .2s ease}
.rh-product-card__name a:hover,.rh-product-card__name a:focus-visible{color:var(--clay)}
.rh-product-card__sku{color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.08em;margin:5px 0 0;text-transform:uppercase}
.rh-product-card__price{display:block;font-size:14.5px;font-weight:700;margin:9px 0 0}
.rh-product-card__price del{color:var(--muted);font-weight:400;margin-right:7px}
.rh-product-card__price ins{color:var(--clay);font-weight:700;text-decoration:none}
.rh-product-card__actions{margin-top:auto;padding-top:14px}
.rh-product-card .button,.rh-product-card .added_to_cart{background:var(--clay);border:1px solid var(--clay);border-radius:5px;color:#fff;display:inline-flex;font-size:12px;font-weight:700;justify-content:center;letter-spacing:.04em;line-height:1.2;padding:11px 16px;text-align:center;text-transform:uppercase;transition:background .2s ease,border-color .2s ease,color .2s ease;width:100%}
.rh-product-card .button:hover,.rh-product-card .button:focus-visible{background:var(--clay-dark);border-color:var(--clay-dark);color:#fff}
.rh-product-card .added_to_cart{background:#fff;border-color:var(--clay);color:var(--clay)}
.rh-product-card .added_to_cart:hover{background:#fff;color:var(--clay-dark)}
@media(prefers-reduced-motion:reduce){
	.rh-product-card{transition:none}
	.rh-product-card__media img{transition:none}
	.rh-product-card:hover,.rh-product-card:focus-within{transform:none}
	.rh-product-card:hover .rh-product-card__media img{transform:none}
}
/* Hover zoom: complete image at rest; clipped zoom on hover (mouse only). */
/* The zoom class is only added for mouse pointers by the page script. */
.rh-bcat-style__main-link.is-zoomed .rh-bcat-style__main-img{transform:scale(1.7)}
.rh-bcat-style__main-img{transition:transform .25s ease}
/* Lightbox */
.rh-bcat-lightbox{align-items:center;background:rgba(20,17,14,.92);display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}
.rh-bcat-lightbox[hidden]{display:none}
.rh-bcat-lightbox__figure{margin:0}
.rh-bcat-lightbox__img{display:block;max-height:86vh;max-width:92vw;object-fit:contain}
.rh-bcat-lightbox__label{color:rgba(250,249,245,.85);font-size:13.5px;margin-top:12px;text-align:center}
.rh-bcat-lightbox__close{background:none;border:1px solid rgba(250,249,245,.4);border-radius:50%;color:#faf9f5;cursor:pointer;font-size:22px;height:44px;line-height:1;position:absolute;right:26px;top:22px;width:44px}
.rh-bcat-lightbox__nav{background:rgba(250,249,245,.12);border:none;border-radius:50%;color:#faf9f5;cursor:pointer;font-size:30px;height:52px;line-height:1;position:absolute;top:50%;transform:translateY(-50%);width:52px}
.rh-bcat-lightbox__nav--prev{left:26px}
.rh-bcat-lightbox__nav--next{right:26px}

/* ---------- Product page: catalog breadcrumb + brand label ---------- */
.product-info .rh-brands-breadcrumb{padding:0 0 20px}
.rh-brand-label{align-items:center;display:flex;flex-wrap:wrap;gap:0 8px}
.rh-brand-label a{transition:color .2s ease}
.rh-brand-label a:hover,.rh-brand-label a:focus-visible{color:var(--ink)}

/* ---------- Product page: native WooCommerce variation selector ----------
   Fabuwood variable products. Price/SKU/selection are handled by Woo's
   native variation form + JS; this only aligns them with the design. */
.product-template .variations_form .variations{border:0;border-spacing:0;margin:0 0 10px}
.product-template .variations_form .variations th.label{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;padding:0 12px 8px 0;text-align:left;text-transform:uppercase;vertical-align:middle;white-space:nowrap}
.product-template .variations_form .variations td.value{padding:0}
.product-template .variations_form .variations select{max-width:340px;min-width:220px}
/* Hide the customer-facing "Clear" reset link (Woo's JS only toggles its
   visibility, so !important keeps it hidden; the reset handler stays in the
   DOM and the native variation behaviour is unchanged). !important is needed
   because jQuery .fadeIn() sets an inline display that beats a plain rule. */
.product-template .variations_form .reset_variations{display:none!important}
.product-template .woocommerce-variation-price .price{color:var(--ink);display:inline-block;font-size:26px;font-weight:700;margin:4px 0 6px}
.product-template .woocommerce-variation-price del{color:var(--muted);font-weight:400;margin-right:8px}
.product-template .woocommerce-variation-price ins{color:var(--clay);font-weight:700;text-decoration:none}
.product-template .woocommerce-variation-availability{color:var(--muted);font-size:13px;margin:0 0 10px}
.product-template .product_meta{margin:-8px 0 16px}
.product-template .sku_wrapper{color:var(--muted);font-size:13px}
.sku_wrapper .sku{color:var(--ink);font-weight:700}

/* ---------- Category archive: collection + finish heroes ----------
   Generic product_cat archive presentation: breadcrumb, ONE hero image and
   the term name/description; used identically by collections and finishes. */
.collection-page--category{padding-top:56px}
.rh-cat-hero{padding-top:26px}
.rh-cat-hero .rh-brands-breadcrumb{padding:0 0 26px}
.rh-cat-hero__grid{align-items:center;display:grid;gap:clamp(26px,3.4vw,52px);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.rh-cat-hero__media{border-radius:16px;overflow:hidden;position:relative}
.rh-cat-hero__media img{aspect-ratio:16/11;display:block;object-fit:cover;width:100%}
.rh-cat-hero__placeholder{aspect-ratio:16/11;background:linear-gradient(150deg,var(--sand),#e7e0d2);display:block;width:100%}
.rh-cat-hero__content .eyebrow{margin:0 0 10px}
.rh-cat-hero__content .eyebrow a{transition:color .2s ease}
.rh-cat-hero__content .eyebrow a:hover{color:var(--ink)}
.rh-cat-hero__title{font-size:clamp(32px,3.6vw,50px);margin:0 0 12px}
.rh-cat-hero__desc{color:var(--muted);font-size:15px;line-height:1.7;max-width:480px}
.rh-cat-explore{margin:52px 0 24px}
.rh-cat-explore__title{align-items:center;display:flex;font-size:17px;font-weight:700;gap:26px;letter-spacing:.12em;margin:0 0 8px;text-transform:uppercase}
.rh-cat-explore__title::after{background:var(--line);content:"";flex:1 1 auto;height:1px}
.rh-cat-explore__sub{color:var(--muted);font-size:14px;margin:0}
@media(max-width:900px){
	.rh-cat-hero{padding-top:18px}
	.rh-cat-hero .rh-brands-breadcrumb{padding:0 0 18px}
	.rh-cat-hero__grid{gap:22px;grid-template-columns:minmax(0,1fr)}
	.rh-cat-hero__media{order:-1}
	.rh-cat-hero__media img{aspect-ratio:16/10}
	.rh-cat-explore{margin:36px 0 18px}
}

/* ---------- Category archive: collection child cards ----------
   Brand → Collection → Finish flow. Name row + arrow on the existing
   .category-child-card markup. Scoped with .woocommerce to out-spec the
   span rules in wordpress.css / premium.css. */
.woocommerce .category-child-card .category-child-card__label{align-items:center;display:flex;gap:10px;justify-content:space-between}
.woocommerce .category-child-card .category-child-card__arrow{color:var(--clay);display:inline-flex;padding:0}
.woocommerce .category-child-card:hover .category-child-card__arrow{transform:translateX(4px)}

/* ---------- Brand archive header ---------- */
.brand-archive__header{align-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;display:flex;gap:30px;margin-bottom:34px;padding:28px 32px}
.brand-archive__logo{align-items:center;background:var(--sand);border-radius:12px;display:flex;flex:0 0 250px;height:150px;justify-content:center;overflow:hidden;padding:20px}
.brand-archive__logo-image{height:auto;max-height:100%;max-width:100%;object-fit:contain;width:auto}
.brand-archive__title{font-size:clamp(26px,3.4vw,34px);margin:0 0 6px}
.brand-archive__count{color:var(--muted);font-size:14px;margin:0 0 10px}
.brand-archive__description{color:var(--ink);font-size:15px;max-width:660px}
.brand-archive__empty{background:#fff;border:1px dashed var(--line);border-radius:14px;padding:52px 20px;text-align:center}
.brand-archive__empty p{color:var(--muted);font-size:15px;margin:0 0 18px}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(min-width:801px){
	/* Left-aligned mega panel (Brands follows Home in the nav). */
	.primary-navigation .rh-brands-menu-item{position:relative}
	.primary-navigation .rh-brands-menu-item .rh-brands-submenu{display:flex;flex-wrap:wrap;gap:30px;left:0;min-width:0;right:auto;transform:translateY(8px);width:660px}
	.primary-navigation .rh-brands-menu-item:hover>.rh-brands-submenu,.primary-navigation .rh-brands-menu-item:focus-within>.rh-brands-submenu{transform:translateY(0)}
	.rh-brands-group{flex:1 1 0}
	.rh-brands-group__title{color:var(--clay);display:block;font-size:11px;font-weight:800;letter-spacing:.12em;margin:0 0 10px;text-transform:uppercase}
	.rh-brands-group__list{list-style:none;margin:0;padding:0}
	.rh-brands-group__list>.menu-item{margin:0}
	.rh-brands-group__list a{display:block;padding:5px 0}
	.rh-brands-viewall{border-top:1px solid var(--line);flex-basis:100%;margin-top:14px;padding-top:12px}
	.rh-brands-viewall a{color:var(--clay);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
}
@media(max-width:1100px){
	.brands-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
	.rh-bcat-grid--collections,.rh-bcat-grid--styles{grid-template-columns:repeat(2,minmax(0,1fr))}
	/* Available Cabinets: 3 per row on small desktop / large tablet. */
	.rh-bcat-products{gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:1100px){
	.rh-bcat-style__gallery{max-width:480px}
}
@media(max-width:900px){
	.rh-bcat-style{gap:30px;grid-template-areas:"media" "info" "thumbs";grid-template-columns:minmax(0,1fr)}
	.rh-bcat-style__gallery{max-width:none;position:static}
	.rh-bcat-style__frame{max-width:640px}
	/* Available Cabinets: 2 per row on tablet. */
	.rh-bcat-products{gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
	/* Mobile drawer accordion (existing .sub-menu toggle applies) */
	.rh-brands-submenu{padding-left:12px}
	.rh-brands-group__title{color:var(--clay);display:block;font-size:11px;font-weight:800;letter-spacing:.12em;margin:10px 0 4px;text-transform:uppercase}
	.rh-brands-group__list{list-style:none;margin:0;padding:0}
	.rh-brands-group__list a{font-size:13.5px;padding:4px 0}
	.rh-brands-viewall a{color:var(--clay);font-weight:700}
	.brand-archive__header{align-items:flex-start;flex-direction:column;gap:18px;padding:22px}
	.brand-archive__logo{flex-basis:auto;height:120px;width:100%;max-width:320px}
	.brands-hero{padding:44px 0 4px}
	.brands-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
}
@media(max-width:560px){
	/* Square-ish frame on small screens so the door stays readable. */
	.rh-bcat-style__frame{aspect-ratio:1/1}
	.rh-bcat-grid--collections,.rh-bcat-grid--styles{grid-template-columns:minmax(0,1fr)}
	.rh-bcat-card__media{height:240px}
	/* Available Cabinets: compact 2-up density on small phones. */
	.rh-bcat-products{gap:12px}
	.rh-product-card__body{padding:12px 13px 14px}
	.rh-product-card__name{font-size:14.5px}
	.rh-product-card .button,.rh-product-card .added_to_cart{padding:10px 12px}
}
@media(max-width:480px){
	.brands-grid{grid-template-columns:minmax(0,1fr)}
}

/* -------------------------------------------------------------------------
 * Brand page hero (SHARED by finish-driven and collection-driven brands):
 * one component, per-brand editable data. Height is controlled by the hero
 * itself (fixed clamp), never by the image (object-fit: cover inside the
 * media panel). Compact premium showroom scale.
 * ---------------------------------------------------------------------- */

.rh-bcat-page--brand-finishes .rh-bcat-block--finishes{margin-top:32px}
.rh-bcat-page--brand-finishes .rh-brands-breadcrumb{margin:22px 0 8px}
.rh-bcat-card__desc{color:var(--muted);display:block;font-size:12.5px;line-height:1.5;padding:0 16px 14px}

@media (max-width:1024px){

}
@media (max-width:767px){
}

/* ------------------------------------------------------------------
   Brand Hero — ONE shared component for every brand page
   (template-parts/brands/brand-hero.php). Controlled two-column hero:
   45% brand copy / 55% image. Height is fixed by the component
   (clamp 360-420px); the image is absolutely positioned inside its
   panel with object-fit:cover so it can never stretch, crop outside,
   or push the page height. Normal document flow; no sticky/fixed.
   ------------------------------------------------------------------ */
.rh-brand-hero{background:#221e19;color:#fff;overflow:hidden}
.rh-brand-hero__grid{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);height:clamp(360px,30vw,420px)}
.rh-brand-hero__panel{box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:clamp(24px,3vw,48px)}
.rh-brand-hero__title{color:#fff;font-family:var(--serif);font-size:clamp(26px,2.6vw,38px);letter-spacing:.05em;line-height:1.2;margin:0;text-transform:uppercase}
.rh-brand-hero__desc{color:rgba(255,255,255,.82);font-size:15px;line-height:1.6;margin-top:12px;max-width:44ch}
.rh-brand-hero__desc p{margin:0}
.rh-brand-hero__cta{align-self:flex-start;background:transparent;border:1px solid rgba(255,255,255,.7);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.12em;margin-top:20px;padding:12px 26px;text-decoration:none;text-transform:uppercase;transition:background .2s ease,color .2s ease,border-color .2s ease}
.rh-brand-hero__cta:hover,.rh-brand-hero__cta:focus-visible{background:#fff;border-color:#fff;color:#221e19}
.rh-brand-hero__media{height:100%;overflow:hidden;position:relative}
.rh-brand-hero__media .rh-brand-hero__img,.rh-brand-hero__media img.rh-brand-hero__img{display:block;height:100%!important;left:0;max-width:none;object-fit:cover;object-position:center;position:absolute;top:0;width:100%!important}
.rh-brand-hero__placeholder{background:linear-gradient(150deg,#37312a,#211d18);display:block;height:100%}
@media(max-width:860px){
	.rh-brand-hero__grid{grid-template-columns:1fr;height:auto}
	.rh-brand-hero__media{height:240px;order:-1}
	.rh-brand-hero__panel{overflow:visible;padding:26px 24px 36px}
}
/* Brand page rhythm: breadcrumb above hero, catalog below (normal flow) */
.rh-brand-breadcrumb{padding:26px 0 14px}
.rh-brand-catalog{padding-bottom:56px}
.rh-bcat-page--brand .rh-brand-catalog .rh-bcat-block:first-child{margin-top:40px}

/* Door/finish sample display (data-driven, re-added 2026-10-01)
   rh_media_contain_class() tags portrait images (door samples) so the
   COMPLETE door is shown with object-fit:contain, never cover-cropped. */
.rh-bcat-card__media.rh-media-contain img{height:100%;object-fit:contain;object-position:center;transform:none;width:100%}
.rh-bcat-card:hover .rh-bcat-card__media.rh-media-contain img{transform:none}
.rh-cat-hero__media.rh-media-contain img{aspect-ratio:16/11;background:var(--sand);object-fit:contain;object-position:center}

/* =========================================================
   Brand Lookbook & Catalog Gallery (Image-Only Showcase)
   ========================================================= */
.rh-bcat-page--lookbook{background:var(--cream,#faf7f0)}
.rh-brand-lookbook{padding:8px 0 64px}
.rh-brand-lookbook__head{margin:0 auto 40px;max-width:760px;padding:8px 20px 0;text-align:center}
.rh-brand-lookbook__title{color:var(--ink,#1f1b16);font-family:var(--serif,Georgia,serif);font-size:clamp(32px,4.2vw,52px);letter-spacing:.03em;line-height:1.15;margin:0 0 10px;text-transform:uppercase}
.rh-brand-lookbook__subtitle{color:var(--clay,#b08d57);font-size:12.5px;font-weight:700;letter-spacing:.14em;margin:0 0 16px;text-transform:uppercase}
.rh-brand-lookbook__desc{color:var(--muted,#6f6a5e);font-size:15.5px;line-height:1.68;margin:0 auto}
.rh-brand-lookbook__desc p{margin:0}

/* Editorial lookbook gallery grid */
.rh-brand-lookbook__gallery{display:grid;gap:clamp(16px,2vw,26px);grid-template-columns:repeat(12,1fr)}
.rh-brand-lookbook__item{background:#fff;border:1px solid var(--line,#e8e2d5);border-radius:14px;display:block;overflow:hidden;position:relative;text-decoration:none;transition:border-color .3s ease,box-shadow .4s ease,transform .4s ease}
.rh-brand-lookbook__item:hover,.rh-brand-lookbook__item:focus-visible{border-color:#cdc3ae;box-shadow:0 20px 40px rgba(34,31,28,.12);transform:translateY(-4px)}
.rh-brand-lookbook__item:focus-visible{outline:2px solid var(--clay);outline-offset:3px}

/* Grid spans */
.rh-brand-lookbook__item--feature{grid-column:span 12}
.rh-brand-lookbook__item--duo{grid-column:span 6}
.rh-brand-lookbook__item--trio{grid-column:span 4}

/* Media styling & aspect ratios */
.rh-brand-lookbook__media{align-items:center;background:var(--sand,#f4f1ea);display:flex;justify-content:center;overflow:hidden;position:relative;width:100%}
.rh-brand-lookbook__item--feature .rh-brand-lookbook__media{aspect-ratio:21/9;min-height:360px}
.rh-brand-lookbook__item--duo .rh-brand-lookbook__media{aspect-ratio:16/11;min-height:280px}
.rh-brand-lookbook__item--trio .rh-brand-lookbook__media{aspect-ratio:4/3;min-height:240px}

.rh-brand-lookbook__img{display:block;height:100%;object-fit:cover;object-position:center;transition:transform .6s cubic-bezier(.2,.65,.3,1);width:100%}
.rh-brand-lookbook__media.rh-media-contain .rh-brand-lookbook__img{object-fit:contain;padding:16px}
.rh-brand-lookbook__item:hover .rh-brand-lookbook__img{transform:scale(1.035)}

/* Zoom indicator */
.rh-brand-lookbook__zoom{align-items:center;background:rgba(255,255,255,.88);backdrop-filter:blur(4px);border-radius:50%;bottom:16px;box-shadow:0 4px 12px rgba(0,0,0,.1);color:var(--ink,#1f1b16);display:flex;height:38px;justify-content:center;opacity:0;position:absolute;right:16px;transform:translateY(6px);transition:background-color .2s ease,color .2s ease,opacity .3s ease,transform .3s ease;width:38px}
.rh-brand-lookbook__item:hover .rh-brand-lookbook__zoom,.rh-brand-lookbook__item:focus-visible .rh-brand-lookbook__zoom{opacity:1;transform:translateY(0)}
.rh-brand-lookbook__item .rh-brand-lookbook__zoom:hover{background:var(--clay,#b08d57);color:#fff}

@media(max-width:900px){
	.rh-brand-lookbook__gallery{gap:16px;grid-template-columns:repeat(2,1fr)}
	.rh-brand-lookbook__item--feature{grid-column:span 2}
	.rh-brand-lookbook__item--duo,.rh-brand-lookbook__item--trio{grid-column:span 1}
	.rh-brand-lookbook__item--feature .rh-brand-lookbook__media{aspect-ratio:16/10;min-height:280px}
	.rh-brand-lookbook__item--duo .rh-brand-lookbook__media,.rh-brand-lookbook__item--trio .rh-brand-lookbook__media{aspect-ratio:4/3;min-height:200px}
	.rh-brand-lookbook__zoom{opacity:1;transform:none}
}
@media(max-width:560px){
	.rh-brand-lookbook__head{margin-bottom:28px}
	.rh-brand-lookbook__gallery{gap:14px;grid-template-columns:1fr}
	.rh-brand-lookbook__item--feature,.rh-brand-lookbook__item--duo,.rh-brand-lookbook__item--trio{grid-column:span 1}
	.rh-brand-lookbook__item--feature .rh-brand-lookbook__media,.rh-brand-lookbook__item--duo .rh-brand-lookbook__media,.rh-brand-lookbook__item--trio .rh-brand-lookbook__media{aspect-ratio:16/11;min-height:220px}
}

/* =========================================================
   Brands Page Final CTA — Explore Cabinet Collections
   ========================================================= */
.brands-collections-cta{
	background:var(--sand,#f4f1ea);
	border-top:1px solid var(--line,#e7e2d9);
	padding:48px 0 54px;
	text-align:center;
}
.brands-collections-cta__inner{
	margin:0 auto;
	max-width:760px;
}
.brands-collections-cta .eyebrow{
	color:var(--clay,#a5622d);
	font-size:11.5px;
	font-weight:700;
	letter-spacing:.18em;
	margin:0 0 12px;
}
.brands-collections-cta__title{
	color:var(--ink,#221f1c);
	font-size:clamp(26px,3.2vw,36px);
	line-height:1.15;
	margin:0 0 14px;
}
.brands-collections-cta__sub{
	color:var(--muted,#6f6960);
	font-size:16px;
	line-height:1.6;
	margin:0 auto 28px;
	max-width:640px;
}
.brands-collections-cta__actions{
	align-items:center;
	display:flex;
	flex-wrap:wrap;
	gap:14px;
	justify-content:center;
}
.brands-collections-cta__actions .brands-collections-cta__btn{
	align-items:center;
	border-radius:6px;
	box-sizing:border-box;
	display:inline-flex;
	font-family:var(--sans);
	font-size:13.5px;
	font-weight:700;
	height:48px;
	justify-content:center;
	letter-spacing:.06em;
	line-height:1;
	min-height:48px;
	padding:0 24px;
	text-decoration:none;
	text-transform:uppercase;
	transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
	white-space:nowrap;
}
.brands-collections-cta__actions .brands-collections-cta__btn--primary{
	background:var(--clay,#a5622d);
	border:1.5px solid var(--clay,#a5622d);
	color:#ffffff;
}
.brands-collections-cta__actions .brands-collections-cta__btn--primary:hover,
.brands-collections-cta__actions .brands-collections-cta__btn--primary:focus-visible{
	background:var(--clay-dark,#8a4f22);
	border-color:var(--clay-dark,#8a4f22);
	color:#ffffff;
	transform:translateY(-1px);
}
.brands-collections-cta__actions .brands-collections-cta__btn--secondary,
.brands-collections-cta .button--ghost{
	background:#ffffff !important;
	border:1.5px solid var(--clay,#a5622d) !important;
	color:var(--clay,#a5622d) !important;
	cursor:pointer;
}
.brands-collections-cta__actions .brands-collections-cta__btn--secondary:hover,
.brands-collections-cta__actions .brands-collections-cta__btn--secondary:focus-visible,
.brands-collections-cta .button--ghost:hover,
.brands-collections-cta .button--ghost:focus-visible{
	background:var(--clay,#a5622d) !important;
	border-color:var(--clay,#a5622d) !important;
	color:#ffffff !important;
	transform:translateY(-1px);
}

@media(max-width:560px){
	.brands-collections-cta{padding:36px 0 42px}
	.brands-collections-cta__actions{flex-direction:column;gap:12px;width:100%}
	.brands-collections-cta__actions .brands-collections-cta__btn{
		height:48px;
		min-height:48px;
		padding:0 18px;
		width:100%;
		white-space:normal;
	}
}

@media(max-width:390px){
	.brands-collections-cta__actions .brands-collections-cta__btn{
		font-size:12.5px;
		padding:0 14px;
	}
}

