:root{
  --paper:#EFF3EC;
  --paper-2:#E2E9DF;
  --glaucous:#C6D3C6;
  --sage:#9FB6A6;
  --ink:#14241B;
  --ink-soft:#41544A;
  --terra:#B0492A;
  --terra-soft:#D68A66;
  --line:rgba(20,36,27,.16);
  --disp:"Bricolage Grotesque",system-ui,sans-serif;
  --serif:"Newsreader",Georgia,serif;
  --mono:"Spline Sans Mono",ui-monospace,monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--disp);
  font-weight:400;
  font-size:1.0625rem;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--terra);outline-offset:3px}
.wrap{max-width:1280px;margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem)}

/* ---------- utilities ---------- */
.eyebrow{
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--ink-soft);
}
.eyebrow .dot{color:var(--terra)}
.btn{
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--disp);font-weight:600;font-size:.95rem;
  padding:.85rem 1.6rem;border-radius:999px;
  text-decoration:none;transition:transform .18s ease,background .18s ease,color .18s ease;
  border:1px solid var(--ink);
}
.btn:hover{transform:translateY(-2px)}
.btn-solid{background:var(--ink);color:var(--paper)}
.btn-solid:hover{background:var(--terra);border-color:var(--terra)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--paper)}
.serif-i{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:0}

/* ---------- header ---------- */
.site-head{
  position:fixed;inset-inline:0;top:0;z-index:50;
  backdrop-filter:blur(10px);
  background:color-mix(in srgb,var(--paper) 82%,transparent);
  border-bottom:1px solid var(--line);
}
.site-head .row{
  display:flex;align-items:center;justify-content:space-between;
  padding-block:.9rem;
}
.wordmark{
  font-weight:800;font-size:1.05rem;letter-spacing:.02em;
  text-decoration:none;display:flex;align-items:center;gap:.45rem;
}
.wordmark .sun{
  width:.55em;height:.55em;border-radius:50%;
  background:var(--terra);display:inline-block;flex:none;
}
.wordmark img{height:24px;width:auto}
.foot-brand .wordmark img{height:30px;filter:brightness(0) invert(.93)}
.hero .eyebrow .dot,.catalog .eyebrow .dot{color:var(--terra-soft)}
.site-foot .sun{background:var(--terra-soft)}
.site-nav{display:flex;gap:1.9rem;align-items:center}
.site-nav a:not(.btn){
  font-size:.9rem;font-weight:500;text-decoration:none;
  color:var(--ink-soft);transition:color .15s ease;
}
.site-nav a:not(.btn):hover{color:var(--ink)}
.site-nav .btn{padding:.5rem 1.1rem;font-size:.85rem}
.nav-toggle{
  display:none;place-items:center;
  width:2.5rem;height:2.5rem;cursor:pointer;
  background:none;border:1px solid var(--line);border-radius:8px;
}
.nav-toggle .bars{display:block}
.nav-toggle .bars,.nav-toggle .bars::before,.nav-toggle .bars::after{
  width:1.1rem;height:2px;background:var(--ink);border-radius:2px;
  transition:transform .2s ease,opacity .2s ease;
}
.nav-toggle .bars::before,.nav-toggle .bars::after{content:"";display:block}
.nav-toggle .bars::before{transform:translateY(-5px)}
.nav-toggle .bars::after{transform:translateY(3px)}
.nav-toggle[aria-expanded="true"] .bars{background:transparent}
.nav-toggle[aria-expanded="true"] .bars::before{transform:translateY(1px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .bars::after{transform:translateY(-1px) rotate(-45deg)}
@media (max-width:760px){
  .nav-toggle{display:grid}
  .site-nav{
    display:none;
    position:absolute;top:100%;left:0;right:0;
    flex-direction:column;align-items:flex-start;gap:0;
    background:var(--paper);border-bottom:1px solid var(--line);
    padding:.4rem 1.25rem 1.25rem;
    box-shadow:0 18px 30px rgba(20,36,27,.12);
  }
  .site-nav.is-open{display:flex}
  .site-nav a:not(.btn){display:block;width:100%;padding:.85rem 0;font-size:1.05rem;border-bottom:1px solid var(--line)}
  .site-nav .btn{margin-top:1rem}
}

/* ---------- hero ---------- */
.hero{
  position:relative;min-height:92vh;min-height:92svh;
  display:flex;align-items:flex-end;
  color:#F2F6EF;
  isolation:isolate;
}
.hero-bg{
  position:absolute;inset:0;z-index:-1;overflow:hidden;
}
.hero-bg img{
  width:100%;height:100%;object-fit:cover;object-position:center 30%;
}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(11,22,16,.94) 0%,rgba(11,22,16,.62) 45%,rgba(11,22,16,.42) 100%);
}
.hero-inner{width:100%;padding-top:clamp(5.5rem,14vh,7rem);padding-bottom:clamp(2.5rem,6vh,5rem)}
.hero .eyebrow{color:rgba(242,246,239,.85);margin-bottom:1.2rem;text-shadow:0 1px 8px rgba(11,22,16,.6)}
.hero h1{
  font-size:clamp(2.6rem,7.2vw,6.2rem);
  line-height:.98;font-weight:800;letter-spacing:-.02em;
  max-width:14ch;
  text-wrap:balance;
}
.hero h1 .serif-i{font-size:1.04em;color:var(--glaucous)}
.hero p.lede{
  margin-top:1.4rem;max-width:52ch;
  font-size:clamp(1rem,1.4vw,1.2rem);
  color:rgba(242,246,239,.82);
}
.hero-cta{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:2rem;width:100%}
.hero .btn{border-color:rgba(242,246,239,.5);color:#F2F6EF}
.hero .btn-solid{background:var(--terra);border-color:var(--terra)}
.hero .btn-solid:hover{background:#F2F6EF;color:var(--ink);border-color:#F2F6EF}
.hero .btn-ghost:hover{background:#F2F6EF;color:var(--ink)}

/* data strip */
.datastrip{
  border-top:1px solid rgba(242,246,239,.25);
  margin-top:clamp(2rem,5vh,3.5rem);
  padding-top:1.1rem;
  display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;
  font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(242,246,239,.8);
}
.datastrip strong{
  display:block;font-family:var(--disp);font-weight:700;
  font-size:clamp(1.4rem,2.6vw,2.1rem);letter-spacing:0;color:#F2F6EF;
}
@media (max-width:700px){.datastrip{grid-template-columns:repeat(2,1fr);row-gap:1.4rem}}

/* ---------- statement ---------- */
.statement{padding-block:clamp(5rem,12vh,9rem)}
.statement h2{
  font-weight:600;
  font-size:clamp(1.6rem,3.4vw,2.9rem);
  line-height:1.28;letter-spacing:-.01em;
  max-width:24em;
}
.statement .chip{
  display:inline-block;vertical-align:baseline;
  width:2.2em;height:1.25em;border-radius:999px;
  object-fit:cover;transform:translateY(.22em);
  margin-inline:.12em;
  box-shadow:0 1px 6px rgba(20,36,27,.25);
}
.statement .serif-i{color:var(--ink-soft)}
.statement .eyebrow{margin-bottom:1.6rem}

/* ---------- foliage index (signature) ---------- */
.index{
  background:var(--paper-2);
  border-block:1px solid var(--line);
  padding-block:clamp(4rem,10vh,7rem);
}
.index-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.6rem;flex-wrap:wrap}
.index-head h2{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800;letter-spacing:-.02em;line-height:1}
.index-head p{max-width:38ch;color:var(--ink-soft);font-size:.98rem}
.index-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2rem,4vw,4rem);align-items:start}
.index-list{list-style:none;border-top:1px solid var(--line)}
.index-list li{border-bottom:1px solid var(--line)}
.index-list a{
  display:grid;
  grid-template-columns:3.2rem minmax(0,1fr) auto;
  align-items:baseline;gap:1rem;
  padding:.95rem .5rem;
  text-decoration:none;
  transition:background .15s ease,padding-left .2s ease;
}
.index-list a:hover,.index-list a:focus-visible{background:color-mix(in srgb,var(--sage) 26%,transparent);padding-left:1rem}
.index-num{font-family:var(--mono);font-size:.72rem;color:var(--ink-soft)}
.index-name{
  font-family:var(--serif);font-style:italic;font-weight:500;
  font-size:clamp(1.25rem,2.2vw,1.8rem);line-height:1.15;
}
.index-name small{
  font-family:var(--disp);font-style:normal;font-weight:500;
  font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-soft);margin-left:.7rem;
}
.index-tags{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}
.tag{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--line);border-radius:999px;padding:.22rem .6rem;color:var(--ink-soft);
}
.tag-oil{border-color:color-mix(in srgb,var(--terra) 55%,transparent);color:var(--terra)}
.index-view{
  position:sticky;top:6.2rem;
  aspect-ratio:4/5;border-radius:14px;overflow:hidden;
  background:#fff;border:1px solid var(--line);
}
.index-view img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .35s ease;
}
.index-view img.is-active{opacity:1}
.index-view figcaption{
  position:absolute;left:1rem;bottom:.9rem;z-index:2;
  font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  background:var(--paper);border:1px solid var(--line);border-radius:999px;
  padding:.35rem .8rem;
}
@media (max-width:900px){
  .index-grid{grid-template-columns:1fr}
  .index-view{display:none}
  .index-list a{grid-template-columns:3rem minmax(0,1fr)}
  .index-tags{grid-column:2;justify-content:flex-start}
}

