/*
Theme Name: Faltag
Theme URI: https://faltag.it
Author: Faltag
Description: Tema custom WordPress/WooCommerce per Faltag — attrezzature per apicoltori. Design a tema legno/miele con elemento a nido d'ape, ottimizzato per catalogo prodotto e conversione e-commerce.
Version: 2.0.6
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: faltag
Tags: e-commerce, woocommerce, custom-colors, custom-menu, translation-ready
*/

/* =========================================================
   DESIGN TOKENS
   ========================================================= */
:root{
  --wax:      #F4EEDD;
  --wax-2:    #ECE2C6;
  --walnut:   #362317;
  --walnut-2: #241609;
  --honey:    #D9932B;
  --honey-2:  #B87418;
  /* Variante scura di --honey-2, usata SOLO per testo su sfondo chiaro:
     --honey-2 ha un contrasto di ~3.3:1 su --wax, sotto la soglia WCAG 2.1 AA
     (4.5:1) per testo normale. --honey-text raggiunge ~5.1:1. --honey e
     --honey-2 restano invariati per sfondi, badge, bordi e testo su sfondi
     scuri, dove il contrasto è già ampiamente sufficiente. */
  --honey-text: #8F5711;
  --sage:     #5D6B4A;
  --ink:      #241A10;
  --line:     rgba(36,26,16,0.14);
  --radius:   4px;
  --maxw:     1240px;
}

/* =========================================================
   RESET DI BASE
   ========================================================= */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  background:var(--wax);
  color:var(--ink);
  font-family:'Work Sans', sans-serif;
  -webkit-font-smoothing:antialiased;
  margin:0;
  overflow-x:hidden;
}
h1,h2,h3,h4,.disp{ font-family:'Fraunces', serif; letter-spacing:-0.01em; margin:0; }
p{ margin:0; }
.mono{ font-family:'JetBrains Mono', monospace; letter-spacing:0.02em; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; }

.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 32px; }
@media (max-width:600px){ .wrap{ padding:0 20px; } }

.skip-link{
  position:absolute; left:-9999px; top:auto;
  background:var(--walnut); color:var(--wax); padding:12px 20px; z-index:9999;
}
.skip-link:focus{ left:20px; top:20px; }

/* =========================================================
   ELEMENTI RICORRENTI
   ========================================================= */
.eyebrow{
  font-family:'JetBrains Mono', monospace;
  font-size:12px; letter-spacing:0.14em; text-transform:uppercase;
  color:var(--honey-text); display:flex; align-items:center; gap:10px; margin-bottom:18px;
}
.eyebrow::before{
  content:""; width:18px; height:16px; background:var(--honey);
  clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);
  display:inline-block; flex-shrink:0;
}
.hex{
  clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);
  display:inline-block;
}
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:14px 26px; font-size:14.5px; font-weight:600;
  border-radius:var(--radius); cursor:pointer; border:1px solid transparent;
  transition:transform .18s ease, box-shadow .18s ease;
}
.btn:hover{ transform:translateY(-2px); }
.btn-primary{ background:var(--walnut); color:var(--wax); }
.btn-primary:hover{ box-shadow:0 10px 24px rgba(54,35,23,0.28); }
.btn-ghost{ border-color:var(--ink); color:var(--ink); background:transparent; }
.btn-ghost:hover{ background:var(--ink); color:var(--wax); }
.btn-honey{ background:var(--honey); color:var(--walnut-2); }

a:focus-visible, button:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible, [tabindex]:focus-visible{
  outline:2px solid var(--honey-text); outline-offset:2px;
}
/* Rimuove l'outline solo per il mouse, mai per la tastiera (:focus-visible
   distingue già i due casi nei browser moderni; questa regola aggiuntiva
   copre browser meno recenti che non supportano :focus-visible). */
a:focus:not(:focus-visible), button:focus:not(:focus-visible){
  outline:none;
}

/* =========================================================
   HEADER
   ========================================================= */
#masthead{
  position:sticky; top:0; z-index:50;
  background:rgba(244,238,221,0.92); backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 32px; max-width:var(--maxw); margin:0 auto;
}
.site-logo{ display:flex; align-items:center; gap:10px; font-family:'Fraunces',serif; font-weight:700; font-size:22px; }
.site-logo a{ display:flex; align-items:center; gap:10px; }
.site-logo img,
.site-logo .custom-logo{ max-height:34px; width:auto; height:auto; }
.site-logo .hex{ width:26px; height:26px; background:var(--walnut); position:relative; }
.site-logo .hex::after{
  content:""; position:absolute; inset:5px; background:var(--honey);
  clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);
}
.main-navigation ul{ display:flex; gap:34px; font-size:14.5px; font-weight:500; }
.main-navigation li{ position:relative; }
.main-navigation a{ position:relative; padding:4px 0; display:inline-block; }
.main-navigation a::after{
  content:""; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:var(--honey);
  transition:width .2s ease;
}
.main-navigation a:hover::after,
.main-navigation .current-menu-item > a::after{ width:100%; }

/* Freccetta a destra delle voci con sottomenu, per segnalarne la presenza. */
.main-navigation li.menu-item-has-children > a{
  display:inline-flex; align-items:center; gap:6px;
}
.main-navigation li.menu-item-has-children > a::before{
  content:""; order:1; width:6px; height:6px; flex-shrink:0; margin-top:-2px;
  border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:rotate(45deg); transition:transform .2s ease;
}
.main-navigation li.menu-item-has-children:hover > a::before,
.main-navigation li.menu-item-has-children:focus-within > a::before{
  transform:rotate(225deg); margin-top:2px;
}
/* Dal secondo livello in poi il sottomenu si apre lateralmente: la freccia
   punta quindi a destra invece che in basso. */
.main-navigation ul ul li.menu-item-has-children > a::before{
  transform:rotate(-45deg); margin-top:0;
}
.main-navigation ul ul li.menu-item-has-children:hover > a::before,
.main-navigation ul ul li.menu-item-has-children:focus-within > a::before{
  transform:rotate(135deg);
}
.main-navigation ul ul{
  position:absolute; top:100%; left:0; background:var(--wax); border:1px solid var(--line);
  flex-direction:column; min-width:210px; padding:10px 0; display:none; border-radius:4px;
  box-shadow:0 16px 30px rgba(54,35,23,0.14); z-index:60;
}
/* Dal terzo livello in poi il sottomenu si apre a cascata verso destra
   invece di sovrapporsi al livello superiore. */
.main-navigation ul ul ul{
  top:-10px; left:100%; margin-left:2px;
}
.main-navigation li:hover > ul,
.main-navigation li:focus-within > ul{ display:flex; }
.main-navigation ul ul li{ padding:0 18px; position:relative; }
.main-navigation ul ul a{ display:block; padding:9px 0; }

.nav-actions{ display:flex; align-items:center; gap:20px; }
.nav-actions .icn{ width:20px; height:20px; opacity:0.85; cursor:pointer; }
.cart-contents{ position:relative; display:flex; }
.cart-count{
  background:var(--honey); color:var(--walnut-2); font-size:10px; font-weight:700;
  width:16px; height:16px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  position:absolute; top:-8px; right:-8px;
}
.menu-toggle{ display:none; background:none; border:none; cursor:pointer; }

/* Pulsante di ricerca: <details>/<summary> nativo del browser, niente
   JavaScript necessario per aprire/chiudere il pannello — funziona anche
   se uno script sulla pagina fallisce o viene bloccato. */
.search-toggle-wrap{ position:relative; list-style:none; }
.search-toggle-wrap::-webkit-details-marker{ display:none; }
.search-toggle-wrap::marker{ display:none; content:none; }
.search-toggle-wrap summary{ list-style:none; }
.search-toggle-wrap summary::-webkit-details-marker{ display:none; }
.search-toggle-wrap summary::marker{ display:none; content:none; }
.search-toggle{
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  list-style:none; color:inherit; -webkit-tap-highlight-color:transparent;
}
.search-toggle::-webkit-details-marker{ display:none; }
.search-toggle::marker{ display:none; content:none; }

/* Pannello di ricerca a tendina, ancorato sotto l'icona. Selettore rinforzato
   (contesto .search-toggle-wrap[open]) per non rischiare di essere
   sovrascritto da altri fogli di stile con la stessa specificità. */
