/* ==========================================================================
   TD Shop · base (every page): tokens, buttons, header, footer, bag drawer
   Direction "Atelier", approved 17 Oct 2026.
   ========================================================================== */

:root{
  /* 23 Oct 2026: the shop pages wear the v3 "precisie en nerf" palette and type
     (same values as .tdh in tds-home.css). Token names kept so every rule follows. */
  --tds-bg:#F5F0E8;      /* canvas */
  --tds-bg2:#EDE5D8;     /* deeper band */
  --tds-ink:#1C1712;     /* text, primary buttons */
  --tds-ink2:#3A3129;    /* body copy */
  --tds-mut:#6B5D4D;     /* secondary text */
  --tds-teak:#9A5A24;    /* amber accent, used sparingly */
  --tds-sage:#4F6446;
  --tds-sage-l:#E2E8DC;
  --tds-line:#E3DACD;    /* hairlines */
  --tds-card:#FCFAF6;    /* product photo ground */
  --tds-ok:#3F6B35;
  --tds-err:#A23B2A;
  --tds-serif:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif;  /* headings (was Newsreader) */
  --tds-sans:'Geist',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --tds-mono:'Geist Mono',ui-monospace,Menlo,monospace;
  --tds-accent:'Fraunces',Georgia,serif;
  --tds-r:14px;          /* controls */
  --tds-r2:20px;         /* panels, photos */
  --tds-max:1240px;
  --tds-pad:clamp(16px,4.4vw,64px);
  --tds-ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- buttons & links ---------------------------------------------- */
.tds-btn,a.tds-btn,button.tds-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  min-height:52px;padding:0 26px;border:1px solid var(--tds-ink);border-radius:var(--tds-r);
  background:var(--tds-ink);color:#fff !important;text-decoration:none !important;
  font:500 15.5px/1 var(--tds-sans);letter-spacing:-.01em;text-transform:none;
  cursor:pointer;transition:background .2s,color .2s,border-color .2s;
}
.tds-btn:hover,.tds-btn:focus-visible{background:#000;border-color:#000;color:#fff !important}
.tds-btn--ghost,a.tds-btn--ghost,button.tds-btn--ghost{background:rgba(252,250,246,.5);border-color:rgba(28,23,18,.22);color:var(--tds-ink) !important}
.tds-btn--ghost:hover,.tds-btn--ghost:focus-visible{background:var(--tds-ink);color:#fff !important}
.tds-btn--block{display:flex;width:100%}
.tds-link,a.tds-link{color:var(--tds-ink);font:500 14px var(--tds-sans);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;background:none;border:0;padding:0;cursor:pointer}
.tds-link:hover{color:var(--tds-teak)}
.tds-i{display:block;flex:none}
:where(.tds-site) :focus-visible{outline:2px solid var(--tds-teak);outline-offset:2px}

/* ---------- announcement strip ------------------------------------------- */
.tds-strip{background:var(--tds-ink);color:#EDE6DB;font:500 12.5px/1.3 var(--tds-sans);letter-spacing:.03em;
  display:flex;justify-content:center;gap:28px;padding:9px var(--tds-pad);text-align:center}
.tds-strip span+span::before{content:"";display:inline-block;width:3px;height:3px;border-radius:50%;background:#8C7E6E;margin:0 28px 0 0;vertical-align:middle;position:relative;left:-14px;margin-right:-3px}
@media (max-width:760px){.tds-strip span:not(:first-child){display:none}}

/* ---------- header -------------------------------------------------------- */
.tds-hdr{position:relative;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;
  padding:0 var(--tds-pad);min-height:72px;background:var(--tds-bg);border-bottom:1px solid var(--tds-line);
  font-family:var(--tds-sans);color:var(--tds-ink)}
.tds-logo,a.tds-logo{font:400 27px/1 var(--tds-serif);letter-spacing:.005em;color:var(--tds-ink) !important;text-decoration:none !important;white-space:nowrap}
.tds-hdr .tds-logo{grid-column:1;justify-self:start}
.tds-nav{grid-column:2;display:flex;gap:30px;font-size:14.5px}
.tds-nav a{color:var(--tds-ink) !important;text-decoration:none !important;padding:26px 0;border-bottom:1px solid transparent;margin-bottom:-1px;transition:border-color .2s}
.tds-nav a:hover,.tds-nav a[aria-current="page"]{border-bottom-color:var(--tds-ink)}
.tds-nav__extra{display:none}
.tds-hdr__icons{grid-column:3;justify-self:end;display:flex;gap:22px;align-items:center;font-size:14px}
.tds-hdr__icons a{display:flex;align-items:center;gap:7px;color:var(--tds-ink) !important;text-decoration:none !important}
.tds-hdr__icons .tds-i{width:20px;height:20px}
.tds-bag-count{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--tds-ink);color:#fff;font:600 11px/20px var(--tds-sans);text-align:center}
.tds-bag-count[data-count="0"]{background:transparent;color:var(--tds-mut);border:1px solid var(--tds-line);line-height:18px}
/* language switch (NL / EN) */
.tds-lang{display:flex;align-items:center;gap:0;font:600 12px/1 var(--tds-sans);letter-spacing:.06em}
.tds-lang>*{padding:5px 7px;border:1px solid var(--tds-line);color:var(--tds-mut) !important;text-decoration:none !important}
.tds-lang>*+*{border-left:0}
.tds-lang>span{background:var(--tds-ink);border-color:var(--tds-ink);color:#fff !important}
.tds-lang a:hover{color:var(--tds-ink) !important}
.tds-hdr__icons .tds-lang span{display:inline-block !important}
.tds-lang--ftr{margin-left:auto}
.tds-nav .tds-lang>*{padding:6px 10px;border:1px solid var(--tds-line);margin:0;font-size:12px}
.tds-nav .tds-lang>*+*{border-left:0}
.tds-nav .tds-lang>span{border-color:var(--tds-ink)}
.tds-lang--menu{margin:18px 0 6px;align-self:flex-start}
@media (max-width:980px){.tds-hdr__icons .tds-lang{display:none}.tds-lang--ftr{margin-left:0;flex-basis:100%}}
.tds-lang--ftr>*{border-color:#5E554B;color:#BDB3A6 !important}
.tds-lang--ftr>span{background:#EDE6DB;border-color:#EDE6DB;color:var(--tds-ink) !important}
.tds-hdr__burger{display:none;background:none;border:0;padding:8px;margin-left:-8px;color:var(--tds-ink);cursor:pointer}

@media (max-width:980px){
  .tds-hdr{grid-template-columns:auto 1fr auto;min-height:62px}
  .tds-hdr__burger{display:block;grid-column:1}
  .tds-hdr .tds-logo{grid-column:2;justify-self:center;font-size:23px}
  .tds-hdr__icons{grid-column:3;gap:14px}
  .tds-hdr__icons span:not(.tds-bag-count){display:none}
  .tds-nav{position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--tds-bg);
    border-bottom:1px solid var(--tds-line);padding:6px var(--tds-pad) 18px;box-shadow:0 18px 30px -20px rgba(31,27,22,.35);
    visibility:hidden;opacity:0;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility 0s .2s}
  .tds-hdr.is-open .tds-nav{visibility:visible;opacity:1;transform:none;transition:opacity .2s,transform .2s}
  .tds-nav a{padding:14px 0;border-bottom:1px solid var(--tds-line);font-size:17px}
  .tds-nav a[aria-current="page"]{border-bottom-color:var(--tds-line);font-weight:600}
  .tds-nav__extra{display:flex;flex-direction:column;margin-top:10px}
  .tds-nav__extra a{font-size:14.5px;color:var(--tds-mut) !important;border:0;padding:9px 0}
}

/* minimal checkout header */
.tds-hdr--min{grid-template-columns:1fr auto 1fr}
.tds-hdr--min .tds-logo{grid-column:2;justify-self:center}
.tds-hdr__back{grid-column:1;justify-self:start;color:var(--tds-ink) !important;text-decoration:none !important;font-size:14px}
.tds-hdr__secure{grid-column:3;justify-self:end;display:flex;align-items:center;gap:6px;font-size:13px;color:var(--tds-mut)}
.tds-hdr__secure .tds-i{width:16px;height:16px}
@media (max-width:620px){.tds-hdr__secure{font-size:0;gap:0}.tds-hdr--min .tds-logo{font-size:21px}}

/* ---------- footer -------------------------------------------------------- */
.tds-ftr{background:var(--tds-ink);color:#CFC4B6;font:400 14px/1.6 var(--tds-sans);padding:64px var(--tds-pad) 28px}
.tds-ftr__in{max-width:var(--tds-max);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.tds-logo--light,a.tds-logo--light{color:#F6F3EE !important;font-size:26px}
.tds-ftr__brand p{margin:14px 0 14px;max-width:32ch}
.tds-ftr h2{font:600 12px/1 var(--tds-sans);letter-spacing:.1em;text-transform:uppercase;color:#8C7E6E;margin:6px 0 16px}
.tds-ftr ul{list-style:none;margin:0;padding:0}
.tds-ftr li{margin:0 0 8px}
.tds-ftr a{color:#E9E1D5 !important;text-decoration:none !important}
.tds-ftr a:hover{color:#fff !important;text-decoration:underline !important;text-underline-offset:3px}
.tds-ftr__tp{font-size:13px;border-bottom:1px solid #5B5045}
.tds-ftr__pay{max-width:var(--tds-max);margin:48px auto 0;padding-top:22px;border-top:1px solid #3A332B;display:flex;flex-wrap:wrap;gap:8px}
.tds-ftr__pay span{font:600 11.5px/1 var(--tds-sans);color:#E9E1D5;border:1px solid #4A4138;padding:7px 10px}
.tds-ftr__legal{max-width:var(--tds-max);margin:18px auto 0;display:flex;flex-wrap:wrap;gap:6px 22px;font-size:12.5px;color:#8C7E6E}
.tds-ftr__legal a{color:#8C7E6E !important}
@media (max-width:900px){.tds-ftr__in{grid-template-columns:1fr 1fr}.tds-ftr__brand{grid-column:1/-1}}
@media (max-width:480px){.tds-ftr{padding-top:48px}.tds-ftr__in{gap:28px}}

/* Astra footer/header remnants we never want */
.tds-site .site-header > :not(.tds-strip):not(.tds-hdr),
.tds-site #ast-mobile-popup-wrapper,.tds-site .ast-mobile-popup-drawer{display:none !important}
.tds-site .site-footer > :not(.tds-ftr){display:none !important}

/* ---------- bag drawer ---------------------------------------------------- */
.tds-drawer{position:fixed;inset:0;z-index:9999;font-family:var(--tds-sans);color:var(--tds-ink)}
.tds-drawer[hidden]{display:none}
.tds-drawer__scrim{position:absolute;inset:0;background:rgba(31,27,22,.38);opacity:0;transition:opacity .25s}
.tds-drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--tds-bg);display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .32s var(--tds-ease);box-shadow:-20px 0 40px -24px rgba(31,27,22,.4)}
.tds-drawer.is-open .tds-drawer__scrim{opacity:1}
.tds-drawer.is-open .tds-drawer__panel{transform:none}
.tds-drawer__head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--tds-line)}
.tds-drawer__head h2{margin:0;font:400 26px/1.1 var(--tds-serif);color:var(--tds-ink)}
.tds-drawer__x{background:none;border:0;padding:6px;margin-right:-6px;cursor:pointer;color:var(--tds-ink)}
.tds-drawer__body{flex:1;overflow:auto;padding:18px 24px 24px;display:flex;flex-direction:column}
.tds-drawer__body.is-busy{opacity:.55;pointer-events:none;transition:opacity .15s}
.tds-drawer__empty{margin:auto 0;text-align:center;padding:40px 0}
.tds-drawer__empty p{font:400 21px/1.3 var(--tds-serif);margin:0 0 20px}
.tds-drawer__foot{margin-top:auto;padding-top:18px}
.tds-drawer__sum{display:flex;justify-content:space-between;align-items:baseline;font-size:15px;margin-bottom:4px}
.tds-drawer__sum strong{font:500 20px var(--tds-serif)}
.tds-drawer__note{margin:0 0 16px;font-size:13px;color:var(--tds-mut)}
.tds-drawer__foot .tds-link{display:block;text-align:center;margin-top:14px}
html.tds-lock,html.tds-lock body{overflow:hidden}

/* free-shipping meter */
.tds-ship{margin:0 0 6px}
.tds-ship p{margin:0 0 8px;font-size:13.5px;color:var(--tds-ink2)}
.tds-ship__bar{height:3px;background:var(--tds-line)}
.tds-ship__bar i{display:block;height:100%;background:var(--tds-teak);transition:width .4s var(--tds-ease)}

/* product lines (drawer, cart page, thank-you) */
.tds-lines{list-style:none;margin:0;padding:0}
.tds-line{display:grid;grid-template-columns:76px 1fr auto;gap:16px;align-items:start;padding:16px 0;border-bottom:1px solid var(--tds-line)}
.tds-line__img{display:block;background:var(--tds-card);aspect-ratio:1}
.tds-line__img img{width:100%;height:100%;object-fit:contain;display:block}
.tds-line__main{min-width:0;display:flex;flex-direction:column;gap:4px}
.tds-line__name{font:400 18px/1.2 var(--tds-serif);color:var(--tds-ink) !important;text-decoration:none !important}
.tds-line__meta{font-size:13px;color:var(--tds-mut)}
.tds-line__main dl.variation{margin:0;font-size:13px;color:var(--tds-mut)}
.tds-line__end{display:flex;flex-direction:column;align-items:flex-end;gap:10px;text-align:right}
.tds-line__price{font-size:15px;white-space:nowrap}
.tds-line__price del{color:var(--tds-mut);font-size:13px;margin-right:4px}
.tds-line__remove,a.tds-line__remove{background:none;border:0;padding:0;font:400 12.5px var(--tds-sans);color:var(--tds-mut) !important;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.tds-line__remove:hover{color:var(--tds-ink) !important}
.tds-qty{display:inline-flex;align-items:center;border:1px solid var(--tds-line);background:#fff;margin-top:6px;width:max-content}
.tds-qty button{background:none;border:0;width:34px;height:34px;display:grid;place-items:center;cursor:pointer;color:var(--tds-ink)}
.tds-qty button:disabled{opacity:.3;cursor:default}
.tds-qty .tds-i{width:14px;height:14px}
.tds-qty span{min-width:22px;text-align:center;font-size:14px}

/* gift wrap option */
.tds-giftopt{display:flex;align-items:center;gap:10px;margin:16px 0 0;padding:14px 16px;border:1px solid var(--tds-line);background:#fff;
  font:400 14px var(--tds-sans);color:var(--tds-ink) !important;cursor:pointer;text-decoration:none !important}
.tds-giftopt input{width:18px;height:18px;margin:0;accent-color:var(--tds-ink)}
.tds-giftopt em{margin-left:auto;font-style:normal;color:var(--tds-mut)}
.tds-giftopt__box{width:18px;height:18px;border:1px solid var(--tds-ink);display:grid;place-items:center;flex:none;background:#fff}
.tds-giftopt.is-on .tds-giftopt__box{background:var(--tds-ink);color:#fff}
.tds-giftopt__box .tds-i{width:13px;height:13px}

@media (prefers-reduced-motion:reduce){
  .tds-drawer__panel,.tds-drawer__scrim,.tds-nav{transition:none !important}
}
.tds-ship--free p{display:flex;align-items:center;gap:8px;color:var(--tds-ok);font-weight:500}
.tds-ship--free .tds-i{width:18px;height:18px}

/* ---------- newsletter (24 Oct 2026) ------------------------------------- */
.tds-nl{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px 48px;align-items:center;font-family:var(--tds-sans)}
.tds-nl .tdh-lbl{display:inline-flex;align-items:center;gap:10px;font:500 12px/1 var(--tds-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--tds-mut);margin-bottom:14px}
.tds-nl .tdh-lbl::before{content:"";width:7px;height:7px;background:var(--tds-sage);border-radius:1px}
.tds-nl .tds-nl__t{margin:0 !important;font:500 clamp(24px,2.6vw,34px)/1.08 var(--tds-sans) !important;letter-spacing:-.035em;color:var(--tds-ink);text-transform:none}
.tds-nl__t em{font-family:var(--tds-accent);font-style:italic;font-weight:350;letter-spacing:-.02em;color:var(--tds-teak)}
.tds-nl__x{margin:12px 0 0 !important;font-size:15.5px;line-height:1.55;color:var(--tds-ink2);max-width:46ch}
.tds-nl__f{display:flex;gap:8px;padding:6px;border-radius:16px;background:#fff;border:1px solid var(--tds-line);transition:border-color .2s,box-shadow .2s}
.tds-nl__f:focus-within{border-color:var(--tds-ink);box-shadow:0 0 0 3px rgba(79,100,70,.18)}
.tds-nl .tds-nl__f input[type=email]{flex:1;min-height:48px;min-width:0;height:48px;margin:0;padding:0 12px;border:0 !important;background:transparent !important;box-shadow:none !important;outline:0;font:400 16px var(--tds-sans);color:var(--tds-ink)}
.tds-nl__f button{flex:none;height:48px;padding:0 22px;border:0;border-radius:11px;background:var(--tds-ink);color:#fff;font:500 15px/1 var(--tds-sans);cursor:pointer;transition:background .2s}
.tds-nl__f button:hover{background:var(--tds-sage)}
.tds-nl__f button:disabled{opacity:.6;cursor:wait}
.tds-nl__fine{margin:10px 2px 0 !important;font-size:12.5px !important;line-height:1.45;color:var(--tds-mut)}
.tds-nl__fine a{color:inherit !important;text-decoration:underline;text-underline-offset:2px}
.tds-nl__msg{margin:8px 2px 0 !important;font-size:14px;line-height:1.45;color:var(--tds-ok)}
.tds-nl__msg:empty{display:none}
.tds-nl__msg.is-err{color:var(--tds-err)}
.tds-nl.is-done .tds-nl__f,.tds-nl.is-done .tds-nl__fine{display:none}
.tds-nl.is-done .tds-nl__msg{font-size:15.5px;padding:14px 16px;border-radius:14px;background:var(--tds-sage-l);color:#25301F}
.tds-nl__hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}
/* card: light panel inside a page */
.tds-nl--card,.tds-nl--page{padding:clamp(24px,4vw,48px);border-radius:24px;background:var(--tds-sage-l);border:1px solid rgba(79,100,70,.16)}
.tds-nl-wrap{margin:56px auto 0}
.tds-thanks .tds-nl--card{margin-top:28px}
.tds-nl-note{margin:24px 0 0;padding:16px 18px;border-radius:14px;background:var(--tds-sage-l);color:#25301F;font-size:15px}
/* band: in the dark footer (beats the footer's mono h2 and narrow p) */
.tdh-ftr .tds-nl__t{margin:0 !important;text-transform:none !important;letter-spacing:-.035em !important;color:#F7F2EA !important}
.tdh-ftr .tds-nl__x,.tdh-ftr .tds-nl__fine{max-width:46ch}
.tds-nl--band{padding:0 0 48px;margin:0 0 48px;border-bottom:1px solid rgba(217,207,193,.14)}
.tds-nl--band .tdh-lbl{color:#8E816F}
.tds-nl--band .tdh-lbl::before{background:#BFD0B3}
.tds-nl--band .tds-nl__t{color:#F7F2EA}
.tds-nl--band .tds-nl__t em{color:#E2B98A}
.tds-nl--band .tds-nl__x{color:#A99C8A}
.tds-nl--band .tds-nl__f{background:rgba(255,255,255,.06);border-color:rgba(217,207,193,.22)}
.tds-nl--band .tds-nl__f:focus-within{border-color:#D9CFC1;box-shadow:0 0 0 3px rgba(191,208,179,.18)}
.tds-nl--band .tds-nl__f input[type=email]{color:#F7F2EA}
.tds-nl--band .tds-nl__f input::placeholder{color:#8E816F}
.tds-nl--band .tds-nl__f button{background:#F7F2EA;color:#18140F}
.tds-nl--band .tds-nl__f button:hover{background:#BFD0B3}
.tds-nl--band .tds-nl__fine{color:#8E816F}
.tds-nl--band .tds-nl__msg{color:#BFD0B3}
.tds-nl--band .tds-nl__msg.is-err{color:#F0A898}
.tds-nl--band.is-done .tds-nl__msg{background:rgba(191,208,179,.12);color:#E2E8DC}
/* the confirm / unsubscribe step */
.tds-nlstep{padding:28px;border-radius:20px;background:var(--tds-sage-l);margin:0 0 28px}
.tds-nlstep__msg{margin:0 0 4px !important;font-size:17px;color:#25301F}
.tds-nlstep__go{margin-top:14px}
@media (max-width:820px){
  .tds-nl{grid-template-columns:1fr}
}
@media (max-width:420px){
  .tds-nl__f{flex-direction:column;background:transparent;border:0;padding:0;gap:10px}
  .tds-nl__f:focus-within{box-shadow:none}
  .tds-nl .tds-nl__f input[type=email]{background:#fff !important;border:1px solid var(--tds-line) !important;border-radius:12px;height:52px;min-height:52px;flex:none;width:100%}
  .tds-nl--band .tds-nl__f input[type=email]{background:rgba(255,255,255,.06) !important;border-color:rgba(217,207,193,.22) !important}
  .tds-nl__f button{height:52px}
}

/* WooCommerce still prints PhotoSwipe markup on variable products (gift card); our own lightbox is used. */
.pswp{display:none !important}
