/* WooCommerce archive, product, cart and checkout */
.woocommerce-page .site-content { min-height: 60vh; }
.woocommerce .woocommerce-breadcrumb { margin: 25px 0 18px; color: var(--muted); font-size: 11px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--navy); }
.shop-hero { position:relative; padding: clamp(32px,5vw,66px) 0; background: var(--stone-200); overflow:hidden; isolation:isolate; }
.shop-hero--image { color:var(--white); background:var(--navy-900); }
.shop-hero--image::before { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,rgba(8,36,49,.95),rgba(8,36,49,.5)),var(--category-image); background-position:center; background-size:cover; }
.shop-hero--image .eyebrow { color:var(--gold); }
.shop-hero--image h1, .shop-hero--image p { color:var(--white); }
.shop-hero__inner { display:flex; justify-content:space-between; align-items:end; gap:30px; }
.shop-hero p { max-width: 470px; margin-top: 10px; color: var(--muted); }
.catalog-layout { display:grid; grid-template-columns: 260px minmax(0,1fr); gap: clamp(25px,4vw,60px); padding-block: 42px 85px; }
.catalog-sidebar { align-self:start; border-top: 2px solid var(--navy); background: var(--white); }
.catalog-sidebar__heading { display:flex; align-items:center; justify-content:space-between; padding: 17px 18px; }
.catalog-sidebar h2 { font-size: 15px; }
.catalog-sidebar__heading a { color:var(--gold-strong); font-size:10px; font-weight:600; }
.catalog-filter { border-top: 1px solid var(--line); }
.catalog-filter summary { display:flex; align-items:center; justify-content:space-between; padding: 15px 18px; color:var(--navy); font-size:12px; font-weight:600; cursor:pointer; list-style:none; }
.catalog-filter summary::after { content:'+'; font-size:18px; font-weight:400; }
.catalog-filter[open] summary::after { content:'−'; }
.catalog-filter ul { padding: 0 18px 16px; }
.catalog-filter li + li { margin-top: 8px; }
.catalog-filter a { color:var(--muted); font-size:11px; }
.catalog-filter a:hover { color:var(--gold-strong); }
.catalog-check { display:flex; align-items:center; gap:8px; color:var(--muted); cursor:pointer; font-size:11px; }
.catalog-check input { appearance:none; display:grid; place-items:center; width:15px; height:15px; margin:0; border:1px solid var(--line); border-radius:2px; background:var(--white); }
.catalog-check input:checked { border-color:var(--navy); background:var(--navy); }
.catalog-check input:checked::after { content:"✓"; color:var(--white); font-size:10px; }
.catalog-check small { margin-inline-start:auto; color:#aaa49a; }
.catalog-price { display:flex; align-items:center; gap:7px; padding:0 18px 17px; color:var(--muted); }
.catalog-price input { width:100%; min-width:0; height:37px; border:1px solid var(--line); padding:6px 8px; background:var(--white); font-size:10px; outline:0; }
.catalog-price input:focus { border-color:var(--gold); }
.catalog-filter__submit { width:calc(100% - 36px); margin:18px; background:var(--navy)!important; }
.catalog-toolbar { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom: 22px; }
.catalog-toolbar > div p { margin-top:4px; color:var(--muted); font-size:10px; }
.woocommerce .woocommerce-result-count { margin:0; color:var(--muted); font-size:11px; }
.woocommerce .woocommerce-ordering { margin:0; }
.woocommerce .woocommerce-ordering select { min-height: 39px; border: 1px solid var(--line); background:var(--white); padding: 7px 12px; color:var(--ink); font-size:11px; outline:0; }
.woocommerce ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--grid-gap); margin:0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { width:auto; float:none; margin:0; }
.woocommerce ul.products li.product a img { margin:0; }
.woocommerce nav.woocommerce-pagination { margin-top: 45px; }
.woocommerce nav.woocommerce-pagination ul { display:flex; justify-content:center; gap:6px; border:0; }
.woocommerce nav.woocommerce-pagination ul li { border:0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { display:grid; place-items:center; min-width:36px; height:36px; border:1px solid var(--line); color:var(--navy); font-size:12px; }
.woocommerce nav.woocommerce-pagination ul li span.current { border-color:var(--navy); background:var(--navy); color:var(--white); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { margin: 20px 0!important; border-top: 0!important; border-inline-start: 3px solid var(--gold); background: var(--stone-200)!important; color:var(--ink)!important; box-shadow:none; font-size:12px; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { color:var(--navy); }

/* Single product */
.single-product-shell { padding-bottom: 90px; }
.single-product-main { display:grid; grid-template-columns:minmax(0,1.16fr) minmax(340px,.84fr); gap:clamp(30px,6vw,95px); padding-top: 20px; }
.single-product div.product div.images, .single-product div.product div.summary { float:none; width:auto; margin:0; }
.single-product .woocommerce-product-gallery__wrapper { border-radius:var(--radius-md); background:#efede8; overflow:hidden; }
.single-product .woocommerce-product-gallery__image > a { display:block; aspect-ratio:1; }
.single-product .woocommerce-product-gallery__image img { width:100%; height:100%; object-fit:cover; mix-blend-mode:multiply; }
.single-product .flex-control-thumbs { display:flex; gap:10px; margin-top:12px!important; }
.single-product .flex-control-thumbs li { width:72px!important; }
.single-product .flex-control-thumbs img { border:1px solid transparent; opacity:1!important; }
.single-product .flex-control-thumbs img.flex-active { border-color:var(--gold); }
.single-product .summary .product_meta { padding-top:18px; border-top:1px solid var(--line); color:var(--muted); font-size:11px; }
.single-product .summary .product_meta > span { display:block; margin-bottom:6px; }
.single-product .summary .product_meta a { color:var(--navy); }
.single-product .product_title { margin:8px 0 14px; color:var(--navy); font-size:clamp(28px,3vw,40px); }
.single-product-brand { margin-bottom:6px; color:#927b56; font:600 11px/1.3 "DM Sans",var(--font-sans); letter-spacing:.08em; text-transform:uppercase; }
.single-product .woocommerce-product-rating { display:flex; align-items:center; gap:10px; margin-bottom:16px; color:var(--gold); }
.single-product .woocommerce-review-link { color:var(--muted); font-size:11px; }
.single-product p.price, .single-product span.price { margin-bottom:20px; color:var(--navy); font-size:26px; font-weight:700; }
.single-product p.price del, .single-product span.price del { color:var(--muted); font-size:15px; font-weight:400; }
.single-product .woocommerce-product-details__short-description { padding-block:18px; border-block:1px solid var(--line); color:#4e4d4a; font-size:13px; }
.single-product form.cart { display:flex; align-items:stretch; gap:12px; margin:24px 0!important; }
.single-product form.cart .quantity .qty { width:72px; height:48px; border:1px solid var(--line); background:var(--white); text-align:center; }
.single-product form.cart .button { flex:1; background:var(--gold); color:var(--navy-900); }
.single-product form.cart .button:hover { background:var(--gold-strong); color:var(--navy-900); }
.product-assurances { display:grid; gap:10px; margin:20px 0; padding:15px 0; border-block:1px solid var(--line); }
.product-assurances > div { display:flex; align-items:center; gap:10px; }
.product-assurances > div > span { display:grid; place-items:center; width:30px; height:30px; color:var(--navy); font-size:22px; }
.product-assurances p { display:grid; color:var(--muted); font-size:10px; line-height:1.45; }
.product-assurances strong { color:var(--ink); font-size:11px; }
.product-assurances small { font-size:9px; }
.product-design-link { display:flex; align-items:center; gap:8px; padding:12px 14px; background:#edf0ee; color:var(--navy); font-size:11px; font-weight:600; }
.product-design-link span { color:var(--gold-strong); font-size:16px; }
.single-product .woocommerce-product-attributes { margin-top:20px; border:0; font-size:11px; }
.single-product .woocommerce-product-attributes th, .single-product .woocommerce-product-attributes td { padding:8px 0; border:0; border-bottom:1px solid #ebe8e3; }
.single-product .woocommerce-tabs { margin-top:75px; }
.single-product .woocommerce-tabs ul.tabs { display:flex; gap:28px; padding:0; border-bottom:1px solid var(--line); }
.single-product .woocommerce-tabs ul.tabs::before, .single-product .woocommerce-tabs ul.tabs::after { display:none; }
.single-product .woocommerce-tabs ul.tabs li { margin:0; padding:0; border:0; border-radius:0; background:transparent; }
.single-product .woocommerce-tabs ul.tabs li::before, .single-product .woocommerce-tabs ul.tabs li::after { display:none; }
.single-product .woocommerce-tabs ul.tabs li a { display:block; padding:0 0 12px; color:var(--muted); font-size:12px; }
.single-product .woocommerce-tabs ul.tabs li.active a { border-bottom:2px solid var(--gold); color:var(--navy); }
.single-product .woocommerce-Tabs-panel { max-width:850px; padding-top:26px; color:#4f4e4a; font-size:13px; }
.single-product .related { margin-top:72px; }
.single-product .related > h2 { margin-bottom:25px; }
.single-product .related ul.products { grid-template-columns:repeat(4,1fr); }

/* Cart */
.commerce-page { padding-block: 22px 85px; }
.commerce-page__title { margin-bottom:28px; }
.cart-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; align-items:start; gap:clamp(26px,5vw,80px); }
.woocommerce table.shop_table { border:0; border-radius:0; border-collapse:collapse; background:transparent; }
.woocommerce table.shop_table th { padding:0 12px 13px; border:0; border-bottom:1px solid var(--line); color:var(--muted); font-size:10px; font-weight:500; }
.woocommerce table.shop_table td { padding:17px 12px; border:0; border-bottom:1px solid #e9e5de; vertical-align:middle; }
.woocommerce-cart-form__cart-item .product-thumbnail img { width:82px; border-radius:var(--radius-xs); background:#eee; }
.woocommerce-cart-form__cart-item .product-name a { color:var(--navy); font-size:12px; font-weight:600; }
.woocommerce-cart-form__cart-item .product-price, .woocommerce-cart-form__cart-item .product-subtotal { color:var(--navy); font-size:12px; font-weight:700; }
.woocommerce a.remove { color:var(--danger)!important; font-size:18px; }
.woocommerce .quantity .qty { min-height:38px; width:62px; border:1px solid var(--line); background:var(--white); text-align:center; }
.woocommerce table.shop_table .actions { padding:20px 0; }
.woocommerce table.shop_table .actions .coupon { display:flex; gap:8px; }
.woocommerce table.shop_table .actions .coupon .input-text { width:150px; min-height:40px; border:1px solid var(--line); padding:8px; }
.cart-collaterals { width:100%!important; }
.cart-collaterals .cart_totals { width:100%!important; padding:25px; border:1px solid var(--line); background:var(--white); }
.cart-collaterals h2 { margin-bottom:18px; font-size:20px; }
.cart-collaterals .shop_table td, .cart-collaterals .shop_table th { padding:10px 0!important; }
.cart-collaterals .wc-proceed-to-checkout { padding:15px 0 0!important; }
.cart-collaterals .wc-proceed-to-checkout a.checkout-button { margin:0; background:var(--gold); color:var(--navy-900); font-size:13px; }

/* Checkout */
.checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) 400px; align-items:start; gap:clamp(28px,5vw,80px); }
.woocommerce-checkout .woocommerce-billing-fields h3, .woocommerce-checkout .woocommerce-additional-fields h3, #order_review_heading { margin:0 0 22px; color:var(--navy); font-size:22px; }
.woocommerce form .form-row { margin-bottom:17px; }
.woocommerce form .form-row label { margin-bottom:6px; color:var(--ink); font-size:11px; font-weight:600; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container--default .select2-selection--single { min-height:46px; border:1px solid var(--line); border-radius:0; background:var(--white); padding:10px 12px; color:var(--ink); outline:0; box-shadow:none; }
.woocommerce form .form-row textarea { min-height:110px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height:25px; padding:0; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height:44px; }
.checkout-order-review { padding:26px; border:1px solid var(--line); background:var(--white); }
.woocommerce-checkout-review-order-table td, .woocommerce-checkout-review-order-table th { padding:11px 0!important; font-size:11px; }
.woocommerce-checkout #payment { border-radius:0; background:var(--stone-200); }
.woocommerce-checkout #payment div.payment_box { background:#e2ddd4; color:var(--ink); font-size:11px; }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color:#e2ddd4; }
.woocommerce-checkout #payment #place_order { width:100%; margin-top:15px; background:var(--gold); color:var(--navy-900); }

@media (max-width: 960px) { .catalog-layout { grid-template-columns:1fr; } .catalog-sidebar { display:none; } .woocommerce ul.products { grid-template-columns:repeat(3,1fr); } .single-product-main { grid-template-columns:1fr; gap:35px; } .cart-layout, .checkout-layout { grid-template-columns:1fr; } .cart-collaterals .cart_totals { max-width:460px; } }
@media (max-width: 600px) { .shop-hero__inner { align-items:start; flex-direction:column; gap:14px; } .woocommerce ul.products { grid-template-columns:repeat(2,1fr); gap:10px; } .catalog-toolbar { align-items:flex-start; flex-direction:column; } .single-product .woocommerce-tabs { margin-top:50px; } .single-product .woocommerce-tabs ul.tabs { gap:18px; overflow-x:auto; } .single-product .woocommerce-tabs ul.tabs li { white-space:nowrap; } .single-product .related ul.products { grid-template-columns:repeat(2,1fr); } .woocommerce table.shop_table thead { display:none; } .woocommerce table.shop_table tr { display:grid; grid-template-columns:70px 1fr auto; column-gap:12px; position:relative; padding:15px 0; } .woocommerce table.shop_table td { display:block; padding:0; border:0; } .woocommerce-cart-form__cart-item .product-thumbnail { grid-row:span 3; } .woocommerce-cart-form__cart-item .product-price { display:none!important; } .woocommerce-cart-form__cart-item .product-subtotal { align-self:end; } .woocommerce-cart-form__cart-item .product-remove { position:absolute; top:12px; inset-inline-end:0; } .woocommerce table.shop_table .actions { display:block; } .woocommerce table.shop_table .actions .coupon { margin-bottom:10px; } }