.search-toggle-wrap .search-panel{
  position:absolute !important; top:calc(100% + 14px) !important; right:0 !important; left:auto !important; z-index:9999 !important;
  background:var(--wax) !important; border:1px solid var(--line) !important; border-radius:6px !important;
  box-shadow:0 16px 30px rgba(54,35,23,0.18) !important;
  padding:16px !important; width:320px !important; max-width:calc(100vw - 40px) !important;
  margin:0 !important;
}
.search-toggle-wrap .search-panel .wrap{ max-width:none; padding:0; }
.faltag-search-form{ display:flex !important; gap:8px !important; margin:0 !important; }
.faltag-search-form .search-field{
  flex:1; min-width:0; padding:11px 14px; border:1px solid var(--line) !important; border-radius:4px !important;
  font-family:inherit !important; font-size:14.5px !important; background:#fff !important; color:var(--ink);
  -webkit-appearance:none; appearance:none;
}
.faltag-search-form .search-field:focus{
  outline:none; border-color:var(--honey) !important; box-shadow:0 0 0 3px rgba(217,147,43,0.15);
}
.faltag-search-form .search-submit{
  background:var(--walnut) !important; color:var(--wax) !important; border:none !important; border-radius:4px !important;
  padding:11px 18px !important; font-weight:600; font-size:14px; cursor:pointer; flex-shrink:0;
  -webkit-appearance:none; appearance:none;
}
.faltag-search-form .search-submit:hover{ background:var(--honey-2) !important; }

@media (max-width:600px){
  .search-toggle-wrap .search-panel{ right:auto !important; left:50% !important; transform:translateX(-50%); }
}

@media (max-width:900px){
  .main-navigation{
    display:none; position:absolute; top:100%; left:0; right:0; background:var(--wax);
    border-bottom:1px solid var(--line); padding:20px 32px;
  }
  .main-navigation.is-open{ display:block; }
  .main-navigation ul{ flex-direction:column; gap:16px; }
  .main-navigation ul ul{ position:static; box-shadow:none; border:none; padding-left:14px; }
  .main-navigation ul ul li.menu-item-has-children > a::before{
    transform:rotate(45deg); margin-top:-2px;
  }
  .main-navigation ul ul li.menu-item-has-children:hover > a::before,
  .main-navigation ul ul li.menu-item-has-children:focus-within > a::before{
    transform:rotate(225deg); margin-top:2px;
  }
  .menu-toggle{ display:block; }
}

/* =========================================================
   HERO (front-page)
   ========================================================= */
.hero{ position:relative; overflow:hidden; background:linear-gradient(180deg,var(--wax) 0%, var(--wax-2) 100%); }
.hive-pattern{ position:absolute; top:-80px; right:-160px; width:720px; height:720px; opacity:0.5; z-index:0; }
.hero-grid{
  position:relative; z-index:1; display:grid; grid-template-columns:1.05fr 0.95fr; gap:40px; align-items:center;
  padding:88px 32px 100px; max-width:var(--maxw); margin:0 auto;
}
.hero h1{ font-size:clamp(38px,5vw,64px); line-height:1.03; font-weight:600; color:var(--walnut-2); }
.hero h1 em{ font-style:normal; color:var(--honey-2); }
.hero .lede{ margin-top:22px; font-size:17px; line-height:1.6; max-width:460px; color:rgba(36,26,16,0.78); }
.hero-ctas{ display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; }
.hero-stats{ display:flex; gap:36px; margin-top:56px; flex-wrap:wrap; }
.hero-stats .num{ font-family:'Fraunces',serif; font-size:30px; font-weight:600; color:var(--walnut); }
.hero-stats .lbl{ font-size:12.5px; color:rgba(36,26,16,0.6); margin-top:2px; white-space:nowrap; }

.hero-visual{
  position:relative; aspect-ratio:1/1.05;
  clip-path:polygon(25% 0%,75% 0%,100% 25%,100% 75%,75% 100%,25% 100%,0% 75%,0% 25%);
  background:linear-gradient(160deg, #C98A2B 0%, #7a4d17 100%);
  box-shadow:0 30px 60px rgba(54,35,23,0.28);
}
.hero-visual img{ width:100%; height:100%; object-fit:cover; mix-blend-mode:multiply; opacity:0.92; }
.hero-badge{
  position:absolute; bottom:22px; left:22px; right:22px;
  background:rgba(36,22,9,0.82); backdrop-filter:blur(4px);
  color:var(--wax); padding:14px 18px; border-radius:4px;
  display:flex; align-items:center; justify-content:space-between; font-size:13px;
}
.hero-badge .mono{ color:var(--honey); }

/* =========================================================
   TRUST STRIP
   ========================================================= */
.trust{ background:var(--walnut-2); color:var(--wax); padding:22px 32px; }
.trust-inner{
  max-width:var(--maxw); margin:0 auto; display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px;
  font-size:13.5px; opacity:0.92;
}
.trust-inner span{ display:flex; align-items:center; gap:9px; }
.trust-inner span::before{ content:""; width:6px; height:6px; background:var(--honey); border-radius:50%; }

/* =========================================================
   BREADCRUMB (pagine non-WooCommerce)
   ========================================================= */
.faltag-breadcrumb{ padding:18px 0; }
.faltag-breadcrumb ol{ display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:0; padding:0; font-size:12.5px; }
.faltag-breadcrumb li:not(:last-child)::after{ content:"/"; margin-left:6px; color:rgba(36,26,16,0.35); }
.faltag-breadcrumb a{ color:var(--honey-text); }
.faltag-breadcrumb a:hover{ text-decoration:underline; }
.faltag-breadcrumb [aria-current="page"]{ color:rgba(36,26,16,0.55); }

/* =========================================================
   SEZIONI GENERICHE
   ========================================================= */
.section{ padding:96px 0; }
.sec-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:52px; gap:24px; flex-wrap:wrap; }
.sec-head h2{ font-size:clamp(28px,3.4vw,42px); font-weight:600; color:var(--walnut-2); max-width:560px; }
.sec-head p{ max-width:340px; font-size:14.5px; color:rgba(36,26,16,0.65); line-height:1.6; padding-bottom:6px; }

/* =========================================================
   CATEGORIE (griglia hex-badge)
   ========================================================= */
.cat-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.cat-card{
  position:relative; background:var(--walnut); border-radius:6px; overflow:hidden;
  aspect-ratio:4/3.1; padding:26px; display:flex; flex-direction:column; justify-content:flex-end; isolation:isolate;
}
.cat-card::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(160deg, rgba(217,147,43,0.35), rgba(54,35,23,0.05)); opacity:0.9;
}
.cat-card img.cat-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-1; opacity:0.55; }
.cat-card .hexnum, .store-cat-card__media .hexnum{
  position:absolute; top:20px; right:20px; z-index:2;
  width:40px; height:36px; display:flex; align-items:center; justify-content:center;
  background:rgba(244,238,221,0.12); border:1px solid rgba(244,238,221,0.35);
  clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);
  font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--wax);
}
.cat-card h3{ color:var(--wax); font-size:23px; font-weight:600; position:relative; z-index:2; }
.cat-card .count{ color:var(--honey); font-size:12.5px; margin-top:6px; position:relative; z-index:2; font-family:'JetBrains Mono',monospace; }
.cat-card:hover{ transform:translateY(-4px); transition:transform .25s ease; }

/* =========================================================
   CARD CATEGORIA — pagina STORE (con elenco sottocategorie)
   ========================================================= */
/* La sezione immagine (store-cat-card__media) richiama di proposito lo
   stesso trattamento delle card categoria in homepage: aspect-ratio
   4/3.1, immagine scurita con overlay a gradiente, badge esagonale
   numerato (regola condivisa con .cat-card qui sopra) e titolo in
   overlay con lo stesso font/dimensione/colore (vedi .cat-card h3).
   Sotto, il bordo a tema e il box con l'elenco sottocategorie restano
   invece specifici dello Store: l'homepage non li ha. */
.store-cat-card{
  display:flex; flex-direction:column; height:100%;
  background:var(--wax); border:2px solid var(--honey); border-radius:10px;
  overflow:hidden; transition:box-shadow .2s ease, transform .2s ease;
}
.store-cat-card:hover{ box-shadow:0 14px 28px rgba(54,35,23,0.14); transform:translateY(-3px); }

.store-cat-card__media{
  position:relative; aspect-ratio:4/3.1; padding:22px; isolation:isolate;
  display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden;
  background:var(--walnut); border-bottom:2px solid var(--honey);
}
.store-cat-card__media::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(160deg, rgba(217,147,43,0.35), rgba(54,35,23,0.05)); opacity:0.9;
}
.store-cat-card__img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  z-index:-1; opacity:0.55; transition:transform .35s ease;
}
.store-cat-card:hover .store-cat-card__img{ transform:scale(1.04); }
.store-cat-card__title{
  color:var(--wax); font-size:23px; font-weight:600; position:relative; z-index:2;
}

.store-cat-card__body{ display:flex; flex-direction:column; flex:1; padding:16px 20px 20px; }