/* ---------- farm story ---------- */
.farm{padding-block:clamp(5rem,12vh,8rem)}
.farm-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2.5rem,5vw,5rem);align-items:center}
.farm-copy h2{font-size:clamp(1.9rem,3.8vw,3rem);font-weight:800;letter-spacing:-.02em;line-height:1.08;margin-block:1rem 1.4rem}
.farm-copy p{color:var(--ink-soft);max-width:50ch}
.farm-copy p + p{margin-top:1rem}
.farm-stats{
  margin-top:2.2rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem 2rem;
  border-top:1px solid var(--line);padding-top:1.6rem;
}
.farm-stats div strong{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;display:block;line-height:1.05}
.farm-stats div span{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.farm-photos{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.farm-photos figure{border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.farm-photos img{width:100%;height:100%;object-fit:cover}
.farm-photos figure:nth-child(1){aspect-ratio:3/4}
.farm-photos figure:nth-child(2){aspect-ratio:3/4;margin-top:2.5rem}
.farm-photos figure{position:relative}

/* video modal */
.play-badge{
  position:absolute;left:50%;bottom:1.1rem;transform:translateX(-50%);
  display:inline-flex;align-items:center;gap:.6rem;
  font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  background:rgba(11,22,16,.72);color:#F2F6EF;
  border:1px solid rgba(242,246,239,.35);border-radius:999px;
  padding:.5rem 1rem .5rem .5rem;cursor:pointer;white-space:nowrap;
  backdrop-filter:blur(6px);
  transition:background .18s ease,transform .18s ease;
}
.play-badge:hover,.play-badge:focus-visible{background:var(--terra);transform:translateX(-50%) translateY(-2px)}
.play-icon{
  width:1.7rem;height:1.7rem;border-radius:50%;flex:none;
  background:#F2F6EF;color:var(--ink);
  display:grid;place-items:center;font-size:.6rem;
}
.play-time{color:rgba(242,246,239,.65)}
.video-modal{
  border:none;padding:0;background:transparent;
  max-width:min(92vw,720px);width:100%;overflow:visible;
}
.video-modal::backdrop{background:rgba(11,22,16,.85);backdrop-filter:blur(4px)}
.video-modal video{width:100%;height:auto;border-radius:14px;display:block;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.video-close{
  position:absolute;top:-2.7rem;right:0;
  background:none;border:none;color:#F2F6EF;cursor:pointer;
  font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.4rem;
}
.video-close:hover{color:var(--terra-soft)}
@media (max-width:900px){.farm-grid{grid-template-columns:1fr}}

/* ---------- sustainability ---------- */
.sustain{
  background:var(--ink);color:#E9F0E7;
  padding-block:clamp(4.5rem,11vh,7.5rem);
}
.sustain .eyebrow{color:var(--sage)}
.sustain h2{
  font-size:clamp(1.9rem,4vw,3.2rem);font-weight:800;letter-spacing:-.02em;
  line-height:1.06;margin-block:1rem 2.6rem;max-width:18ch;
}
.sustain h2 .serif-i{color:var(--sage)}
.sustain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(233,240,231,.18);border:1px solid rgba(233,240,231,.18);border-radius:14px;overflow:hidden}
.sustain-cell{background:var(--ink);padding:1.8rem 1.6rem}
.sustain-cell strong{font-size:clamp(1.9rem,3.4vw,2.8rem);font-weight:800;display:block;line-height:1}
.sustain-cell strong em{font-style:normal;color:var(--terra-soft)}
.sustain-cell h3{font-size:.95rem;font-weight:600;margin-block:.7rem .4rem}
.sustain-cell p{font-size:.9rem;color:rgba(233,240,231,.72)}
@media (max-width:820px){.sustain-grid{grid-template-columns:1fr}}

/* ---------- catalog CTA ---------- */
.catalog{
  position:relative;isolation:isolate;color:#F2F6EF;
  padding-block:clamp(5.5rem,14vh,9rem);
}
.catalog-bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.catalog-bg img{width:100%;height:100%;object-fit:cover}
.catalog-bg::after{content:"";position:absolute;inset:0;background:rgba(11,22,16,.72)}
.catalog-inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.4rem}
.catalog-inner .hero-cta{justify-content:center}
.catalog h2{font-size:clamp(2.2rem,5.5vw,4.4rem);font-weight:800;letter-spacing:-.02em;line-height:1.02;max-width:16ch}
.catalog p{max-width:46ch;color:rgba(242,246,239,.82)}
.catalog .btn{border-color:rgba(242,246,239,.5);color:#F2F6EF}
.catalog .btn-solid{background:var(--terra);border-color:var(--terra)}
.catalog .btn-solid:hover{background:#F2F6EF;color:var(--ink);border-color:#F2F6EF}

/* ---------- footer ---------- */
.site-foot{background:var(--ink);color:#C9D6CB;padding-block:clamp(3.5rem,8vh,5.5rem) 2rem}
.foot-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:2.5rem;margin-bottom:3rem}
.foot-brand .wordmark{color:#F2F6EF;font-size:1.3rem}
.foot-brand p{margin-top:.9rem;font-size:.92rem;max-width:34ch;color:rgba(201,214,203,.75)}
.site-foot h4{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);margin-bottom:1rem;font-weight:500}
.site-foot ul{list-style:none;display:grid;gap:.55rem;font-size:.92rem}
.site-foot ul a{text-decoration:none;color:rgba(233,240,231,.85)}
.site-foot ul a:hover{color:#fff}
.foot-legal{
  border-top:1px solid rgba(233,240,231,.15);padding-top:1.4rem;
  display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(201,214,203,.55);
}
@media (max-width:820px){.foot-grid{grid-template-columns:1fr;gap:2rem}}

/* ---------- reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .btn:hover{transform:none}
}

/* ---------- about page ---------- */
.page-hero{
  position:relative;isolation:isolate;color:#F2F6EF;
  min-height:62vh;min-height:62svh;display:flex;align-items:flex-end;
}
.page-hero .hero-bg img{object-position:center 60%}
.page-hero .hero-inner{padding-top:clamp(5.5rem,14vh,6rem);padding-bottom:clamp(2.5rem,6vh,4.5rem)}
.page-hero h1{
  font-size:clamp(2.3rem,5.6vw,4.6rem);
  line-height:1.02;font-weight:800;letter-spacing:-.02em;
  max-width:18ch;text-wrap:balance;
}
.page-hero h1 .serif-i{color:var(--glaucous)}
.page-hero p.lede{margin-top:1.3rem;max-width:56ch;color:rgba(242,246,239,.85)}
.page-hero .eyebrow{color:rgba(242,246,239,.85);margin-bottom:1.1rem;text-shadow:0 1px 8px rgba(11,22,16,.6)}
.page-hero .eyebrow .dot{color:var(--terra-soft)}

/* timeline */
.story{padding-block:clamp(5rem,12vh,8rem)}
.story-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2.5rem,5vw,5rem)}
.story-intro{position:sticky;top:6.5rem;align-self:start}
.story-intro h2{font-size:clamp(1.9rem,3.8vw,3rem);font-weight:800;letter-spacing:-.02em;line-height:1.08;margin-block:1rem 1.2rem}
.story-intro p{color:var(--ink-soft);max-width:44ch}
.timeline{list-style:none;border-left:1px solid var(--line);padding-left:0;margin-left:.35rem}
.timeline li{position:relative;padding:0 0 2.6rem 2rem}
.timeline li:last-child{padding-bottom:0}
.timeline li::before{
  content:"";position:absolute;left:-.35rem;top:.5rem;
  width:.7rem;height:.7rem;border-radius:50%;
  background:var(--terra);border:2px solid var(--paper);
}
.timeline .when{font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.timeline h3{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(1.35rem,2.4vw,1.9rem);margin-block:.35rem .5rem}
.timeline p{color:var(--ink-soft);max-width:52ch}
.timeline figure{margin-top:1.2rem;border-radius:14px;overflow:hidden;border:1px solid var(--line);max-width:520px}
.timeline figure img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover}
@media (max-width:900px){.story-grid{grid-template-columns:1fr}.story-intro{position:static}}

/* known for */
.knownfor{background:var(--ink);color:#E9F0E7;padding-block:clamp(4.5rem,11vh,7.5rem)}
.knownfor .eyebrow{color:var(--sage)}
.knownfor h2{font-size:clamp(1.9rem,4vw,3.2rem);font-weight:800;letter-spacing:-.02em;line-height:1.06;margin-block:1rem 2.4rem;max-width:22ch}
.knownfor h2 .serif-i{color:var(--sage)}
.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(233,240,231,.18);border:1px solid rgba(233,240,231,.18);border-radius:14px;overflow:hidden}
.quality-cell{background:var(--ink);padding:1.7rem 1.5rem}
.quality-cell h3{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(1.4rem,2.4vw,1.9rem)}
.quality-cell p{font-size:.9rem;color:rgba(233,240,231,.72);margin-top:.6rem}
@media (max-width:900px){.quality-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.quality-grid{grid-template-columns:1fr}}

/* eucalyptus formats */
.formats{background:var(--paper-2);border-block:1px solid var(--line);padding-block:clamp(4.5rem,11vh,7.5rem)}
.formats-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:2.4rem}
.formats-head h2{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800;letter-spacing:-.02em;line-height:1}
.formats-head p{max-width:40ch;color:var(--ink-soft);font-size:.98rem}
.format-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.format-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.format-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.format-card .pad{padding:1.3rem 1.4rem 1.5rem}
.format-card .tag{margin-bottom:.7rem;display:inline-block}
.format-card h3{font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.5rem}
.format-card p{font-size:.92rem;color:var(--ink-soft);margin-top:.5rem}
@media (max-width:820px){.format-grid{grid-template-columns:1fr}}

/* wide photo band */
.band{position:relative;isolation:isolate;color:#F2F6EF;padding-block:clamp(6rem,16vh,10rem)}
.band .hero-bg img{object-position:center 40%}
.band .hero-bg::after{background:rgba(11,22,16,.66)}
.band blockquote{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(1.5rem,3.2vw,2.6rem);line-height:1.25;
  max-width:26ch;text-wrap:balance;
}
.band .who{margin-top:1.2rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(242,246,239,.75)}

/* =========================================================
   PAGE-SCOPED — products (desde products.html)
   ========================================================= */
.products-grid{padding-block:clamp(4rem,10vh,7rem)}
.products-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:2.6rem}
.products-head h2{font-size:clamp(2rem,4.4vw,3.4rem);font-weight:800;letter-spacing:-.02em;line-height:1}
.products-head p{max-width:44ch;color:var(--ink-soft);font-size:.98rem}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.pcard{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .18s ease,border-color .18s ease}
.pcard:hover{transform:translateY(-3px);border-color:var(--sage)}
.pcard-img{aspect-ratio:4/5;overflow:hidden}
.pcard-img img{width:100%;height:100%;object-fit:cover}
.pcard .pad{padding:1.3rem 1.4rem 1.5rem}
.pnum{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;color:var(--ink-soft)}
.pname{font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.4rem;line-height:1.15;margin-block:.4rem .8rem}
.pname small{font-family:var(--disp);font-style:normal;font-weight:500;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);display:block;margin-top:.3rem}
.ptags{display:flex;gap:.35rem;flex-wrap:wrap}
@media (max-width:900px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){
  .pgrid{grid-template-columns:1fr;gap:.9rem}
  .pcard{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:stretch}
  .pcard-img{aspect-ratio:auto;height:100%;min-height:112px}
  .pcard .pad{padding:.85rem 1rem;align-self:center}
  .pname{font-size:1.15rem;margin-block:.25rem .5rem}
  .pname small{margin-top:.15rem}
}

/* =========================================================
   PAGE-SCOPED — catalog (desde catalog.html)
   ========================================================= */
.cat-viewer{padding-block:clamp(4rem,10vh,6.5rem)}
.cat-viewer-head{text-align:center;max-width:56ch;margin-inline:auto;margin-bottom:2.4rem}
.cat-viewer-head h2{font-size:clamp(1.7rem,3.4vw,2.6rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-block:1rem 0}
.cat-frame-wrap{
  max-width:960px;margin-inline:auto;
  border:1px solid var(--line);border-radius:14px;overflow:hidden;
  background:var(--paper-2);
  aspect-ratio:3/4;
}
.cat-frame-wrap iframe{width:100%;height:100%;border:none;display:block}
@media (min-width:760px){
  .cat-frame-wrap{aspect-ratio:4/3}
}
.cat-note{
  text-align:center;margin-top:1.2rem;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);
}
.cat-cta{padding-block:clamp(4rem,10vh,6.5rem)}
.cat-cta-inner{
  text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.4rem;
  max-width:52ch;margin-inline:auto;
}
.cat-cta-inner h2{font-size:clamp(1.7rem,3.4vw,2.6rem);font-weight:800;letter-spacing:-.02em;line-height:1.1}
.cat-cta-inner p{color:var(--ink-soft)}
.cat-cta-actions{display:flex;gap:.9rem;flex-wrap:wrap;justify-content:center;margin-top:.6rem}

/* =========================================================
   PAGE-SCOPED — contact (desde contact.html)
   ========================================================= */
.contact-sec{padding-block:clamp(4.5rem,11vh,7.5rem)}
.contact-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(2.5rem,5vw,5rem);align-items:start}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr}}
.contact-form h2{font-size:clamp(1.9rem,3.6vw,2.8rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-block:1rem 1rem}
.contact-form p.lede-small{color:var(--ink-soft);max-width:52ch;margin-bottom:2rem}
.field{display:grid;gap:.5rem;margin-bottom:1.4rem}
.field label{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-soft);
}
.field input,.field textarea{
  font-family:var(--disp);font-size:1rem;color:var(--ink);
  background:var(--paper);border:1px solid var(--line);border-radius:14px;
  padding:.85rem 1.1rem;width:100%;resize:vertical;
  transition:border-color .18s ease;
}
.field input:focus-visible,.field textarea:focus-visible{
  outline:none;border-color:var(--terra);
}
.field textarea{min-height:9rem}
.contact-form .btn{margin-top:.4rem}
.contact-info{display:grid;gap:2.2rem}
.info-block h3{
  font-family:var(--disp);font-weight:600;font-size:1.15rem;
  margin-top:.6rem;margin-bottom:.5rem;
}
.info-block p,.info-block address{
  font-style:normal;color:var(--ink-soft);font-size:.98rem;line-height:1.6;
}
.info-block a{text-decoration:none;color:var(--ink)}
.info-block a:hover{color:var(--terra)}
.info-block ul{list-style:none;display:grid;gap:.4rem}
.map-frame{
  border-radius:14px;overflow:hidden;border:1px solid var(--line);
  aspect-ratio:4/3;background:var(--paper-2);
}
.map-frame iframe{width:100%;height:100%;border:0;display:block}

