/* WordPress component layer over the approved Phase 1D visual foundation. */
:root {
  --asswika-espresso: #25170e;
  --asswika-brown: #543d2e;
  --asswika-warm-brown: #886e59;
  --asswika-earth: #938774;
  --asswika-beige: #e7caab;
  --asswika-paper: #f7f4ef;
  --asswika-line: #e9e3dc;
  --ink: var(--asswika-espresso);
  --brown: var(--asswika-brown);
  --tan: var(--asswika-beige);
  --cream: var(--asswika-paper);
  --line: var(--asswika-line);
  --muted: #81746a;
}

body { color: var(--asswika-espresso); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid #b68a5d;
  outline-offset: 3px;
}
.skip-link { position: absolute; left: 12px; top: -100px; z-index: 2000; padding: 12px 16px; background: #fff; color: var(--asswika-espresso); }
.skip-link:focus { top: 12px; }
.site-header { position: relative; z-index: 20; }
.asswika-home .site-header { position: absolute; top: 0; left: 50%; z-index: 25; width: min(1240px, calc(100% - 64px)); transform: translateX(-50%); color: #fff; background: transparent; }
.asswika-home .site-header .navlinks a, .asswika-home .site-header .action { color: #fff; }
.asswika-home .site-header .action { border-color: #ffffff55; background: #25170e12; }
.asswika-home .site-header .search-field { border-color: #ffffff70; background: #ffffffea; }
.brand-dot { color: #ad8a6e; }
.site-branding { flex: 0 0 auto; }
.custom-logo-link { display: inline-flex; align-items: center; }
.custom-logo { width: auto; max-height: 54px; }
.navlinks .menu, .footer-menu { list-style: none; margin: 0; padding: 0; }
.navlinks .menu { display: flex; align-items: center; gap: 26px; }
.navlinks .menu li { position: relative; list-style: none; }
.navlinks .menu a { white-space: nowrap; }
.navlinks .sub-menu { position: absolute; top: 100%; left: 0; z-index: 50; display: none; min-width: 180px; margin: 0; padding: 10px 14px; list-style: none; border-radius: 6px; background: #fff; color: var(--asswika-espresso); box-shadow: 0 8px 22px #25170e24; }
.navlinks li:hover > .sub-menu, .navlinks li:focus-within > .sub-menu { display: block; }
.footer-menu { display: flex; flex-direction: column; }
.footer-heading { color: #f9f2e7; font: 700 13px 'DM Sans', Arial, sans-serif; text-transform: uppercase; }
.footer-menu a { color: #e8d8c8; }
.footer-brand { display: inline-block; color: #fff; }
.header-actions { flex: 0 0 auto; }
.search-form { position: relative; display: flex; align-items: center; gap: 4px; }
.search-field { width: 160px; min-height: 38px; padding: 8px 12px; border: 1px solid var(--asswika-line); border-radius: 24px; background: #fff; color: var(--asswika-espresso); }
.search-submit { min-width: 38px; min-height: 38px; padding: 7px 10px; }
.cart-link { white-space: nowrap; }
.cart-icon { width: 17px; height: 17px; vertical-align: -3px; }
.search-submit { cursor: pointer; }
.menu-toggle { display: none; }
#navigation-mobile[hidden] { display: none; }
.mobile-nav.open { display: flex; }
.mobile-nav .menu { list-style: none; padding: 0; margin: 0; }
.hero--wordpress { background-image: linear-gradient(95deg, rgba(29,19,12,.84), rgba(54,34,21,.4) 55%, rgba(64,44,28,.08)), var(--hero-image); background-position: center 58%; background-size: cover; }
.hero--wordpress .hero-content { max-width: 530px; }
.hero--wordpress h1 { white-space: pre-line; }
.editorial { background-image: linear-gradient(0deg,rgba(32,22,15,.72),rgba(32,22,15,.02) 70%), var(--editorial-image); background-size: 100% 100%, 300% 100%; background-position: center, var(--editorial-position); }
.editorial h2 { position: relative; z-index: 1; margin: 0 0 7px; color: #fff; font: 700 25px/1.2 Georgia, serif; }
.editorial p, .editorial a { z-index: 1; }
.recommended .reco { background-image: linear-gradient(0deg,rgba(28,19,13,.62),rgba(28,19,13,.02) 76%), var(--reco-image); background-size: cover; background-position: var(--reco-position); }
.recommended .reco.big { background-size: cover; }
.editorial-banner, .final-banner { background-image: linear-gradient(90deg,rgba(33,22,14,.7),rgba(33,22,14,.13)), var(--banner-image); background-position: center 58%; background-size: cover; }
.home-product-section .grid-products { padding: 0; margin: 0; }
.empty.catalog-empty { margin: 18px 0; }

/* WooCommerce loop cards use native product and add-to-cart APIs. */
.woocommerce ul.products.grid-products { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 35px 23px; margin: 0; padding: 0; }
.woocommerce ul.products:not(.grid-products) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 35px 23px; margin: 0; padding: 0; }
.woocommerce ul.products.grid-products::before, .woocommerce ul.products.grid-products::after { display: none; }
.woocommerce ul.products:not(.grid-products)::before, .woocommerce ul.products:not(.grid-products)::after { display: none; }
.woocommerce ul.products.grid-products li.product { float: none; width: auto; margin: 0; padding: 0; list-style: none; }
.woocommerce ul.products:not(.grid-products) li.product { float: none; width: auto; margin: 0; padding: 0; list-style: none; }
.product-card .photo { display: block; }
.product-card .photo img { width: 100%; aspect-ratio: 1.38; object-fit: contain; padding: 5px; margin: 0; }
.product-card h2 { font: 700 16px/1.35 'DM Sans', Arial, sans-serif; }
.product-card .price { color: var(--asswika-espresso); }
.product-card .price del { color: var(--asswika-earth); font-weight: 400; }
.product-card .price ins { text-decoration: none; }
.product-stock { margin-top: 6px; color: #5d6a4d; font-size: 12px; }
.product-stock.out-of-stock { color: #8b342d; }
.product-card .card-buttons { align-items: stretch; }
.product-card .card-buttons .button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; margin: 0; border-radius: 5px; background: var(--asswika-brown); color: white; font-size: 11px; }
.product-card .card-buttons .button:hover { background: #735443; }
.asswika-quick-order-trigger { min-height: 42px; border-radius: 5px; background: #f6eadb; color: var(--asswika-espresso); }
.asswika-quick-order { width: min(600px, calc(100% - 32px)); max-height: 92vh; padding: 0; border: 0; border-radius: 9px; color: var(--asswika-espresso); box-shadow: 0 24px 80px #0005; }
.asswika-quick-order::backdrop { background: #1a120da8; }
.asswika-quick-order > .panel { position: relative; margin: 0; border: 0; }
.asswika-quick-order-close { position: absolute; top: 14px; right: 14px; min-width: 38px; min-height: 38px; font-size: 20px; }
.asswika-quick-order h2 { max-width: calc(100% - 48px); font-size: 26px; }
.asswika-quick-order .notice { margin: 16px 0; }
.woocommerce .woocommerce-breadcrumb { margin: 22px 0; color: var(--asswika-earth); font-size: 12px; }
.woocommerce .woocommerce-result-count { color: var(--muted); }
.woocommerce .woocommerce-ordering select { min-height: 42px; border: 1px solid #ddd3c9; border-radius: 5px; background: white; color: var(--asswika-espresso); padding: 8px 12px; }
.woocommerce div.product { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 48px; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { float: none; width: auto; margin: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { border-radius: 9px; overflow: hidden; background: #f3f1ed; }
.woocommerce div.product div.summary .product_title { font-family: 'Playfair Display', Georgia, serif; color: var(--asswika-espresso); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--asswika-espresso); font-weight: 800; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 10px; align-items: end; }
.woocommerce div.product form.cart .variations { flex: 1 0 100%; }
.woocommerce div.product form.cart .variations select { min-height: 44px; padding: 10px; border: 1px solid #ddd3c9; border-radius: 5px; }
.woocommerce div.product form.cart .quantity .qty { min-height: 44px; width: 76px; border: 1px solid #ddd3c9; border-radius: 5px; }
.woocommerce div.product form.cart .single_add_to_cart_button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button { min-height: 42px; border-radius: 5px; background: var(--asswika-brown); color: white; }
.woocommerce .quantity label { display: block; margin-bottom: 5px; font-size: 12px; font-weight: 700; }
.woocommerce table.shop_table { border-color: var(--asswika-line); border-radius: 8px; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { min-height: 42px; border: 1px solid #ddd3c9; border-radius: 5px; padding: 10px; }
.woocommerce .col2-set, .woocommerce-page .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; width: 100%; }
.woocommerce .col2-set .col-1, .woocommerce .col2-set .col-2 { float: none; width: auto; }
.woocommerce #payment, .woocommerce-page #payment { border-radius: 8px; background: var(--asswika-paper); }
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info { border-top-color: var(--asswika-warm-brown); }
.woocommerce .woocommerce-message::before, .woocommerce .woocommerce-info::before { color: var(--asswika-warm-brown); }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

@media (max-width: 850px) {
  .navlinks { display: none; }
  .menu-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .mobile-nav.open { flex-direction: column; gap: 12px; padding: 18px 20px; background: var(--asswika-paper); }
  .mobile-nav .menu { display: flex; flex-direction: column; gap: 14px; }
  .woocommerce ul.products.grid-products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 14px; }
  .woocommerce ul.products:not(.grid-products) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 14px; }
  .woocommerce div.product { grid-template-columns: 1fr; gap: 28px; }
  .woocommerce .col2-set, .woocommerce-page .col2-set { grid-template-columns: 1fr; }
  .asswika-home .site-header { width: calc(100% - 40px); }
}
@media (max-width: 600px) {
  .site-header.nav { min-height: 62px; gap: 8px; }
  .site-header .brand { font-size: 16px; letter-spacing: .08em; }
  .header-actions { margin-left: auto; gap: 4px; }
  .search-form .search-field { position: absolute; right: 0; top: 44px; z-index: 30; width: min(280px, calc(100vw - 36px)); opacity: 0; visibility: hidden; pointer-events: none; box-shadow: 0 8px 24px #25170e22; }
  .search-form.is-open .search-field { opacity: 1; visibility: visible; pointer-events: auto; }
  .search-submit { min-width: 36px; min-height: 36px; padding: 6px; }
  .cart-label { display: none; }
  .header-actions .action { padding: 7px 8px; }
  .asswika-home .site-header { width: calc(100% - 32px); }
  .woocommerce ul.products.grid-products { gap: 22px 12px; }
  .woocommerce ul.products:not(.grid-products) { gap: 22px 12px; }
  .woocommerce ul.products.grid-products li.product .product-card h2 { font-size: 12px; }
  .woocommerce ul.products.grid-products .card-buttons { flex-direction: column; }
}
