/* Mobile-first presentation. Native WooCommerce owns every commerce action. */
html { scrollbar-gutter:stable; }
:root {
  --color-bg:#F7F4EE; --color-surface:#FFFDFC; --color-text:#242321;
  --color-text-muted:#6D6861; --color-primary:#A85F48; --color-primary-hover:#8E4D39;
  --color-primary-soft:#F1E4DE; --color-border:#DED8CF;
  --font-ui:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-display:Georgia,"Times New Roman",serif;
  --space-1:.25rem; --space-2:.5rem; --space-3:.75rem; --space-4:1rem;
  --space-5:1.5rem; --space-6:2rem; --space-7:3rem; --space-8:4rem;
  --radius:8px; --content-width:1200px; --store-focus-color:var(--color-primary-hover);
}
body.warm-commerce { background:var(--color-surface); color:var(--color-text); font:400 16px/1.6 var(--font-ui); }
.warm-commerce * { box-sizing:border-box; }
.warm-commerce .col-full { width:calc(100% - 32px); max-width:var(--content-width); margin-inline:auto; padding:0; }
.warm-commerce .site-main,.warm-commerce .content-area { width:100%; float:none; margin:0; }
.warm-commerce h1,.warm-commerce h2 { font-family:var(--font-display); font-weight:400; color:var(--color-text); letter-spacing:-.025em; line-height:1.12; }
.warm-commerce h1 { font-size:clamp(2rem,5vw,3.5rem); margin:0 0 var(--space-5); }
.warm-commerce h2 { font-size:clamp(1.5rem,3vw,2.15rem); }
.warm-commerce h3 { font:600 1.15rem/1.4 var(--font-ui); color:var(--color-text); }
.warm-commerce a { color:var(--color-primary-hover); }
.warm-commerce a:hover { color:var(--color-text); }
.warm-commerce p { margin:0 0 var(--space-4); }
.warm-commerce :where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid var(--color-primary-hover); outline-offset:3px; }
.warm-commerce .button,.warm-commerce button:not(.pswp__button),.warm-commerce input[type=submit],.warm-commerce a.checkout-button {
  background:var(--color-primary); color:#fff; border:1px solid var(--color-primary); border-radius:var(--radius);
  font:600 .875rem/1.3 var(--font-ui); min-height:44px; padding:12px 18px; text-decoration:none; box-shadow:none;
}
.warm-commerce .button:hover,.warm-commerce button:not(.pswp__button):hover,.warm-commerce input[type=submit]:hover { background:var(--color-primary-hover); color:#fff; }
.warm-commerce .button.secondary { background:transparent; color:var(--color-primary-hover); }
.warm-commerce .text-link { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; font-size:.875rem; }
.warm-commerce .muted,.warm-commerce .product-descriptor { color:var(--color-text-muted); }
.warm-commerce input.input-text,.warm-commerce input[type=text],.warm-commerce input[type=email],.warm-commerce input[type=password],.warm-commerce input[type=tel],.warm-commerce input[type=number],.warm-commerce textarea,.warm-commerce select,.warm-commerce .select2-selection--single {
  border:1px solid var(--color-border); border-radius:6px; background:var(--color-surface); color:var(--color-text); box-shadow:none;
  font:400 16px/1.5 var(--font-ui); min-height:44px; padding:10px 12px; max-width:100%;
}
.warm-commerce label { font-size:.875rem; color:var(--color-text); }
.warm-commerce input[type=checkbox],.warm-commerce input[type=radio] { accent-color:var(--color-primary); min-width:18px; min-height:18px; }
.warm-commerce img { height:auto; max-width:100%; }
.warm-commerce #masthead { background:var(--color-surface); border:0; border-bottom:1px solid var(--color-border); padding:0; margin:0; }
.warm-commerce .commerce-header { display:flex; align-items:center; gap:var(--space-4); min-height:72px; }
.brand-placeholder { display:inline-flex; flex-direction:column; color:var(--color-text)!important; font:600 12px/1.4 var(--font-ui); letter-spacing:.24em; text-decoration:none; }
.brand-placeholder span { font-size:8px; font-weight:400; letter-spacing:.16em; }
.commerce-header .brand-placeholder { margin-inline:auto; }
.commerce-cart { display:flex; align-items:center; justify-content:center; position:relative; width:44px; height:44px; flex-shrink:0; text-decoration:none; }
.commerce-cart svg { fill:none; stroke:var(--color-text); stroke-width:1.4; width:24px; height:24px; }
.commerce-cart span { background:var(--color-primary); color:white; border-radius:50%; font:600 10px/17px var(--font-ui); position:absolute; top:1px; right:0; min-width:17px; text-align:center; }
.desktop-nav,.account-link { display:none; }
.mobile-menu { position:relative; }
.mobile-menu summary { display:flex; align-items:center; justify-content:center; width:44px; height:44px; cursor:pointer; list-style:none; }
.mobile-menu summary::-webkit-details-marker { display:none; }
.mobile-menu summary span { font-size:21px; }
.mobile-menu nav { position:absolute; top:52px; left:0; width:240px; padding:var(--space-3); border:1px solid var(--color-border); background:var(--color-surface); z-index:200; }
.mobile-menu nav a { display:block; padding:10px 12px; min-height:44px; color:var(--color-text); }
.checkout-header-label { color:var(--color-text-muted); font-size:.875rem; }
.woocommerce-checkout .commerce-header .brand-placeholder { margin-right:auto; margin-left:0; }
.warm-commerce .storefront-breadcrumb { margin:0; padding:var(--space-4) 0; background:transparent; }
.warm-commerce .woocommerce-breadcrumb { font-size:.75rem; margin:0; }
.warm-commerce .woocommerce-breadcrumb a:first-of-type::before { display:none; }
.warm-commerce .site-content { padding-bottom:var(--space-7); }
.commerce-home { padding-top:0; }
.commerce-hero { background:var(--color-bg); display:grid; margin:0 -16px; }
.hero-copy { padding:32px 24px; }
.eyebrow { font:600 .65rem/1.8 var(--font-ui); letter-spacing:.21em; text-transform:uppercase; color:var(--color-primary-hover); }
.hero-copy h1 { font-size:clamp(2.35rem,5.5vw,4.5rem); max-width:10em; }
.hero-copy>p:not(.eyebrow) { max-width:29em; color:var(--color-text-muted); font-size:.95rem; }
.hero-actions { display:flex; gap:var(--space-4); flex-wrap:wrap; align-items:center; margin-top:var(--space-5); }
.image-placeholder { background:#E9E0D6; display:flex; justify-content:center; align-items:flex-end; min-width:0; color:#71685F; text-align:center; }
.image-placeholder>span { font-size:.75rem; letter-spacing:.05em; padding:var(--space-5); }
.image-placeholder small { font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; }
.hero-image { min-height:230px; background:#E4D8CC; }
/* Approved homepage compositions remain fully visible, without cover crops. */
.commerce-home .homepage-media { min-width:0; display:flex; align-items:center; }
.commerce-home .homepage-media img { display:block; width:100%; height:auto; margin:0; }
.commerce-home .hero-image { min-height:0; background:var(--color-bg); }
.commerce-home .editorial-image { background:var(--color-bg); }
.commerce-home .category-card { grid-template-columns:minmax(0,1fr); grid-template-rows:auto 1fr; min-height:0; }
.commerce-home .category-image { grid-row:1; }
.commerce-home .category-card>div:first-child { padding:20px 24px; display:flex; flex-direction:column; align-self:stretch; }
.commerce-home .category-card .text-link { margin-top:auto; }
.home-section { margin-top:var(--space-6); }
.category-cards { display:grid; gap:var(--space-4); }
.category-card { display:grid; grid-template-columns:1.2fr 1fr; min-height:190px; background:var(--color-bg); color:var(--color-text)!important; overflow:hidden; border-radius:4px; text-decoration:none; }
.category-card>div:first-child { padding:var(--space-5); align-self:center; }
.category-card h2 { margin-bottom:var(--space-3); font-size:1.55rem; }
.category-card p { font-size:.8rem; }
.category-card .text-link { font-size:.75rem; color:var(--color-primary-hover); }
.category-card:nth-child(2) .image-placeholder { background:#DDD2C6; }
.section-heading { display:flex; justify-content:space-between; gap:var(--space-4); align-items:baseline; margin-bottom:var(--space-5); }
.section-heading h2 { margin:0; }
.section-heading a { font-size:.75rem; white-space:nowrap; }
.value-strip { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-5); padding:var(--space-6) var(--space-5); background:var(--color-primary-soft); margin:var(--space-6) 0; }
.value-strip h2 { font:700 .9375rem/1.4 var(--font-ui); letter-spacing:0; margin-bottom:var(--space-2); }
.value-strip h2::before { content:""; display:block; width:24px; border-top:1px solid var(--color-primary); margin-bottom:10px; }
.value-strip p { font-size:.75rem; margin:0; }
.editorial-section { display:grid; background:var(--color-bg); margin:var(--space-6) 0 0; }
.editorial-section>.image-placeholder { min-height:112px; }
.editorial-section>div:last-child { padding:var(--space-5); }
.warm-commerce .editorial-section h2 { margin-top:18px; }
.editorial-section p:not(.eyebrow) { color:var(--color-text-muted); max-width:32em; font-size:.9rem; }
.warm-commerce .woocommerce-products-header { background:var(--color-bg); padding:var(--space-6) var(--space-5)!important; margin-bottom:var(--space-5); text-align:left; }
.warm-commerce .woocommerce-products-header h1 { margin-bottom:var(--space-3); }
.warm-commerce .term-description p { max-width:42em; margin:0; font-size:.875rem; }
.warm-commerce .storefront-sorting { display:flex; flex-wrap:wrap; gap:var(--space-3); align-items:center; margin-bottom:var(--space-5); }
.warm-commerce .storefront-sorting::before,.warm-commerce .storefront-sorting::after { display:none; }
.warm-commerce .woocommerce-ordering,.warm-commerce .woocommerce-result-count { float:none; margin:0; font-size:.75rem; }
.warm-commerce .woocommerce-result-count { margin-left:auto; }
.warm-commerce .woocommerce-ordering select { font-size:.875rem; width:100%; }
.warm-commerce ul.products { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 14px; margin:0 0 var(--space-6); }
.warm-commerce ul.products::before,.warm-commerce ul.products::after { display:none; }
.warm-commerce ul.products li.product { float:none!important; width:auto!important; margin:0!important; text-align:left; display:flex; flex-direction:column; min-width:0; }
.warm-commerce ul.products li.product a.woocommerce-LoopProduct-link { text-decoration:none; color:var(--color-text); }
.warm-commerce ul.products li.product img { aspect-ratio:1/1.12; object-fit:contain; width:100%; margin-bottom:var(--space-3); border-radius:4px; }
.warm-commerce ul.products li.product h2,.warm-commerce ul.products li.product .woocommerce-loop-product__title { font:500 .9rem/1.4 var(--font-ui); letter-spacing:0; margin:0 0 4px; overflow-wrap:anywhere; }
.warm-commerce ul.products li.product .product-descriptor { display:block; font-size:.7rem; margin-bottom:4px; }
.warm-commerce ul.products li.product .price { display:block; font:600 .875rem/1.5 var(--font-ui); margin-bottom:var(--space-3); color:var(--color-text); }
.warm-commerce ul.products li.product .button { display:flex; align-items:center; justify-content:center; font-size:.75rem; padding:10px 6px; margin-top:auto; width:100%; }
.warm-commerce ul.products li.product .added_to_cart { padding:8px 0; min-height:44px; }
.warm-commerce.single-product div.product .woocommerce-product-gallery { margin-bottom:var(--space-5); }
.warm-commerce.single-product div.product .summary { margin-bottom:var(--space-6); }
.warm-commerce.single-product .product_title { font-size:clamp(2rem,4vw,3rem); }
.warm-commerce.single-product div.product p.price { color:var(--color-text); font:500 1.5rem/1.4 var(--font-display); }
.warm-commerce .woocommerce-product-details__short-description { color:var(--color-text-muted); font-size:.95rem; }
.warm-commerce.single-product div.product form.cart { display:flex; flex-wrap:wrap; gap:var(--space-3); align-items:center; padding:var(--space-4) 0; margin:0; }
.warm-commerce.single-product div.product form.variations_form { display:block; }
.warm-commerce .woocommerce-variation-add-to-cart { display:flex; gap:var(--space-3); align-items:center; }
.warm-commerce .single_add_to_cart_button { flex:1; }
.warm-commerce .quantity .qty { width:72px; }
.warm-commerce.single-product div.product .product_meta { font-size:.75rem; border-top:1px solid var(--color-border); padding-top:var(--space-4); }
.warm-commerce.single-product .woocommerce-product-gallery img { border-radius:4px; }
.warm-commerce.single-product .woocommerce-product-gallery__image img { width:100%; }
.warm-commerce.single-product div.product .woocommerce-product-gallery .flex-control-thumbs { display:flex; gap:10px; margin-top:12px; }
.warm-commerce.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li { width:64px!important; flex:0 0 64px; margin:0!important; }
.warm-commerce.single-product .flex-control-thumbs img { width:100%; }
.warm-commerce .woocommerce-tabs { padding-top:var(--space-6); border-top:1px solid var(--color-border); }
.warm-commerce .woocommerce-tabs ul.tabs { display:flex; flex-wrap:wrap; gap:var(--space-4); width:100%; float:none; border:0; border-bottom:1px solid var(--color-border); margin:0 0 var(--space-5); }
.warm-commerce .woocommerce-tabs ul.tabs li { border:0; }
.warm-commerce .woocommerce-tabs ul.tabs li::after { display:none; }
.warm-commerce .woocommerce-tabs ul.tabs li a { padding:12px 0; font-size:.875rem; }
.warm-commerce .woocommerce-tabs ul.tabs li.active { border-bottom:2px solid var(--color-primary); }
.warm-commerce .woocommerce-tabs .panel { width:100%; float:none; background:var(--color-bg); padding:var(--space-5); margin-bottom:var(--space-6); }
.warm-commerce .woocommerce-tabs .panel p { max-width:65ch; }
.warm-commerce .entry-header { text-align:left; padding:var(--space-5) 0!important; margin:0!important; border:0; }
.warm-commerce .entry-header h1 { margin:0; }
.warm-commerce .hentry { margin:0; }
.warm-commerce .hentry .entry-content a:not(.button) { text-decoration:underline; text-underline-offset:3px; }
.warm-commerce table { border-collapse:collapse; font-size:.875rem; }
.warm-commerce table td,.warm-commerce table th { padding:12px; background:transparent; border-bottom:1px solid var(--color-border); }
.warm-commerce table th { font-weight:500; }
.warm-commerce table.shop_table_responsive tr td { text-align:right; }
.warm-commerce table.cart .product-thumbnail img { max-width:64px; }
.warm-commerce table.cart td.actions { background:transparent; padding:16px 0; }
.warm-commerce table.cart td.actions .coupon { padding:0 0 16px; }
.warm-commerce table.cart td.actions input.input-text { width:100%; margin-bottom:8px; }
.warm-commerce .cart_totals { background:var(--color-bg); padding:var(--space-5); }
.warm-commerce .cart_totals h2 { font-size:1.5rem; }
.warm-commerce ul#shipping_method { margin:0; }
.warm-commerce ul#shipping_method li { padding:6px 0; }
.warm-commerce #shipping_method label { font-size:.8rem; }
.warm-commerce #shipping_method li { display:grid; grid-template-columns:18px minmax(0,1fr); column-gap:8px; align-items:start; }
.warm-commerce #shipping_method input { margin:12px 0 0; }
.warm-commerce #shipping_method label { padding-block:10px; margin:0; }
.warm-commerce .order-total { font-size:1rem; }
.warm-commerce .checkout-button { width:100%; }
.warm-commerce .woocommerce-checkout-review-order-table { background:var(--color-bg); table-layout:fixed; }
.warm-commerce .woocommerce-checkout-review-order-table th,.warm-commerce .woocommerce-checkout-review-order-table td { overflow-wrap:anywhere; padding:12px; }
.warm-commerce .woocommerce-checkout-review-order-table th { width:40%; }
.warm-commerce #payment { background:var(--color-bg); border:1px solid var(--color-border); border-radius:var(--radius); }
.warm-commerce #payment .payment_methods>li,.warm-commerce #payment .payment_methods>li .payment_box,.warm-commerce #payment .place-order { background:transparent; }
.warm-commerce #payment .payment_methods>li>label { padding:16px 12px; font-size:.875rem; }
.warm-commerce #payment .payment_methods>li>input:checked+label::before { color:var(--color-primary); }
.warm-commerce #payment .payment_methods>li .payment_box { padding:0 16px 16px; color:var(--color-text-muted); font-size:.8rem; }
.warm-commerce #payment .place-order { padding:16px; margin:0; }
.warm-commerce #payment .place-order .button { width:100%; font-size:1rem; }
.warm-commerce .woocommerce-privacy-policy-text { font-size:.75rem; }
.warm-commerce .woocommerce-error { background:#8B3428; color:#fff; border-radius:4px; font-size:.875rem; }
.warm-commerce .woocommerce-info,.warm-commerce .woocommerce-message { background:var(--color-primary-soft); color:var(--color-text); border-left-color:var(--color-primary); border-radius:4px; font-size:.875rem; }
.warm-commerce .woocommerce-info a,.warm-commerce .woocommerce-message a { color:var(--color-primary-hover); }
.warm-commerce a.showcoupon { display:inline-block; min-height:44px; padding:10px 0; }
.warm-commerce .woocommerce-MyAccount-navigation { width:100%; float:none; margin-bottom:var(--space-5); }
.warm-commerce .woocommerce-MyAccount-navigation ul { margin:0; border-top:1px solid var(--color-border); }
.warm-commerce .woocommerce-MyAccount-navigation ul li { border-bottom:1px solid var(--color-border); }
.warm-commerce .woocommerce-MyAccount-navigation ul li a { display:block; padding:14px; min-height:48px; color:var(--color-text); }
.warm-commerce .woocommerce-MyAccount-navigation .is-active { background:var(--color-primary-soft); }
.warm-commerce .woocommerce-MyAccount-content { width:100%; float:none; }
.warm-commerce .woocommerce-form-login { max-width:480px; padding:var(--space-5); border:1px solid var(--color-border); border-radius:var(--radius); }
.warm-commerce .woocommerce-form-login .form-row { float:none; width:100%; }
.warm-commerce .woocommerce-form-login label { display:block; }
.warm-commerce .woocommerce-form-login button { margin-top:12px; }
.warm-commerce button.show-password-input { margin:0; padding:0; width:44px; height:44px; background:transparent; color:var(--color-text); border:0; }
.warm-commerce .password-input input { padding-right:48px; }
.warm-commerce .site-footer { background:var(--color-bg); padding:var(--space-6) 0; color:var(--color-text); }
.commerce-footer { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-6); }
.commerce-footer>div:first-child { grid-column:1/-1; }
.commerce-footer h2 { font:600 .8rem/1.5 var(--font-ui); letter-spacing:0; margin:0 0 var(--space-3); }
.commerce-footer nav a { display:block; font-size:.8rem; min-height:36px; padding:6px 0; color:var(--color-text-muted); }
.commerce-footer p { font-size:.8rem; }
.preview-note { font-size:.7rem; color:var(--color-text-muted); margin:var(--space-6) 0 0!important; }
.checkout-footer { display:flex; justify-content:center; gap:24px; font-size:.8rem; }
.checkout-footer a { padding:10px 0; min-height:44px; }
.warm-commerce.page:not(.woocommerce-page):not(.home) .entry-content { max-width:760px; margin:0 auto; }
.warm-commerce.page:not(.woocommerce-page):not(.home) .entry-header { max-width:760px; margin:0 auto!important; }
@media(min-width:768px) {
  .warm-commerce .col-full { width:calc(100% - 64px); }
  .commerce-header .brand-placeholder { margin-left:0; margin-right:auto; }
  .mobile-menu { display:none; }
  .desktop-nav { display:flex; gap:24px; align-items:center; }
  .desktop-nav a,.account-link { display:flex; align-items:center; min-height:44px; color:var(--color-text)!important; font-size:.8rem; text-decoration:none; }
  .warm-commerce .commerce-header { min-height:88px; gap:24px; }
  .commerce-hero { grid-template-columns:1.1fr 1fr; margin:0; min-height:388px; }
  .hero-copy { align-self:center; padding:32px 48px; }
  .hero-image { min-height:388px; }
  .category-cards { grid-template-columns:1fr 1fr; gap:24px; }
  .category-card { min-height:220px; }
  .home-section { margin-top:32px; }
  .warm-commerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 24px; }
  .warm-commerce .featured-section ul.products { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .warm-commerce .featured-section ul.products li.product img { aspect-ratio:1; }
  .warm-commerce .featured-section ul.products li.product h2 { font-weight:600; }
  .warm-commerce .featured-section ul.products li.product .price { font-size:1rem; font-weight:700; }
  .warm-commerce ul.products li.product h2 { font-size:1rem; }
  .warm-commerce ul.products li.product .button { font-size:.875rem; }
  .value-strip { grid-template-columns:repeat(4,1fr); padding:32px; margin:40px 0; }
  .editorial-section { grid-template-columns:1fr 1.2fr; min-height:260px; }
  .editorial-section>div:last-child { padding:28px 40px; }
  .commerce-footer { grid-template-columns:1.5fr repeat(4,1fr); }
  .commerce-footer>div:first-child { grid-column:auto; }
  .warm-commerce .site-footer { padding:48px 0 24px; }
  .warm-commerce.single-product div.product .woocommerce-product-gallery { width:48%; margin-right:5%; }
  .warm-commerce.single-product div.product .summary { width:47%; }
  .warm-commerce.single-product .woocommerce-tabs { clear:both; }
  .warm-commerce .woocommerce-MyAccount-navigation { width:25%; float:left; }
  .warm-commerce .woocommerce-MyAccount-content { width:70%; float:right; }
  .warm-commerce table.cart td.actions input.input-text { width:auto; margin:0; }
  .warm-commerce table.cart td.actions .coupon { padding:0; }
  .warm-commerce table.shop_table_responsive tr td { text-align:left; }
}
@media(max-width:767px) {
  .warm-commerce .col2-set .form-row-first,.warm-commerce .col2-set .form-row-last { float:none; width:100%; }
  .warm-commerce table.cart tr.cart_item { display:grid; grid-template-columns:64px 1fr 32px; gap:4px 12px; padding:16px 0; border-bottom:1px solid var(--color-border); }
  .warm-commerce table.cart tr.cart_item td { padding:0; border:0; background:transparent; }
  .warm-commerce table.cart tr.cart_item td::before { display:none; }
  .warm-commerce table.cart .product-remove { grid-column:3; grid-row:1; }
  .warm-commerce table.cart .product-remove a { min-width:32px; min-height:44px; line-height:44px; text-align:center; }
  .warm-commerce table.cart .product-thumbnail { display:block; grid-column:1; grid-row:1/5; }
  .warm-commerce table.cart .product-name { grid-column:2; grid-row:1; text-align:left; font-weight:500; }
  .warm-commerce table.cart .product-price { grid-column:2; grid-row:2; text-align:left; }
  .warm-commerce table.cart .product-quantity { grid-column:2; grid-row:3; text-align:left; }
  .warm-commerce table.cart .product-subtotal { grid-column:2; grid-row:4; text-align:left; font-weight:600; }
  .warm-commerce .cart_totals { padding:16px; }
  .warm-commerce .entry-header { padding:24px 0!important; }
}
@media(prefers-reduced-motion:reduce) { .warm-commerce * { scroll-behavior:auto!important; transition:none!important; } }
@media(min-width:768px) { .commerce-home .category-cards { grid-template-columns:repeat(3,minmax(0,1fr)); } }