/* CF7: los spans del plugin no deben alterar la grilla del formulario */
.contact-form .wpcf7-form-control-wrap{display:grid;gap:.5rem}
.contact-form .wpcf7-not-valid-tip{font-family:var(--mono);font-size:.7rem;letter-spacing:.05em;color:var(--terra)}
.field input.wpcf7-not-valid,.field textarea.wpcf7-not-valid{border-color:var(--terra)}
.wpcf7 .wpcf7-response-output{
  margin:1.2rem 0 0;padding:1rem 1.2rem;border-radius:14px;
  border:1px solid var(--line);background:var(--paper-2);
  font-family:var(--mono);font-size:.78rem;letter-spacing:.05em;color:var(--ink);
}
.wpcf7 form.sent .wpcf7-response-output{border-color:var(--sage)}

/* =========================================================
   PAGE-SCOPED — blog listing (desde blog.html)
   ========================================================= */
.blog-list{padding-block:clamp(4rem,10vh,7rem)}
.blog-list-head{max-width:56ch;margin-bottom:2.6rem}
.blog-list-head h2{font-size:clamp(1.9rem,3.8vw,3rem);font-weight:800;letter-spacing:-.02em;line-height:1.08;margin-top:1rem}
.blog-list-head h2 .serif-i{color:var(--ink-soft)}
.blog-cards{display:grid;gap:1.5rem}
.blog-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--paper-2);transition:border-color .2s ease}
.blog-card:hover{border-color:var(--terra-soft)}
.blog-card-link{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);text-decoration:none;color:inherit}
.blog-card-media{aspect-ratio:4/3;overflow:hidden}
.blog-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.blog-card:hover .blog-card-media img{transform:scale(1.04)}
.blog-card-body{padding:clamp(1.4rem,3vw,2.4rem);display:flex;flex-direction:column;gap:.7rem;justify-content:center}
.blog-card-body h3{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(1.4rem,2.6vw,2rem);line-height:1.18}
.blog-card-body p{color:var(--ink-soft);font-size:.98rem;max-width:58ch}
.blog-card-cta{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);margin-top:.3rem}
@media (max-width:760px){
  .blog-card-link{grid-template-columns:1fr}
  .blog-card-media{aspect-ratio:16/10}
}
@media (prefers-reduced-motion:reduce){
  .blog-card-media img{transition:none}
  .blog-card:hover .blog-card-media img{transform:none}
}

/* =========================================================
   PAGE-SCOPED — single post (desde post-eucalipto.html / post-natural-foliage.html)
   ========================================================= */
.post-shell{padding-block:clamp(3.5rem,9vh,6rem)}
.post-body{max-width:68ch;margin-inline:auto;font-size:1.05rem}
.post-body p{margin-top:1.3rem;color:var(--ink-soft)}
.post-body p:first-of-type{margin-top:0}
.post-body h2{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin-top:2.8rem;margin-bottom:.5rem;color:var(--ink)}
.post-body figure{margin-block:2.2rem;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.post-body figure img{width:100%;height:auto;display:block;aspect-ratio:16/10;object-fit:cover}
.post-body figcaption{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);padding:.7rem 1rem}
.post-quote{font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(1.4rem,2.8vw,1.9rem);line-height:1.35;color:var(--ink);border-left:3px solid var(--terra);padding-left:1.4rem;margin-block:2.4rem}
.post-formats{display:grid;grid-template-columns:repeat(3,1fr);gap:.9rem;margin-block:2.2rem}
.post-formats div{border:1px solid var(--line);border-radius:14px;padding:1.1rem 1.2rem;background:var(--paper-2)}
.post-formats .tag{margin-bottom:.5rem;display:inline-block}
.post-formats h4{font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.05rem}
@media (max-width:640px){.post-formats{grid-template-columns:1fr}}
.post-back{max-width:68ch;margin:3.2rem auto 0;padding-top:1.6rem;border-top:1px solid var(--line)}
.post-back a{font-family:var(--mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--ink-soft);transition:color .15s ease}
.post-back a:hover{color:var(--terra)}

/* =========================================================
   WOOCOMMERCE SHELL — la tienda B2B hereda el mundo visual
   ========================================================= */
.woo-shell{padding-block:clamp(3.5rem,9vh,6rem)}
.woo-hero{
  position:relative;isolation:isolate;color:#F2F6EF;min-height:38vh;min-height:38svh;
  display:flex;align-items:flex-end;
}
.woo-hero .hero-bg::after{background:rgba(11,22,16,.74)}
.woo-hero .hero-inner{padding-top:clamp(5.5rem,14vh,6rem);padding-bottom:clamp(2rem,5vh,3.5rem)}
.woo-hero h1{font-size:clamp(2.2rem,5vw,4rem);line-height:1.02;font-weight:800;letter-spacing:-.02em}
.woo-hero h1 .serif-i{color:var(--glaucous)}
.woo-hero p.lede{margin-top:1.1rem;max-width:56ch;color:rgba(242,246,239,.85)}
.woo-hero .eyebrow{color:rgba(242,246,239,.85);margin-bottom:1.1rem;text-shadow:0 1px 8px rgba(11,22,16,.6)}
.woo-shell .woocommerce-message,.woo-shell .woocommerce-info,.woo-shell .woocommerce-error{
  border-radius:14px;border:1px solid var(--line);background:var(--paper-2);
  font-size:.95rem;color:var(--ink);padding:1rem 1.2rem;list-style:none;
}
.woo-shell .woocommerce-error{border-color:color-mix(in srgb,var(--terra) 45%,transparent)}
.woo-shell .woocommerce-message{border-top-color:var(--sage)}
.woo-shell a.button,.woo-shell .button,.woo-shell button.button,.woo-shell input.button,
.woo-shell #place_order{
  font-family:var(--disp);font-weight:600;font-size:.95rem;
  padding:.85rem 1.6rem;border-radius:999px;border:1px solid var(--ink);
  background:var(--ink);color:var(--paper);
  transition:transform .18s ease,background .18s ease,color .18s ease,border-color .18s ease;
}
.woo-shell a.button:hover,.woo-shell .button:hover,.woo-shell button.button:hover,.woo-shell input.button:hover,
.woo-shell #place_order:hover{
  background:var(--terra);border-color:var(--terra);color:var(--paper);transform:translateY(-2px);
}
.woo-shell .button.alt,.woo-shell .button.alt:hover{background:var(--terra);border-color:var(--terra)}
.woo-shell .button:disabled,.woo-shell .button.disabled{opacity:.5;transform:none}
.woo-shell ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin:0;padding:0;list-style:none}
.woo-shell ul.products::before,.woo-shell ul.products::after{display:none}
.woo-shell ul.products li.product{
  width:100%!important;float:none!important;margin:0!important;
  background:var(--paper-2);border:1px solid var(--line);border-radius:14px;overflow:hidden;
  transition:transform .18s ease,border-color .18s ease;
}
.woo-shell ul.products li.product:hover{transform:translateY(-3px);border-color:var(--sage)}
.woo-shell ul.products li.product img{width:100%;aspect-ratio:4/5;object-fit:cover;margin:0}
.woo-shell ul.products li.product .woocommerce-loop-product__title,
.woo-shell ul.products li.product h2.woocommerce-loop-product__title{
  font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.4rem;line-height:1.15;
  color:var(--ink);padding:1.1rem 1.4rem 0;
}
.woo-shell ul.products li.product .woocommerce-loop-product__link{text-decoration:none}
.woo-shell ul.products li.product .price{
  font-family:var(--mono);font-size:.85rem;letter-spacing:.06em;color:var(--ink-soft);
  padding:.3rem 1.4rem 0;
}
.woo-shell ul.products li.product .button{margin:.9rem 1.4rem 1.4rem;display:inline-flex}
.woo-shell ul.products li.product del{opacity:.5}
.woo-shell ul.products li.product ins{text-decoration:none}
@media (max-width:900px){.woo-shell ul.products{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){
  .woo-shell ul.products{grid-template-columns:1fr;gap:.9rem}
  .woo-shell ul.products li.product{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:stretch}
  .woo-shell ul.products li.product img{aspect-ratio:auto;height:100%;min-height:112px}
  .woo-shell ul.products li.product .woocommerce-loop-product__title,
  .woo-shell ul.products li.product h2.woocommerce-loop-product__title{padding:.85rem 1rem 0;font-size:1.15rem}
  .woo-shell ul.products li.product .price{padding:.2rem 1rem 0}
  .woo-shell ul.products li.product .button{margin:.7rem 1rem 1rem;padding:.55rem 1rem;font-size:.85rem}
}
.woo-shell .product .price{font-family:var(--mono);font-size:1.1rem;color:var(--ink);letter-spacing:.04em}
.woo-shell .product .woocommerce-product-details__short-description{color:var(--ink-soft);margin-top:1rem}
.woo-shell .quantity input[type=number]{
  font-family:var(--disp);color:var(--ink);background:var(--paper);
  border:1px solid var(--line);border-radius:12px;padding:.6rem .8rem;
}
.woo-shell table.shop_table{border:1px solid var(--line);background:var(--paper-2);border-radius:14px;font-size:.95rem}
.woo-shell table.shop_table th{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}
.woo-shell table.shop_table td,.woo-shell table.shop_table th{border-color:var(--line)}
.woo-shell .form-row input.input-text,.woo-shell .form-row textarea,.woo-shell .select2-container--default .select2-selection--single,
.woo-shell .woocommerce-input-wrapper input,.woo-shell .woocommerce-input-wrapper textarea,.woo-shell .woocommerce-input-wrapper select{
  font-family:var(--disp);font-size:1rem;color:var(--ink);
  background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:.85rem 1.1rem;width:100%;
}
.woo-shell .form-row label,.woo-shell .woocommerce-form__label,.woo-shell label{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);
}
.woo-shell h1,.woo-shell h2,.woo-shell h3{letter-spacing:-.01em}

