/*
Theme Name: Coffee's Art
Theme URI: https://coffeesart.gr
Author: Istos Studio
Author URI: https://istos.studio
Description: Custom WooCommerce theme για το Coffee's Art — espresso bar & micro roastery στη Νέα Ιωνία. Editorial vintage design (EB Garamond + Alegreya Sans + JetBrains Mono).
Version: 0.13.1
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
License: GNU General Public License v2 or later
Text Domain: coffees-art
*/

/* ============ TOKENS ============ */
:root{
  --paper:#F4F0E6;
  --paper-deep:#ECE6D6;
  --ink:#171310;
  --brown:#57402F;
  --brown-soft:#7A6a58;
  --accent:#E30F7B;      /* brand fuchsia — graphic elements */
  --accent-ink:#B80D63;  /* darkened fuchsia — text/buttons on paper, AA */
  --line:#171310;
  --font-display:'EB Garamond',Georgia,serif;
  --font-body:'Alegreya Sans','Helvetica Neue',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
  --ease:cubic-bezier(.25,.7,.3,1);
  --gutter:clamp(1.25rem,4vw,4rem);
  --maxw:1360px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{
  font-family:var(--font-body);
  background:var(--paper);
  color:var(--ink);
  font-size:1rem;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
button{font:inherit;cursor:pointer;color:inherit}
::selection{background:var(--accent);color:#fff}

/* focus */
:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px;border-radius:2px}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:300;
  background:var(--ink);color:var(--paper);padding:.75rem 1.25rem;
  font-family:var(--font-mono);font-size:.8rem;text-decoration:none;
}
.skip-link:focus{left:0}

.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}

/* mono label utility */
.mono{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* ============ HEADER ============ */
.site-header{
  position:sticky;top:0;z-index:100;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.header-in{
  max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter);
  display:flex;align-items:center;justify-content:space-between;
  min-height:78px;gap:1rem;
}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.1;padding:.4rem 0}
.brand strong{font-family:var(--font-display);font-weight:600;font-size:1.5rem;letter-spacing:-.01em}
.brand span{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brown)}
.main-nav{display:flex;gap:2rem}
.main-nav a{
  font-family:var(--font-body);font-size:.94rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;
  text-decoration:none;padding:1.1rem 0;position:relative;color:var(--ink);
  transition:color .2s var(--ease);
}
.main-nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:.75rem;height:2px;
  background:var(--accent);transition:right .3s var(--ease);
}
.main-nav a:hover::after,.main-nav a:focus-visible::after,.main-nav a.current::after{right:0}
.main-nav a:hover{color:var(--accent-ink)}
.header-actions{display:flex;align-items:center;gap:.5rem}
.checkout-header-in{
  min-height:88px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
}
.checkout-header-in .brand{
  grid-column:2;
  align-items:center;
  text-align:center;
}
.checkout-back,.checkout-secure{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--font-body);font-size:.82rem;font-weight:700;
  letter-spacing:.04em;text-decoration:none;color:var(--brown);
}
.checkout-back{justify-self:start;min-height:44px;padding:.5rem 0}
.checkout-back [aria-hidden]{font-size:1.2rem;line-height:1;transition:transform .18s var(--ease)}
.checkout-back:hover{color:var(--accent-ink)}
.checkout-back:hover [aria-hidden]{transform:translateX(-3px)}
.checkout-secure{justify-self:end;text-transform:uppercase;font-size:.68rem;letter-spacing:.09em}
.checkout-secure svg{stroke:var(--accent-ink);flex:none}
.cart-btn{
  display:flex;align-items:center;gap:.5rem;
  background:var(--ink);color:var(--paper);border:1px solid var(--ink);
  padding:.65rem 1rem;min-height:44px;border-radius:2px;
  font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;
  transition:background .18s var(--ease);
}
.cart-btn:hover{background:var(--accent-ink);border-color:var(--accent-ink)}
.cart-count{
  background:var(--accent);color:#fff;border-radius:2px;
  min-width:1.4em;text-align:center;padding:.05em .3em;font-weight:500;
}
.menu-btn{
  display:none;background:none;border:1px solid var(--ink);border-radius:2px;
  min-height:44px;min-width:44px;padding:.5rem .8rem;
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
}
@media (max-width:820px){
  .main-nav{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--paper);
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    box-shadow:0 16px 26px rgba(23,19,16,.16);
    flex-direction:column;gap:0;padding:.25rem var(--gutter) .6rem;
  }
  .main-nav.open{display:flex}
  .main-nav a{display:block;width:100%;padding:1.05rem .1rem;border-bottom:1px solid rgba(23,19,16,.12)}
  .main-nav > a:last-child,.main-nav li:last-child a{border-bottom:0}
  .main-nav a::after{display:none}
  .menu-btn{display:block}
  .cart-btn .cart-label{display:none}
  .checkout-header-in{min-height:74px;grid-template-columns:44px 1fr 44px}
  .checkout-header-in .brand{grid-column:2}
  .checkout-header-in .brand strong{font-size:1.35rem}
  .checkout-header-in .brand span{display:none}
  .checkout-back span:last-child,.checkout-secure span{display:none}
  .checkout-back{width:44px;justify-content:flex-start}
  .checkout-secure{width:44px;justify-content:flex-end}
}
@media (max-width:400px){
  .header-in{gap:.5rem}
  .brand span{font-size:.5rem}
  .menu-btn{padding:.5rem .6rem;font-size:.66rem}
  .cart-btn{padding:.6rem .7rem}
}

/* ============ HERO ============ */
.hero{border-bottom:1px solid var(--line)}
.hero h1{
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(2.9rem,8.4vw,7.2rem);
  line-height:.98;letter-spacing:-.015em;
  padding:2.1rem 0 1.5rem;
  max-width:16ch;
}
.hero h1 em{font-style:italic;font-weight:700;color:var(--accent-ink)}
.hero-sub{
  display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-end;justify-content:space-between;
  padding-bottom:1.8rem;
}
.hero-sub p{max-width:52ch;font-size:1.05rem;color:var(--brown)}
.hero-ctas{display:flex;gap:.75rem;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  min-height:48px;padding:.8rem 1.6rem;border-radius:2px;border:1px solid var(--ink);
  font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;
  text-decoration:none;transition:background .18s var(--ease),color .18s var(--ease),border-color .18s var(--ease);
}
.btn-primary{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff}
.btn-primary:hover{background:var(--ink);border-color:var(--ink)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.hero-figure{position:relative;border-top:1px solid var(--line);margin:0}
.hero-figure img{
  width:100%;height:clamp(380px,62vw,560px);object-fit:cover;object-position:center 42%;
  display:block;
}
.grain::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.45'/%3E%3C/svg%3E");
}
@media (min-width:900px){
  .hero{
    display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);
    align-items:stretch;
  }
  .hero .wrap{
    display:flex;flex-direction:column;justify-content:center;
    max-width:none;width:100%;margin:0;
    padding-block:clamp(2.4rem,5vw,4.2rem);
    padding-right:clamp(1.4rem,4vw,3rem);
  }
  .hero h1{padding:0 0 1.3rem;font-size:clamp(2.6rem,5.6vw,5.4rem)}
  .hero-sub{padding-bottom:0;flex-direction:column;align-items:flex-start;gap:1.4rem}
  .hero-figure{border-top:0;border-left:1px solid var(--line)}
  .hero-figure img{height:100%;min-height:640px;object-position:center 38%}
}
@media (max-width:600px){
  .hero h1{padding:1.5rem 0 1.1rem}
  .hero-sub{flex-direction:column;align-items:stretch;gap:1.2rem}
  .hero-sub p{max-width:none;font-size:1rem}
  .hero-ctas{width:100%}
  .hero-ctas .btn{flex:1 1 auto;padding-inline:1rem}
  .hero-figure img{height:clamp(360px,88vw,480px)}
}

/* ============ SECTION BASICS ============ */
section{border-bottom:1px solid var(--line)}
.section-head{
  display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.75rem;
  padding:2.6rem 0 1.6rem;
}
.section-head h2{
  font-family:var(--font-display);font-weight:600;letter-spacing:-.015em;
  font-size:clamp(2.1rem,4.8vw,3.6rem);line-height:1.02;
}
.section-head .mono{color:var(--brown)}

/* reveal */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}

/* ============ STORY ============ */
.story-grid{
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:clamp(1.5rem,4vw,4rem);padding-bottom:3rem;align-items:start;
}
.story-figure{position:relative;margin:0}
.story-figure img{
  width:100%;aspect-ratio:3/4;object-fit:cover;object-position:62% center;
  display:block;
}
.story-copy p{max-width:62ch;margin-bottom:1.1rem;color:#2E2620}
.story-copy .lede{font-family:var(--font-display);font-size:1.5rem;font-weight:500;line-height:1.35;color:var(--ink)}
.story-quote{
  font-family:var(--font-display);font-weight:500;font-style:italic;
  font-size:clamp(1.5rem,3vw,2.15rem);line-height:1.25;
  border-left:3px solid var(--accent);padding-left:1.1rem;margin:1.8rem 0 .5rem;
  max-width:26ch;
}
@media (max-width:900px){
  .story-grid{grid-template-columns:1fr}
  .story-figure img{aspect-ratio:4/5;max-height:72vh}
}

/* ============ SHOP PAIR (real store photography) ============ */
.shop-pair{border-bottom:0}
.shop-pair-grid{display:grid;grid-template-columns:1.08fr .92fr}
.shop-pair figure{margin:0;border-right:1px solid var(--line)}
.shop-pair figure:last-child{border-right:0}
.shop-pair img{width:100%;height:clamp(320px,38vw,520px);object-fit:cover;display:block}
.shop-pair figure:first-child img{object-position:center 52%}
.shop-pair figure:last-child img{object-position:center 62%}
@media (max-width:820px){
  .shop-pair-grid{grid-template-columns:1fr}
  .shop-pair figure{border-right:0;border-bottom:1px solid var(--line)}
  .shop-pair figure:last-child{border-bottom:0}
  .shop-pair img{height:clamp(300px,62vw,420px)}
}

/* ============ CATALOGUE (horizontal carousel) ============ */
.catalogue-head{
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;
  padding-bottom:1.3rem;
}
.filters{display:flex;flex-wrap:wrap;gap:.5rem}
.filter-btn{
  background:transparent;border:1px solid var(--ink);border-radius:2px;
  min-height:44px;padding:.55rem 1.1rem;
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
  transition:background .15s var(--ease),color .15s var(--ease);
}
.filter-btn[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.filter-btn:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff}

/* nav arrows */
.carousel-nav{display:flex;align-items:center;gap:.5rem}
.carousel-nav .cn-line{width:1px;height:26px;background:var(--line);opacity:.4}
.arrow-btn{
  background:transparent;border:1px solid var(--ink);border-radius:50%;
  width:48px;height:48px;display:flex;align-items:center;justify-content:center;
  transition:background .18s var(--ease),color .18s var(--ease),transform .18s var(--ease);
}
.arrow-btn svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.6;fill:none}
.arrow-btn:hover:not(:disabled){background:var(--ink);color:var(--paper)}
.arrow-btn:active:not(:disabled){transform:scale(.92)}
.arrow-btn:disabled{opacity:.28;cursor:not-allowed}

/* viewport + track — left edge aligns with content column, bleeds off right */
.catalogue-viewport{position:relative}
.catalogue{
  list-style:none;display:flex;gap:1.1rem;
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:.4rem var(--gutter) 1.6rem;
  padding-left:max(var(--gutter), calc((100% - var(--maxw)) / 2 + var(--gutter)));
  scroll-padding-left:max(var(--gutter), calc((100% - var(--maxw)) / 2 + var(--gutter)));
  scrollbar-width:thin;scrollbar-color:var(--brown-soft) transparent;
}
.catalogue::-webkit-scrollbar{height:6px}
.catalogue::-webkit-scrollbar-thumb{background:var(--brown-soft);border-radius:3px}
.catalogue::-webkit-scrollbar-track{background:transparent}