.store-cat-list{ list-style:none; margin:0; padding:0; }
.store-cat-list li + li{ border-top:1px solid var(--line); }
.store-cat-list a{
  display:block; padding:9px 0; font-size:14px; font-weight:500;
  color:rgba(36,26,16,0.75); transition:color .15s ease, padding-left .15s ease;
}
.store-cat-list a:hover{ color:var(--honey-text); padding-left:4px; }

.store-cat-card__count{
  font-size:12.5px; font-family:'JetBrains Mono',monospace; color:var(--honey-2);
  padding-top:8px; border-top:1px solid var(--line); margin-top:auto;
}

/* =========================================================
   PRODOTTI (card WooCommerce custom)
   ========================================================= */
/* grid-template-columns basato sullo spazio reale disponibile nel contenitore
   (non solo sulla larghezza dello schermo): risolve i casi in cui ul.products
   si trova in un contenitore più stretto del solito, come i prodotti
   correlati/cross-sell nella pagina carrello accanto al riepilogo ordine. */
ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap:22px; list-style:none !important; margin:0 !important; padding:0 !important;
}

/* CAUSA REALE della prima cella sempre vuota: WooCommerce applica di serie
   un "clearfix" a ul.products tramite ::before/::after con content:"" e
   display:table (pensato per il suo layout classico a float). Quando un
   elemento diventa display:grid, la spec CSS trasforma automaticamente
   questi pseudo-elementi (se hanno un content) in veri figli della griglia:
   ::before finisce nella prima cella, ::after nell'ultima — entrambi vuoti,
   ma occupano comunque spazio. Rimuovendo il content il problema sparisce
   alla radice, senza bisogno di alcun JavaScript per "pulire" il DOM.
   Rif. https://css-tricks.com/preventing-a-grid-blowout/#the-pseudo-element-clearfix-gotcha */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
ul.products::before,
ul.products::after{
  content:none !important;
  display:none !important;
}

/* Neutralizza le regole core di WooCommerce pensate per un layout a float
   (width%/float/margin sui singoli <li>), che altrimenti "restringono" la card
   dentro la sua cella di griglia lasciando spazio vuoto attorno. */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product-category,
.woocommerce-page ul.products li.product-category,
ul.products li.product,
ul.products li.product-category{
  width:100% !important;
  float:none !important;
  margin:0 !important;
  clear:none !important;
}

/* Neutralizza l'evidenziazione gialla di default del tag <mark>,
   usato da WooCommerce per il conteggio prodotti nelle sottocategorie. */
.woocommerce mark.count,
.woocommerce-page mark.count{
  background:none; color:inherit; font-weight:inherit;
}

/* Rete di sicurezza: nasconde eventuali celle vuote nella griglia prodotto
   (es. un <li> generato senza contenuto reale), che altrimenti apparirebbero
   come un riquadro bianco vuoto prima del primo prodotto reale. */
ul.products li.product:empty,
ul.products li.product-category:empty{
  display:none !important;
}

.faltag-product-card{
  background:#fff; border:1px solid var(--line); border-radius:6px; overflow:hidden;
  transition:box-shadow .2s ease, transform .2s ease; position:relative; list-style:none;
  display:flex; flex-direction:column; height:100%;
}
.faltag-product-card:hover{ box-shadow:0 16px 30px rgba(54,35,23,0.12); transform:translateY(-3px); }
.faltag-product-img{
  aspect-ratio:1/1; background:linear-gradient(150deg,var(--wax-2),var(--wax));
  display:flex; align-items:center; justify-content:center; position:relative; overflow:hidden; flex-shrink:0;
}
.faltag-product-img img{ width:100%; height:100%; object-fit:cover; }
.faltag-product-tag{
  position:absolute; top:12px; left:12px; background:var(--sage); color:#fff;
  font-size:10.5px; font-weight:600; padding:5px 9px; border-radius:3px; letter-spacing:0.03em; z-index:2;
}
.faltag-product-tag.sale{ background:var(--honey-2); }
.faltag-product-body{ padding:16px 18px 20px; display:flex; flex-direction:column; flex:1; }
.faltag-product-cat{ font-size:11px; text-transform:uppercase; letter-spacing:0.08em; color:var(--honey-text); font-weight:600; }
.faltag-product-name{ font-family:'Work Sans',sans-serif; font-size:15px; margin-top:6px; font-weight:500; }
.faltag-product-name a{ color:inherit; }
.faltag-product-foot{ display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:14px; gap:10px; }
.faltag-product-price{ font-family:'Work Sans',sans-serif; font-size:15px; font-weight:600; flex:1; min-width:0; }
.faltag-product-price del{ opacity:0.5; font-weight:400; margin-right:6px; }
.faltag-product-price ins{ text-decoration:none; }
.faltag-add{
  width:34px; height:34px; border-radius:50%; background:var(--walnut); color:var(--wax);
  display:flex; align-items:center; justify-content:center; font-size:18px; cursor:pointer; border:none;
  transition:background .15s ease; flex-shrink:0;
}
.faltag-add:hover{ background:var(--honey-2); }

/* Pagina/Archivio Shop */
.shop-header{ padding:60px 0 20px; }
.shop-header h1{ font-size:clamp(28px,3.6vw,42px); color:var(--walnut-2); }
.woocommerce-breadcrumb{ font-size:12.5px; color:rgba(36,26,16,0.55); margin-bottom:14px; }
.woocommerce-breadcrumb a{ color:var(--honey-text); }
.woocommerce-ordering select, .woocommerce-pagination{ font-family:inherit; }
.woocommerce-result-count{ font-size:13.5px; color:rgba(36,26,16,0.6); }
nav.woocommerce-pagination ul{ display:flex; gap:8px; margin-top:40px; }
nav.woocommerce-pagination a, nav.woocommerce-pagination span{
  display:flex; align-items:center; justify-content:center; width:38px; height:38px;
  border:1px solid var(--line); border-radius:4px; font-size:13px;
}
nav.woocommerce-pagination .current{ background:var(--walnut); color:var(--wax); }

/* Pagina risultati di ricerca */
.search-section{ padding-bottom:80px; }
.search-query{ color:var(--honey-text); }
.search-count{ font-size:13.5px; color:rgba(36,26,16,0.6); margin-top:6px; }

.search-section-title{
  font-family:'Fraunces',serif; font-size:22px; font-weight:600; color:var(--walnut-2);
  margin:48px 0 24px; padding-bottom:14px; border-bottom:1px solid var(--line);
}
.search-results-group:first-of-type .search-section-title{ margin-top:20px; }

.search-results-list{ display:flex; flex-direction:column; gap:18px; }
.search-result-card{
  display:flex; gap:22px; background:#fff; border:1px solid var(--line); border-radius:6px;
  padding:20px; align-items:flex-start; transition:box-shadow .15s ease, border-color .15s ease;
}
.search-result-card:hover{ box-shadow:0 8px 20px rgba(54,35,23,0.08); border-color:rgba(54,35,23,0.18); }
.search-result-thumb{
  flex-shrink:0; width:140px; aspect-ratio:4/3; border-radius:4px; overflow:hidden; display:block;
  background:var(--wax-2);
}
.search-result-thumb img{ width:100%; height:100%; object-fit:cover; }
.search-result-body{ flex:1; min-width:0; }
.search-result-type{
  display:inline-block; font-size:11px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase;
  color:var(--honey-text); margin-bottom:6px;
}
.search-result-title{ font-size:19px; font-weight:600; line-height:1.3; margin-bottom:8px; }
.search-result-title a{ color:var(--ink); }
.search-result-title a:hover{ color:var(--honey-text); }
.search-result-excerpt{ font-size:14px; line-height:1.65; color:rgba(36,26,16,0.68); margin-bottom:10px; }
.search-result-excerpt p{ margin:0; }
.search-result-link{ font-size:13.5px; font-weight:600; color:var(--honey-text); white-space:nowrap; }
.search-result-link:hover{ text-decoration:underline; }

.search-empty{
  text-align:center; max-width:480px; margin:40px auto 0; padding:50px 30px;
  background:#fff; border:1px solid var(--line); border-radius:6px;
}
.search-empty-title{ font-family:'Fraunces',serif; font-size:22px; font-weight:600; color:var(--walnut-2); margin-bottom:10px; }
.search-empty-hint{ font-size:14.5px; color:rgba(36,26,16,0.65); margin-bottom:26px; }
.search-empty-form .faltag-search-form{ display:flex; gap:8px; }
.search-empty-form .search-field{
  flex:1; min-width:0; padding:12px 16px; border:1px solid var(--line); border-radius:4px;
  font-family:inherit; font-size:14.5px;
}
.search-empty-form .search-field:focus{ outline:none; border-color:var(--honey); box-shadow:0 0 0 3px rgba(217,147,43,0.15); }
.search-empty-form .search-submit{
  background:var(--walnut); color:var(--wax); border:none; border-radius:4px;
  padding:12px 22px; font-weight:600; font-size:14px; cursor:pointer;
}
.search-empty-form .search-submit:hover{ background:var(--honey-2); }

