/* =========================================================
   MODERN DESIGN SYSTEM — The Wood Cabinet Factory
   Loaded last so it re-skins the whole site: bright warm
   white surfaces, charcoal text, one restrained warm accent.
   Cabinetry photography provides the color.
   ========================================================= */

:root{
	--paper:#ffffff;
	--cream:#fdfcf9;
	--sand:#f4f1ea;
	--sand-deep:#ece8de;
	--ink:#221f1c;
	--ink-dark:#141311;
	--charcoal:#221f1c;
	--muted:#6f6960;
	--line:#e7e2d9;
	--clay:#a5622d;          /* restrained warm accent: buttons, labels, hover, active nav */
	--clay-dark:#8a4f22;
	--accent:#a5622d;
	--serif:'DM Sans',Arial,sans-serif;   /* clean sans for display type */
	--sans:'DM Sans',Arial,sans-serif;
	--shadow-sm:0 2px 10px rgba(24,20,14,.06);
	--shadow-md:0 10px 30px rgba(24,20,14,.10);
	--radius:6px;
}

/* ---------- Base ---------- */
body{background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3{letter-spacing:-.02em}
h2{font-size:clamp(28px,3.2vw,42px);line-height:1.12}
.eyebrow{color:var(--clay);font-size:11.5px;font-weight:700;letter-spacing:.18em;margin:0 0 14px}
.text-link{color:var(--ink);transition:color .18s ease}
.text-link:hover,.text-link:focus-visible{color:var(--clay)}
.button{background:var(--clay);border:1px solid var(--clay);border-radius:var(--radius);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.08em;padding:15px 24px;transition:background-color .18s ease,border-color .18s ease,transform .18s ease}
.button:hover,.button:focus-visible{background:var(--clay-dark);border-color:var(--clay-dark);color:#fff}
.button--light{background:#fff;border-color:#fff;color:var(--ink)}
.button--light:hover,.button--light:focus-visible{background:var(--cream);border-color:var(--cream)}
.button--ghost{background:transparent;border-color:rgba(255,255,255,.85);color:#fff}
.button--ghost:hover,.button--ghost:focus-visible{background:rgba(255,255,255,.14);border-color:#fff;color:#fff}
.skip-link:focus{background:#fff;color:var(--ink)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--clay);outline-offset:3px}
::selection{background:rgba(165,98,45,.22)}

/* ---------- Top bar ---------- */
.topbar{background:#1d1a16;color:#d8d2c7}
.topbar__inner{align-items:center;display:flex;font-size:11px;gap:16px;justify-content:space-between;letter-spacing:.08em;min-height:38px;padding-bottom:6px;padding-top:6px;text-transform:uppercase}
.topbar__inner p{margin:0}
.topbar__inner a{color:#fff;font-weight:700;letter-spacing:.1em}
.topbar__inner a:hover{color:#e7c9a8}

/* ---------- Header ---------- */
/* The header scrolls away with the page (not sticky). */
.site-header{background:#fff;position:relative;z-index:60}
.site-header.is-stuck{box-shadow:none}
.header-shell{align-items:center;display:flex;gap:26px;height:86px}
.wordmark{color:var(--ink);font-size:21px;font-weight:800;letter-spacing:.005em;line-height:.95;min-width:190px;text-align:left}
.wordmark small{color:var(--muted);display:block;font-size:8.5px;font-weight:700;letter-spacing:.3em;margin-top:7px;text-transform:uppercase}
.header-search{background:var(--sand);border:1px solid var(--line);border-radius:10px;display:flex;flex:1;max-width:560px;transition:border-color .18s ease,background-color .18s ease}
.header-search:focus-within{background:#fff;border-color:var(--clay)}
.header-search input{background:transparent;border:0;color:var(--ink);font-size:14px;min-width:0;outline:0;padding:13px 16px;width:100%}
.header-search input::placeholder{color:var(--muted);opacity:1}
.header-search button{background:transparent;border:0;border-left:1px solid var(--line);color:var(--ink);cursor:pointer;display:flex;align-items:center;padding:0 16px}
.header-search button:hover{color:var(--clay)}
.header-actions{align-items:center;display:flex;gap:20px;margin-left:auto}
.icon-action{align-items:center;color:var(--ink);display:inline-flex;font-size:11px;font-weight:700;gap:8px;letter-spacing:.08em;text-transform:uppercase;transition:color .18s ease}
.icon-action:hover,.icon-action:focus-visible{color:var(--clay)}
.icon-action svg{stroke:currentColor}
.icon-action sup{background:var(--clay);border-radius:20px;color:#fff;font-size:9.5px;font-weight:700;line-height:1;min-width:17px;padding:4px 5px;position:static;text-align:center}
.icon-button.mobile-only span{background:var(--ink)}

/* ---------- Primary navigation ---------- */
.nav-row{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;z-index:50}
.primary-navigation .menu{align-items:center;display:flex;flex-wrap:wrap;gap:clamp(18px,2.4vw,34px);justify-content:center;list-style:none;margin:0;padding:15px 32px}
.primary-navigation .menu>.menu-item{position:relative}
.primary-navigation .menu>.menu-item>a{color:var(--ink);display:block;font-size:12.5px;font-weight:700;letter-spacing:.07em;padding:4px 0;text-transform:uppercase;transition:color .18s ease}
.primary-navigation .menu>.menu-item>a:hover,.primary-navigation .menu>.menu-item>a:focus-visible{color:var(--clay)}
.primary-navigation .current-menu-item>a,.primary-navigation .current-menu-ancestor>a,.primary-navigation .current_page_item>a,.primary-navigation .current_page_ancestor>a{box-shadow:inset 0 -2px 0 var(--clay);color:var(--clay)}
.primary-navigation .sub-menu{background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow-md);display:block;left:50%;list-style:none;margin:0;min-width:230px;opacity:0;padding:10px 0;pointer-events:none;position:absolute;top:calc(100% + 12px);transform:translateX(-50%) translateY(6px);transition:opacity .18s ease,transform .18s ease,visibility .18s;visibility:hidden;z-index:80}
.primary-navigation .menu-item-has-children:hover>.sub-menu,.primary-navigation .menu-item-has-children:focus-within>.sub-menu{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);visibility:visible}
.primary-navigation .sub-menu a{color:var(--ink);display:block;font-size:13.5px;font-weight:600;letter-spacing:.01em;padding:10px 20px;text-transform:none;transition:background-color .15s ease,color .15s ease}
.primary-navigation .sub-menu a:hover,.primary-navigation .sub-menu a:focus-visible{background:var(--sand);color:var(--clay)}
.primary-navigation .sub-menu .current-menu-item>a{color:var(--clay);background:var(--sand)}

/* ---------- Mobile drawer ---------- */
.mobile-drawer{background:#fff;border-top:1px solid var(--line)}
@media(max-width:800px){
	/* The legacy stylesheet leaves the drawer display:none; actually show it. */
	.mobile-drawer{display:block;z-index:-1}
}
.mobile-drawer .menu>.menu-item>a{color:var(--ink)}
.mobile-drawer .menu>.menu-item>a{color:var(--ink)}
.mobile-drawer .submenu-toggle{color:var(--ink)}
.mobile-drawer .sub-menu a{color:var(--muted)}
.mobile-drawer .current-menu-item>a,.mobile-drawer .current-ancestor>a{color:var(--clay)}

/* ---------- Sections & cards ---------- */
.rte{color:var(--ink)}
.rh-section-head{align-items:end;display:flex;gap:24px;justify-content:space-between;margin-bottom:40px}
.rh-section-head .eyebrow{margin-bottom:10px}
.rh-section-head h2{margin:0}
.rh-section-sub{color:var(--muted);font-size:15.5px;line-height:1.6;margin:12px 0 0;max-width:560px}

/* ---------- Legacy components re-skin ---------- */
.announcement{background:#1d1a16;color:#d8d2c7}
.site-footer{background:#1d1a16;color:#b9b2a5;margin-top:0}
.footer-top{display:grid;gap:56px;grid-template-columns:1.15fr 2fr;padding-bottom:64px;padding-top:72px}
.footer-brand .wordmark{color:#fff;font-size:22px}
.footer-brand .wordmark small{color:#8f887b}
.footer-brand>p{color:#a49d90;font-size:14px;line-height:1.7;margin:20px 0 0;max-width:300px}
.footer-contact{list-style:none;margin:22px 0 0;padding:0;font-size:13.5px}
.footer-contact li{margin:0 0 9px;color:#a49d90}
.footer-contact a{color:#d8d2c7}
.footer-contact a:hover{color:#fff}
.footer-links{display:grid;gap:36px;grid-template-columns:repeat(4,1fr)}
.footer-links h3{color:#fff;font-size:11px;letter-spacing:.16em;margin:0 0 18px;text-transform:uppercase}
.footer-links a{color:#b9b2a5;display:block;font-size:13.5px;margin:0 0 11px;transition:color .18s ease}
.footer-links a:hover,.footer-links a:focus-visible{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);color:#8f887b;display:flex;flex-wrap:wrap;gap:10px;font-size:11.5px;justify-content:space-between;padding-bottom:24px;padding-top:22px}

/* ---------- WooCommerce re-skin ---------- */
.product-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease}
.product-card:hover{border-color:#d9d2c4;box-shadow:var(--shadow-md);transform:translateY(-3px)}
.product-card .product-image{background:var(--sand)}
.product-card .product-image img{transition:transform .5s ease}
.product-card:hover .product-image img{transform:scale(1.045)}
.product-card .product-details{padding:18px 18px 20px}
.product-card .product-vendor{color:var(--muted)}
.product-card .price{color:var(--ink);font-size:15px}
.product-card .price del{color:var(--muted)}
.product-card .button,.product-card .added_to_cart{background:var(--clay);border:1px solid var(--clay);border-radius:5px}
.product-card .button:hover,.product-card .button:focus-visible,.product-card .added_to_cart:hover{background:var(--clay-dark);border-color:var(--clay-dark);color:#fff}
.sale-badge,.onsale{background:var(--clay);border-radius:3px;color:#fff;font-size:10px;font-weight:700;left:12px;letter-spacing:.08em;padding:5px 8px;position:absolute;text-transform:uppercase;top:12px;z-index:2}
.woocommerce .star-rating{color:#c08a3e}
.woocommerce .single_add_to_cart_button,.woocommerce .checkout-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit{background:var(--clay)!important;border:1px solid var(--clay)!important;border-radius:var(--radius);color:#fff!important}
.woocommerce .single_add_to_cart_button:hover,.woocommerce .single_add_to_cart_button:focus-visible,.woocommerce .checkout-button:hover,.woocommerce .checkout-button:focus-visible,.woocommerce a.button:hover,.woocommerce a.button:focus-visible,.woocommerce button.button:hover,.woocommerce button.button:focus-visible,.woocommerce input.button:hover,.woocommerce #respond input#submit:hover{background:var(--clay-dark)!important;border-color:var(--clay-dark)!important;color:#fff!important}
.product-card .added_to_cart{background:#fff!important;border-color:var(--clay)!important;color:var(--clay)!important}

/* WooCommerce block buttons (cart/checkout blocks) */
.wc-block-components-button{background-color:var(--clay)!important;border:1px solid var(--clay)!important;border-radius:var(--radius)!important;color:#fff!important}
.wc-block-components-button:hover,.wc-block-components-button:focus-visible{background-color:var(--clay-dark)!important;border-color:var(--clay-dark)!important}
.wc-block-components-button[disabled],.wc-block-components-button:disabled{background-color:#cbb9a9!important;border-color:#cbb9a9!important;color:#fff!important;opacity:1}
.wc-block-components-text-input input,.wc-block-components-textarea input{outline-color:var(--clay)}
.wc-block-components-checkout-return-to-cart-button{background-color:#fff!important;border:1px solid var(--line)!important;color:var(--ink)!important}
.quantity .qty{border:1px solid var(--line);border-radius:6px}
/* Keep WooCommerce's absolutely-positioned .screen-reader-text labels anchored
   to the quantity box instead of the page (they caused mobile horizontal overflow). */
.quantity,.product-card__actions{position:relative}
.screen-reader-text{clip-path:inset(50%);height:1px;overflow:hidden;width:1px;word-wrap:normal}
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--sand);border-top-color:var(--clay);color:var(--ink)}
.woocommerce-message a,.woocommerce-info a,.woocommerce-error a{color:var(--clay)}
.woocommerce div.product .product-key-facts strong{color:var(--ink)}
.woocommerce div.product .stock{color:#6f6960}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{border-bottom-color:var(--clay);color:var(--ink)}
.woocommerce .category-detail__title{color:var(--ink)}
.woocommerce .category-child-card span{font-family:var(--sans);font-weight:700;letter-spacing:-.01em}
.woocommerce .collection-banner h1,.woocommerce .category-detail__title{font-weight:700}
.woocommerce-breadcrumb,.woocommerce .woocommerce-breadcrumb{color:var(--muted)!important;display:block!important}
select,.collection-toolbar select{background:#fff;color:var(--ink)}

/* Collection / archive surfaces */
.collection-banner,.collection-toolbar,.category-detail{background:transparent}
.woocommerce .category-detail{background:#fff;border:1px solid var(--line);border-radius:12px}
.woocommerce .category-child-card{border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow-sm);transition:box-shadow .25s ease,transform .25s ease}
.woocommerce .category-child-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}
.category-products>h2{letter-spacing:-.02em}

/* Newsletter band (legacy class, restyled) */
.newsletter-section{background:var(--sand-deep);padding:64px 0}
.newsletter-section h2{font-size:clamp(26px,2.8vw,38px)}
.newsletter-form input{background:#fff;border:1px solid var(--line);border-radius:8px;height:50px}
.newsletter-form .button{height:50px}

/* Legacy dark blocks that may appear on inner pages */
.design-service{background:#221f1c;color:#f4f1ea}
.design-service .eyebrow,.design-service .feature-list li>span{color:#d9b98c}
.design-service p{color:#c9c2b5}

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion:reduce){
	*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* ---------- Responsive ---------- */
@media(max-width:1100px){
	.header-search{max-width:420px}
}
@media(max-width:900px){
	.header-shell{gap:14px;height:72px}
	.wordmark{font-size:17px;min-width:0}
	.wordmark small{font-size:7.5px;letter-spacing:.24em;margin-top:5px}
	.header-search{max-width:none}
	.header-actions{gap:14px}
	.desktop-account span{display:none}
	.bag-label{display:none}
	.footer-top{gap:40px;grid-template-columns:1fr;padding-bottom:48px;padding-top:52px}
	.footer-links{gap:28px;grid-template-columns:repeat(2,1fr)}
}
@media(max-width:800px){
	.topbar__inner{font-size:10px;gap:10px}
	.topbar__inner p{max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
	.header-shell{gap:10px;height:64px}
	.wordmark{font-size:13.5px;line-height:1.08}
	.wordmark small{display:none}
	.desktop-account{display:none}
	.header-search{flex:0 0 auto;background:transparent;border:0}
	.header-search input{display:none}
	.header-search button{border:0;padding:8px 6px}
	.rh-section-head{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:30px}
}