/* =========================================================
   WOO TOKENS — colores nativos de WooCommerce apuntando a la paleta
   ========================================================= */
:root{
  --wc-primary:var(--terra);
  --wc-primary-text:#F2F6EF;
  --wc-secondary:var(--ink);
  --wc-secondary-text:var(--paper);
  --wc-highlight:var(--terra-soft);
  --wc-highlight-ext:var(--terra);
  --wc-content-bg:var(--paper);
  --wc-subtext:#41544A;
  --wc-form-border-color:rgba(20,36,27,.16);
  --wc-form-border-radius:14px;
  --wc-form-text-color:#14241B;
  --wc-info:var(--sage);
  --wc-info-text:#14241B;
}
.woo-shell .woocommerce div.product p.price,
.woo-shell .woocommerce ul.products li.product .price{color:var(--ink)}
.woo-shell .woocommerce a.button.alt,
.woo-shell .woocommerce button.button.alt,
.woo-shell .woocommerce input.button.alt,
.woo-shell .woocommerce #respond input#submit.alt,
.woo-shell .woocommerce a.button,
.woo-shell .woocommerce button.button,
.woo-shell .woocommerce input.button,
.woo-shell .woocommerce #respond input#submit{
  background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:999px;
}
.woo-shell .woocommerce a.button.alt:hover,
.woo-shell .woocommerce button.button.alt:hover,
.woo-shell .woocommerce input.button.alt:hover,
.woo-shell .woocommerce #respond input#submit.alt:hover,
.woo-shell .woocommerce a.button:hover,
.woo-shell .woocommerce button.button:hover,
.woo-shell .woocommerce input.button:hover,
.woo-shell .woocommerce #respond input#submit:hover{
  background:var(--terra);border-color:var(--terra);color:var(--paper);
}
.woo-shell .woocommerce span.onsale{background:var(--terra);color:#F2F6EF}

/* botones sobre el hero oscuro de la tienda / pedido rápido */
.woo-hero .btn-solid{background:var(--terra);border-color:var(--terra);color:#F2F6EF}
.woo-hero .btn-solid:hover{background:#F2F6EF;color:var(--ink);border-color:#F2F6EF}
.woo-hero .btn-ghost{border-color:rgba(242,246,239,.5);color:#F2F6EF}
.woo-hero .btn-ghost:hover{background:#F2F6EF;color:var(--ink);border-color:#F2F6EF}

/* =========================================================
   PLUGIN B2B — variables --gb-* remapeadas a la paleta Green Mood
   (el CSS del plugin se recolorea completo sin tocarlo)
   ========================================================= */
:root{
  --gb-verde-primario:var(--ink);
  --gb-verde-claro:var(--terra);
  --gb-verde-suave:var(--paper-2);
  --gb-crema:var(--paper);
  --gb-oscuro:var(--ink);
  --gb-gris-claro:var(--paper);
  --gb-gris-borde:var(--line);
  --gb-amarillo-borde:var(--terra-soft);
  --gb-radio:14px;
}
.woo-shell .gb-discount-banner{
  border-radius:14px;border:1px solid var(--line);background:var(--paper-2);
  font-family:var(--mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink);padding:.9rem 1.2rem;margin-bottom:2rem;
}
.woo-shell .gb-discount-banner--active{border-color:var(--terra);color:var(--terra)}
.woo-shell .gb-catalog{margin-top:0}
.woo-shell table.gb-bulk-table th{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);
}

/* =========================================================
   ANCHOS LEGACY DE WOO — fuera flotaciones y porcentajes
   ========================================================= */
.woocommerce-account .woo-shell .woocommerce-MyAccount-content,
.woocommerce-account .woo-shell .woocommerce-MyAccount-navigation{
  float:none!important;width:100%!important;
}
.woocommerce-cart .woo-shell .woocommerce-cart-form,
.woocommerce-cart .woo-shell .cart-collaterals{
  float:none!important;width:100%!important;
}
/* carrito clásico: tabla a todo el ancho; totales como tarjeta al pie derecha.
   El shortcode envuelve todo en div.woocommerce: display:contents lo baja al grid. */
@media (min-width:900px){
  .woocommerce-cart .woo-shell .wrap > div.woocommerce{display:contents}
  .woocommerce-cart .woo-shell .woocommerce-cart-form{min-width:0}
  .woocommerce-cart .woo-shell .cart-collaterals{
    display:flex;justify-content:flex-end;margin-top:0;
  }
  .woocommerce-cart .woo-shell .cart-collaterals .cart_totals{max-width:460px}
}
/* la tabla respira: filas más generosas en desktop */
@media (min-width:900px){
  .woocommerce-cart .woo-shell .shop_table td{padding:1.2rem 1rem}
  .woocommerce-cart .woo-shell .shop_table td.product-thumbnail{width:84px}
  .woocommerce-cart .woo-shell .shop_table td.product-thumbnail img{width:72px}
}

/* =========================================================
   CARRITO — tabla proporcionada, stepper, cupón y actualizar
   ========================================================= */
.woocommerce-cart .woo-shell .shop_table{border:none!important;background:transparent!important;border-radius:0!important}
.woocommerce-cart .woo-shell .shop_table thead th{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-soft);font-weight:500;padding:.8rem .9rem;
}
.woocommerce-cart .woo-shell .shop_table td{border-top:1px solid var(--line);padding:1rem .9rem;vertical-align:middle}
.woocommerce-cart .woo-shell .shop_table td.product-thumbnail{width:76px}
.woocommerce-cart .woo-shell .shop_table td.product-thumbnail img{border-radius:10px;width:64px}
.woocommerce-cart .woo-shell .shop_table td.product-name{font-family:var(--serif);font-style:italic;font-size:1.15rem}
.woocommerce-cart .woo-shell .shop_table td.product-name a{text-decoration:none;color:var(--ink)}
.woocommerce-cart .woo-shell .shop_table td.product-price,
.woocommerce-cart .woo-shell .shop_table td.product-subtotal{font-family:var(--mono);font-size:.85rem;white-space:nowrap}
.woocommerce-cart .woo-shell .shop_table td.product-remove a{
  color:var(--ink-soft);text-decoration:none;font-size:1rem;
  display:grid;place-items:center;width:2rem;height:2rem;border-radius:999px;
  transition:color .15s ease,background .15s ease;
}
.woocommerce-cart .woo-shell .shop_table td.product-remove a:hover{color:var(--terra);background:color-mix(in srgb,var(--terra) 8%,transparent)}
/* stepper de cantidad */
.gm-qty{display:inline-flex!important;align-items:stretch;border:1px solid var(--line);border-radius:999px;background:var(--paper);overflow:hidden}
.gm-qty .gm-qty__btn{
  width:2.3rem;border:none;background:none;cursor:pointer;color:var(--ink-soft);
  font-size:1.05rem;line-height:1;display:grid;place-items:center;transition:background .15s ease,color .15s ease;
}
.gm-qty .gm-qty__btn:hover{background:var(--paper-2);color:var(--ink)}
.gm-qty input[type=number]{
  width:2.6rem!important;text-align:center;border:none!important;background:none!important;
  font-family:var(--mono);font-size:.95rem!important;color:var(--ink);padding:.55rem 0!important;
  -moz-appearance:textfield;appearance:textfield;
}
.gm-qty input[type=number]::-webkit-inner-spin-button,
.gm-qty input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.gm-qty input[type=number]:focus{outline:none}
/* cupón + actualizar */
.woocommerce-cart .woo-shell .coupon{display:inline-flex;gap:.6rem;align-items:center}
.woocommerce-cart .woo-shell .coupon .input-text{
  border:1px solid var(--line)!important;border-radius:999px!important;background:var(--paper)!important;
  padding:.7rem 1.1rem!important;width:11rem!important;font-family:var(--mono);font-size:.8rem!important;
}
.woocommerce-cart .woo-shell td.actions .button:disabled,
.woocommerce-cart .woo-shell td.actions .button[disabled]{
  background:var(--paper-2)!important;color:var(--ink-soft)!important;border:1px solid var(--line)!important;opacity:1!important;transform:none!important;
}
.woocommerce-cart .woo-shell .cart-collaterals .cart_totals{border:1px solid var(--line);border-radius:14px;background:var(--paper-2);padding:1.4rem 1.5rem;width:100%}
.woocommerce-cart .woo-shell .cart-collaterals h2{font-size:1.3rem;font-weight:800;letter-spacing:-.01em;margin-bottom:1rem}
.woocommerce-cart .woo-shell .cart-collaterals .shop_table td,
.woocommerce-cart .woo-shell .cart-collaterals .shop_table th{border-color:var(--line)}
.woocommerce-cart .woo-shell .cart-collaterals .shop_table .order-total .amount{font-family:var(--mono);font-size:1.05rem}
/* carrito mobile: quitar el × huérfano y anclarlo a la esquina del bloque */
@media (max-width:768px){
  .woocommerce-cart table.cart tr.cart_item{position:relative;padding:.6rem 0}
  .woocommerce-cart table.cart td.product-remove{
    position:absolute;top:.9rem;right:0;width:auto!important;text-align:right;
  }
}

/* =========================================================
   MI CUENTA — dashboard
   ========================================================= */
.gm-dash__head h2{
  font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:800;letter-spacing:-.02em;
  line-height:1.02;margin-block:.8rem .6rem;
}
.gm-dash__head h2 .serif-i{color:var(--ink-soft)}
.gm-dash__head p{color:var(--ink-soft);max-width:52ch;margin-bottom:2rem}
.gm-dash__actions{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2.4rem}
.gm-action{
  display:grid;align-content:start;gap:.45rem;
  background:var(--paper-2);border:1px solid var(--line);border-radius:14px;
  padding:1.3rem 1.4rem 1.5rem;text-decoration:none;color:var(--ink);
  transition:transform .18s ease,border-color .18s ease;
}
.gm-action:hover{transform:translateY(-3px);border-color:var(--sage)}
.gm-action--primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.gm-action--primary:hover{border-color:var(--terra)}
.gm-action__num{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;color:var(--ink-soft)}
.gm-action--primary .gm-action__num{color:var(--terra-soft)}
.gm-action__title{font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.35rem;line-height:1.15}
.gm-action__title .serif-i{color:var(--ink-soft)}
.gm-action--primary .gm-action__title .serif-i{color:var(--glaucous)}
.gm-action__desc{font-size:.88rem;color:var(--ink-soft)}
.gm-action--primary .gm-action__desc{color:rgba(242,246,239,.72)}
.gm-dash__alerta{
  border:1px solid color-mix(in srgb,var(--terra) 45%,transparent);border-radius:14px;
  background:color-mix(in srgb,var(--terra) 6%,var(--paper));
  padding:1rem 1.3rem;margin-bottom:2.4rem;font-size:.95rem;color:var(--ink);
}
.gm-dash__orders-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem}
.gm-dash__orders-head h3{font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.5rem}
.gm-dash__ver-todos{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-soft);text-decoration:none;
}
.gm-dash__ver-todos:hover{color:var(--terra)}
.gm-orders{width:100%;border-collapse:collapse;background:var(--paper-2);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.gm-orders th{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-soft);font-weight:500;text-align:left;
  padding:.8rem 1rem;border-bottom:1px solid var(--line);
}
.gm-orders td{padding:.85rem 1rem;border-bottom:1px solid var(--line);font-size:.93rem;color:var(--ink)}
.gm-orders tr:last-child td{border-bottom:none}
.gm-orders__num{font-family:var(--mono);font-size:.8rem;color:var(--ink-soft)}
.gm-orders__num a{color:var(--ink);text-decoration:none}
.gm-orders__num a:hover{color:var(--terra)}
.gm-orders__total{font-family:var(--mono);font-size:.85rem}
.gm-orders__ver{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--terra);text-decoration:none;margin-right:.8rem;
}
.gm-orders__ver:hover{text-decoration:underline}
.gm-orders__vacio{
  border:1px solid var(--line);border-radius:14px;background:var(--paper-2);
  padding:2.2rem 2rem;text-align:center;
}
.gm-orders__vacio .serif-i{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--ink)}
.gm-orders__vacio p{color:var(--ink-soft);margin-block:.6rem 1.4rem}
.gm-pill{
  display:inline-block;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--line);border-radius:999px;padding:.28rem .7rem;color:var(--ink-soft);
}
.gm-pill--processing{border-color:var(--terra-soft);color:var(--terra)}
.gm-pill--completed{border-color:var(--sage);color:var(--ink)}
.gm-pill--pending,.gm-pill--on-hold{border-color:color-mix(in srgb,var(--terra) 45%,transparent);color:var(--terra)}
.gm-pill--gb-on-credit{border-color:var(--ink);background:var(--ink);color:var(--paper)}
@media (max-width:900px){
  .gm-dash__actions{grid-template-columns:1fr}
}
/* pager de pedidos */
.gm-orders__pager{display:flex;justify-content:space-between;gap:1rem;margin-top:1.2rem}
.gm-orders__pager a{
  font-family:var(--mono);font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-soft);text-decoration:none;
}
.gm-orders__pager a:hover{color:var(--terra)}
.gm-orders__items{font-family:var(--mono);font-size:.7rem;color:var(--ink-soft)}
/* tablas de pedidos nativas con el lenguaje del tema */
.woo-shell .woocommerce-orders-table{border:1px solid var(--line);border-radius:14px;background:var(--paper-2)}
.woo-shell .woocommerce-orders-table th{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-soft);font-weight:500;padding:.8rem 1rem;border-bottom:1px solid var(--line);
}
.woo-shell .woocommerce-orders-table td{padding:.9rem 1rem;border-bottom:1px solid var(--line);font-size:.93rem}
.woo-shell .woocommerce-orders-table tr:last-child td{border-bottom:none}
.woo-shell mark.order-status{
  display:inline-block;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--line);border-radius:999px;padding:.28rem .7rem;background:var(--paper);color:var(--ink-soft);
}
.woo-shell mark.order-status.status-processing{border-color:var(--terra-soft);color:var(--terra);background:transparent}
.woo-shell mark.order-status.status-completed{border-color:var(--sage);color:var(--ink);background:transparent}
.woo-shell mark.order-status.status-pending,
.woo-shell mark.order-status.status-on-hold{border-color:color-mix(in srgb,var(--terra) 45%,transparent);color:var(--terra);background:transparent}
.woo-shell mark.order-status.status-gb-on-credit{background:var(--ink);border-color:var(--ink);color:var(--paper)}
/* fieldsets y descripciones en Detalles de la cuenta */
.woo-shell fieldset{border:none;padding:.4rem 0 0;margin:1.8rem 0}
.woo-shell fieldset legend{
  font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-soft);padding:0 .6rem;
}
.woo-shell form .description, .woo-shell span.description{
  font-style:normal!important;font-family:var(--mono);font-size:.72rem;color:var(--ink-soft);letter-spacing:.03em;
}
.woo-shell form.woocommerce-edit-account em,
.woo-shell form.edit-account em,
.woo-shell form.woocommerce-edit-address em,
.woo-shell form em.description{
  font-style:normal;font-family:var(--mono);font-size:.72rem;letter-spacing:.03em;color:var(--ink-soft);
}