@media (max-width:600px){
  .search-result-card{ flex-direction:column; gap:14px; }
  .search-result-thumb{ width:100%; }
}

/* =========================================================
   STORIA / CHI SIAMO
   ========================================================= */
.story{ background:var(--walnut-2); color:var(--wax); position:relative; overflow:hidden; }
.story-grid{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:center; padding:110px 0; }
.story-img{ aspect-ratio:0.85/1; background:linear-gradient(150deg,#4a3220,#241609); border-radius:6px; position:relative; overflow:hidden; }
.story-img img{ width:100%; height:100%; object-fit:cover; opacity:0.85; }
.story .eyebrow{ margin-bottom:16px; }
.story h2{ font-size:clamp(28px,3.6vw,44px); font-weight:600; line-height:1.12; margin-bottom:22px; }
.story p{ font-size:15.5px; line-height:1.75; color:rgba(244,238,221,0.75); max-width:480px; }
.story p + p{ margin-top:14px; }
.story-timeline{ display:flex; gap:0; margin-top:44px; padding-top:4px; border-top:1px solid rgba(244,238,221,0.18); flex-wrap:wrap; }
.tl-item{ flex:1; min-width:110px; padding:20px 18px 0; border-right:1px solid rgba(244,238,221,0.18); }
.tl-item:last-child{ border-right:none; }
.tl-item .yr{ font-family:'JetBrains Mono',monospace; color:var(--honey); font-size:13px; }
.tl-item .desc{ font-size:12.5px; margin-top:6px; color:rgba(244,238,221,0.65); line-height:1.5; }

/* =========================================================
   PROCESSO
   ========================================================= */
.process-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; border-top:1px solid var(--line); border-left:1px solid var(--line); }
.proc-step{ padding:36px 28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); position:relative; }
.proc-step .hexnum{
  width:38px; height:34px; display:flex; align-items:center; justify-content:center;
  background:var(--honey); color:var(--walnut-2);
  clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);
  font-family:'JetBrains Mono',monospace; font-weight:700; font-size:13px; margin-bottom:20px;
}
.proc-step h3{ font-size:18px; font-weight:600; margin-bottom:10px; }
.proc-step p{ font-size:13.5px; color:rgba(36,26,16,0.65); line-height:1.6; }

/* =========================================================
   TESTIMONIANZE
   ========================================================= */
.testi-wrap{ background:var(--wax-2); }
.testi-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.testi-card{ background:var(--wax); padding:30px 26px; border-radius:6px; border:1px solid var(--line); }
.stars{ color:var(--honey-text); font-size:14px; letter-spacing:2px; margin-bottom:16px; }
.testi-card p{ font-size:14.5px; line-height:1.65; color:rgba(36,26,16,0.8); }
.testi-who{ display:flex; align-items:center; gap:12px; margin-top:22px; }
.testi-avatar{ width:38px; height:38px; border-radius:50%; background:var(--sage); }
.testi-name{ font-size:13.5px; font-weight:600; }
.testi-loc{ font-size:12px; color:rgba(36,26,16,0.55); }

/* =========================================================
   FAQ
   ========================================================= */
