/* ============================================================
   DARLOUMA — Full storefront styling (header, footer, shop,
   single product, cart/checkout, content pages, forms).
   Loads site-wide after darlouma-design.css.
   ============================================================ */
:root{
  --dl-ink:#22302b; --dl-emerald:#0f5e4e; --dl-emerald-deep:#0b4a3d;
  --dl-gold:#b08d57; --dl-gold-soft:#e3d4b6; --dl-cream:#f7f5ef; --dl-cream-2:#efece3;
  --dl-line:#e2ddd1; --dl-serif:"Fraunces",Georgia,serif; --dl-sans:"Jost",system-ui,sans-serif;
  --dl-quint:cubic-bezier(0.22,1,0.36,1);
}
body{ background:var(--dl-cream); color:var(--dl-ink); }

/* ---------- HEADER (Astra) ---------- */
header.site-header{ position:sticky; top:0; z-index:120; background:var(--dl-cream)!important; box-shadow:0 1px 0 var(--dl-line); }
header.site-header .ast-primary-header-bar,
header.site-header .main-header-bar{ background:transparent!important; border-bottom:0!important; }
/* logo image replaces the text site-title — hide the duplicate text */
.site-title, .ast-site-identity .site-title, .site-header .site-title{ display:none!important; }
.main-header-menu a, .ast-builder-menu a, .main-navigation a{ font-family:var(--dl-sans); font-weight:400; color:var(--dl-ink)!important; letter-spacing:.01em; }
.main-header-menu a:hover, .ast-builder-menu a:hover{ color:var(--dl-emerald)!important; }
/* gold underline on hover for menu */
.main-header-menu .menu-item > a{ position:relative; }
.main-header-menu .menu-item > a::after{ content:""; position:absolute; left:0; bottom:.2em; height:1.5px; width:0; background:var(--dl-gold); transition:width .28s var(--dl-quint); }
.main-header-menu .menu-item > a:hover::after{ width:100%; }
.ast-site-header-cart a, .ast-header-woo-cart a{ color:var(--dl-emerald)!important; }
.ast-cart-menu-wrap .count, .ast-site-header-cart .count{ background:var(--dl-gold)!important; border-color:var(--dl-gold)!important; color:#3a2e16!important; }

/* ---------- ASTRA DEFAULT FOOTER HIDDEN (we render .dl-footer globally) ---------- */
footer.site-footer{ display:none!important; }

/* ---------- GENERIC PAGE / CONTENT TYPOGRAPHY (not home) ---------- */
body:not(.home) .entry-title, .woocommerce-products-header__title, .page-title{
  font-family:var(--dl-serif); font-weight:500; letter-spacing:-0.01em; color:var(--dl-ink);
}
body:not(.home).page .ast-container, body.single-post .ast-container{ /* breathing room */ }
body:not(.home) .entry-content{ font-size:1.0625rem; line-height:1.7; }
body:not(.home) .entry-content > p,
body:not(.home) .entry-content > ul,
body:not(.home) .entry-content > ol,
body:not(.home) .entry-content > h2,
body:not(.home) .entry-content > h3,
body:not(.home) .entry-content > figure.wp-block-table,
body:not(.home) .entry-content > blockquote{ max-width:72ch; }
body:not(.home) .entry-content h2{ font-family:var(--dl-serif); font-weight:500; font-size:1.7rem; margin-top:2.2rem; }
body:not(.home) .entry-content h3{ font-family:var(--dl-serif); font-weight:500; font-size:1.3rem; margin-top:1.6rem; }
body:not(.home) .entry-content a{ color:var(--dl-emerald); border-bottom:1px solid var(--dl-gold-soft); }
body:not(.home) .entry-content a:hover{ border-color:var(--dl-gold); }
/* size-guide & general tables */
.entry-content table, .woocommerce table.shop_table, table.shop_attributes{ border-collapse:collapse; width:100%; }
.entry-content table th, .entry-content table td{ border:1px solid var(--dl-line); padding:.7em .9em; }
.entry-content table thead th{ background:var(--dl-emerald); color:var(--dl-cream); font-family:var(--dl-sans); font-weight:500; }
.entry-content table tbody tr:nth-child(even){ background:var(--dl-cream-2); }

/* lightweight page header band for content pages */
body:not(.home).page .entry-header, body.single-post .entry-header{ padding-bottom:.5rem; margin-bottom:1.25rem; border-bottom:1px solid var(--dl-line); }

/* ---------- WOOCOMMERCE: SHOP / ARCHIVE ---------- */
.woocommerce-products-header{ text-align:center; padding:2.5rem 1rem .5rem; }
.woocommerce-products-header__title{ font-size:clamp(1.8rem,4vw,2.6rem); }
.term-description, .woocommerce-archive-description{ max-width:60ch; margin:.5rem auto 1.5rem; text-align:center; color:#4d5a54; }
.woocommerce .woocommerce-result-count{ color:#6b756f; font-size:.9rem; }
.woocommerce .woocommerce-ordering select{ font-family:var(--dl-sans); }

.woocommerce ul.products, .woocommerce-page ul.products{ display:grid!important; grid-template-columns:repeat(2,1fr); gap:clamp(1rem,2.2vw,1.8rem); }
@media (min-width:900px){ .woocommerce ul.products.columns-3, .woocommerce ul.products.columns-4, .woocommerce ul.products{ grid-template-columns:repeat(3,1fr); } }
.woocommerce ul.products li.product{ width:auto!important; margin:0!important; float:none!important; display:flex; flex-direction:column; }
.woocommerce ul.products li.product a img{ border-radius:12px; margin-bottom:.9rem; }
.woocommerce ul.products li.product .woocommerce-loop-product__title{ font-family:var(--dl-serif)!important; font-weight:500; font-size:1.12rem!important; line-height:1.25; color:var(--dl-ink); padding:.2rem 0!important; }
.woocommerce ul.products li.product .price{ color:var(--dl-emerald)!important; font-weight:500; font-size:1.02rem; }
.woocommerce ul.products li.product .price del{ color:#9aa39d; font-weight:400; }
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{ margin-top:.6rem; align-self:flex-start; }
.woocommerce span.onsale{ background:var(--dl-gold)!important; color:#3a2e16!important; border-radius:999px; min-height:auto; min-width:auto; padding:.35em .8em; font-family:var(--dl-sans); font-weight:500; font-size:.72rem; letter-spacing:.06em; top:.7rem; left:.7rem; }
.woocommerce nav.woocommerce-pagination ul{ border:0; gap:.4rem; display:inline-flex; }
.woocommerce nav.woocommerce-pagination ul li{ border:0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{ border:1px solid var(--dl-line); border-radius:8px; color:var(--dl-ink); }
.woocommerce nav.woocommerce-pagination ul li span.current{ background:var(--dl-emerald); color:var(--dl-cream); border-color:var(--dl-emerald); }

/* product-card hover lift */
@media (hover:hover){ .woocommerce ul.products li.product{ transition:transform .35s var(--dl-quint); } .woocommerce ul.products li.product:hover{ transform:translateY(-4px); } }

/* ---------- WOOCOMMERCE: SINGLE PRODUCT ---------- */
.single-product div.product .product_title{ font-family:var(--dl-serif)!important; font-weight:500; font-size:clamp(1.7rem,3.5vw,2.4rem); letter-spacing:-0.01em; }
.single-product div.product .price{ color:var(--dl-emerald)!important; font-size:1.4rem; font-weight:500; }
.single-product .woocommerce-product-gallery img{ border-radius:14px; }
.single-product div.product form.cart .button,
.single-product div.product .single_add_to_cart_button{ padding:.95em 2em!important; font-size:1rem!important; letter-spacing:.02em; }
.single-product table.variations td, .single-product table.variations th{ padding:.4rem .4rem .4rem 0; }
.single-product .variations select, .single-product .quantity input.qty,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row select, .woocommerce .select2-container .select2-selection{
  border:1px solid var(--dl-line)!important; border-radius:10px!important; padding:.6em .8em; font-family:var(--dl-sans); background:#fff;
}
.single-product .variations select:focus, .woocommerce form .form-row input.input-text:focus{ outline:none; border-color:var(--dl-emerald)!important; box-shadow:0 0 0 3px rgba(15,94,78,.12); }
.woocommerce div.product .woocommerce-tabs ul.tabs{ }
.woocommerce div.product .woocommerce-tabs ul.tabs li{ border-radius:8px 8px 0 0; background:var(--dl-cream-2); border-color:var(--dl-line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{ background:#fff; border-bottom-color:#fff; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a{ font-family:var(--dl-sans); font-weight:500; color:var(--dl-ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before{ border-bottom-color:var(--dl-line); }
.related.products > h2, .upsells.products > h2, .cross-sells > h2{ font-family:var(--dl-serif)!important; font-weight:500; }
table.shop_attributes th{ background:var(--dl-cream-2); }

/* product trust row (injected by mu-plugin) */
.dl-prodtrust{ list-style:none; margin:1.4rem 0; padding:1rem 1.1rem; border:1px solid var(--dl-line); border-radius:12px; background:var(--dl-cream-2); display:grid; gap:.6rem; }
.dl-prodtrust li{ display:flex; align-items:center; gap:.6rem; font-size:.94rem; color:var(--dl-ink); margin:0; }
.dl-prodtrust svg{ width:20px; height:20px; flex:none; stroke:var(--dl-emerald); stroke-width:1.5; fill:none; stroke-linecap:round; stroke-linejoin:round; }
.dl-prodtrust a{ color:var(--dl-emerald); font-weight:500; border-bottom:1px solid var(--dl-gold-soft); }
.dl-prodtrust .dl-wa-link{ color:#1f8f54; }

/* ---------- CART / CHECKOUT / ACCOUNT ---------- */
.woocommerce table.shop_table{ border-radius:12px; border:1px solid var(--dl-line); overflow:hidden; }
.woocommerce table.shop_table thead th{ background:var(--dl-cream-2); font-family:var(--dl-sans); }
.woocommerce .cart_totals h2, .woocommerce-checkout h3, .woocommerce-account h2{ font-family:var(--dl-serif)!important; font-weight:500; }
.woocommerce #payment, .woocommerce-checkout #payment{ background:var(--dl-cream-2); border-radius:12px; }
.woocommerce-info, .woocommerce-message{ border-top-color:var(--dl-emerald)!important; }
.woocommerce-info::before, .woocommerce-message::before{ color:var(--dl-emerald)!important; }
/* COD reassurance band (injected on cart) */
.dl-cart-trust{ margin:1.2rem 0; padding:1rem 1.2rem; border-radius:12px; background:var(--dl-emerald); color:var(--dl-cream); font-size:.95rem; display:flex; gap:.7rem; align-items:center; }
.dl-cart-trust strong{ color:#fff; }

/* ---------- BREADCRUMBS ---------- */
.woocommerce .woocommerce-breadcrumb, .rank-math-breadcrumb{ font-family:var(--dl-sans); font-size:.85rem; color:#6b756f; }
.woocommerce .woocommerce-breadcrumb a, .rank-math-breadcrumb a{ color:var(--dl-emerald); }

/* ============================================================
   v1.2 CONVERSION POLISH — firmer CTAs + micro-interactions
   ============================================================ */
/* Firmer, higher-contrast primary CTAs (deeper emerald, more weight + size) */
.dl-page .dl-btn--primary,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce #respond input#submit.alt, .single_add_to_cart_button,
.woocommerce ul.products li.product .button{
  background:var(--dl-emerald-deep)!important; color:#fdfdfb!important;
  font-weight:600!important; letter-spacing:.035em; font-size:1rem!important;
  box-shadow:0 6px 16px -8px rgba(11,74,61,.55);
}
/* hero/primary action buttons get an animated arrow */
.dl-btn--primary{ position:relative; }
.dl-btn--primary::after{ content:"\2192"; margin-left:.55em; display:inline-block; transition:transform .28s cubic-bezier(.22,1,.36,1); }
.dl-btn--primary:hover::after{ transform:translateX(5px); }
/* stronger, "firm" hover: lift + slight scale + gold ring */
.dl-page .dl-btn--primary:hover, .dl-page .dl-btn--primary:focus-visible,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.single_add_to_cart_button:hover,
.woocommerce ul.products li.product .button:hover{
  background:#08382f!important; transform:translateY(-2px) scale(1.015);
  box-shadow:0 14px 30px -10px rgba(11,74,61,.6), 0 0 0 1.6px rgba(176,141,87,.65)!important;
}
.dl-concierge .dl-btn--primary{ background:var(--dl-cream,#f7f5ef)!important; color:var(--dl-emerald-deep,#0b4a3d)!important; }
.dl-concierge .dl-btn--primary:hover{ background:#e3d4b6!important; color:#22302b!important; }
/* the money button: make it the clear focal point on the product page */
.single-product div.product form.cart .single_add_to_cart_button{
  padding:1.05em 2.4em!important; text-transform:uppercase; letter-spacing:.07em; font-size:.92rem!important;
}

/* MICRO-INTERACTIONS — gentle image zoom on hover (shop + related + gallery) */
.woocommerce ul.products li.product a img{ transition:transform .6s cubic-bezier(.22,1,.36,1); }
.woocommerce ul.products li.product > a img,
.woocommerce ul.products li.product img{ border-radius:12px; }
.woocommerce ul.products li.product a{ display:block; overflow:hidden; border-radius:12px; }
@media (hover:hover){ .woocommerce ul.products li.product:hover a img{ transform:scale(1.06); } }
.single-product .woocommerce-product-gallery__image{ overflow:hidden; border-radius:14px; }
.single-product .woocommerce-product-gallery__image img{ transition:transform .65s cubic-bezier(.22,1,.36,1); }
@media (hover:hover){ .single-product .woocommerce-product-gallery__image:hover img{ transform:scale(1.05); } }
@media (prefers-reduced-motion: reduce){
  .dl-btn--primary::after, .woocommerce ul.products li.product a img,
  .single-product .woocommerce-product-gallery__image img{ transition:none!important; transform:none!important; }
}

/* header logo sizing (custom_logo replaces text site-title) */
.custom-logo, img.custom-logo, .custom-logo-link img{ max-height:52px!important; width:auto!important; }
@media (max-width:600px){ .custom-logo, img.custom-logo, .custom-logo-link img{ max-height:40px!important; } }

/* ============================================================
   a11y v1.6 — bulletproof footer contrast (global footer is
   outside .dl-page var scope) + hero text legibility over image
   ============================================================ */
.dl-footer{ background:#0b4a3d!important; }
.dl-footer, .dl-footer__col a, .dl-footer__col li{ color:#f3efe6!important; }
.dl-footer__logo{ color:#f7f5ef!important; }
.dl-footer__tag, .dl-footer__h{ color:#e6d8bb!important; }
.dl-footer__reassure{ color:#dcd6c7!important; }
.dl-footer__copy{ color:#cfc8b6!important; }
.dl-footer__col a:hover{ color:#ffffff!important; }
.dl-hero__title, .dl-hero__sub, .dl-hero__eyebrow{ text-shadow:0 1px 16px rgba(8,40,33,.55); }
.dl-hero__eyebrow{ color:#f0e6cf!important; }