/* =========================================================
   CARRITO Y CHECKOUT (blocks) — a todo el ancho del shell
   ========================================================= */
.woo-shell .wp-block-woocommerce-cart,
.woo-shell .wp-block-woocommerce-checkout,
.woo-shell .wc-block-cart,
.woo-shell form.wc-block-checkout__form{max-width:none!important}
.woo-shell .wp-block-woocommerce-cart .wc-block-cart,
.woo-shell .wp-block-woocommerce-checkout .wc-block-checkout{
  display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:2.5rem;align-items:start;
}
.woo-shell .wp-block-woocommerce-cart .wc-block-cart__sidebar,
.woo-shell .wp-block-woocommerce-checkout .wc-block-components-sidebar{width:auto}
.woo-shell .wc-block-components-sidebar .wc-block-components-totals-container,
.woo-shell .wc-block-components-panel{
  border:1px solid var(--line);border-radius:14px;background:var(--paper-2);padding:1rem 1.2rem;
}
.woo-shell .wc-block-components-totals-item__value{font-family:var(--mono);font-size:.95rem}
.woo-shell .wc-block-components-title{font-weight:800;letter-spacing:-.02em}
.woo-shell .wc-block-components-quantity-selector{border-radius:10px}
.woo-shell .wc-block-components-product-badge{background:var(--paper-2);border:1px solid var(--line);border-radius:999px;font-family:var(--mono)}
.woo-shell .wc-block-components-text-input input,
.woo-shell .wc-block-components-combobox-control input,
.woo-shell .wc-block-components-select input{
  border-radius:14px;border:1px solid var(--line);background:var(--paper);padding:.85rem 1rem;
}
.woo-shell .wc-block-components-button:not(.is-link){
  border-radius:999px;font-family:var(--disp);font-weight:600;letter-spacing:0;
}
.woo-shell .wc-block-components-button:not(.is-link).contained{
  background:var(--ink);color:var(--paper);
}
.woo-shell .wc-block-components-button:not(.is-link).contained:hover{background:var(--terra)}
.woo-shell .wc-block-components-button:not(.is-link).is-secondary{
  background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);
}
.woo-shell .wc-block-components-chip{border-radius:999px;background:var(--paper-2);border:1px solid var(--line)}
.woo-shell .wc-block-components-checkbox__mark{background:var(--ink)}
@media (max-width:900px){
  .woo-shell .wp-block-woocommerce-cart .wc-block-cart,
  .woo-shell .wp-block-woocommerce-checkout .wc-block-checkout{grid-template-columns:1fr}
}

/* =========================================================
   NOTICES WOO — tarjetas neutrales, acciones como enlaces
   ========================================================= */
.woo-shell .woocommerce-info,
.woo-shell .woocommerce-message,
.woo-shell .woocommerce-error li{
  border:1px solid var(--line)!important;background:var(--paper-2)!important;
  border-radius:14px!important;color:var(--ink)!important;
  padding:1rem 1.2rem!important;border-top-width:1px!important;
}
.woo-shell .woocommerce-info::before,
.woo-shell .woocommerce-message::before,
.woo-shell .woocommerce-error::before{display:none!important}
.woo-shell .woocommerce-error{background:color-mix(in srgb,var(--terra) 5%,var(--paper))!important}
.woo-shell .woocommerce-info .button,
.woo-shell .woocommerce-message .button,
.woo-shell .woocommerce-error .button{
  background:none!important;border:none!important;color:var(--terra)!important;
  padding:0!important;font-family:var(--mono);font-size:.72rem!important;
  letter-spacing:.1em;text-transform:uppercase;text-decoration:underline;
  box-shadow:none!important;
}
.woo-shell .woocommerce-info .button:hover{text-decoration:none}
.woo-shell #add_payment_method #payment,
.woo-shell .woocommerce-checkout #payment{
  background:var(--paper-2);border:1px solid var(--line);border-radius:14px;
}
.woo-shell #payment div.payment_box{
  background:var(--paper)!important;border:1px solid var(--line);border-radius:14px;
}
.woo-shell #payment div.payment_box::before{border-bottom-color:var(--paper)!important;display:none}