/* card */
.product{
  flex:0 0 clamp(250px,27vw,300px);scroll-snap-align:start;
  display:flex;flex-direction:column;
  background:var(--paper-deep);border:1px solid var(--line);border-radius:3px;
  overflow:hidden;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s var(--ease);
}
.product.hidden{display:none}
.product:hover{box-shadow:0 12px 26px rgba(23,19,16,.18);border-color:var(--accent-ink)}
.product:focus-within{border-color:var(--accent-ink)}
/* entrance stagger */
.product{opacity:0;transform:translateY(18px)}
.product.in{opacity:1;transform:none;transition:opacity .5s var(--ease),transform .5s var(--ease)}
.product.in:nth-child(2){transition-delay:.05s}
.product.in:nth-child(3){transition-delay:.10s}
.product.in:nth-child(4){transition-delay:.15s}
.product.in:nth-child(5){transition-delay:.20s}
.product.in:nth-child(n+6){transition-delay:.25s}
@media (prefers-reduced-motion:reduce){.product{opacity:1;transform:none}}

.p-thumb{
  position:relative;aspect-ratio:4/5;overflow:hidden;
  background:var(--ink);border-bottom:1px solid var(--line);
}
.p-thumb::before{
  content:"";position:absolute;left:0;top:0;right:0;height:5px;z-index:2;
  background:var(--tile,var(--accent));
}
.p-thumb img{
  width:100%;height:100%;object-fit:cover;
  filter:sepia(.12) contrast(1.02) saturate(.94);
  transition:transform .55s var(--ease);
}
.product:hover .p-thumb img{transform:scale(1.06)}
.p-badge{
  position:absolute;left:.7rem;top:1rem;z-index:2;
  background:var(--accent);color:#fff;border-radius:2px;
  font-family:var(--font-mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.3em .55em;box-shadow:0 2px 6px rgba(23,19,16,.28);
}

.p-main{padding:1rem 1.1rem .4rem;flex:1}
.p-name{
  font-family:var(--font-display);font-weight:600;
  font-size:1.5rem;line-height:1.05;letter-spacing:-.005em;
}
.p-meta{font-size:.85rem;color:var(--brown-soft);margin-top:.35rem}
.p-note{font-size:.9rem;color:#4A3E33;margin-top:.5rem;line-height:1.5}

.p-footer{
  display:flex;flex-direction:column;align-items:stretch;gap:0;
  padding:0;margin-top:auto;
}
.p-footer .p-price{padding:.1rem 1.1rem 1rem}
.p-price{
  font-family:var(--font-mono);font-size:1.05rem;font-weight:500;font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.p-price small{display:block;font-size:.6rem;color:var(--brown);font-weight:400;letter-spacing:.06em}
.add-btn{
  display:block;width:100%;text-align:center;text-decoration:none;
  border:0;border-top:1px solid var(--line);border-radius:0;
  background:transparent;color:var(--ink);
  min-height:52px;padding:.95rem 1rem;white-space:nowrap;
  font-family:var(--font-body);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  transition:background .18s var(--ease),color .18s var(--ease);
}
.add-btn:hover,.add-btn:focus-visible{background:var(--accent-ink);color:#fff}
.add-btn.added{background:var(--accent-ink);color:#fff}
.catalogue-note{padding:.4rem 0 2.6rem;font-size:.9rem;color:var(--brown-soft)}

@media (max-width:600px){
  .carousel-nav{display:none}
  .catalogue-head{align-items:flex-start}
  /* filters become a compact horizontal scroll row */
  .filters{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.3rem;scrollbar-width:none;max-width:100%}
  .filters::-webkit-scrollbar{display:none}
  .filter-btn{flex:0 0 auto;min-height:42px;padding:.5rem .95rem}
  .product{flex-basis:80vw}
  .p-name{font-size:1.4rem}
  .p-main{padding:.9rem 1rem .3rem}
  .p-footer .p-price{padding:.1rem 1rem .9rem}
}

/* ============ LANES ============ */
.lanes{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line);
}
.lane{padding:1.8rem 1.6rem 2.2rem;border-right:1px solid var(--line)}
.lane:last-child{border-right:0}
.lane h3{font-family:var(--font-display);font-weight:700;font-size:1.6rem;line-height:1.1;margin-bottom:.5rem}
.lane p{font-size:.94rem;color:#4A3E33;max-width:38ch}
.lane a{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);text-underline-offset:4px;display:inline-block;margin-top:.9rem;padding:.4rem 0}
@media (max-width:820px){
  .lanes{grid-template-columns:1fr}
  .lane{border-right:0;border-bottom:1px solid var(--line)}
  .lane:last-child{border-bottom:0}
}

/* ============ WHOLESALE ============ */
.wholesale{background:var(--ink);color:var(--paper)}
.wholesale .section-head h2{color:var(--paper)}
.wholesale .section-head .mono{color:#B7A99A}
.ws-grid{
  display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);
  gap:clamp(1.5rem,4vw,4rem);padding-bottom:3rem;
}
.ws-copy p{color:#D8CFC2;max-width:52ch;margin-bottom:1rem}
.ws-copy ul{list-style:none;margin:1.4rem 0}
.ws-copy li{
  font-size:1.02rem;
  padding:.7rem 0;border-bottom:1px solid rgba(244,240,230,.18);
  display:flex;gap:.7rem;align-items:baseline;
}
.ws-copy li::before{content:"—";color:var(--accent);flex:none}
.ws-figure img{width:100%;aspect-ratio:3/4;object-fit:cover;filter:sepia(.2) contrast(1.02)}
.ws-form{background:var(--paper);color:var(--ink);padding:clamp(1.2rem,3vw,2rem);border-radius:2px}
.ws-form h3{font-family:var(--font-display);font-weight:700;font-size:1.7rem;line-height:1.1;margin-bottom:1.2rem}
.field{margin-bottom:1rem}
.field label{
  display:block;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  margin-bottom:.4rem;color:var(--brown);
}
.field label b{color:var(--accent-ink);font-weight:500}
.field input,.field select,.field textarea{
  width:100%;min-height:48px;padding:.7rem .9rem;
  border:1px solid var(--ink);border-radius:2px;background:#fff;
  font-family:var(--font-body);font-size:1rem;color:var(--ink);
}
.field textarea{min-height:96px;resize:vertical}
.field .err{display:none;font-size:.8rem;color:#A50E0E;margin-top:.35rem}
.field.invalid input,.field.invalid select{border-color:#A50E0E}
.field.invalid .err{display:block}
.form-ok{
  display:none;border:1px solid var(--ink);border-radius:2px;padding:1.2rem;
  background:var(--paper-deep);
}
.form-ok.show{display:block}
.form-ok b{display:block;font-family:var(--font-display);font-weight:700;font-size:1.3rem;margin-bottom:.3rem}
@media (max-width:900px){.ws-grid{grid-template-columns:1fr}}

/* ============ VISIT ============ */
.visit-board{
  display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);
  gap:clamp(1.4rem,3.5vw,3rem);padding-bottom:3rem;align-items:start;
}
.visit-photo{margin:0}
.visit-photo img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 38%;display:block}
.visit-grid{
  display:grid;grid-template-columns:1fr;
  gap:1.4rem;padding-bottom:0;
}
.visit-block{border-top:1px solid var(--line)}
.visit-row{
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding:1rem 0;border-bottom:1px solid var(--line);
}
.visit-row .k{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brown);padding-top:.2rem}
.visit-row .v{font-size:1.02rem;text-align:right}
.visit-row .v a{text-decoration-thickness:1px;text-underline-offset:4px}
.visit-row .v a:hover{color:var(--accent-ink)}
.review-card{border:1px solid var(--line);border-radius:2px;padding:1.6rem;align-self:start}
.review-score{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.9rem}
.review-score b{font-family:var(--font-display);font-size:2.8rem;font-weight:600;line-height:1;font-feature-settings:'lnum' 1}
.review-score span{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brown)}
.review-card blockquote{font-family:var(--font-display);font-style:italic;font-size:1.5rem;font-weight:500;line-height:1.4}
.review-card cite{display:block;font-style:normal;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brown);margin-top:.7rem}
@media (max-width:900px){
  .visit-board{grid-template-columns:1fr}
  .visit-photo img{aspect-ratio:4/5;max-height:70vh}
  .visit-row .v{text-align:left}
}

/* ============ FOOTER ============ */
footer{background:var(--ink);color:var(--paper)}

/* Ζώνη 1 — wordmark σε δική του γραμμή, με hairline διαχωριστικό */
.foot-top{
  padding:clamp(2.6rem,5vw,3.6rem) 0 clamp(1.4rem,3vw,2rem);
  border-bottom:1px solid rgba(244,240,230,.16);
}
.foot-wordmark{
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(2.1rem,5vw,3.2rem);line-height:1;color:var(--paper);
}
.foot-tagline{
  margin-top:.55rem;font-family:var(--font-mono);
  font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#8F8171;
}

/* Ζώνη 2 — κάρτα καταστήματος + 3 στήλες συνδέσμων */
.foot-grid{
  display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,3fr));
  gap:clamp(1.6rem,4vw,3rem);padding:clamp(2rem,4vw,2.8rem) 0;
}
footer h4{
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:#8F8171;margin-bottom:.9rem;
}
footer ul{list-style:none}
footer li{margin-bottom:.55rem}
footer a{color:#D8CFC2;text-decoration:none}
footer li a{font-size:.92rem}
footer a:hover{color:var(--paper);text-decoration:underline;text-underline-offset:4px}

.foot-store .fs-addr{margin-bottom:1.1rem;font-size:.92rem;line-height:1.5}
.foot-store .fs-addr a{color:#D8CFC2}
.fs-hours{
  border-top:1px solid rgba(244,240,230,.14);padding-top:.85rem;
  display:grid;gap:.4rem;max-width:22rem;
}
.fs-hours > div{display:flex;justify-content:space-between;gap:1rem}
.fs-hours dt{
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;
  text-transform:uppercase;color:#8F8171;
}
.fs-hours dd{font-size:.88rem;color:#D8CFC2;font-variant-numeric:tabular-nums}
.fs-hours .is-closed dd{color:#8F8171}

.foot-social{
  margin-top:1rem;padding-top:.9rem;
  border-top:1px solid rgba(244,240,230,.14);
}
.foot-social a{font-size:.92rem}
.foot-social a::after{content:" \2197";color:var(--accent)}

/* Ζώνη 3 — trust badge από τις πραγματικές Google κριτικές */
.foot-trust{padding-bottom:clamp(1.4rem,3vw,2rem)}
.foot-trust a{
  display:inline-flex;align-items:baseline;gap:.6rem;
  font-size:.9rem;color:#D8CFC2;
}
.foot-trust .ft-stars{color:var(--accent);letter-spacing:.1em;font-size:.85rem}
.foot-trust .ft-score{font-family:var(--font-display);font-size:1.15rem;color:var(--paper)}

.foot-bottom{
  border-top:1px solid rgba(244,240,230,.18);
  padding:1.2rem 0;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
}
.foot-bottom span{
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;
  text-transform:uppercase;color:#8F8171;
}
.foot-bottom a{color:#D8CFC2}

@media (max-width:960px){
  .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .foot-store{grid-column:1 / -1}
  .fs-hours{max-width:26rem}
}
@media (max-width:600px){
  .foot-grid{grid-template-columns:1fr}
  .foot-store{grid-column:auto}
}

/* ============ CART DRAWER ============ */
.cart-overlay{
  position:fixed;inset:0;background:rgba(23,19,16,.55);z-index:190;
  opacity:0;pointer-events:none;transition:opacity .25s var(--ease);
}
.cart-overlay.show{opacity:1;pointer-events:auto}
.cart-drawer{
  position:fixed;top:0;right:0;bottom:0;z-index:200;
  width:min(430px,100%);background:var(--paper);
  border-left:1px solid var(--line);
  transform:translateX(102%);transition:transform .3s var(--ease);
  display:flex;flex-direction:column;
}
.cart-drawer.open{transform:none}
.cart-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.1rem var(--gutter) 1.1rem 1.4rem;border-bottom:1px solid var(--line);
}
.cart-head h2{font-family:var(--font-display);font-weight:700;font-size:1.5rem}
.cart-close{background:none;border:1px solid var(--ink);border-radius:2px;min-width:44px;min-height:44px}
.cart-body{flex:1;overflow-y:auto;padding:1rem 1.4rem}
.cart-empty{padding:2rem 0;color:var(--brown);font-size:.95rem}
.cart-item{
  display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:.9rem;
  padding:.9rem 0;border-bottom:1px solid rgba(23,19,16,.15);align-items:center;
}
.cart-item img{width:56px;height:70px;object-fit:cover;background:var(--paper-deep)}
.ci-name{font-family:var(--font-display);font-weight:700;font-size:1.15rem;line-height:1.15}
.ci-price{font-family:var(--font-mono);font-size:.78rem;color:var(--brown);margin-top:.2rem;font-variant-numeric:tabular-nums}
.ci-qty{display:flex;align-items:center;gap:.15rem;margin-top:.5rem}
.qty-btn{background:none;border:1px solid var(--ink);border-radius:2px;min-width:34px;min-height:34px;font-family:var(--font-mono)}
.qty-btn:hover{background:var(--ink);color:var(--paper)}
.ci-qty output{font-family:var(--font-mono);font-size:.85rem;min-width:2.2em;text-align:center;font-variant-numeric:tabular-nums}
.ci-line{font-family:var(--font-mono);font-size:.9rem;font-weight:500;font-variant-numeric:tabular-nums;text-align:right}
.ci-remove{background:none;border:none;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brown);text-decoration:underline;text-underline-offset:3px;padding:.5rem 0 0;display:block;margin-left:auto}
.ci-remove:hover{color:#A50E0E}
.cart-foot{border-top:1px solid var(--line);padding:1.2rem 1.4rem}
.cart-total{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.95rem;font-weight:500;margin-bottom:.9rem;font-variant-numeric:tabular-nums}
.cart-note{font-size:.78rem;color:var(--brown);margin-top:.7rem;line-height:1.5}
.checkout-ok{border:1px solid var(--ink);background:var(--paper-deep);border-radius:2px;padding:1rem;margin-top:.9rem;display:none}
.checkout-ok.show{display:block}
.checkout-ok b{font-family:var(--font-display);font-weight:700;font-size:1.2rem;display:block;margin-bottom:.25rem}
.checkout-ok p{font-size:.85rem;color:#4A3E33}

/* ============ ORIGINS ============ */
.origins{background:var(--ink);color:var(--paper);padding:2.8rem 0 3rem;border-bottom:1px solid var(--line)}
.origins-head{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter);margin-bottom:1.6rem}
.origins-head h2{
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(1.9rem,3.6vw,3rem);line-height:1.02;letter-spacing:-.01em;color:var(--paper);
  max-width:20ch;
}
.origins-marquee{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}
.origins-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem 1.5rem}
.origins-track .origin{
  display:inline-flex;align-items:center;gap:.7rem;
  font-family:var(--font-display);font-style:italic;font-weight:500;
  font-size:clamp(1.15rem,2vw,1.6rem);color:var(--paper);
}
.origins-track .origin img{
  width:32px;height:22px;object-fit:cover;border-radius:2px;
  border:1px solid rgba(244,240,230,.3);filter:saturate(.95);flex:none;
}
@media (max-width:820px){.origins-track{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* toast/sr */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ============ PRODUCT PAGE (PDP) ============ */
.breadcrumb{padding:1.3rem 0 .2rem;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--brown)}
.breadcrumb a{text-decoration:none}
.breadcrumb a:hover{color:var(--accent-ink);text-decoration:underline;text-underline-offset:3px}
.breadcrumb .sep{margin:0 .5rem;opacity:.5}

.product-page{
  display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);
  gap:clamp(1.5rem,4vw,3.5rem);padding:1.4rem 0 3.4rem;align-items:start;
}
@media (max-width:900px){.product-page{grid-template-columns:1fr;gap:1.6rem}}

.pdp-gallery{position:sticky;top:84px}
@media (max-width:900px){.pdp-gallery{position:static}}
.pdp-main{position:relative;aspect-ratio:4/5;border:1px solid var(--line);border-radius:3px;overflow:hidden;background:var(--ink)}
.pdp-main::before{content:"";position:absolute;left:0;top:0;right:0;height:5px;z-index:2;background:var(--tile,var(--accent))}
.pdp-main img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;display:block;filter:sepia(.12) contrast(1.02) saturate(.94)}
.pdp-badge{position:absolute;left:1rem;top:1.4rem;z-index:2;background:var(--accent);color:#fff;border-radius:2px;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:.32em .6em;box-shadow:0 2px 6px rgba(23,19,16,.28)}

.pdp-eyebrow{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink)}
.pdp-title{font-family:var(--font-display);font-weight:600;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.02;letter-spacing:-.01em;margin:.45rem 0 .35rem}
.pdp-origin{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--brown)}
.pdp-price{font-family:var(--font-mono);font-size:1.6rem;font-weight:500;margin:1.1rem 0 .1rem;font-variant-numeric:tabular-nums}
.pdp-price small{font-size:.78rem;color:var(--brown);font-weight:400;letter-spacing:.04em}
.pdp-lede{font-size:1.05rem;color:#3a322b;margin:1rem 0 1.5rem;max-width:52ch;line-height:1.6}

.variant-group{margin-bottom:1.3rem}
.vg-label{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brown);margin-bottom:.55rem}
.vg-label b{color:var(--ink);font-weight:500}
.opts{display:flex;flex-wrap:wrap;gap:.5rem}
.opt{background:transparent;border:1px solid var(--ink);border-radius:2px;min-height:44px;padding:.5rem 1rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.05em;text-transform:uppercase;transition:background .15s var(--ease),color .15s var(--ease)}
.opt[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.opt:hover{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff}

.pdp-buy{display:flex;gap:.75rem;align-items:stretch;margin:1.7rem 0 .9rem;flex-wrap:wrap}
.qty-stepper{display:flex;align-items:center;border:1px solid var(--ink);border-radius:2px}
.qty-stepper button{width:48px;height:52px;background:transparent;font-family:var(--font-mono);font-size:1.1rem}
.qty-stepper button:hover{background:var(--ink);color:var(--paper)}
.qty-stepper output{min-width:2.4em;text-align:center;font-family:var(--font-mono);font-variant-numeric:tabular-nums}
.pdp-add{flex:1;min-width:200px;min-height:52px;background:var(--accent-ink);border:1px solid var(--accent-ink);color:#fff;border-radius:2px;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;transition:background .18s var(--ease),transform .12s var(--ease)}
.pdp-add:hover{background:var(--ink);border-color:var(--ink)}
.pdp-add:active{transform:scale(.98)}
.pdp-add.added{background:var(--ink);border-color:var(--ink)}

.pdp-note{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.05em;color:var(--brown);text-transform:uppercase;margin-bottom:1.6rem;line-height:1.5}

.pdp-trust{list-style:none;border-top:1px solid var(--line)}
.pdp-trust li{display:flex;gap:.7rem;align-items:flex-start;padding:.85rem 0;border-bottom:1px solid rgba(23,19,16,.12);font-size:.92rem;color:#3a322b}
.pdp-trust svg{flex:none;width:20px;height:20px;stroke:var(--accent-ink);fill:none;stroke-width:1.6;margin-top:.15rem}

.pdp-specs{border-top:1px solid var(--line)}
.pdp-specs .wrap{padding-block:2.6rem 3rem}
.pdp-specs h2{font-family:var(--font-display);font-weight:600;font-size:clamp(1.8rem,3.4vw,2.6rem);margin-bottom:1.4rem}
.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(1.5rem,4vw,3.5rem);border-top:1px solid var(--line)}
@media (max-width:640px){.spec-grid{grid-template-columns:1fr}}
.spec-row{display:flex;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.spec-row .k{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brown)}
.spec-row .v{text-align:right;font-size:.98rem}
.spec-full{padding:1.5rem 0 0;max-width:66ch;color:#3a322b;line-height:1.7}

.related{border-top:1px solid var(--line)}
.related .wrap{padding-block:2.6rem 3.2rem}
.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem}
@media (max-width:820px){.related-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.related-grid{grid-template-columns:1fr}}
.related-grid .product{flex-basis:auto;scroll-snap-align:none}

/* product card links */
a.p-thumb{display:block;text-decoration:none}
.p-name a{color:inherit;text-decoration:none}
.p-name a:hover{color:var(--accent-ink)}

/* ============ UI FONT — buttons & numbers (override mono) ============ */
.btn,.cart-btn,.menu-btn,.filter-btn,.add-btn,.opt,.pdp-add,
.qty-stepper button,.qty-btn,.cart-close,.ci-remove,.arrow-btn{
  font-family:var(--font-body);font-weight:700;
}
.p-price,.pdp-price,.cart-total,.ci-price,.ci-line,.cart-count,
.qty-stepper output,.ci-qty output,.p-price small,.pdp-price small{
  font-family:var(--font-body);font-weight:500;
}
.pdp-add,.btn{font-weight:700;letter-spacing:.06em}

/* ============ PRICE & NAME EMPHASIS + TAGS ============ */
/* prices in elegant serif, larger */
.p-price,.pdp-price{font-family:var(--font-display);font-weight:700;letter-spacing:0}
.pdp-price{font-size:2.2rem;margin:1.1rem 0 .1rem}
.p-price{font-size:1.4rem}
.p-price small,.pdp-price small{font-family:var(--font-body);font-weight:500;font-size:.72rem;color:var(--brown);letter-spacing:.02em}
/* bolder names */
.pdp-title{font-weight:700}
.p-name,.p-name a{font-weight:700}
/* few, well-chosen tags */
.pdp-tags{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0 0}
.pdp-tags .tag{
  border:1px solid var(--line);border-radius:2px;padding:.36em .72em;
  font-family:var(--font-mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brown);
}
.pdp-tags .tag.is-key{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* ============ REVIEWS (Google, vintage editorial) ============ */
.reviews{border-bottom:1px solid var(--line)}
.reviews .wrap{padding-block:2.8rem 3.6rem}
.reviews-top{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem 2rem;
  border-bottom:1px solid var(--line);padding-bottom:2rem;margin-bottom:2rem;
}
.reviews-score .rs-num{font-family:var(--font-display);font-weight:700;font-size:clamp(3.2rem,6vw,5rem);line-height:.9;letter-spacing:-.01em}
.reviews-score .rs-num span{font-size:.36em;color:var(--brown);font-weight:600}
.rs-stars{color:var(--accent);letter-spacing:.18em;font-size:1.2rem;margin:.35rem 0 .4rem}
.rs-sub{font-size:.92rem;color:var(--brown)}
.rs-cta{display:flex;gap:.6rem;margin-top:1.1rem;flex-wrap:wrap}
.review-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}
.review-q{
  border:1px solid var(--line);border-radius:3px;padding:1.5rem 1.5rem 1.3rem;
  background:var(--paper-deep);display:flex;flex-direction:column;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
}
.review-q:hover{transform:translateY(-4px);box-shadow:0 10px 22px rgba(23,19,16,.12)}
.rq-stars{color:var(--accent);letter-spacing:.14em;font-size:.9rem;margin-bottom:.8rem}
.review-q blockquote{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:1.22rem;line-height:1.42;color:var(--ink);flex:1}
.review-q cite{font-style:normal;font-size:.9rem;color:var(--brown-soft);margin-top:1.1rem;padding-top:.9rem;border-top:1px solid rgba(23,19,16,.14)}
@media (max-width:900px){.review-grid{grid-template-columns:1fr}.reviews-top{align-items:flex-start}}

/* visit — find/directions card (replaces old review card) */
.find-card{border:1px solid var(--line);border-radius:2px;padding:1.6rem;align-self:start;background:var(--ink);color:var(--paper)}
.find-card .fc-title{font-family:var(--font-display);font-weight:600;font-size:1.7rem;line-height:1.1;margin:.5rem 0 .3rem;color:var(--paper)}
.find-card p.fc-addr{color:#D8CFC2;font-size:.98rem;margin-bottom:1.2rem}
.find-card .fc-cta{display:flex;gap:.6rem;flex-wrap:wrap}
.find-card .btn-ghost{color:var(--paper);border-color:var(--paper)}
.find-card .btn-ghost:hover{background:var(--paper);color:var(--ink)}

/* ============ SUBPAGE HERO ============ */
.page-hero{border-bottom:1px solid var(--line)}
.page-hero .wrap{padding-block:clamp(2.4rem,6vw,4.6rem) clamp(1.8rem,5vw,3.4rem)}
.ph-eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink)}
.ph-title{font-family:var(--font-display);font-weight:700;font-size:clamp(3rem,8vw,6rem);line-height:.98;letter-spacing:-.015em;margin:.6rem 0 .25rem}
.ph-sub{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:clamp(1.3rem,3vw,2rem);color:var(--brown)}

.istoria-lead{margin:0;border-bottom:1px solid var(--line)}
.istoria-lead img{width:100%;height:clamp(300px,44vw,620px);object-fit:cover;object-position:center 55%;display:block}
.istoria-inline{margin:2rem 0 2.4rem}
.istoria-inline img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 38%;display:block}

/* ============ STORY ARTICLE ============ */
.story-article .wrap{padding-block:clamp(2.4rem,5vw,3.6rem)}
.article-body{max-width:64ch;margin:0 auto}
.article-body p{font-size:1.1rem;line-height:1.75;color:#2E2620;margin-bottom:1.3rem}
.article-body .lede{font-family:var(--font-display);font-size:clamp(1.35rem,2.6vw,1.7rem);line-height:1.4;font-weight:500;color:var(--ink);margin-bottom:1.6rem}
.article-body .story-quote{max-width:none;margin:2.2rem 0}
.article-body .story-quote.big{font-size:clamp(1.9rem,4.4vw,2.8rem);text-align:center;border:0;padding:0;color:var(--ink)}
.article-body .story-quote.big cite{display:block;font-style:normal;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brown);margin-top:.9rem}

/* ============ COFFEE HISTORY BAND ============ */
.coffee-history{background:var(--ink);color:var(--paper);border-bottom:1px solid var(--line)}
.coffee-history .wrap{padding-block:clamp(2.6rem,5vw,3.8rem)}
.coffee-history .ch-in{max-width:72ch}
.ch-eyebrow{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent)}
.coffee-history h2{font-family:var(--font-display);font-weight:600;font-size:clamp(1.8rem,3.6vw,2.8rem);color:var(--paper);margin:.5rem 0 1.1rem;line-height:1.05}
.coffee-history p{color:#D8CFC2;font-size:1.08rem;line-height:1.7;margin-bottom:1rem}
.ch-source{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.03em;color:#8F8171;margin-top:.4rem}

/* ============ PAGE CTA ============ */
.page-cta .wrap{padding-block:clamp(2.2rem,5vw,3.2rem);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem}
.page-cta h2{font-family:var(--font-display);font-weight:600;font-size:clamp(1.6rem,3vw,2.4rem);max-width:20ch}

/* ============ GENERIC PAGE / COMMERCE SHELL ============ */
.page-wrap{padding-block:2.6rem 3.4rem}
.page-title{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(2.4rem,6vw,4rem);line-height:1;
  margin-bottom:1.6rem;
}
.entry-content{max-width:66ch;line-height:1.7;color:#3a322b}
.commerce-page-wrap{padding-block:clamp(2rem,4vw,3.4rem) clamp(3.2rem,6vw,5rem)}
.commerce-entry-content{max-width:none;color:var(--ink)}

/* ============ WORDPRESS NAV MENU OVERRIDES ============ */
.main-nav ul{display:flex;gap:2rem;list-style:none;margin:0;padding:0}
.main-nav li{list-style:none}
.main-nav .current-menu-item > a{color:var(--accent-ink)}
@media (max-width:820px){
  .main-nav ul{flex-direction:column;gap:0}
}

/* ============ WOOCOMMERCE OVERRIDES ============ */
/* notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, ul.woocommerce-error {
  list-style: none; border: 1px solid var(--line); border-left: 3px solid var(--accent-ink);
  background: var(--paper-deep); padding: 1rem 1.2rem; margin: 0 0 1.4rem; border-radius: 2px; font-size: .95rem;
}
.woocommerce-error { border-left-color: #A50E0E; }
.woocommerce-message a, .woocommerce-info a { color: var(--accent-ink); font-weight: 600; }

/* single product add-to-cart */
.product-page form.cart { display: flex; gap: .75rem; align-items: stretch; flex-wrap: wrap; margin: 1.7rem 0 .9rem; }
.product-page form.cart .quantity { display: flex; }
.product-page form.cart input.qty {
  width: 74px; min-height: 52px; text-align: center; border: 1px solid var(--ink);
  border-radius: 2px; background: #fff; font-family: var(--font-body); font-weight: 500; font-size: 1rem;
}
.single_add_to_cart_button {
  flex: 1; min-width: 200px; min-height: 52px; padding: .6rem 1.4rem;
  background: var(--accent-ink); border: 1px solid var(--accent-ink); color: #fff; border-radius: 2px;
  font-family: var(--font-body); font-weight: 700; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase;
  cursor: pointer; transition: background .18s var(--ease);
}
.single_add_to_cart_button:hover { background: var(--ink); border-color: var(--ink); }

/* variation selectors (variable products) — clean stacked layout */
table.variations, table.variations tbody, table.variations tr, table.variations th, table.variations td { display: block; width: 100%; }
table.variations { border: 0; margin: 1.5rem 0 .4rem; }
table.variations tr { margin-bottom: 1.2rem; }
table.variations th { text-align: left; font-family: var(--font-mono); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--brown); padding: 0 0 .55rem; }
table.variations td { padding: 0; }
table.variations select {
  width: 100%; min-height: 56px; padding: .8rem 3rem .8rem 1.1rem;
  border: 1px solid var(--line); border-radius: 2px; background-color: #fff; color: var(--ink);
  font-family: var(--font-body); font-size: 1.05rem; cursor: pointer;
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23171310' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 1.1rem center; background-size: 15px;
}
table.variations select:focus-visible { outline: none; border-color: var(--accent-ink); box-shadow: 0 0 0 3px rgba(227,15,123,.16); }
.woocommerce-variation-price { font-family: var(--font-display); font-weight: 700; font-size: 1.7rem; margin: 1.1rem 0 .2rem; }
.reset_variations { display: inline-block; margin-top: .6rem; font-family: var(--font-mono); font-size: .64rem; text-transform: uppercase; letter-spacing: .08em; color: var(--brown); text-decoration: underline; text-underline-offset: 3px; }
.woocommerce-variation.single_variation { margin-bottom: .4rem; }

/* PDP polish (v0.11) — option buttons, one live price, qty stepper, sticky mobile bar */
.variations_form.is-enhanced table.variations select.is-enhanced { display: none; }
.variations_form.is-enhanced table.variations th label { pointer-events: none; }
.variations_form.is-enhanced .woocommerce-variation-price { display: none; }
.variations_form .opts { display: grid; grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr)); gap: .55rem; }
.variations_form .opts.opts--priced { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.product-page form.variations_form { display: block; }
.woocommerce-variation-add-to-cart { display: flex; gap: .75rem; align-items: stretch; }
@media (max-width: 520px) { .variations_form .opts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.variations_form .opt {
  display: inline-flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: .1rem;
  min-width: 0; min-height: 54px; padding: .55rem 1rem; background: #fff; border: 1px solid rgba(23,19,16,.28);
  border-radius: 4px; font-family: var(--font-body); font-size: 1rem; letter-spacing: 0; text-transform: none; text-align: left;
  transition: border-color .15s var(--ease), box-shadow .15s var(--ease), background .15s var(--ease);
}
.variations_form .opt small { font-family: var(--font-display); font-weight: 700; font-size: .98rem; font-variant-numeric: tabular-nums; }
.variations_form .opt:hover { background: #fff; color: var(--ink); border-color: var(--ink); }
.variations_form .opt[aria-pressed="true"] { background: #fff; color: var(--ink); border-color: var(--accent-ink); box-shadow: inset 0 0 0 1px var(--accent-ink); }
.variations_form .opt:disabled { opacity: .4; cursor: not-allowed; text-decoration: line-through; }
.variations_form .opt:focus-visible { outline: 2px solid var(--accent-ink); outline-offset: 2px; }
.variations_form .reset_variations { margin-top: .2rem; }
.pdp-price .price-from { font-family: var(--font-body); font-size: .55em; font-weight: 500; color: var(--brown); margin-right: .15em; }
.p-price .price-from { font-family: var(--font-body); font-size: .7em; font-weight: 500; color: var(--brown); }
.product-page form.cart .qty-stepper { border: 1px solid var(--ink); border-radius: 2px; background: #fff; }
.product-page form.cart .qty-stepper button { width: 44px; height: 52px; border: 0; background: transparent; font-family: var(--font-body); font-size: 1.25rem; }
.product-page form.cart .qty-stepper button:hover { background: var(--paper-deep); color: var(--ink); }
.product-page form.cart .qty-stepper input.qty { width: 44px; border: 0; background: transparent; -moz-appearance: textfield; }
.product-page form.cart .qty-stepper input.qty::-webkit-inner-spin-button,
.product-page form.cart .qty-stepper input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.single_add_to_cart_button.loading { opacity: .75; cursor: progress; }
.pdp-note { font-family: var(--font-body); font-size: .88rem; letter-spacing: 0; text-transform: none; }
.product-page .stock.out-of-stock { font-family: var(--font-display); font-size: 1.3rem; font-weight: 600; color: var(--brown); margin: 1.2rem 0; }
.p-soon { font-family: var(--font-body); font-size: .9rem; font-weight: 500; color: var(--brown); }
.buy-bar { display: none; }
@media (max-width: 900px) {
  .buy-bar {
    display: flex; align-items: center; gap: .9rem; position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
    padding: .7rem var(--gutter) calc(.7rem + env(safe-area-inset-bottom)); background: var(--paper);
    border-top: 1px solid var(--line); box-shadow: 0 -10px 30px rgba(23,19,16,.08);
    transform: translateY(110%); transition: transform .25s var(--ease);
  }
  .buy-bar.show { transform: none; }
  .buy-bar-info { flex: 1; min-width: 0; display: flex; flex-direction: column; line-height: 1.2; }
  .buy-bar-info strong { font-family: var(--font-display); font-size: 1.05rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .buy-bar-price { font-family: var(--font-display); font-weight: 700; font-variant-numeric: tabular-nums; }
  .buy-bar-price .price-from { font-family: var(--font-body); font-size: .8em; font-weight: 500; color: var(--brown); }
  .buy-bar-btn {
    min-height: 48px; padding: 0 1.3rem; border: 1px solid var(--accent-ink); border-radius: 2px; background: var(--accent-ink);
    color: #fff; font-family: var(--font-body); font-weight: 700; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase;
  }
}

/* specs inline + related */
.pdp-specs-inline { border-top: 1px solid var(--line); margin-top: 2.4rem; padding-top: 2.4rem; }
.pdp-specs-inline h2 { font-family: var(--font-display); font-weight: 600; font-size: clamp(1.7rem, 3vw, 2.3rem); margin-bottom: 1rem; }
.pdp-longdesc { max-width: 66ch; color: #3a322b; line-height: 1.7; }
.pdp-longdesc ul { list-style: none; border-top: 1px solid var(--line); margin-top: 1rem; }
.pdp-longdesc li { padding: .7rem 0; border-bottom: 1px solid rgba(23,19,16,.12); font-size: .98rem; }
.related-inline { border-top: 1px solid var(--line); margin-top: 2.6rem; padding-top: 1.4rem; }

/* shop hero + filters */
.shop-hero { text-align: center; padding: clamp(2.2rem,5vw,4rem) 0 clamp(1.4rem,3vw,2rem); }
.shop-hero .eyebrow { font-family: var(--font-mono); font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--accent-ink); }
.shop-hero h1 { font-family: var(--font-display); font-weight: 600; font-size: clamp(2.6rem,6.5vw,5rem); line-height: 1; letter-spacing: -.02em; margin: .7rem auto .6rem; max-width: 18ch; }
.shop-hero h1 em { font-style: italic; font-weight: 500; color: var(--brown); }
.shop-hero p { max-width: 58ch; margin: 0 auto; color: var(--brown); font-size: 1.1rem; line-height: 1.6; }
.shop-filters { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; padding: 0 0 clamp(1.8rem,4vw,2.6rem); }
.shop-filters .filter-btn {
  background: transparent; border: 1px solid var(--line); border-radius: 100px;
  min-height: 44px; padding: .55rem 1.3rem;
  font-family: var(--font-body); font-weight: 700; font-size: .74rem; letter-spacing: .1em; text-transform: uppercase;
  transition: background .15s var(--ease), color .15s var(--ease), border-color .15s var(--ease);
}
.shop-filters .filter-btn[aria-pressed="true"] { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.shop-filters .filter-btn:hover { border-color: var(--accent-ink); color: var(--accent-ink); }
.shop-filters .filter-btn[aria-pressed="true"]:hover { color: var(--paper); background: var(--accent-ink); border-color: var(--accent-ink); }

/* shop archive grid */
.shop-grid { list-style: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 1.1rem; margin: 1.2rem 0 2rem; padding: 0; }
.shop-grid .product.hidden { display: none; }
.shop-grid .product { flex: 0 1 auto; scroll-snap-align: none; }
.shop-pagination { padding: .5rem 0 2rem; }
.shop-pagination ul { list-style: none; display: flex; gap: .4rem; flex-wrap: wrap; padding: 0; }
.shop-pagination a, .shop-pagination span {
  display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center;
  border: 1px solid var(--ink); border-radius: 2px; font-family: var(--font-mono); font-size: .8rem; text-decoration: none;
}
.shop-pagination .current { background: var(--ink); color: var(--paper); }

/* cart + checkout */
.woocommerce table.shop_table { width: 100%; border-collapse: collapse; border: 1px solid var(--line); margin-bottom: 1.5rem; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { padding: .9rem 1rem; border-bottom: 1px solid rgba(23,19,16,.14); text-align: left; }
.woocommerce table.shop_table th { font-family: var(--font-mono); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: var(--brown); }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-checkout .woocommerce-checkout-review-order { border: 1px solid var(--line); border-radius: 2px; padding: 1.2rem; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  background: var(--ink); border: 1px solid var(--ink); color: var(--paper); border-radius: 2px; min-height: 48px; padding: .7rem 1.4rem;
  font-family: var(--font-body); font-weight: 700; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; transition: background .18s var(--ease);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--accent-ink); border-color: var(--accent-ink); }
.woocommerce .button.alt, .woocommerce #place_order { background: var(--accent-ink); border-color: var(--accent-ink); }
.woocommerce .button.alt:hover, .woocommerce #place_order:hover { background: var(--ink); border-color: var(--ink); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container .select2-selection {
  min-height: 48px; padding: .6rem .8rem; border: 1px solid var(--ink); border-radius: 2px; background: #fff; font-family: var(--font-body); font-size: 1rem;
}
.woocommerce form .form-row label { font-family: var(--font-mono); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: var(--brown); margin-bottom: .35rem; display: block; }
.woocommerce-checkout #payment { background: var(--paper-deep); border: 1px solid var(--line); border-radius: 2px; }
.woocommerce-checkout #payment ul.payment_methods { border-bottom: 1px solid var(--line); list-style: none; }
.woocommerce .quantity input.qty { width: 64px; min-height: 44px; text-align: center; border: 1px solid var(--ink); border-radius: 2px; background: #fff; font-family: var(--font-body); }

/* single product page layout tweaks for WooCommerce context */
@media (max-width: 900px) { .product-page { grid-template-columns: 1fr; } }

/* ============ CART DRAWER (mini-cart, slide-in) ============ */
.cd-overlay { position: fixed; inset: 0; background: rgba(23,19,16,.5); z-index: 190; opacity: 0; pointer-events: none; transition: opacity .25s var(--ease); }
.cd-overlay.show { opacity: 1; pointer-events: auto; }
.cd-overlay[hidden] { display: none; }
.cd-drawer {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 200;
  width: min(440px, 100%); background: var(--paper); border-left: 1px solid var(--line);
  display: flex; flex-direction: column; box-shadow: -18px 0 40px rgba(23,19,16,.22);
  transform: translateX(102%); transition: transform .3s var(--ease);
}
.cd-drawer.open { transform: none; }
.cd-drawer[hidden] { display: none; }
.cd-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.8rem 1.4rem 1.3rem; border-bottom: 1px solid var(--line); }
.cd-head-copy { display: flex; flex-direction: column; gap: .3rem; }
.cd-head h2 { font-family: var(--font-display); font-weight: 700; font-size: 1.5rem; line-height: 1.05; }
.cd-head .cd-sub { font-family: var(--font-mono); font-size: .64rem; letter-spacing: .06em; text-transform: uppercase; color: var(--brown); }
.cd-close { flex: none; background: none; border: 1px solid var(--line); border-radius: 50%; width: 38px; height: 38px; font-size: 1.1rem; line-height: 1; }
.cd-close:hover { background: var(--ink); color: var(--paper); }
.cd-body { flex: 1; overflow-y: auto; padding: .6rem 1.4rem 1.4rem; }

.cd-body .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.cd-body .woocommerce-mini-cart-item { position: relative; padding: 1.2rem 34px 1.2rem 0; border-bottom: 1px solid rgba(23,19,16,.14); }
.cd-body .woocommerce-mini-cart-item a:not(.remove) { display: flex; gap: 1rem; align-items: flex-start; text-decoration: none; color: var(--ink); font-family: var(--font-display); font-weight: 700; font-size: 1.12rem; line-height: 1.2; }
.cd-body .woocommerce-mini-cart-item a:not(.remove):hover { color: var(--accent-ink); }
.cd-body .woocommerce-mini-cart-item img { flex: 0 0 60px; width: 60px; height: 72px; object-fit: cover; border: 1px solid var(--line); border-radius: 4px; background: var(--paper-deep); margin: 0; }
.cd-body .woocommerce-mini-cart-item .quantity { display: block; margin-top: .55rem; padding-left: 76px; font-family: var(--font-body); font-weight: 500; font-size: .95rem; color: var(--ink); font-variant-numeric: tabular-nums; }
.cd-body .woocommerce-mini-cart-item .variation { margin: .4rem 0 0; padding-left: 76px; }
.cd-body .woocommerce-mini-cart-item .variation, .cd-body .woocommerce-mini-cart-item .variation * { font-family: var(--font-mono); font-size: .62rem; letter-spacing: .04em; text-transform: uppercase; color: var(--brown); margin: 0; line-height: 1.5; }
.cd-body .woocommerce-mini-cart-item .variation dt, .cd-body .woocommerce-mini-cart-item .variation dd { display: inline; }
.cd-body .woocommerce-mini-cart-item .variation dd { margin-right: .5rem; }
.cd-body .woocommerce-mini-cart-item a.remove { position: absolute; top: 1.2rem; right: 0; width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); border-radius: 50%; color: var(--brown) !important; font-size: 14px; line-height: 1; text-decoration: none; }
.cd-body .woocommerce-mini-cart-item a.remove:hover { background: #A50E0E !important; color: #fff !important; border-color: #A50E0E; }
.cd-body .woocommerce-mini-cart__empty-message { padding: 2rem 0; color: var(--brown); font-size: .98rem; }
.cd-body .woocommerce-mini-cart__total { display: flex; justify-content: space-between; align-items: baseline; border-top: 1px solid var(--line); margin-top: .4rem; padding: 1.1rem 0 .2rem; }
.cd-body .woocommerce-mini-cart__total strong { font-family: var(--font-display); font-weight: 600; font-size: 1.1rem; }
.cd-body .woocommerce-mini-cart__total .amount { font-family: var(--font-display); font-weight: 700; font-size: 1.4rem; font-variant-numeric: tabular-nums; }
.cd-body .woocommerce-mini-cart__buttons { display: flex; flex-direction: column; gap: .6rem; margin: 1rem 0 0; padding: 0; }
.cd-body .woocommerce-mini-cart__buttons a { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: .9rem; border-radius: 2px; font-family: var(--font-body); font-weight: 700; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; }
.cd-body .woocommerce-mini-cart__buttons a.button { border: 1px solid var(--ink); background: transparent; color: var(--ink); }
.cd-body .woocommerce-mini-cart__buttons a.button:hover { background: var(--ink); color: var(--paper); }
.cd-body .woocommerce-mini-cart__buttons a.checkout { background: var(--accent-ink); border: 1px solid var(--accent-ink); color: #fff; order: -1; }
.cd-body .woocommerce-mini-cart__buttons a.checkout:hover { background: var(--ink); border-color: var(--ink); }

/* ============ MODERN CART (card-based, robust — no table layout) ============ */
.woocommerce-cart .woocommerce { max-width: var(--maxw); margin-inline: auto; }
.woocommerce-cart .woocommerce-cart-form { margin: 0; }

/* de-table: cart table + rows become block/grid cards */
.woocommerce-cart table.shop_table.cart,
.woocommerce-cart table.shop_table.cart tbody { display: block; width: 100%; border: 0; }
.woocommerce-cart table.shop_table.cart thead { display: none; }
.woocommerce-cart table.shop_table.cart tbody tr { display: block; }

/* each product row = card */
.woocommerce-cart table.cart tr.cart_item {
  display: grid;
  grid-template-columns: 84px minmax(0,1fr) auto;
  grid-template-areas: "thumb name price" "thumb qty price";
  column-gap: 1.2rem; row-gap: .55rem; align-items: center;
  position: relative;
  border: 1px solid var(--line); border-radius: 3px; background: var(--paper);
  padding: 1.1rem 1.2rem; margin-bottom: 1rem;
}
.woocommerce-cart table.cart tr.cart_item td { display: block; border: 0; padding: 0; }

.woocommerce-cart td.product-thumbnail { grid-area: thumb; align-self: start; }
.woocommerce-cart td.product-thumbnail img {
  width: 84px; height: 100px; object-fit: cover;
  border: 1px solid var(--line); border-radius: 2px; background: var(--paper-deep);
}
.woocommerce-cart td.product-name { grid-area: name; }
.woocommerce-cart td.product-name > a {
  font-family: var(--font-display); font-weight: 700; font-size: 1.2rem; line-height: 1.2;
  color: var(--ink); text-decoration: none;
}
.woocommerce-cart td.product-name > a:hover { color: var(--accent-ink); }
.woocommerce-cart td.product-name .variation { margin-top: .35rem; }
.woocommerce-cart td.product-name .variation,
.woocommerce-cart td.product-name .variation * {
  font-family: var(--font-mono); font-size: .64rem; letter-spacing: .04em; text-transform: uppercase;
  color: var(--brown); margin: 0; line-height: 1.55;
}
.woocommerce-cart td.product-name .variation dt,
.woocommerce-cart td.product-name .variation dd { display: inline; }
.woocommerce-cart td.product-name .variation dd { margin-right: .6rem; }

/* hide the unit-price cell (subtotal shows at right), keep DOM intact */
.woocommerce-cart td.product-price { display: none; }

/* quantity stepper (under name) */
.woocommerce-cart td.product-quantity { grid-area: qty; }
.woocommerce-cart td.product-quantity .quantity input.qty {
  width: 74px; min-height: 42px; text-align: center;
  border: 1px solid var(--line); border-radius: 2px; background: #fff;
  font-family: var(--font-body); font-weight: 500;
}

/* subtotal on the right */
.woocommerce-cart td.product-subtotal {
  grid-area: price; align-self: center; text-align: right;
  font-family: var(--font-display); font-weight: 700; font-size: 1.2rem;
  font-variant-numeric: tabular-nums; color: var(--ink);
}

/* remove × top-right of the card */
.woocommerce-cart td.product-remove { position: absolute; top: .6rem; right: .7rem; width: auto; }
.woocommerce-cart td.product-remove a.remove {
  display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; border: 1px solid var(--line); border-radius: 50%;
  color: var(--brown) !important; font-size: 14px; line-height: 1; text-decoration: none;
}
.woocommerce-cart td.product-remove a.remove:hover { background: #A50E0E !important; color: #fff !important; border-color: #A50E0E; }

/* coupon + update: its own bar (the non-item row) */
.woocommerce-cart td.actions {
  display: flex !important; flex-wrap: wrap; gap: .7rem; align-items: center;
  padding: .4rem 0 0 !important;
}
.woocommerce-cart td.actions .coupon { display: flex; gap: .5rem; flex: 1 1 260px; }
.woocommerce-cart td.actions .coupon .input-text { flex: 1; min-width: 0; max-width: 260px; min-height: 48px; }
.woocommerce-cart td.actions button[name="update_cart"] { margin-left: auto; }

/* order summary card */
.woocommerce-cart .cart-collaterals { width: 100%; float: none; margin-top: 2rem; }
.woocommerce-cart .cart-collaterals .cross-sells { display: none; }
.woocommerce-cart .cart_totals {
  width: 100% !important; float: none !important;
  border: 1px solid var(--line); border-radius: 3px; background: var(--paper-deep); padding: 1.5rem 1.6rem;
}
.woocommerce-cart .cart_totals h2 { font-family: var(--font-display); font-weight: 600; font-size: 1.7rem; margin-bottom: 1.1rem; }
.woocommerce-cart .cart_totals table { display: table; width: 100%; border-collapse: collapse; border: 0; margin: 0; }
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  padding: .8rem 0; border: 0; border-bottom: 1px solid rgba(23,19,16,.14);
  text-align: left; vertical-align: top;
}
.woocommerce-cart .cart_totals table th {
  font-family: var(--font-mono); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase;
  color: var(--brown); font-weight: 500; width: 42%;
}
.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td { border-bottom: 0; }
.woocommerce-cart .cart_totals .order-total .amount { font-family: var(--font-display); font-weight: 700; font-size: 1.5rem; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 1.2rem 0 0; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block; width: 100%; text-align: center; min-height: 54px; line-height: 1.25;
  padding: 1rem; border-radius: 2px;
  background: var(--accent-ink); border: 1px solid var(--accent-ink); color: #fff;
  font-family: var(--font-body); font-weight: 700; font-size: .8rem; letter-spacing: .1em; text-transform: uppercase;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background: var(--ink); border-color: var(--ink); }

/* desktop: CSS grid — notices full width, items left (1fr), totals right (360px) */
@media (min-width: 1000px) {
  .woocommerce-cart .woocommerce {
    display: grid;
    grid-template-columns: minmax(0,1fr) 360px;
    grid-template-areas: "notices notices" "items totals";
    column-gap: 2.5rem; align-items: start;
  }
  .woocommerce-cart .woocommerce > .woocommerce-notices-wrapper { grid-area: notices; }
  .woocommerce-cart .woocommerce > .woocommerce-cart-form { grid-area: items; min-width: 0; margin: 0; }
  .woocommerce-cart .woocommerce > .cart-collaterals { grid-area: totals; position: sticky; top: 100px; }
  .woocommerce-cart .woocommerce > .cart-empty,
  .woocommerce-cart .woocommerce > .return-to-shop { grid-column: 1 / -1; }
}

/* ============ CHECKOUT ============ */
.woocommerce-checkout{background:var(--paper)}
.woocommerce-checkout .woocommerce{max-width:1180px;margin-inline:auto}
.woocommerce-checkout .woocommerce > form.checkout{margin:0}
.woocommerce-checkout wc-order-attribution-inputs{display:none}
.woocommerce-checkout h3,
.woocommerce-checkout #order_review_heading{
  font-family:var(--font-display);font-weight:600;
  font-size:clamp(1.55rem,2.4vw,1.9rem);line-height:1.1;
  margin:0 0 1.35rem;color:var(--ink)
}
.woocommerce-checkout .woocommerce-form-coupon-toggle{margin-bottom:1.7rem}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  border:0;border-bottom:1px solid rgba(23,19,16,.18);background:transparent;
  padding:.1rem 0 1rem;margin:0;color:var(--brown)
}
.woocommerce-checkout form.checkout_coupon{
  border:1px solid rgba(23,19,16,.18);border-radius:7px;background:var(--paper-deep);
  padding:1rem;margin:0 0 1.7rem;display:flex;gap:.65rem;align-items:flex-end
}

/* billing fields — visible labels, calm surfaces, efficient two-column rhythm */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{width:100%;float:none;margin:0}
.woocommerce-checkout #customer_details .col-2{margin-top:1.7rem}
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem
}
.woocommerce-checkout form .form-row{margin:0 0 1.05rem;padding:0}
.woocommerce-checkout form .form-row-wide{grid-column:1 / -1}
.woocommerce-checkout form .form-row label{
  display:block;margin-bottom:.42rem;
  font-family:var(--font-body);font-size:.8rem;font-weight:700;
  letter-spacing:.025em;text-transform:none;color:var(--ink)
}
.woocommerce-checkout form .form-row .optional{font-weight:400;color:var(--brown)}
.woocommerce-checkout form .form-row .required{color:var(--accent-ink);border:0}
.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select{
  width:100%;min-height:54px;padding:.82rem 1rem;
  border:1px solid rgba(23,19,16,.22);border-radius:7px;background:rgba(255,255,255,.72);
  font-family:var(--font-body);font-size:1rem;color:var(--ink);
  transition:border-color .18s var(--ease),box-shadow .18s var(--ease),background .18s var(--ease)
}
.woocommerce-checkout form .form-row textarea{min-height:112px;resize:vertical}
.woocommerce-checkout form .form-row input.input-text:hover,
.woocommerce-checkout form .form-row textarea:hover,
.woocommerce-checkout form .form-row select:hover{border-color:rgba(23,19,16,.42);background:#fff}
.woocommerce-checkout form .form-row input.input-text:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout form .form-row select:focus{
  outline:none;border-color:var(--accent-ink);background:#fff;
  box-shadow:0 0 0 3px rgba(227,15,123,.12)
}
.woocommerce-checkout .select2-container .select2-selection--single{
  width:100%;height:54px;padding:0 1rem;
  border:1px solid rgba(23,19,16,.22);border-radius:7px;background:rgba(255,255,255,.72);
  font-family:var(--font-body);font-size:1rem;color:var(--ink)
}
.woocommerce-checkout .select2-container--default.select2-container--focus .select2-selection--single{
  border-color:var(--accent-ink);box-shadow:0 0 0 3px rgba(227,15,123,.12);background:#fff
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:52px;padding:0 1.6rem 0 0;color:var(--ink)
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{height:52px;right:.45rem}
.woocommerce-checkout #ship-to-different-address{
  font-family:var(--font-body);font-size:1rem;font-weight:700;margin:0
}
.woocommerce-checkout #ship-to-different-address label{
  display:flex;align-items:center;gap:.55rem;min-height:44px;cursor:pointer
}
.woocommerce-checkout .woocommerce-additional-fields{margin-top:1.4rem;padding-top:1.5rem;border-top:1px solid rgba(23,19,16,.16)}

/* order review — product-led card above a compact totals panel */
.woocommerce-checkout #order_review{border:0;background:transparent;padding:0}
.woocommerce-checkout .woocommerce-checkout-review-order-table{
  display:block;width:100%;border:1px solid rgba(23,19,16,.18);border-radius:8px;
  background:#fff;margin:0 0 1rem;border-collapse:separate;overflow:hidden;
  box-shadow:0 14px 34px rgba(23,19,16,.07)
}
.woocommerce-checkout .woocommerce-checkout-review-order-table thead{display:none}
.woocommerce-checkout .woocommerce-checkout-review-order-table tbody,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot{display:block;width:100%}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart_item{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;
  padding:1.05rem 1.15rem;background:var(--paper-deep);
  border-bottom:1px solid rgba(23,19,16,.14)
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart_item td{display:block;border:0;padding:0}
.woocommerce-checkout .woocommerce-checkout-review-order-table .cart_item .product-name{
  display:grid;grid-template-columns:64px minmax(0,1fr) auto;
  grid-template-areas:"thumb name qty" "thumb vars vars";
  column-gap:.85rem;row-gap:.3rem;align-items:start;
  font-family:var(--font-display);font-weight:700;font-size:1.05rem;line-height:1.2
}
.woocommerce-checkout .co-checkout-thumb{grid-area:thumb;display:block}
.woocommerce-checkout .co-checkout-thumb img{
  width:64px;height:76px;object-fit:cover;border:1px solid rgba(23,19,16,.2);
  border-radius:5px;background:var(--paper);margin:0
}
.woocommerce-checkout .co-checkout-name{grid-area:name;padding-top:.08rem}
.woocommerce-checkout .product-quantity{grid-area:qty;font-family:var(--font-body);font-size:.82rem;font-weight:500;color:var(--brown)}
.woocommerce-checkout .woocommerce-checkout-review-order-table .variation{
  grid-area:vars;margin:0;padding:.5rem .65rem;border-radius:5px;background:rgba(255,255,255,.58)
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .variation,
.woocommerce-checkout .woocommerce-checkout-review-order-table .variation *{
  font-family:var(--font-body);font-size:.78rem;font-weight:400;
  letter-spacing:0;text-transform:none;color:var(--brown);margin:0;line-height:1.45
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .variation dt,
.woocommerce-checkout .woocommerce-checkout-review-order-table .variation dd{display:inline}
.woocommerce-checkout .woocommerce-checkout-review-order-table .variation dt{font-weight:700;color:var(--ink)}
.woocommerce-checkout .woocommerce-checkout-review-order-table .variation dd{margin-right:.55rem}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total{
  text-align:right;font-family:var(--font-display);font-size:1.08rem;font-weight:700;
  font-variant-numeric:tabular-nums;white-space:nowrap
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot{padding:.5rem 1.15rem .65rem}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start;
  border-bottom:1px solid rgba(23,19,16,.11)
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td{
  display:block;border:0;padding:.7rem 0;text-align:left;vertical-align:top
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th{
  font-family:var(--font-body);font-size:.82rem;letter-spacing:0;text-transform:none;
  color:var(--brown);font-weight:500
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td{text-align:right;font-variant-numeric:tabular-nums}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .woocommerce-shipping-methods{list-style:none;margin:0;padding:0}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .woocommerce-shipping-methods label{font-size:.82rem}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total{
  border-bottom:0;padding-top:.2rem
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total th{
  font-family:var(--font-display);font-weight:600;font-size:1.05rem;color:var(--ink)
}
.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total .amount{
  font-family:var(--font-display);font-weight:700;font-size:1.55rem;color:var(--ink)
}

/* payment methods as distinct, keyboard-friendly radio cards */
.woocommerce-checkout #payment{background:transparent;border:0;border-radius:0}
.woocommerce-checkout #payment ul.payment_methods{
  border:0;padding:0;margin:0 0 1rem;display:flex;flex-direction:column;gap:.65rem
}
.woocommerce-checkout #payment ul.payment_methods li{
  list-style:none;border:1px solid rgba(23,19,16,.2);border-radius:8px;
  background:#fff;padding:1rem 1.1rem
}
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked){
  border-color:var(--accent-ink);box-shadow:0 0 0 2px rgba(227,15,123,.1)
}
.woocommerce-checkout #payment ul.payment_methods li input{margin-right:.4rem;accent-color:var(--accent-ink)}
.woocommerce-checkout #payment ul.payment_methods li label{
  display:inline;margin:0;font-family:var(--font-body);font-weight:700;
  font-size:.98rem;letter-spacing:0;text-transform:none;color:var(--ink);cursor:pointer
}
.woocommerce-checkout #payment div.payment_box{
  background:var(--paper-deep);border-radius:5px;margin-top:.8rem;
  padding:.85rem 1rem;font-size:.88rem;color:#3a322b
}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #payment .place-order{padding:0}
.woocommerce-checkout .woocommerce-privacy-policy-text{
  font-size:.78rem;line-height:1.5;color:var(--brown);margin:.9rem 0
}
.woocommerce-checkout #place_order{
  width:100%;min-height:58px;border-radius:6px;font-size:.82rem;letter-spacing:.08em
}
/* checkout polish (v0.11) — shipping row, terms checkbox, trust line */
.ship-cost{margin-left:.45rem;white-space:nowrap}
.woocommerce-checkout .ship-cost{margin-left:0}
.woocommerce-checkout .woocommerce-shipping-methods li label{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}
.woocommerce-checkout .ship-name{font-size:.82rem;color:var(--brown);line-height:1.35}
.woocommerce-checkout .ship-cost{font-weight:700;color:var(--ink)}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row{margin:0 0 1rem}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox{
  position:relative;display:block;padding-left:2rem;font-size:.9rem;font-weight:500;line-height:1.45;cursor:pointer
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper input[type="checkbox"]{
  position:absolute;left:0;top:.05rem;width:20px;height:20px;margin:0;accent-color:var(--accent-ink)
}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper abbr.required{text-decoration:none}
.woocommerce-checkout .co-trust{
  display:flex;align-items:flex-start;gap:.5rem;margin:.85rem 0 0;font-size:.82rem;line-height:1.45;color:var(--brown)
}
.woocommerce-checkout .co-trust svg{flex:none;width:16px;height:16px;margin-top:.1rem;fill:none;stroke:var(--accent-ink);stroke-width:1.8}

@media (min-width:1000px){
  .woocommerce-checkout form.checkout{
    position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,440px);
    grid-template-areas:"details review";
    column-gap:clamp(2.5rem,5vw,5rem);align-items:start
  }
  .woocommerce-checkout form.checkout > #customer_details{grid-area:details;min-width:0}
  .woocommerce-checkout form.checkout > #order_review_heading{
    position:absolute;top:0;right:0;width:min(440px,38%);
  }
  .woocommerce-checkout form.checkout > #order_review{
    grid-area:review;position:sticky;top:108px;margin-top:3.25rem
  }
}
@media (max-width:999px){
  .woocommerce-checkout #order_review_heading{margin-top:2.3rem;padding-top:2rem;border-top:1px solid rgba(23,19,16,.18)}
}
@media (max-width:620px){
  .commerce-page-wrap{padding-block:1.5rem 3rem}
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr}
  .woocommerce-checkout form .form-row-first,
  .woocommerce-checkout form .form-row-last{grid-column:1 / -1}
  .woocommerce-checkout form.checkout_coupon{display:block}
  .woocommerce-checkout form.checkout_coupon .form-row{margin-bottom:.65rem}
  .woocommerce-checkout .woocommerce-checkout-review-order-table tr.cart_item{grid-template-columns:1fr}
  .woocommerce-checkout .woocommerce-checkout-review-order-table .product-total{text-align:left;padding-left:79px}
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr{
    grid-template-columns:6.5rem minmax(0,1fr)
  }
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td{
    min-width:0;overflow-wrap:anywhere
  }
  .woocommerce-checkout .woocommerce-checkout-review-order-table tfoot .order-total{
    grid-template-columns:1fr auto
  }
  .woocommerce-checkout .woocommerce-privacy-policy-text{overflow-wrap:anywhere}
}

/* ============ LEGAL PAGES ============ */
.legal-hero{border-bottom:1px solid var(--line)}
.legal-hero .wrap{padding-block:clamp(2.5rem,6vw,5rem) clamp(2rem,5vw,3.8rem)}
.legal-eyebrow{
  font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent-ink)
}
.legal-hero h1{
  max-width:18ch;margin:.65rem 0 0;
  font-family:var(--font-display);font-size:clamp(2.7rem,7vw,5.5rem);
  font-weight:600;line-height:.98;letter-spacing:-.015em
}
.legal-lede{
  max-width:58ch;margin-top:1.1rem;
  font-family:var(--font-display);font-size:clamp(1.2rem,2.4vw,1.55rem);
  line-height:1.45;color:var(--brown)
}
.legal-updated{margin-top:1rem;font-size:.82rem;color:var(--brown)}
.legal-article .wrap{padding-block:clamp(2.5rem,5vw,4.5rem)}
.legal-content{max-width:72ch;margin-inline:auto;color:#2e2620}
.legal-content h2{
  margin:2.2rem 0 .8rem;font-family:var(--font-display);
  font-size:clamp(1.65rem,3vw,2.15rem);font-weight:600;line-height:1.15;color:var(--ink)
}
.legal-content h3{
  margin:1.65rem 0 .65rem;font-family:var(--font-display);
  font-size:1.35rem;font-weight:600;color:var(--ink)
}
.legal-content p,.legal-content ul,.legal-content ol{margin-bottom:1rem}
.legal-content ul,.legal-content ol{padding-left:1.3rem}
.legal-content li{margin-bottom:.45rem}
.legal-content a{color:var(--accent-ink);text-underline-offset:3px}
.legal-content > *:first-child{margin-top:0}
.legal-content strong{font-weight:600;color:var(--ink)}

/* Πίνακες στοιχείων επιχείρησης / νομικών βάσεων.
   Σε στενές οθόνες γίνονται stacked ώστε να μη σπάει η σελίδα οριζόντια. */
.legal-content table{
  width:100%;border-collapse:collapse;margin-bottom:1.4rem;
  font-size:.95rem;color:#2e2620
}
.legal-content th,.legal-content td{
  text-align:left;padding:.55rem .65rem;
  border-bottom:1px solid var(--line);vertical-align:top
}
.legal-content th{
  width:38%;font-family:var(--font-body);font-weight:600;color:var(--brown)
}
@media (max-width:560px){
  .legal-content table,.legal-content tbody,.legal-content tr,
  .legal-content th,.legal-content td{display:block;width:auto}
  .legal-content tr{
    padding:.7rem 0;border-bottom:1px solid var(--line)
  }
  .legal-content th,.legal-content td{border:0;padding:.1rem 0}
  .legal-content th{
    font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;
    text-transform:uppercase;color:var(--accent-ink)
  }
}

/* electronic withdrawal function */
.withdrawal-section{border-bottom:1px solid var(--line)}
.withdrawal-grid{
  display:grid;grid-template-columns:minmax(0,5fr) minmax(360px,5fr);
  gap:clamp(2rem,6vw,6rem);align-items:start;padding-block:clamp(2.5rem,5vw,4.5rem)
}
.withdrawal-copy .legal-content{margin:0}
.withdrawal-help{max-width:58ch;padding-top:1.8rem;border-top:1px solid rgba(23,19,16,.18)}
.withdrawal-help h2,.form-status h2{
  font-family:var(--font-display);font-size:1.55rem;font-weight:600;line-height:1.15;margin-bottom:.6rem
}
.withdrawal-help p{margin-bottom:.8rem;color:var(--brown)}
.withdrawal-help a,.form-status a{color:var(--accent-ink);text-underline-offset:3px}
.withdrawal-card{
  position:relative;border:1px solid var(--line);border-radius:8px;
  background:var(--paper-deep);padding:clamp(1.2rem,3vw,2rem);
  box-shadow:0 16px 38px rgba(23,19,16,.08)
}
.withdrawal-form .field{margin-bottom:1rem}
.withdrawal-form .field label{
  display:block;margin-bottom:.4rem;font-size:.82rem;font-weight:700;color:var(--ink)
}
.withdrawal-form .field label b{color:var(--accent-ink)}
.withdrawal-form .field label span{font-weight:400;color:var(--brown)}
.withdrawal-form input[type="text"],
.withdrawal-form input[type="email"],
.withdrawal-form textarea{
  width:100%;min-height:52px;padding:.75rem .9rem;
  border:1px solid rgba(23,19,16,.28);border-radius:6px;background:#fff;
  font-family:var(--font-body);font-size:1rem;color:var(--ink)
}
.withdrawal-form textarea{min-height:110px;resize:vertical}
.withdrawal-form input:focus,.withdrawal-form textarea:focus{
  outline:none;border-color:var(--accent-ink);box-shadow:0 0 0 3px rgba(227,15,123,.12)
}
.withdrawal-confirm{
  display:grid;grid-template-columns:20px minmax(0,1fr);gap:.7rem;
  align-items:start;margin:1.15rem 0;cursor:pointer;font-size:.9rem;line-height:1.45
}
.withdrawal-confirm input{width:18px;height:18px;margin-top:.15rem;accent-color:var(--accent-ink)}
.withdrawal-submit{width:100%;border-radius:6px}
.withdrawal-privacy{margin-top:.8rem;font-size:.76rem;line-height:1.45;color:var(--brown)}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-status{border:1px solid var(--line);border-left:4px solid var(--accent-ink);border-radius:5px;background:#fff;padding:1rem 1.1rem;margin-bottom:1.2rem}
.form-status p{font-size:.9rem;color:var(--brown)}
.form-status-error{border-left-color:#a50e0e}
@media (max-width:860px){
  .withdrawal-grid{grid-template-columns:1fr}
  .withdrawal-card{max-width:640px;width:100%}
}

/* ============ COMPLIANZ GDPR BANNER ============ */
.cmplz-cookiebanner{
  font-family:var(--font-body)!important;background:var(--paper)!important;
  color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:8px!important;
  box-shadow:0 18px 50px rgba(23,19,16,.2)!important
}
.cmplz-cookiebanner .cmplz-title{
  font-family:var(--font-display)!important;font-size:1.45rem!important;font-weight:600!important
}
.cmplz-cookiebanner .cmplz-message{font-size:.9rem!important;line-height:1.5!important;color:var(--brown)!important}
.cmplz-cookiebanner .cmplz-link{color:var(--accent-ink)!important;text-underline-offset:3px}
.cmplz-cookiebanner .cmplz-btn{
  min-height:46px!important;border:1px solid var(--ink)!important;border-radius:4px!important;
  font-family:var(--font-body)!important;font-weight:700!important
}
.cmplz-cookiebanner .cmplz-accept{background:var(--accent-ink)!important;border-color:var(--accent-ink)!important;color:#fff!important}
.cmplz-cookiebanner .cmplz-deny,.cmplz-cookiebanner .cmplz-view-preferences{background:transparent!important;color:var(--ink)!important}
.cmplz-manage-consent{font-family:var(--font-body)!important}
.cmplz-cookiebanner.cmplz-show{
  width:min(400px,calc(100vw - 2rem))!important;padding:1.1rem 1.2rem 1rem!important;row-gap:.55rem!important;
  right:1rem!important;bottom:1rem!important;left:auto!important
}
.cmplz-cookiebanner .cmplz-header{min-height:0!important}
.cmplz-cookiebanner .cmplz-title{font-size:1.15rem!important;justify-self:start!important}
.cmplz-cookiebanner .cmplz-divider{display:none!important}
.cmplz-cookiebanner .cmplz-message{font-size:.84rem!important;line-height:1.45!important}
.cmplz-cookiebanner .cmplz-buttons{display:grid!important;grid-template-columns:1fr 1fr!important;gap:.5rem!important}
.cmplz-cookiebanner .cmplz-buttons .cmplz-btn{width:100%!important;margin:0!important;min-height:44px!important;font-size:.9rem!important}
.cmplz-cookiebanner .cmplz-buttons .cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-buttons .cmplz-save-preferences{
  grid-column:1 / -1;min-height:36px!important;border:0!important;background:transparent!important;
  font-weight:500!important;text-decoration:underline!important;text-underline-offset:3px
}
.cmplz-cookiebanner .cmplz-links.cmplz-documents{margin:0!important}
.cmplz-manage-consent{
  left:1rem!important;right:auto!important;min-height:0!important;padding:.45rem .8rem!important;
  font-size:.75rem!important;border-radius:6px 6px 0 0!important;box-shadow:none!important;
  background:var(--paper)!important;color:var(--brown)!important;border:1px solid rgba(23,19,16,.25)!important;border-bottom:0!important
}
@media (max-width:600px){
  .cmplz-cookiebanner.cmplz-show{
    width:100%!important;left:0!important;right:0!important;bottom:0!important;
    border-radius:12px 12px 0 0!important;border-width:1px 0 0!important;
    max-height:70vh;overflow:auto;padding:1rem 1rem calc(.8rem + env(safe-area-inset-bottom))!important
  }
  .cmplz-cookiebanner .cmplz-message{font-size:.8rem!important}
}

/* ============ STRIPE FOR WOOCOMMERCE ============ */
.woocommerce-checkout .payment_method_stripe .wc-stripe-elements-field,
.woocommerce-checkout .payment_method_stripe #wc-stripe-card-element,
.woocommerce-checkout .payment_method_stripe #stripe-card-element{
  min-height:48px;padding:.85rem .9rem;border:1px solid rgba(23,19,16,.28);
  border-radius:6px;background:#fff;box-shadow:none
}
.woocommerce-checkout .payment_method_stripe .wc-stripe-elements-field.StripeElement--focus,
.woocommerce-checkout .payment_method_stripe .StripeElement--focus{
  border-color:var(--accent-ink);box-shadow:0 0 0 3px rgba(227,15,123,.12)
}
.woocommerce-checkout .payment_method_stripe .StripeElement--invalid{border-color:#a50e0e}
.woocommerce-checkout .payment_method_stripe .form-row{margin-bottom:.8rem}
.woocommerce-checkout .payment_method_stripe .form-row label{
  font-size:.78rem;font-weight:700;text-transform:none;letter-spacing:0
}
.woocommerce-checkout .payment_method_stripe .woocommerce-SavedPaymentMethods{
  list-style:none;margin:.8rem 0;padding:0
}
.woocommerce-checkout .payment_method_stripe .woocommerce-SavedPaymentMethods li{
  border:0!important;padding:.35rem 0!important;box-shadow:none!important
}
.woocommerce-checkout .payment_method_stripe .stripe-source-errors,
.woocommerce-checkout .payment_method_stripe .woocommerce_error{font-size:.84rem;color:#8c0c0c}
#wc-stripe-payment-request-wrapper{margin-bottom:1rem}

/* ============ THANK-YOU PAGE (v0.12) ============ */
.woocommerce-order-received .page-title{font-size:clamp(2rem,4.2vw,3rem);margin-bottom:1.1rem}
.woocommerce-order-received .entry-content{max-width:860px;color:var(--ink)}
.co-thanks .thanks-lead{font-size:1.15rem;line-height:1.55;margin:0 0 1.5rem}
.co-thanks .woocommerce-order-overview{
  list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 1.6rem;padding:0;
  border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden
}
.co-thanks .woocommerce-order-overview li{
  display:flex;flex-direction:column;gap:.2rem;margin:0;padding:.95rem 1.1rem;
  border-right:1px solid rgba(23,19,16,.14);font-size:.8rem;color:var(--brown);min-width:0
}
.co-thanks .woocommerce-order-overview li:last-child{border-right:0}
.co-thanks .woocommerce-order-overview li strong{font-family:var(--font-display);font-size:1.15rem;font-weight:700;color:var(--ink);overflow-wrap:anywhere}
@media (max-width:700px){
  .co-thanks .woocommerce-order-overview{grid-template-columns:repeat(2,minmax(0,1fr))}
  .co-thanks .woocommerce-order-overview li:nth-child(2){border-right:0}
  .co-thanks .woocommerce-order-overview li:nth-child(-n+2){border-bottom:1px solid rgba(23,19,16,.14)}
}
.bank-card{margin:0 0 1.8rem;padding:1.3rem 1.4rem;border:1px solid var(--line);border-radius:6px;background:var(--paper-deep)}
.bank-card h2{font-family:var(--font-display);font-weight:600;font-size:1.5rem;margin:0 0 .5rem}
.bank-card p{margin:0 0 1rem;line-height:1.55}
.bank-card .bank-outro{margin:1rem 0 0;color:var(--brown)}
.bank-list{margin:0}
.bank-row{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:.75rem;padding:.65rem 0;border-top:1px solid rgba(23,19,16,.14)}
.bank-row dt{font-size:.85rem;color:var(--brown);padding-top:.15rem}
.bank-row dd{margin:0;font-size:1.02rem;overflow-wrap:anywhere}
.bank-row.is-iban dd strong{font-family:var(--font-display);font-size:1.25rem;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.copy-btn{margin-left:.6rem;min-height:36px;padding:0 .9rem;border:1px solid var(--ink);border-radius:2px;background:transparent;
  font-family:var(--font-body);font-weight:700;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle}
.copy-btn:hover{background:var(--ink);color:var(--paper)}
.copy-btn.copied{background:var(--accent-ink);border-color:var(--accent-ink);color:#fff}
@media (max-width:520px){.bank-row{grid-template-columns:1fr;gap:.1rem}.copy-btn{display:block;margin:.5rem 0 0}}
.thanks-steps-wrap{margin:0 0 2rem}
.thanks-steps-wrap h2{font-family:var(--font-display);font-weight:600;font-size:1.5rem;margin:0 0 .8rem}
.thanks-steps{list-style:none;counter-reset:st;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.9rem;margin:0;padding:0}
.thanks-steps li{counter-increment:st;position:relative;padding:3rem 1rem 1rem;border:1px solid rgba(23,19,16,.2);border-radius:6px;background:#fff;display:flex;flex-direction:column;gap:.25rem}
.thanks-steps li::before{content:counter(st);position:absolute;left:1rem;top:.9rem;width:1.7rem;height:1.7rem;border-radius:50%;
  background:var(--accent-ink);color:#fff;font-weight:700;font-size:.85rem;display:flex;align-items:center;justify-content:center}
.thanks-steps li strong{font-family:var(--font-display);font-size:1.1rem}
.thanks-steps li span{font-size:.92rem;color:var(--brown);line-height:1.5}
.co-thanks .woocommerce-order-details,.co-thanks .woocommerce-customer-details{margin:0 0 1.8rem}
.co-thanks .woocommerce-order-details__title,.co-thanks .woocommerce-column__title{font-family:var(--font-display);font-weight:600;font-size:1.5rem;margin:0 0 .8rem}
.co-thanks .woocommerce-table--order-details{width:100%;border:1px solid var(--line);border-radius:6px;border-collapse:separate;border-spacing:0;background:#fff;overflow:hidden}
.co-thanks .woocommerce-table--order-details th,.co-thanks .woocommerce-table--order-details td{padding:.75rem 1rem;border-bottom:1px solid rgba(23,19,16,.12);text-align:left;vertical-align:top}
.co-thanks .woocommerce-table--order-details thead th{background:var(--paper-deep);font-size:.8rem;font-weight:700;color:var(--brown)}
.co-thanks .woocommerce-table--order-details tfoot tr:last-child th,.co-thanks .woocommerce-table--order-details tfoot tr:last-child td{border-bottom:0;font-family:var(--font-display);font-size:1.15rem;font-weight:700}
.co-thanks .woocommerce-table--order-details td.product-total,.co-thanks .woocommerce-table--order-details tfoot td{text-align:right;white-space:nowrap}
.co-thanks .woocommerce-table--order-details .product-name a{text-decoration:none;font-weight:700}
.co-thanks .woocommerce-customer-details address{font-style:normal;line-height:1.6;padding:1rem 1.1rem;border:1px solid rgba(23,19,16,.2);border-radius:6px;background:#fff;overflow-wrap:anywhere}
.co-thanks .woocommerce-customer-details .woocommerce-customer-details--phone,.co-thanks .woocommerce-customer-details .woocommerce-customer-details--email{margin:.35rem 0 0}
.co-thanks .woocommerce-columns--addresses{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.co-thanks .woocommerce-columns--addresses .col-1,.co-thanks .woocommerce-columns--addresses .col-2{float:none;width:auto;max-width:none}
@media (max-width:640px){.co-thanks .woocommerce-columns--addresses{grid-template-columns:1fr}}
.thanks-help{margin:0;padding-top:1.2rem;border-top:1px solid rgba(23,19,16,.16);font-size:.95rem;color:var(--brown)}
.thanks-help a{color:var(--accent-ink)}
.co-thanks section{border-bottom:0}
.co-thanks .woocommerce-table--order-details th.product-total,.co-thanks .woocommerce-table--order-details td.product-total{width:1%;text-align:right;white-space:nowrap}
.co-thanks .woocommerce-table--order-details tfoot th{width:auto;white-space:nowrap}
@media (max-width:520px){.co-thanks .woocommerce-table--order-details tfoot th{white-space:normal}.co-thanks .woocommerce-table--order-details tfoot td{white-space:normal}}