.faq-grid{ display:grid; grid-template-columns:0.8fr 1.2fr; gap:60px; }
.faq-item{ border-bottom:1px solid var(--line); padding:22px 0; }
.faq-item summary{ cursor:pointer; font-weight:600; font-size:15.5px; display:flex; justify-content:space-between; align-items:center; list-style:none; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{ content:"+"; font-size:20px; color:var(--honey-text); font-weight:400; }
.faq-item[open] summary::after{ content:"–"; }
.faq-item .a{ font-size:14px; color:rgba(36,26,16,0.68); line-height:1.65; margin-top:12px; max-width:520px; }
.faq-item .a p + p{ margin-top:10px; }

/* =========================================================
   CTA NEWSLETTER
   ========================================================= */
.cta-band{ background:var(--honey); color:var(--walnut-2); padding:70px 32px; text-align:center; position:relative; overflow:hidden; scroll-margin-top:100px; }
.cta-band h2{ font-size:clamp(26px,3.6vw,38px); font-weight:600; max-width:640px; margin:0 auto 16px; }
.cta-band p{ font-size:15px; opacity:0.85; max-width:460px; margin:0 auto 30px; }
.cta-form{ display:flex; gap:10px; max-width:420px; margin:0 auto; flex-wrap:wrap; justify-content:center; }
.cta-form input{ flex:1; min-width:200px; padding:14px 16px; border-radius:4px; border:1px solid rgba(36,22,9,0.2); font-size:14px; font-family:inherit; }
.cta-form button{ background:var(--walnut-2); color:var(--wax); padding:14px 24px; border-radius:4px; border:none; font-weight:600; font-size:14px; cursor:pointer; }
.form-message{ max-width:420px; margin:0 auto 16px; padding:12px 16px; border-radius:4px; font-size:14px; font-weight:500; }
.form-message--ok{ background:rgba(36,22,9,0.08); color:var(--walnut-2); }
.form-message--errore{ background:rgba(178,34,34,0.1); color:#8a1f1f; }

/* =========================================================
   FOOTER
   ========================================================= */
#colophon{ background:var(--walnut-2); color:rgba(244,238,221,0.7); padding:76px 32px 30px; }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; padding-bottom:56px; border-bottom:1px solid rgba(244,238,221,0.12); }
.foot-logo{ display:flex; align-items:center; gap:10px; color:var(--wax); font-family:'Fraunces',serif; font-weight:700; font-size:20px; margin-bottom:16px; }
#colophon h4{ color:var(--wax); font-size:13px; text-transform:uppercase; letter-spacing:0.08em; margin-bottom:18px; font-family:'Work Sans',sans-serif; }
#colophon ul{ display:flex; flex-direction:column; gap:11px; font-size:14px; }
#colophon ul a:hover{ color:var(--honey); }
.foot-social{ flex-direction:row !important; gap:16px !important; margin-top:16px; }
.foot-social a{ font-size:12.5px; text-decoration:underline; text-underline-offset:3px; }
.foot-bottom{ display:flex; justify-content:space-between; padding-top:26px; font-size:12.5px; flex-wrap:wrap; gap:12px; max-width:var(--maxw); margin:0 auto; }

/* =========================================================
   PAGINE STANDARD (page.php / single.php / archive.php)
   ========================================================= */
.page-content-wrap{ padding:70px 0 100px; }
.page-content-wrap .entry-title{ font-size:clamp(30px,4vw,46px); color:var(--walnut-2); margin-bottom:30px; }
.page-content-wrap .entry-content{ font-size:15.5px; line-height:1.8; max-width:760px; }
.page-content-wrap .entry-content.full-width{ max-width:none; }
.page-content-wrap .entry-content h2{ font-size:26px; margin:36px 0 14px; color:var(--walnut-2); }
.page-content-wrap .entry-content p{ margin-bottom:16px; }
.page-content-wrap .entry-content img{ border-radius:6px; margin:20px 0; }

/* =========================================================
   CART / CHECKOUT — armonizza WooCommerce di default
   ========================================================= */
.woocommerce table.shop_table{ border-color:var(--line); font-size:14px; }
.woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button{
  background:var(--walnut) !important; color:var(--wax) !important; border-radius:4px !important;
  padding:12px 22px !important; font-weight:600 !important; border:none !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover{
  background:var(--honey-2) !important;
}
.woocommerce-message, .woocommerce-info{ border-top-color:var(--honey) !important; }
.woocommerce-message::before, .woocommerce-info::before{ color:var(--honey-text) !important; }

/* Notice WooCommerce con pulsante "torna al negozio"/"continua ad
   acquistare" (classe .wc-forward, generata anche da wc_print_notice()
   negli snippet personalizzati come quello della spedizione gratuita nel
   carrello). Di norma quel pulsante è impostato per "galleggiare" accanto
   al testo, ma quella tecnica dipende da un foglio di stile WooCommerce
   che non carichiamo più (rimosso perché ridondante col resto del layout
   del tema): senza di esso, su schermi stretti il pulsante finiva
   sovrapposto al testo. Qui sostituiamo il float con un flexbox che va a
   capo in modo pulito, testo sopra e pulsante sotto quando lo spazio
   manca, senza più sovrapposizioni. */
.woocommerce-message, .woocommerce-info, .woocommerce-error{
  display:flex !important; flex-wrap:wrap; align-items:center; gap:10px 18px;
}
.woocommerce-message a.wc-forward, .woocommerce-info a.wc-forward, .woocommerce-error a.wc-forward{
  float:none !important; margin:0 !important; flex-shrink:0; order:2; white-space:nowrap;
}

.woocommerce-cart table.cart, .woocommerce-checkout table.shop_table{
  border:1px solid var(--line); border-radius:6px; border-collapse:separate; overflow:hidden;
}
.woocommerce-cart table.cart th, .woocommerce-checkout table.shop_table th{
  background:var(--wax-2); font-family:'JetBrains Mono',monospace; font-size:11.5px;
  text-transform:uppercase; letter-spacing:0.06em; color:var(--walnut-2);
}
.woocommerce-cart table.cart td, .woocommerce-checkout table.shop_table td{ border-color:var(--line); }

/* Miniatura prodotto nella tabella carrello/checkout (vista desktop). Senza
   una dimensione fissa qui, l'immagine restava vincolata solo in larghezza
   da altre regole della tabella ma non in altezza: il browser manteneva
   l'altezza originale dell'immagine (spesso alta, es. un'arnia fotografata
   in verticale) mentre la larghezza si schiacciava, deformandola in una
   sottile fetta verticale. object-fit:cover su un riquadro fisso risolve
   alla radice, qualunque sia la proporzione della foto originale. */
.woocommerce-cart table.cart td.product-thumbnail,
.woocommerce-checkout table.shop_table td.product-thumbnail{ width:96px; }
.woocommerce-cart table.cart td.product-thumbnail img,
.woocommerce-checkout table.shop_table td.product-thumbnail img{
  width:88px; height:88px; object-fit:cover; border-radius:4px; display:block;
}
.woocommerce-cart .cart-collaterals .cart_totals{
  background:var(--wax-2); border-radius:6px; padding:26px; border:1px solid var(--line);
  float:none;
}
.woocommerce-cart .cart-collaterals{ margin-top:40px; }
.woocommerce-cart .cart_totals h2{ font-family:'Fraunces',serif; font-size:22px; color:var(--walnut-2); margin-bottom:16px; }
.woocommerce-cart .cart_totals .order-total .amount{
  font-family:'Work Sans',sans-serif; font-weight:600; font-size:18px; color:var(--honey-text);
}

/* Su schermi larghi, "Totale carrello" e "Potresti essere interessato a…"
   tornano affiancati (il totale più stretto a fianco, i consigliati più
   larghi) invece di impilarsi a piena larghezza uno sopra l'altro: prima
   questo affiancamento arrivava di serie da WooCommerce, ma l'avevamo
   perso disattivando un suo foglio di stile ridondante. Markup reale:
   .cart-collaterals > .cross-sells + .cart_totals, entrambi fratelli diretti. */
@media (min-width:901px){
  .woocommerce-cart .cart-collaterals{ display:flex; align-items:flex-start; gap:40px; }
  .woocommerce-cart .cart-collaterals .cross-sells{ flex:1; min-width:0; order:1; }
  .woocommerce-cart .cart-collaterals .cart_totals{ flex:0 0 380px; order:2; }

  /* Allinea le due intestazioni di colonna: "Totale carrello" ha 26px di
     padding del box prima del testo e margin-bottom:16px dopo — qui
     rispecchiamo esattamente gli stessi valori (con padding-top invece di
     margin-top, per un posizionamento identico byte a byte, non solo
     visivamente simile) così le due colonne ripartono allo stesso punto. */
  .woocommerce-cart .cross-sells > h2{
    font-family:'Fraunces',serif; font-size:22px; font-weight:600; color:var(--walnut-2);
    margin:0 0 16px; padding-top:26px;
  }
}

/* Box "codice promozionale" nel carrello: WooCommerce non applica di suo
   nessuno stile qui (a differenza del checkout, che avevamo già sistemato),
   quindi restava con l'aspetto grezzo di default del browser. */
.woocommerce-cart table.cart .coupon{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px;
}
.woocommerce-cart table.cart .coupon input.input-text{
  border:1px solid var(--line) !important; border-radius:4px !important; padding:11px 14px !important;
  font-family:inherit !important; font-size:14px; background:#fff !important; flex:1; min-width:170px;
}
.woocommerce-cart table.cart .coupon input.input-text:focus{
  outline:none; border-color:var(--honey) !important; box-shadow:0 0 0 3px rgba(217,147,43,0.15);
}
.woocommerce-cart table.cart .coupon button.button{ flex-shrink:0; }
.woocommerce-cart table.cart td.actions > button[name="update_cart"]{ margin-top:14px; }

/* Campo password con occhiolino mostra/nascondi: WooCommerce genera questo
   controllo via JS usando l'icona dashicons, un font caricato solo in
   amministrazione — sul sito pubblico il glifo risultava invisibile e il
   controllo, senza posizionamento, cadeva fuori posto sotto al campo. Qui
   lo ricostruiamo con un'icona coerente con lo stile del resto del sito
   (stessa tecnica a "maschera" usata per le altre icone dell'header),
   posizionata dentro il campo, con occhio aperto/chiuso in base allo stato. */
.woocommerce form .password-input{ position:relative; display:block; }
.woocommerce form .password-input input.input-text{ padding-right:42px !important; }
.woocommerce form .show-password-input{
  position:absolute; top:0; right:2px; bottom:0; width:38px;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.woocommerce form .show-password-input .password-input-eyecon{ display:none; }
.woocommerce form .show-password-input::before{
  content:""; width:19px; height:19px; display:block; opacity:0.55;
  background-color:var(--ink);
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 12s4-7 11-7 11 7 11 7-4 7-11 7-11-7-11-7z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat;
  -webkit-mask-position:center; mask-position:center;
  -webkit-mask-size:contain; mask-size:contain;
}
.woocommerce form .show-password-input:hover::before{ opacity:0.85; }
.woocommerce form .show-password-input[aria-pressed="true"]::before{
  background-color:var(--honey-text);
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18'/%3E%3Cpath d='M10.6 5.1A11 11 0 0 1 12 5c7 0 11 7 11 7a13.5 13.5 0 0 1-3.1 3.9M6.6 6.6A13.6 13.6 0 0 0 1 12s4 7 11 7a10.7 10.7 0 0 0 4.2-.9'/%3E%3Cpath d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3l18 18'/%3E%3Cpath d='M10.6 5.1A11 11 0 0 1 12 5c7 0 11 7 11 7a13.5 13.5 0 0 1-3.1 3.9M6.6 6.6A13.6 13.6 0 0 0 1 12s4 7 11 7a10.7 10.7 0 0 0 4.2-.9'/%3E%3Cpath d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3C/svg%3E");
}

/* Tabella carrello: da riga di tabella a "card" impilata su mobile.
   WooCommerce aggiunge già un attributo data-title="Prezzo/Quantità/..."
   su ogni cella apposta per questo tipo di layout responsive: lo
   sfruttiamo con ::before per rigenerare l'etichetta di colonna accanto
   al valore, così non serve più scorrere la tabella lateralmente. */
@media (max-width:700px){
  .woocommerce-cart table.cart thead{ display:none; }
  .woocommerce-cart table.cart, .woocommerce-cart table.cart tbody, .woocommerce-cart table.cart tr{
    display:block; width:100%;
  }
  .woocommerce-cart table.cart tr.cart_item{
    position:relative; padding:18px 16px; border-bottom:1px solid var(--line);
  }
  .woocommerce-cart table.cart tr.cart_item:last-child{ border-bottom:none; }
  .woocommerce-cart table.cart td{ display:block; border:none !important; padding:0; }
  .woocommerce-cart table.cart td.product-remove{
    position:absolute; top:16px; right:14px; width:auto;
  }
  .woocommerce-cart table.cart td.product-remove a{
    display:flex; align-items:center; justify-content:center; width:26px; height:26px;
  }
  .woocommerce-cart table.cart td.product-thumbnail{
    display:inline-block; width:72px; vertical-align:top; margin-right:14px;
  }
  .woocommerce-cart table.cart td.product-thumbnail img{ width:72px; height:auto; border-radius:4px; display:block; }
  .woocommerce-cart table.cart td.product-name{
    display:inline-block; width:calc(100% - 100px); vertical-align:top;
    font-weight:500; font-size:14.5px; padding-right:24px; line-height:1.4;
  }
  .woocommerce-cart table.cart td.product-name a{ color:var(--ink); }
  .woocommerce-cart table.cart td.product-name .variation{ font-size:12.5px; margin-top:4px; }
  .woocommerce-cart table.cart td.product-price,
  .woocommerce-cart table.cart td.product-quantity,
  .woocommerce-cart table.cart td.product-subtotal{
    display:flex; justify-content:space-between; align-items:center;
    padding:10px 0 0 86px; font-size:13.5px;
  }
  .woocommerce-cart table.cart td.product-price::before,
  .woocommerce-cart table.cart td.product-quantity::before,
  .woocommerce-cart table.cart td.product-subtotal::before{
    content:attr(data-title); font-weight:600; color:rgba(36,26,16,0.5);
    text-transform:uppercase; font-size:11px; letter-spacing:0.05em;
  }
  .woocommerce-cart table.cart td.product-subtotal{
    font-family:'Work Sans',sans-serif; font-weight:600; color:var(--honey-text);
  }
  .woocommerce-cart table.cart td.product-quantity .quantity{ display:inline-flex; }
  .woocommerce-cart table.cart td.product-quantity input.qty{ width:56px !important; }
  .woocommerce-cart table.cart td.actions{ padding-top:20px !important; }
  .woocommerce-cart table.cart td.actions .coupon{
    display:flex; flex-wrap:wrap; gap:10px; margin-bottom:14px;
  }
  .woocommerce-cart table.cart td.actions .coupon input.input-text{
    width:100% !important; flex:none;
  }
  .woocommerce-cart table.cart td.actions .coupon button,
  .woocommerce-cart table.cart td.actions > button[name="update_cart"]{
    width:100%;
  }
  .woocommerce-cart .cart-collaterals .cart_totals{ max-width:none; margin-left:0; padding:22px; }

  /* Su mobile vogliamo il riepilogo (totale + pulsante "Procedi") subito
     sotto la lista prodotti, e i "prodotti consigliati" più in basso — a
     differenza dell'ordine di default di WooCommerce, dove i consigliati
     precedono il totale. */
  .woocommerce-cart .cart-collaterals{ display:flex; flex-direction:column; }
  .woocommerce-cart .cart-collaterals .cart_totals{ order:1; }
  .woocommerce-cart .cart-collaterals .cross-sells{ order:2; margin-top:40px; }
}

.woocommerce-checkout #customer_details{ background:transparent; }
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading{
  font-family:'Fraunces',serif; font-size:22px; color:var(--walnut-2); margin-bottom:20px;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea{
  border:1px solid var(--line) !important; border-radius:4px !important; padding:12px 14px !important;
  font-family:inherit !important; background:#fff !important;
}
.woocommerce-checkout #order_review{
  background:var(--wax-2); border:1px solid var(--line); border-radius:6px; padding:26px;
}
.woocommerce-checkout table.shop_table{ background:transparent; }
.woocommerce-checkout .payment_methods{ border-top:1px solid var(--line); padding-top:16px; }
.woocommerce-checkout #place_order{ width:100%; padding:16px !important; font-size:15px !important; }

.woocommerce-account .woocommerce-MyAccount-navigation ul{ display:flex; flex-direction:column; gap:4px; }
.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:block; padding:11px 16px; border-radius:4px; font-size:13.5px; font-weight:600;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{ background:var(--walnut); color:var(--wax); }
.woocommerce-account .woocommerce-MyAccount-navigation{ margin-bottom:36px; }

/* =========================================================
   PAGINA PRODOTTO SINGOLO
   ========================================================= */
/* Il markup è quello nativo di WooCommerce (nessun override di template):
   galleria e riepilogo sono già elementi fratelli dentro .product, qui li
   affianchiamo solo con CSS Grid. Tab e prodotti correlati/upsell, generati
   dagli stessi hook nativi, vengono fatti espandere su tutta la riga. */
.product-section{ padding:50px 0 100px; }
.woocommerce div.product{
  display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:flex-start; margin-top:20px;
}
.woocommerce div.product > .woocommerce-product-gallery{ grid-column:1; }
.woocommerce div.product > .summary{ grid-column:2; }
.woocommerce div.product > .woocommerce-tabs,
.woocommerce div.product > .upsells.products,
.woocommerce div.product > .related.products{ grid-column:1 / -1; }

.woocommerce-product-gallery .woocommerce-product-gallery__wrapper{
  border-radius:6px; overflow:hidden; background:var(--wax-2);
}
.woocommerce-product-gallery img{ border-radius:6px; }
.woocommerce-product-gallery .flex-control-thumbs{
  display:flex; gap:10px; margin-top:14px; list-style:none; padding:0; flex-wrap:wrap;
}
.woocommerce-product-gallery .flex-control-thumbs li{ width:72px; }
.woocommerce-product-gallery .flex-control-thumbs img{
  border-radius:4px; border:1px solid var(--line); cursor:pointer; opacity:0.75;
}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active{ opacity:1; border-color:var(--honey); }

.summary .product_title{
  font-size:clamp(26px,3.2vw,38px); color:var(--walnut-2); font-weight:600; margin-bottom:14px;
}
.summary .price{
  font-family:'Work Sans',sans-serif; font-weight:600; font-size:22px; color:var(--honey-text); display:block; margin-bottom:18px;
}
.summary .price del{ opacity:0.5; font-size:16px; margin-right:8px; }
.summary .woocommerce-product-rating{ margin-bottom:18px; display:flex; align-items:center; gap:10px; }
.summary .star-rating{ color:var(--honey-text); }
.summary .woocommerce-product-details__short-description{
  font-size:14.5px; line-height:1.75; color:rgba(36,26,16,0.75); margin-bottom:26px; max-width:480px;
}
.summary form.cart{ margin-bottom:24px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.summary .quantity input{
  width:64px; padding:12px 10px; border:1px solid var(--line); border-radius:4px; font-family:inherit; text-align:center;
}
.summary .product_meta{
  font-size:12.5px; color:rgba(36,26,16,0.55); border-top:1px solid var(--line); padding-top:16px; margin-top:10px;
}
.summary .product_meta > span{ display:block; margin-bottom:6px; }
.summary .product_meta a{ color:var(--honey-text); }

/* Tab descrizione / recensioni / informazioni aggiuntive.
   Stile a sottolineatura invece della "pillola" piena: più pulito, e
   soprattutto evita alla radice i pallini bianchi agli angoli — un
   artefatto degli pseudo-elementi ::before/::after che WooCommerce usa di
   serie per lo stile "a cartelletta" (bordi arrotondati + ombra per
   simulare il tab che si "stacca" dal contenuto). Qui li neutralizziamo
   del tutto con content:none, invece di provare a mascherarli. */
.woocommerce-tabs{ margin-top:70px; border-top:1px solid var(--line); padding-top:40px; }
.woocommerce-tabs ul.tabs{
  display:flex; gap:30px; margin:0 0 34px; padding:0; border-bottom:1px solid var(--line); flex-wrap:wrap;
}
.woocommerce-tabs ul.tabs li{ list-style:none; margin:0 !important; padding:0 !important; }
.woocommerce-tabs ul.tabs li,
.woocommerce-tabs ul.tabs li::before,
.woocommerce-tabs ul.tabs li::after{
  background:none !important; border:none !important; box-shadow:none !important;
  border-radius:0 !important; content:none !important; margin:0 !important; padding:0 !important;
}
.woocommerce-tabs ul.tabs li a{
  display:inline-block; padding:0 0 16px; margin-bottom:-1px;
  font-size:13.5px; font-weight:600; letter-spacing:0.01em; color:rgba(36,26,16,0.5);
  background:none !important; border:none !important; border-bottom:2px solid transparent !important;
  border-radius:0 !important; transition:color .15s ease, border-color .15s ease;
}
.woocommerce-tabs ul.tabs li a:hover{ color:var(--walnut); }
/* La classe .active viene applicata al <li>: qui basta colorare il testo
   e accendere la sottolineatura, senza alcuno sfondo — niente più notch o
   angoli da gestire, in qualunque situazione. */
.woocommerce-tabs ul.tabs li.active a{
  color:var(--walnut) !important; border-bottom-color:var(--honey) !important;
}
.woocommerce-tabs .panel{ max-width:760px; font-size:14.5px; line-height:1.8; color:rgba(36,26,16,0.78); }
.woocommerce-tabs .panel h2{ font-size:22px; color:var(--walnut-2); margin-bottom:16px; }

/* Correlati / upsell — riusano lo stile ul.products già definito sopra */
.related.products, .upsells.products{ margin-top:70px; }
.related.products > h2, .upsells.products > h2{
  font-family:'Fraunces',serif; font-size:26px; color:var(--walnut-2); margin-bottom:26px;
}

/* Tablet: stesso layout a due colonne del desktop, ma con meno respiro
   laterale in modo che galleria e riepilogo non risultino troppo stretti. */
@media (max-width:1024px){
  .woocommerce div.product{ gap:36px; }
  .summary .product_title{ font-size:clamp(24px,3.6vw,32px); }
}

@media (max-width:900px){
  .woocommerce div.product{ grid-template-columns:1fr; gap:30px; }
  /* Con una sola colonna nella griglia, le assegnazioni "grid-column:1/2"
     definite più sopra per il layout desktop non hanno più una seconda
     colonna a cui riferirsi: senza questo reset, il browser ne crea una
     implicita e ci sposta l'intero riepilogo prodotto (titolo, prezzo,
     pulsante "Aggiungi al carrello") fuori dallo schermo a destra — la
     causa esatta del layout "tagliato"/scorrimento orizzontale su mobile. */
  .woocommerce div.product > .woocommerce-product-gallery,
  .woocommerce div.product > .summary{ grid-column:1; }
  .product-section{ padding:36px 0 70px; }
  .woocommerce-tabs{ margin-top:50px; padding-top:30px; }
}

@media (max-width:600px){
  .woocommerce-product-gallery .flex-control-thumbs li{ width:56px; }
  .summary .product_title{ margin-bottom:10px; }
  .summary .price{ font-size:19px; }
  .summary form.cart{ flex-direction:column; align-items:stretch; gap:12px; }
  .summary form.cart .quantity{ width:100%; }
  .summary form.cart .quantity input{ width:100%; text-align:left; }
  .summary form.cart button.single_add_to_cart_button{ width:100%; text-align:center; }
  .woocommerce-tabs ul.tabs{ gap:20px; }
  .woocommerce-tabs ul.tabs li a{ padding:0 0 12px; font-size:12.5px; }
  .related.products, .upsells.products{ margin-top:50px; }
  .related.products > h2, .upsells.products > h2{ font-size:22px; }
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:900px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-visual{ order:-1; max-width:420px; margin:0 auto; }
  .cat-grid{ grid-template-columns:repeat(2,1fr) !important; }
  .story-grid{ grid-template-columns:1fr; padding:70px 0; gap:36px; }
  .process-grid{ grid-template-columns:repeat(2,1fr); }
  .testi-grid{ grid-template-columns:1fr; }
  .faq-grid{ grid-template-columns:1fr; gap:30px; }
  .foot-grid{ grid-template-columns:repeat(2,1fr); gap:32px; }
  .trust-inner{ justify-content:flex-start; }
}
/* Su mobile, categorie e "più scelti" restano su 2 colonne invece di
   impilarsi in una singola colonna. */
@media (max-width:520px){
  .cat-grid, ul.products{ grid-template-columns:repeat(2,1fr) !important; gap:12px; }
  .cat-card{ padding:16px; }
  .cat-card h3, .store-cat-card__title{ font-size:16px; }
  .cat-card .hexnum, .store-cat-card__media .hexnum{ width:30px; height:27px; font-size:10px; top:12px; right:12px; }
  .store-cat-card__media{ padding:16px; }
  .store-cat-card__body{ padding:14px 16px 16px; }
  .store-cat-list a{ font-size:13px; padding:8px 0; }
  .faltag-product-body{ padding:12px 12px 16px; }
  .faltag-product-name{ font-size:14.5px; }
  .foot-grid{ grid-template-columns:1fr; }
}

/* Sotto i 480px l'elenco sottocategorie perde leggibilità in 2 colonne:
   le card categoria dello Store occupano l'intera riga, una sotto l'altra. */
@media (max-width:480px){
  ul.products li.product-category{ grid-column:1 / -1; }
}

/* =========================================================
   PAGINA CONTATTI
   ========================================================= */
.contact-hero{
  background:linear-gradient(180deg,var(--wax) 0%, var(--wax-2) 100%);
  padding:80px 0 60px;
}
.contact-hero h1{
  font-size:clamp(34px,4.6vw,54px); color:var(--walnut-2); font-weight:600; line-height:1.05; margin-bottom:18px;
}
.contact-hero .lede{ font-size:16.5px; line-height:1.65; max-width:560px; color:rgba(36,26,16,0.75); }

.contact-section{ padding-top:60px; }

.contact-info-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:22px; margin-bottom:70px;
}
.contact-info-card{
  background:#fff; border:1px solid var(--line); border-radius:6px; padding:26px 24px;
}
.contact-info-card .hexnum{
  position:static; width:40px; height:36px; display:flex; align-items:center; justify-content:center;
  background:var(--walnut); color:var(--wax);
  clip-path:polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);
  margin-bottom:16px;
}
.contact-info-card h3{ font-size:16.5px; color:var(--walnut-2); font-weight:600; margin-bottom:8px; }
.contact-info-card p{ font-size:14px; line-height:1.55; color:rgba(36,26,16,0.75); margin-bottom:4px; }
.contact-info-card a{ color:var(--honey-text); font-weight:600; }
.contact-info-card a:hover{ text-decoration:underline; }
.contact-note{ font-size:12.5px !important; color:rgba(36,26,16,0.5) !important; font-weight:400 !important; }

.contact-grid{ display:grid; grid-template-columns:1.15fr 0.85fr; gap:56px; align-items:flex-start; }

.contact-form-wrap h2{ font-size:clamp(24px,2.6vw,32px); color:var(--walnut-2); font-weight:600; margin-bottom:10px; }
.contact-form-lede{ font-size:14.5px; color:rgba(36,26,16,0.65); margin-bottom:30px; }

.contact-alert{
  padding:14px 18px; border-radius:4px; font-size:14px; margin-bottom:24px; border-left:3px solid;
}
.contact-alert-ok{ background:rgba(93,107,74,0.1); border-color:var(--sage); color:#3c4630; }
.contact-alert-error{ background:rgba(184,116,24,0.1); border-color:var(--honey-2); color:var(--honey-text); }

.contact-honeypot{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.contact-form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.contact-field{ margin-bottom:18px; }
.contact-field label{
  display:block; font-size:12.5px; font-weight:600; text-transform:uppercase; letter-spacing:0.05em;
  color:var(--walnut); margin-bottom:8px;
}
.contact-field input, .contact-field textarea{
  width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:4px;
  font-family:inherit; font-size:14.5px; background:#fff; resize:vertical;
}
.contact-field input:focus, .contact-field textarea:focus{
  outline:none; border-color:var(--honey); box-shadow:0 0 0 3px rgba(217,147,43,0.15);
}
.contact-form button[type="submit"]{ margin-top:6px; border:none; cursor:pointer; }
.contact-privacy-note{ font-size:12px; color:rgba(36,26,16,0.5); margin-top:16px; line-height:1.6; }
.contact-privacy-note a{ color:var(--honey-text); }

.contact-map{
  aspect-ratio:4/3.4; border-radius:6px; overflow:hidden; border:1px solid var(--line); margin-bottom:20px;
}
.contact-map-caption p{ font-size:13.5px; line-height:1.65; color:rgba(36,26,16,0.65); }

@media (max-width:900px){
  .contact-info-grid{ grid-template-columns:repeat(2,1fr); }
  .contact-grid{ grid-template-columns:1fr; }
}
@media (max-width:520px){
  .contact-info-grid{ grid-template-columns:1fr; }
  .contact-form-row{ grid-template-columns:1fr; gap:0; }
}

/* =========================================================
   PAGINA GALLERIA
   ========================================================= */
.gallery-section{ padding-top:60px; }

/* Griglia della galleria: NON dipende dal markup del blocco Gutenberg usato
   per inserire le immagini (Galleria, Colonne, Immagine singola...). La
   struttura .faltag-gallery-grid / .faltag-gallery-item viene ricostruita
   via JavaScript (js/gallery-lightbox.js) a partire da qualsiasi <img>
   trovata nel contenuto, così lo stile è garantito indipendentemente da
   come l'editor ha inserito le foto. */
.faltag-gallery-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:24px;
  margin:0 0 40px;
}
.faltag-gallery-item{
  position:relative; border-radius:6px; overflow:hidden; aspect-ratio:1/1;
  background:var(--wax-2); isolation:isolate; margin:0; cursor:zoom-in;
}
.faltag-gallery-item img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .35s ease;
}
.faltag-gallery-item::after{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(36,22,9,0) 55%, rgba(36,22,9,0.55) 100%);
  opacity:0; transition:opacity .25s ease; pointer-events:none;
}
.faltag-gallery-item:hover::after{ opacity:1; }
.faltag-gallery-item:hover img{ transform:scale(1.06); }
.faltag-gallery-item::before{
  content:"";
  position:absolute; top:14px; right:14px; width:34px; height:34px; z-index:2;
  background:rgba(244,238,221,0.92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23241A10' stroke-width='2'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E") center/16px no-repeat;
  border-radius:50%; opacity:0; transition:opacity .25s ease;
}
.faltag-gallery-item:hover::before{ opacity:1; }

.gallery-empty{
  text-align:center; max-width:520px; margin:0 auto; padding:70px 20px;
  border:1px dashed var(--line); border-radius:6px;
}
.gallery-empty p{ font-size:14.5px; line-height:1.7; color:rgba(36,26,16,0.65); }

/* Lightbox */
.faltag-lightbox{
  position:fixed; inset:0; z-index:200; background:rgba(24,15,7,0.94);
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden; transition:opacity .2s ease;
}
.faltag-lightbox.is-open{ opacity:1; visibility:visible; }
.faltag-lightbox-img{
  max-width:min(88vw, 1100px); max-height:82vh; border-radius:4px;
  box-shadow:0 30px 70px rgba(0,0,0,0.5);
}
.faltag-lightbox-close, .faltag-lightbox-prev, .faltag-lightbox-next{
  position:absolute; background:rgba(244,238,221,0.12); border:1px solid rgba(244,238,221,0.3);
  color:var(--wax); border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center;
  transition:background .15s ease;
}
.faltag-lightbox-close:hover, .faltag-lightbox-prev:hover, .faltag-lightbox-next:hover{
  background:var(--honey); color:var(--walnut-2); border-color:var(--honey);
}
.faltag-lightbox-close{ top:24px; right:24px; width:42px; height:42px; font-size:22px; line-height:1; }
.faltag-lightbox-prev, .faltag-lightbox-next{ top:50%; transform:translateY(-50%); width:48px; height:48px; font-size:20px; }
.faltag-lightbox-prev{ left:24px; }
.faltag-lightbox-next{ right:24px; }
.faltag-lightbox-counter{
  position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
  color:var(--wax); font-family:'JetBrains Mono',monospace; font-size:12.5px; opacity:0.7;
}

@media (max-width:900px){
  .faltag-gallery-grid{ grid-template-columns:repeat(2,1fr); }
  .faltag-lightbox-prev{ left:10px; }
  .faltag-lightbox-next{ right:10px; }
  .faltag-lightbox-prev, .faltag-lightbox-next{ width:40px; height:40px; }
}
@media (max-width:520px){
  .faltag-gallery-grid{ grid-template-columns:1fr; }
}

/* =========================================================
   PAGINE LEGALI (Privacy, Cookie Policy, Termini e condizioni)
   ========================================================= */
.legal-hero{
  background:linear-gradient(180deg,var(--wax) 0%, var(--wax-2) 100%);
  padding:70px 0 50px;
}
.legal-hero h1{ font-size:clamp(30px,4vw,44px); color:var(--walnut-2); font-weight:600; margin-bottom:10px; }
.legal-updated{ font-family:'JetBrains Mono',monospace; font-size:12.5px; color:rgba(36,26,16,0.55); }

.legal-section{ padding-top:60px; }
.legal-layout{ display:grid; grid-template-columns:240px 1fr; gap:60px; align-items:flex-start; }

.legal-toc{ position:sticky; top:100px; }
.legal-toc-list{ display:flex; flex-direction:column; gap:2px; }
.legal-toc-list a{
  font-size:13px; color:rgba(36,26,16,0.6); padding:8px 12px; border-radius:4px;
  border-left:2px solid transparent; line-height:1.4;
}
.legal-toc-list a:hover{ background:var(--wax-2); color:var(--walnut-2); }
.legal-toc-list a.is-active{
  color:var(--honey-text); border-left-color:var(--honey); background:var(--wax-2); font-weight:600;
}

.legal-content{ max-width:720px; font-size:15px; line-height:1.85; color:rgba(36,26,16,0.8); }
.legal-content h2{
  font-size:24px; color:var(--walnut-2); font-weight:600; margin:44px 0 16px; scroll-margin-top:100px;
}
.legal-content h2:first-child{ margin-top:0; }
.legal-content h3{ font-size:18px; color:var(--walnut-2); font-weight:600; margin:28px 0 12px; }
.legal-content p{ margin-bottom:16px; }
.legal-content ul, .legal-content ol{ margin:0 0 16px 22px; }
.legal-content li{ list-style:inherit; margin-bottom:8px; }
.legal-content a{ color:var(--honey-text); text-decoration:underline; }
.legal-content table{ width:100%; border-collapse:collapse; margin:20px 0; font-size:13.5px; }
.legal-content table th, .legal-content table td{ border:1px solid var(--line); padding:10px 12px; text-align:left; }
.legal-content table th{ background:var(--wax-2); font-weight:600; }

@media (max-width:900px){
  .legal-layout{ grid-template-columns:1fr; }
  .legal-toc{ position:static; margin-bottom:30px; border-bottom:1px solid var(--line); padding-bottom:20px; }
  .legal-toc-list{ flex-direction:row; flex-wrap:wrap; gap:8px; }
  .legal-toc-list a{ border:1px solid var(--line); border-left:1px solid var(--line); }
  .legal-toc-list a.is-active{ border-color:var(--honey); }
}

/* =========================================================
   CHECKOUT — layout a due colonne e UI più curata
   ========================================================= */
@media (min-width:900px){
  .woocommerce-checkout form.checkout{
    display:grid;
    grid-template-columns:1.3fr 1fr;
    gap:56px;
    align-items:start;
  }
  .woocommerce-checkout #customer_details{ grid-column:1; }
  .woocommerce-checkout .checkout-order-review-col{ grid-column:2; }
  .woocommerce-checkout #order_review_heading{ margin-top:0; }
  .woocommerce-checkout #order_review{ position:sticky; top:100px; }
}

.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  width:100% !important; float:none !important;
}
@media (min-width:600px){
  .woocommerce-checkout #customer_details{
    display:grid; grid-template-columns:1fr 1fr; gap:0 32px;
  }
}

.woocommerce-checkout .woocommerce-billing-fields__title,
.woocommerce-checkout #ship-to-different-address,
.woocommerce-checkout .woocommerce-additional-fields h3{
  font-family:'Fraunces',serif; font-size:19px; color:var(--walnut-2); font-weight:600;
  margin-bottom:18px; padding-bottom:10px; border-bottom:1px solid var(--line);
}

.woocommerce-checkout .form-row{ margin-bottom:16px; }
.woocommerce-checkout .form-row label{
  font-size:12.5px; font-weight:600; text-transform:uppercase; letter-spacing:0.04em;
  color:var(--walnut); margin-bottom:6px; display:block;
}
.woocommerce-checkout .form-row .required{ color:var(--honey-text); text-decoration:none; }

.woocommerce-checkout table.shop_table thead{ display:none; }
.woocommerce-checkout table.shop_table tbody th,
.woocommerce-checkout table.shop_table tbody td{
  padding:12px 14px; font-size:13.5px;
}
.woocommerce-checkout table.shop_table .product-name{ font-weight:500; }
.woocommerce-checkout table.shop_table .order-total td{
  font-family:'Work Sans',sans-serif; font-size:18px; color:var(--honey-text); font-weight:600;
}

/* Metodi di spedizione e pagamento come card selezionabili, invece della
   semplice lista puntata di default. */
.woocommerce-checkout ul#shipping_method,
.woocommerce-checkout ul.wc_payment_methods{
  list-style:none; margin:0 0 18px; padding:0;
}
.woocommerce-checkout ul#shipping_method li,
.woocommerce-checkout ul.wc_payment_methods > li{
  border:1px solid var(--line); border-radius:6px; padding:14px 16px; margin-bottom:10px;
  background:#fff; transition:border-color .15s ease;
}
.woocommerce-checkout ul#shipping_method li:has(input:checked),
.woocommerce-checkout ul.wc_payment_methods > li:has(input:checked){
  border-color:var(--honey);
}
.woocommerce-checkout ul#shipping_method input[type="radio"],
.woocommerce-checkout ul.wc_payment_methods input[type="radio"]{
  accent-color:var(--honey-2); margin-right:10px; width:16px; height:16px;
}
.woocommerce-checkout .payment_box{
  background:var(--wax-2); border-radius:4px; padding:14px 16px; margin-top:12px; font-size:13.5px;
}

.woocommerce-checkout .place-order{ margin-top:6px; }
.woocommerce-checkout #place_order{
  width:100%; padding:16px !important; font-size:15px !important; letter-spacing:0.01em;
}
.checkout-trust-note{
  text-align:center; font-size:12.5px; color:rgba(36,26,16,0.55); margin-top:14px;
}

.woocommerce-checkout .woocommerce-form-coupon-toggle{
  background:var(--wax-2); border:1px solid var(--line); border-radius:6px; padding:14px 18px; margin-bottom:30px;
}
.woocommerce-checkout .checkout_coupon input.input-text{
  border:1px solid var(--line); border-radius:4px; padding:10px 12px; font-family:inherit;
}