/* Transferencia bancaria — datos organizados para revisión rápida antes de pagar. */
.woo-shell #payment .payment_box.payment_method_gb_transfer{
  padding:1.25rem!important;
}
.gb-transfer-checkout{display:grid;gap:1rem;color:var(--ink)}
.gb-transfer-checkout p{margin:0!important}
.gb-transfer-checkout__intro{
  font-family:var(--serif);font-size:1.08rem;line-height:1.45;color:var(--ink-soft);
}
.gb-transfer-checkout__heading{
  display:grid;gap:.18rem;padding-top:.2rem;
}
.gb-transfer-checkout__heading span,
.gb-transfer-checkout__details dt{
  font-family:var(--mono);font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);
}
.gb-transfer-checkout__heading strong{font-family:var(--disp);font-size:1.1rem;line-height:1.15}
.gb-transfer-checkout__accounts{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;
}
.gb-transfer-checkout__account{
  min-width:0;padding:1rem;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);
  box-shadow:inset 0 3px 0 var(--verde-claro, #5a7a5a);
}
.gb-transfer-checkout__bank{
  margin-bottom:.9rem!important;font-family:var(--disp);font-weight:700;font-size:1rem;line-height:1.2;
}
.gb-transfer-checkout__details{display:grid;gap:.7rem;margin:0}
.gb-transfer-checkout__details div{display:grid;gap:.18rem}
.gb-transfer-checkout__details dd{margin:0;font-size:.88rem;line-height:1.35;overflow-wrap:anywhere}
.gb-transfer-checkout__details div:first-child dd{font-family:var(--mono);font-size:.77rem;color:var(--ink)}
.gb-transfer-checkout__instructions{
  display:grid;gap:.25rem;padding:.9rem 1rem;border-left:3px solid var(--terra);border-radius:0 10px 10px 0;
  background:color-mix(in srgb,var(--terra) 7%,transparent);font-size:.86rem;line-height:1.48;color:var(--ink-soft);
}
.gb-transfer-checkout__instructions strong{font-family:var(--disp);font-size:.92rem;color:var(--ink)}
@media (max-width:560px){
  .woo-shell #payment .payment_box.payment_method_gb_transfer{padding:1rem!important}
  .gb-transfer-checkout__accounts{grid-template-columns:1fr}
}

/* acciones de cabecera: carrito + hamburguesa + nav juntos a la derecha */
.row-actions{display:flex;align-items:center;gap:.9rem}
@media (max-width:760px){
  .row-actions{gap:.6rem}
}

/* =========================================================
   PAGE HEAD — títulos de carrito / checkout / mi cuenta
   ========================================================= */
.woo-page-head{margin-bottom:1.6rem}
.woo-page-head h1{margin:.6rem 0 0}
.woocommerce-account .woo-shell .wrap > .woo-page-head h1{
  font-size:clamp(1.9rem,3.6vw,2.9rem);font-weight:800;letter-spacing:-.02em;line-height:1;
  margin:.5rem 0 0;
}
/* en Mi cuenta el saludo del dashboard ya es el heading visual */
.woocommerce-account .woo-page-head h1{font-size:1.4rem;margin:.5rem 0 0;color:var(--ink-soft)}

/* =========================================================
   LOGIN B2B — puerta de la tienda
   ========================================================= */
.login-sec{min-height:calc(100vh - 0px);display:flex}
.login-grid{
  display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);
  min-height:calc(100vh - 62px);width:100%;
}
.login-photo{position:relative;overflow:hidden;isolation:isolate}
.login-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.login-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,22,16,.88) 0%,rgba(11,22,16,.35) 55%,rgba(11,22,16,.25) 100%)}
.login-photo figcaption{
  position:absolute;left:clamp(1.5rem,4vw,3rem);right:clamp(1.5rem,4vw,3rem);bottom:clamp(1.8rem,5vh,3rem);
  z-index:2;color:#F2F6EF;
}
.login-photo .eyebrow{color:rgba(242,246,239,.85);margin-bottom:.9rem}
.login-photo blockquote{
  font-family:var(--serif);font-style:italic;font-weight:400;
  font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.2;max-width:16ch;text-wrap:balance;
}
.login-photo blockquote .serif-i{color:var(--glaucous)}
.login-panel{
  align-self:center;padding:clamp(2.5rem,6vh,4.5rem) clamp(1.5rem,4vw,3.5rem);
  max-width:560px;width:100%;margin-inline:auto;
}
.login-panel h1{
  font-size:clamp(2.2rem,4.4vw,3.6rem);font-weight:800;letter-spacing:-.02em;line-height:1;
  margin-block:1rem .8rem;
}
.login-panel h1 .serif-i{color:var(--ink-soft)}
.login-panel .lede-small{color:var(--ink-soft);max-width:46ch;margin-bottom:2rem}
.login-form .field{display:grid;gap:.5rem;margin-bottom:1.4rem}
.login-form .field label{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-soft);
}
.login-form .field input{
  font-family:var(--disp);font-size:1rem;color:var(--ink);
  background:var(--paper);border:1px solid var(--line);border-radius:14px;
  padding:.85rem 1.1rem;width:100%;transition:border-color .18s ease;
}
.login-form .field input:focus-visible{outline:none;border-color:var(--terra)}
.login-remember{
  display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;
  margin-bottom:1.6rem;
}
.login-remember label{
  display:inline-flex;align-items:center;gap:.55rem;
  font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);
  cursor:pointer;
}
.login-remember input{width:1rem;height:1rem;accent-color:var(--terra)}
.login-remember a{
  font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-soft);text-decoration:none;transition:color .15s ease;
}
.login-remember a:hover{color:var(--terra)}
.login-help{
  margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--line);
  font-size:.92rem;color:var(--ink-soft);
}
.login-help a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--terra-soft)}
.login-help a:hover{color:var(--terra)}
.login-notice{
  border:1px solid var(--line);border-radius:14px;background:var(--paper-2);
  padding:1rem 1.2rem;margin-bottom:1.6rem;font-size:.95rem;color:var(--ink);
}
.login-notice--error{border-color:color-mix(in srgb,var(--terra) 45%,transparent)}
.login-notice--error p{color:var(--terra)}
@media (max-width:900px){
  .login-grid{grid-template-columns:1fr;min-height:auto}
  .login-photo{min-height:38vh;min-height:38svh}
  .login-panel{padding-block:clamp(2.5rem,7vh,4rem)}
}

/* =========================================================
   COLOCACIÓN EXPLÍCITA — nav col1, todo lo demás col2
   (inmune a hijos invisibles del shortcode de Woo)
   ========================================================= */
.woocommerce-account .woo-shell .woocommerce > *{grid-column:2;min-width:0}
.woocommerce-account .woo-shell .woocommerce > nav.woocommerce-MyAccount-navigation{
  grid-column:1!important;grid-row:1!important;min-width:0;
}
.woocommerce-account .woo-shell .woocommerce > .woocommerce-MyAccount-content{
  grid-column:2!important;grid-row:1!important;
}
/* =========================================================
   MI CUENTA — sidebar con identidad + iconos
   (por encima de los !important del plugin B2B)
   ========================================================= */
.woocommerce-account .woo-shell .woocommerce-MyAccount-navigation{
  padding:0!important;
}
.gm-sidenav ul{
  list-style:none!important;margin:0!important;padding:.5rem!important;
  display:grid!important;gap:2px!important;
  background:var(--paper-2)!important;border:1px solid var(--line)!important;border-radius:14px!important;
}
.gm-sidenav ul li a,
.gm-sidenav ul li a:hover,
.gm-sidenav ul li a:focus{
  display:flex!important;align-items:center;gap:.65rem;
  padding:.62rem .8rem!important;margin:0!important;
  border:none!important;border-radius:9px!important;
  background:transparent!important;color:var(--ink-soft)!important;
  font-size:.92rem!important;font-weight:500!important;text-decoration:none!important;
  transition:background .15s ease,color .15s ease;
}
.gm-sidenav ul li a:hover{background:var(--paper)!important;color:var(--ink)!important}
.gm-sidenav ul li.is-active a,
.gm-sidenav ul li.active a{
  background:var(--ink)!important;color:var(--paper)!important;
}
.gm-sidenav ul li.is-active a .gm-nav__icon{color:var(--terra-soft)!important}
.gm-nav__icon{flex:none;opacity:.85}
.gm-sidenav ul li:last-child{margin-top:2px!important}
.gm-sidenav ul li:last-child a{color:var(--terra)!important}
.gm-sidenav ul li:last-child a:hover{color:var(--terra)!important;background:color-mix(in srgb,var(--terra) 7%,transparent)!important}

/* identidad del cliente dentro del sidebar */
.gm-sidenav__id{
  display:flex;align-items:center;gap:.8rem;
  padding:0 .2rem 1.1rem;margin-bottom:.9rem;
  border-bottom:1px solid var(--line);
}
.gm-sidenav__avatar{
  width:2.6rem;height:2.6rem;border-radius:999px;flex:none;
  background:var(--ink);color:var(--paper);
  display:grid;place-items:center;
  font-family:var(--serif);font-style:italic;font-size:1.25rem;
}
.gm-sidenav__who{display:grid;gap:.1rem;min-width:0}
.gm-sidenav__name{
  font-family:var(--serif);font-style:italic;font-weight:500;font-size:1.1rem;
  color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.gm-sidenav__meta{
  font-family:var(--mono);font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);
}
.gm-sidenav__meta .dot{color:var(--terra)}

/* mobile: chips horizontales con scroll (sin cabecera de identidad) */
@media (max-width:820px){
  .woocommerce-account .woo-shell .woocommerce-MyAccount-navigation{margin-bottom:1.6rem!important}
  .gm-sidenav__id{display:none}
  .gm-sidenav ul{
    display:flex!important;overflow-x:auto!important;gap:.4rem!important;padding:.4rem!important;
  }
  .gm-sidenav ul::-webkit-scrollbar{display:none}
  .gm-sidenav ul li{flex:0 0 auto!important}
  .gm-sidenav ul li a{white-space:nowrap!important}
  .gm-sidenav ul li:last-child{margin-top:0!important}
}



/* =========================================================
   RITMO VERTICAL — páginas internas de la tienda (predictible)
   ========================================================= */
/* el header fijo mide ~63px: el shell arranca por debajo con aire parejo */
.woo-shell--page{padding-block:5.75rem 4.5rem}
@media (max-width:820px){
  .woo-shell--page{padding-block:5.25rem 3rem}
}
.woo-page-head{margin-bottom:1.6rem}
.woo-page-head h1{margin:.6rem 0 0}
.woo-shell .woocommerce > *:first-child{margin-top:0}
.woo-shell .woocommerce-MyAccount-content > :first-child{margin-top:0}
.woo-shell .woocommerce-MyAccount-content > :last-child{margin-bottom:0}
.woo-shell .woocommerce-notices-wrapper .woocommerce-info,
.woo-shell .woocommerce-notices-wrapper .woocommerce-message,
.woo-shell .woocommerce-notices-wrapper .woocommerce-error{margin:0 0 1.6rem!important}
/* formularios de cuenta: filas parejas */
.woo-shell form.edit-account .form-row,
.woo-shell form.edit-address .form-row,
.woo-shell form.woocommerce-EditAccountForm .form-row{margin-bottom:1.1rem}
.woo-shell form fieldset{margin-block:1.6rem}

/* colocación explícita: nav col1, todo lo demás col2 (inmune a hijos invisibles) */
.woocommerce-account .woo-shell .woocommerce > *{grid-column:2;min-width:0}
.woocommerce-account .woo-shell .woocommerce > nav.woocommerce-MyAccount-navigation{
  grid-column:1!important;grid-row:1!important;min-width:0;
}
.woocommerce-account .woo-shell .woocommerce > .woocommerce-MyAccount-content{
  grid-column:2!important;grid-row:1!important;
}

/* =========================================================
   DRAWER OFF-CANVAS — tu carrito
   ========================================================= */
.gm-drawer{
  position:fixed;inset:0;z-index:200;pointer-events:none;
  visibility:hidden;transition:visibility 0s linear .32s;
}
.gm-drawer[aria-hidden="false"]{visibility:visible;transition:visibility 0s}
.gm-drawer[aria-hidden="true"] .gm-drawer__panel{transform:translateX(105%)}
.gm-drawer[aria-hidden="true"] .gm-drawer__backdrop{opacity:0;pointer-events:none!important}
.gm-drawer__backdrop{
  position:absolute;inset:0;background:rgba(11,22,16,.55);
  backdrop-filter:blur(3px);opacity:1;transition:opacity .28s ease;
}
.gm-drawer__panel{
  position:absolute;top:0;right:0;bottom:0;
  width:min(430px,100vw);
  background:var(--paper);border-left:1px solid var(--line);
  display:flex;flex-direction:column;
  transform:translateX(0);transition:transform .32s cubic-bezier(.32,.72,.28,1);
  pointer-events:auto;
}
.gm-drawer__head{
  display:flex;align-items:center;justify-content:space-between;
  padding:1.3rem 1.5rem;border-bottom:1px solid var(--line);
}
.gm-drawer__close{
  width:2.3rem;height:2.3rem;border-radius:999px;border:1px solid var(--line);
  background:none;cursor:pointer;color:var(--ink);font-size:.9rem;
  display:grid;place-items:center;transition:background .15s ease,color .15s ease;
}
.gm-drawer__close:hover{background:var(--ink);color:var(--paper)}
.gm-drawer__body{flex:1;overflow-y:auto;padding:1.3rem 1.5rem}
.gm-drawer__foot{
  padding:1rem 1.5rem 1.3rem;border-top:1px solid var(--line);
}
.gm-drawer__note{
  font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-soft);
}
.gm-drawer__flash{
  display:none;margin:0 1.5rem;padding:.7rem 1rem;border-radius:10px;
  background:var(--paper-2);border:1px solid var(--line);
  font-family:var(--mono);font-size:.68rem;letter-spacing:.05em;color:var(--ink);
}
.gm-drawer__flash.is-visible{display:block}
body.gm-drawer-open{overflow:hidden}

/* mini-cart de Woo dentro del drawer */
.gm-drawer .widget_shopping_cart_content{display:flex;flex-direction:column;min-height:100%}
.gm-drawer ul.woocommerce-mini-cart{
  list-style:none;margin:0;padding:0;flex:1;
  display:grid;gap:1rem;align-content:start;
}
/* ítem en celdas fijas: [thumb] [nombre / cantidad×precio] [×]
   Woo emite ×, thumb, nombre, cantidad — el grid asigna cada uno su lugar */
.gm-drawer li.woocommerce-mini-cart-item{
  display:grid!important;
  grid-template-columns:60px minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  gap:.15rem .9rem;align-items:center;
  position:relative;
  padding:.8rem 2.2rem .8rem .8rem!important;margin:0;
  border:1px solid var(--line);border-radius:14px;background:var(--paper-2);
}
/* DOM real de Woo: a1=×, a2=[img+nombre juntos], span.cantidad.
   El link del producto es flex: miniatura a la izquierda, nombre a su derecha. */
.gm-drawer li.woocommerce-mini-cart-item > a.remove_from_cart_button{
  grid-column:3;grid-row:1;justify-self:end;align-self:start;
}
.gm-drawer li.woocommerce-mini-cart-item > a:nth-of-type(2){
  grid-column:1 / 3;grid-row:1 / span 2;
  display:flex!important;align-items:center;gap:.9rem;min-width:0;
  color:var(--ink);text-decoration:none;
}
.gm-drawer li.woocommerce-mini-cart-item > a:nth-of-type(2) img{
  width:60px;height:60px;flex:none;object-fit:cover;border-radius:10px;margin:0;
}
.gm-drawer li.woocommerce-mini-cart-item > a:nth-of-type(2):hover{color:var(--terra)}
.gm-drawer li.woocommerce-mini-cart-item .quantity{
  grid-column:3;grid-row:2;justify-self:end;align-self:end;text-align:right;
  font-family:var(--mono);font-size:.74rem;color:var(--ink-soft);white-space:nowrap;
}
.gm-drawer li.woocommerce-mini-cart-item .quantity .woocommerce-Price-amount{
  color:var(--ink);font-size:.8rem;
}
.gm-drawer li.woocommerce-mini-cart-item .remove_from_cart_button{
  width:1.5rem!important;height:1.5rem;display:grid!important;place-items:center;
  background:none;border-radius:999px;
  font-size:.85rem!important;line-height:1;text-indent:0!important;
  transition:color .15s ease,background .15s ease;
}
.gm-drawer li.woocommerce-mini-cart-item .remove_from_cart_button:hover{
  color:var(--terra)!important;background:color-mix(in srgb,var(--terra) 8%,transparent);
}
.gm-drawer li.woocommerce-mini-cart-item .remove_from_cart_button:hover{
  color:var(--terra)!important;background:color-mix(in srgb,var(--terra) 8%,transparent);
}
.gm-drawer p.woocommerce-mini-cart__total{
  display:flex;justify-content:space-between;align-items:center;
  border-top:1px solid var(--line);padding:1rem 0 0!important;margin:1.2rem 0 0!important;
  font-family:var(--mono);font-size:.78rem;letter-spacing:.06em;color:var(--ink-soft);
}
.gm-drawer p.woocommerce-mini-cart__total .amount{font-size:1.05rem;color:var(--ink)}
.gm-drawer p.woocommerce-mini-cart__buttons{
  display:grid!important;grid-template-columns:1fr;gap:.6rem;margin:1.1rem 0 0!important;
}
.gm-drawer p.woocommerce-mini-cart__buttons .button{
  display:flex!important;justify-content:center;align-items:center;
  border-radius:999px!important;padding:.85rem 1.4rem!important;
  font-family:var(--disp);font-weight:600;font-size:.95rem!important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.gm-drawer p.woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout){
  background:transparent!important;border:1px solid var(--ink)!important;color:var(--ink)!important;
}
.gm-drawer p.woocommerce-mini-cart__buttons .button.wc-forward:not(.checkout):hover{background:var(--ink)!important;color:var(--paper)!important}
.gm-drawer p.woocommerce-mini-cart__buttons .button.checkout{
  background:var(--terra)!important;border:1px solid var(--terra)!important;color:#F2F6EF!important;
}
.gm-drawer p.woocommerce-mini-cart__buttons .button.checkout:hover{background:#9a3d22!important;transform:translateY(-2px)}
.gm-drawer p.woocommerce-mini-cart__empty-message{
  text-align:center;padding:3rem 0;font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--ink-soft);
}
@media (max-width:560px){
  .gm-drawer__panel{width:100vw;border-left:none}
}

/* stepper compacto dentro de la tabla de pedido rápido
   (los !important superan los del plugin en .gb-bo__qty) */
.gm-qty--sm{gap:0}
.gm-qty--sm .gm-qty__btn{width:1.8rem;font-size:.85rem;color:var(--ink-soft)}
.gm-qty--sm .gm-qty__btn:hover{color:var(--terra)}
.gm-qty--sm input[type=number]{
  width:2.1rem!important;padding:.4rem 0!important;
  font-size:.85rem!important;font-weight:500!important;
  border:none!important;background:none!important;
  border-radius:0!important;box-shadow:none!important;
}
.gm-qty--sm input.gb-bo__qty:focus{border:none!important;box-shadow:none!important}

/* Mi cuenta: título a todo el ancho, nav + contenido en dos columnas.
   El grid vive en div.woocommerce (2 hijos reales): determinista. */
@media (min-width:821px){
  .woocommerce-account .woo-shell .woocommerce{
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);
    gap:2.5rem;align-items:start;
  }
  .woocommerce-account .woo-shell .woocommerce-MyAccount-content{min-width:0}
}

/* =========================================================
   NAV — icono de carrito de mercado con contador
   ========================================================= */
.gm-cart{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:2.4rem;height:2.4rem;border-radius:999px;
  color:var(--ink-soft);transition:color .15s ease,background .15s ease;
}
.gm-cart:hover{color:var(--ink);background:var(--paper-2)}
.gm-cart__icon{display:block}
.gm-cart__count{
  position:absolute;top:-2px;right:-4px;
  min-width:1.05rem;height:1.05rem;padding:0 .28rem;
  display:grid;place-items:center;
  background:var(--terra);color:#F2F6EF;border-radius:999px;
  font-family:var(--mono);font-size:.6rem;font-weight:500;letter-spacing:0;
}
.gm-cart__count.is-empty{background:var(--glaucous);color:var(--ink)}

/* pedido rápido: el botón principal bien protagonista */
.woo-shell .gb-bo__btn-add{
  background:var(--terra)!important;border:1px solid var(--terra)!important;color:#F2F6EF!important;
  border-radius:999px!important;padding:.85rem 1.8rem!important;
  font-family:var(--disp);font-weight:600;font-size:.95rem!important;
  transition:transform .18s ease,background .18s ease;
}
.woo-shell .gb-bo__btn-add:hover{transform:translateY(-2px);background:#9a3d22!important}
/* sección exploración dentro de la tienda */
.woo-section-head{margin-bottom:2.2rem;max-width:56ch}
.woo-section-head h2{
  font-size:clamp(1.8rem,3.6vw,2.8rem);font-weight:800;letter-spacing:-.02em;
  line-height:1.05;margin-block:.8rem .6rem;
}
.woo-section-head h2 .serif-i{color:var(--ink-soft)}
.woo-section-head p{color:var(--ink-soft);font-size:.98rem}
.woo-shell--catalog{border-top:1px solid var(--line);background:var(--paper-2)}

/* =========================================================
   FICHA DE PRODUCTO — composición Green Mood
   Galería tarjeta sticky (index-view) + info editorial
   (H1 serif itálica, precio enmarcado en mono, chips)
   + banda de detalles + relacionados en banda paper-2.
   ========================================================= */
.gm-product{
  display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);
  gap:clamp(2.5rem,5vw,4.5rem);align-items:start;
}
.gm-product>.woocommerce-notices-wrapper{grid-column:1/-1}
.gm-product>.woocommerce-notices-wrapper:empty{display:none}

/* galería: tarjeta sticky como .index-view */
.gm-product__gallery{position:sticky;top:6.5rem}
.woo-shell .gm-product .gm-product__gallery .woocommerce-product-gallery.images{float:none;width:100%;max-width:none;margin:0}
.gm-product__gallery .woocommerce-product-gallery{
  position:relative;border:1px solid var(--line);border-radius:14px;
  background:var(--paper-2);overflow:hidden;
}
.gm-product__gallery .woocommerce-product-gallery__wrapper{width:100%;margin:0}
.gm-product__gallery .woocommerce-product-gallery__image img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover}
.gm-product__gallery .woocommerce-product-gallery__trigger{
  position:absolute;top:.9rem;right:.9rem;z-index:2;width:2.2rem;height:2.2rem;border-radius:999px;
  background:var(--paper);border:1px solid var(--line);text-indent:-9999px;overflow:hidden;
}
.gm-product__gallery .woocommerce-product-gallery__trigger::before{
  content:"";position:absolute;inset:0;
  background:var(--ink);-webkit-mask:center/1rem no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314241B' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
  mask:center/1rem no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2314241B' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E");
}
.gm-product__gallery .flex-control-thumbs{display:flex;gap:.6rem;margin-top:.7rem;padding:0;list-style:none}
.gm-product__gallery .flex-control-thumbs li{width:72px;flex:0 0 auto}
.gm-product__gallery .flex-control-thumbs img{width:100%;aspect-ratio:4/5;object-fit:cover;border:1px solid var(--line);border-radius:10px;cursor:pointer;opacity:.55;transition:opacity .15s ease}
.gm-product__gallery .flex-control-thumbs img.flex-active{opacity:1;outline:2px solid var(--terra);outline-offset:1px}

/* info: columna editorial */
.gm-product__info{display:grid;gap:1.15rem;align-content:start;padding-top:.3rem}
.gm-product__title{
  font-family:var(--serif);font-style:italic;font-weight:500;
  font-size:clamp(2.8rem,5vw,4.2rem);line-height:1;color:var(--ink);
  margin:0;
}
.gm-product__price{
  font-family:var(--mono);font-size:1.4rem;letter-spacing:.04em;color:var(--ink);
  border-block:1px solid var(--line);padding-block:.85rem;
}
.gm-product__price del{opacity:.45;font-size:.75em}
.gm-product__price ins{text-decoration:none;color:var(--terra)}
.gm-product__short{color:var(--ink-soft);font-size:1.02rem;line-height:1.55}
.gm-product__short p{margin:0}
.gm-product__cart form.cart{margin:0;display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}
.gm-product__cart .gm-qty{height:3rem}
.woo-shell .gm-product__cart .single_add_to_cart_button{
  border-radius:999px;padding:.9rem 2rem;font-weight:600;font-size:1rem;cursor:pointer;
  background:var(--terra)!important;color:#F2F6EF!important;border:1px solid var(--terra)!important;
  transition:background .15s ease,transform .18s ease;
}
.woo-shell .gm-product__cart .single_add_to_cart_button:hover{background:#9a3d22!important;transform:translateY(-2px)}
.gm-product__chips{list-style:none;display:flex;gap:.35rem;flex-wrap:wrap;margin:0;padding:0}
.gm-product__chips .tag{
  font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--line);border-radius:999px;padding:.28rem .7rem;color:var(--ink-soft);
}
.gm-product__chips .tag-oil{border-color:color-mix(in srgb,var(--terra) 55%,transparent);color:var(--terra)}

/* detalles: banda editorial */
.gm-product__details{
  margin-top:clamp(2.5rem,6vh,4rem);padding-top:2.2rem;
  border-top:1px solid var(--line);
}
.gm-product__details .eyebrow{display:block;margin-bottom:1.4rem}
.gm-product__details-body{max-width:68ch;color:var(--ink-soft);font-size:1.02rem;line-height:1.7}
.gm-product__details-body p{margin:0 0 1rem}
.gm-product__details-body p:last-child{margin-bottom:0}
.gm-product__details-body strong{color:var(--ink)}

/* relacionados: banda paper-2 con el grid del tema */
.woo-shell .related.products,.woo-shell .upsells.products{
  margin-top:clamp(2.5rem,6vh,4rem);
  background:var(--paper-2);border:1px solid var(--line);border-radius:14px;
  padding:2rem 2rem 2.2rem;
}
.woo-shell .related.products>h2,.woo-shell .upsells.products>h2{
  font-weight:800;letter-spacing:-.02em;font-size:clamp(1.5rem,2.4vw,2rem);margin:0 0 1.4rem;
}
@media (max-width:960px){
  .gm-product{grid-template-columns:1fr;gap:1.4rem}
  .gm-product__gallery{position:static}
  .gm-product__info{padding-top:0}
}

/* relacionados en mobile: tarjetas apiladas limpias */
@media (max-width:560px){
  .woo-shell .related.products ul.products li.product{
    display:block!important;
  }
  .woo-shell .related.products ul.products li.product img{
    aspect-ratio:1/1!important;height:auto!important;
  }
  .woo-shell .related.products ul.products li.product .button,
  .woo-shell .related.products ul.products li.product .add_to_cart_button{
    display:inline-flex!important;align-items:center;
    height:auto!important;margin:.7rem 1rem 1.2rem!important;
  }
}

/* ficha: Detalles integrado en la columna info + aire superior */
.gm-product__info .eyebrow{padding-top:.6rem}
.gm-product__detalles{display:grid;gap:.45rem;padding-top:.2rem}
.gm-product__detalles-eyebrow{font-size:.62rem;margin:0}
.gm-product__detalles-body{color:var(--ink-soft);font-size:.97rem;line-height:1.6}
.gm-product__detalles-body p{margin:0 0 .5rem}
.gm-product__detalles-body p:last-child{margin-bottom:0}
.gm-product__short{border-top:1px solid var(--line);padding-top:1rem}

/* =========================================================
   DRAWER — footer fijo (subtotal + botones siempre visibles),
   lista con scroll propio y fade indicador
   ========================================================= */
.gm-drawer__backdrop{pointer-events:auto}
.gm-drawer__body{
  overflow:hidden;display:flex;flex-direction:column;
  padding:1.1rem 1.5rem 1.3rem;
}
.gm-drawer .widget_shopping_cart_content{
  display:flex;flex-direction:column;flex:1 1 auto;min-height:0;
}
.gm-drawer ul.woocommerce-mini-cart{
  flex:1 1 auto;min-height:0;overflow-y:auto;
  padding:0 .35rem .2rem 0;
  scrollbar-width:thin;scrollbar-color:var(--line) transparent;
}
.gm-drawer ul.woocommerce-mini-cart::-webkit-scrollbar{width:4px}
.gm-drawer ul.woocommerce-mini-cart::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}
.gm-drawer p.woocommerce-mini-cart__total,
.gm-drawer p.woocommerce-mini-cart__buttons{flex:none}
.gm-drawer p.woocommerce-mini-cart__total{margin:0}
/* fade indicador: hay más productos abajo */
.gm-drawer ul.woocommerce-mini-cart.is-scrollable::after{
  content:"";position:sticky;bottom:0;display:block;height:42px;margin-top:-42px;
  background:linear-gradient(to top,var(--paper) 25%,transparent);
  pointer-events:none;
}
.gm-drawer ul.woocommerce-mini-cart.is-scrollable.is-at-bottom::after{content:none}
@media (max-width:560px){
  .gm-drawer__body{padding:1.1rem 1.2rem 1.2rem}
}

/* =========================================================
   CHECKOUT — datos a la izquierda, pedido a la derecha
   ========================================================= */
@media (min-width:900px){
  .woo-shell form.checkout.woocommerce-checkout{
    display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);
    gap:2.5rem;align-items:start;
  }
  .woo-shell form.checkout #customer_details{
    grid-column:1;grid-row:1 / span 3;
    float:none!important;width:100%!important;margin:0;
  }
  .woo-shell form.checkout #order_review_heading{
    grid-column:2;grid-row:1;float:none!important;width:100%!important;margin:0 0 1rem;
  }
  .woo-shell form.checkout #order_review{
    grid-column:2;grid-row:2 / span 2;
    float:none!important;width:100%!important;
  }
}
.woo-shell form.checkout #order_review{
  border:1px solid var(--line);border-radius:14px;background:var(--paper-2);padding:1.4rem 1.5rem;
}
.woo-shell form.checkout #order_review_heading{
  font-size:clamp(1.5rem,2.4vw,2rem);font-weight:800;letter-spacing:-.02em;
}
.woo-shell .woocommerce-privacy-policy-text p{
  font-size:.85rem;color:var(--ink-soft);line-height:1.5;
}
.woo-shell .woocommerce-privacy-policy-text a{color:var(--terra)}
/* país y CP ocultos al cliente (valores predeterminados se envían igual) */
.form-row.gm-hidden-field{display:none!important}
.woo-shell #ship-to-different-address{
  font-size:.95rem;
}
.woo-shell #ship-to-different-address label{
  display:flex;align-items:center;gap:.55rem;
  font-family:var(--disp);font-size:.95rem;font-weight:500;
  text-transform:none;letter-spacing:0;color:var(--ink);cursor:pointer;
}
.woo-shell #ship-to-different-address input{width:1rem;height:1rem;accent-color:var(--terra)}

/* checkout: facturación + envío + notas apilados en la columna izquierda;
   la tabla del pedido sin borde propio (la tarjeta es del wrapper) */
.woo-shell #customer_details .col2-set,
.woo-shell #customer_details .col-1,
.woo-shell #customer_details .col-2{
  float:none!important;width:100%!important;
}
.woo-shell #customer_details .col-2{margin-top:1.6rem}
.woo-shell #order_review table.woocommerce-checkout-review-order-table{
  border:none!important;background:transparent!important;border-radius:0!important;
}

/* catálogo PDF embebido (sin Issuu) */
.cat-frame-pdf{aspect-ratio:auto;max-width:960px;margin-inline:auto}
.cat-frame-pdf object{display:block;width:100%;height:min(82vh,880px);border:1px solid var(--line);border-radius:14px;background:var(--paper-2)}
.cat-pdf-fallback{display:grid;gap:1rem;justify-items:center;padding:3rem 1.5rem;text-align:center}
.cat-pdf-fallback .serif-i{font-family:var(--serif);font-style:italic;font-size:1.2rem;color:var(--ink)}
.cat-note{display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap}
@media (max-width:760px){
  .cat-frame-pdf object{height:68vh}
}
