/* =====================================================================
   TEASPOON HONEY — PRODUCT PAGE
   Loaded on single products only, after theme.css, inheriting the brand
   tokens. Woo's own markup (the add-to-cart form, comment form, notices)
   is restyled in place rather than replaced, so nothing transactional
   breaks.

   Background order: white > cream > white > cream > white > cream > dark
   ===================================================================== */

.pdp{
  --p-gold:var(--honey,#F2B831);
  --p-ink:var(--brown,#43372d);
  --p-soft:var(--ink-soft,#6E6052);
  --p-cream:var(--cream,#F9F2E2);
  --p-noir:var(--noir,#0d0a06);
  --p-terra:#8F3D22;
  --p-wide:var(--tsp-container,1440px);
  --p-gut:clamp(18px,4vw,64px);
  --p-band:clamp(52px,8vh,104px);
  --p-ease:cubic-bezier(.16,.84,.44,1);
  --p-line:rgba(67,55,45,.13);
  background:#fff;
}
.pdp *,.pdp *::before,.pdp *::after{ box-sizing:border-box; }
.pdp-h2{
  font-family:var(--serif);font-weight:700;color:var(--p-ink);margin:0;
  font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.12;letter-spacing:-.02em;
}
.pdp-h3{
  font-family:var(--serif);font-weight:700;color:var(--p-ink);margin:0 0 14px;
  font-size:clamp(1.2rem,1.9vw,1.55rem);letter-spacing:-.014em;
}
.pdp-i{ flex:none;color:var(--p-terra); }

/* buttons */
.pdp-btn{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--sans);font-size:0.75rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;text-decoration:none;padding:1.05em 2.1em;
  border-radius:100px;border:1px solid transparent;cursor:pointer;
  transition:transform .28s var(--p-ease),background .22s,color .22s,border-color .22s;
}
.pdp-btn--gold{ background:var(--p-gold);color:var(--p-ink); }
.pdp-btn--gold:hover{ background:var(--p-terra);color:#fff;transform:translateY(-2px); }
.pdp-btn--sm{ padding:.8em 1.5em;font-size:0.69rem; }

/* stars — one element, width driven by --pct, so no icon repetition */
.pdp-stars{ position:relative;display:inline-block;width:88px;height:15px;flex:none; }
.pdp-stars::before,.pdp-stars > span::before{
  content:'\2605\2605\2605\2605\2605';
  position:absolute;left:0;top:0;font-size:15px;line-height:15px;letter-spacing:2px;
  white-space:nowrap;
}
.pdp-stars::before{ color:rgba(67,55,45,.22); }
.pdp-stars > span{ position:absolute;left:0;top:0;width:var(--pct,0%);overflow:hidden; }
.pdp-stars > span::before{ color:var(--p-gold); }
.pdp-stars--lg{ width:130px;height:22px; }
.pdp-stars--lg::before,.pdp-stars--lg > span::before{ font-size:22px;line-height:22px;letter-spacing:3px; }

/* ---------- breadcrumb ------------------------------------------------ */
.pdp-crumbs{ background:#fff;border-bottom:1px solid var(--p-line); }
.pdp-crumbs__in{
  max-width:var(--p-wide);margin-inline:auto;padding:calc(var(--tspbar-h,38px) + 96px) var(--p-gut) 14px;
}
.pdp-crumbs .woocommerce-breadcrumb{
  margin:0;font-family:var(--sans);font-size:.76rem;letter-spacing:.04em;color:var(--p-soft);
}
.pdp-crumbs a{ color:var(--p-soft);text-decoration:none; }
.pdp-crumbs a:hover{ color:var(--p-terra); }
.pdp-crumbs__sep{ margin:0 .55em;opacity:.5; }

/* ═══ 01 · HERO ═══════════════════════════════════════════════════════ */
/* .pdp-hero{ background:#fff;padding:clamp(24px,4vh,44px) 0 var(--p-band); } */
.pdp-hero__in{
  max-width:var(--p-wide);margin-inline:auto;padding-inline:var(--p-gut);
  display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  gap:clamp(28px,4vw,72px);align-items:start;
}

/* gallery: vertical thumbs + stage */
.pdp-gal{ display:grid;grid-template-columns:84px minmax(0,1fr);gap:clamp(12px,1.4vw,18px); }
.pdp-gal__thumbs{ display:flex;flex-direction:column;gap:10px; }
.pdp-gal__thumb{
  padding:0;border:1px solid var(--p-line);background:#fff;border-radius:12px;
  overflow:hidden;cursor:pointer;aspect-ratio:1;
  transition:border-color .25s,transform .3s var(--p-ease);
}
.pdp-gal__thumb img{ width:100%;height:100%;object-fit:cover;display:block; }
.pdp-gal__thumb:hover{ transform:translateY(-2px); }
.pdp-gal__thumb.is-on{ border-color:var(--p-gold);box-shadow:0 0 0 2px rgba(242,184,49,.28); }
.pdp-gal__thumb:focus-visible{ outline:2px solid var(--p-terra);outline-offset:2px; }

.pdp-gal__stage{
  position:relative;border-radius:20px;overflow:hidden;background:var(--p-cream);
  box-shadow:0 26px 64px rgba(67,55,45,.14);
}
.pdp-gal__slides{ position:relative;aspect-ratio:1; }
.pdp-gal__slide{
  position:absolute;inset:0;margin:0;opacity:0;
  transition:opacity .55s var(--p-ease);
}
.pdp-gal__slide.is-on{ opacity:1; }
.pdp-gal__img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .9s var(--p-ease);
}
.pdp-gal__stage:hover .pdp-gal__slide.is-on .pdp-gal__img{ transform:scale(1.06); }
.pdp-gal__flag{
  position:absolute;top:16px;left:16px;z-index:3;
  background:var(--p-terra);color:#fff;font-family:var(--sans);font-size:0.69rem;
  font-weight:700;letter-spacing:.18em;padding:.5em 1em;border-radius:100px;
}
.pdp-gal__seal{
  position:absolute;top:16px;right:16px;z-index:3;display:grid;place-items:center;
  width:82px;height:82px;border-radius:50%;background:rgba(255,253,247,.94);
  text-align:center;box-shadow:0 10px 26px rgba(67,55,45,.18);
}
.pdp-gal__seal em{
  display:block;font-family:var(--serif);font-style:normal;font-weight:700;
  font-size:.95rem;color:var(--p-ink);line-height:1;
}
.pdp-gal__seal span{
  display:block;margin-top:3px;font-family:var(--sans);font-size:0.69rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--p-terra);
}
.pdp-gal__nav,.pdp-gal__zoom{
  position:absolute;z-index:3;border:0;cursor:pointer;
  background:rgba(255,253,247,.9);color:var(--p-ink);
  width:40px;height:40px;border-radius:50%;font-size:1.4rem;line-height:1;
  display:grid;place-items:center;
  transition:background .25s,transform .25s var(--p-ease);
}
.pdp-gal__nav{ top:50%;transform:translateY(-50%); }
.pdp-gal__nav--prev{ left:14px; }
.pdp-gal__nav--next{ right:14px; }
.pdp-gal__zoom{ bottom:14px;right:14px;font-size:1rem; }
.pdp-gal__nav:hover,.pdp-gal__zoom:hover{ background:var(--p-gold); }

/* buying column */
.pdp-buy__eyebrow{
  display:block;font-family:var(--sans);font-size:0.75rem;font-weight:700;
  letter-spacing:.3em;text-transform:uppercase;color:var(--p-terra);margin-bottom:12px;
}
.pdp-buy__title{
  font-family:var(--serif);font-weight:700;color:var(--p-ink);margin:0;
  font-size:clamp(1.8rem,3.4vw,2.9rem);line-height:1.06;letter-spacing:-.028em;
}
.pdp-buy__tag{
  font-family:var(--sans);font-size:clamp(.88rem,1.1vw,1rem);color:var(--p-soft);
  margin:12px 0 0;letter-spacing:.02em;
}
.pdp-buy__rate{ display:flex;align-items:center;gap:10px;margin-top:16px;font-family:var(--sans);font-size:.85rem; }
.pdp-buy__rate strong{ color:var(--p-ink); }
.pdp-buy__rate a{ color:var(--p-terra);text-decoration:underline;text-underline-offset:3px; }
.pdp-buy__price{ margin-top:22px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap; }
.pdp-buy__price .price{
  font-family:var(--serif);font-weight:700;color:var(--p-ink);
  font-size:clamp(1.5rem,2.5vw,2rem);margin:0;
}
.pdp-buy__price del{ opacity:.5;font-size:.7em;margin-right:.4em; }
.pdp-buy__price ins{ text-decoration:none; }
.pdp-buy__tax{ font-family:var(--sans);font-size:0.75rem;color:var(--p-soft); }
.pdp-buy__desc{ margin-top:16px; }
.pdp-buy__desc p{
  font-family:var(--sans);font-size:.98rem;line-height:1.8;
  color:var(--p-soft);margin:0 0 .8em;max-width:52ch;
}

/* claim marks */
.pdp-marks{
  list-style:none;margin:26px 0 0;padding:22px 0 0;border-top:1px solid var(--p-line);
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;
}
.pdp-mark{ text-align:center; }
.pdp-mark span{
  display:block;margin-top:8px;font-family:var(--sans);font-size:0.75rem;
  line-height:1.45;color:var(--p-soft);
}

/* real specs (stands in for the absent size selector) */
.pdp-spec{
  margin:22px 0 0;padding:18px 0 0;border-top:1px solid var(--p-line);
  display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px 18px;
}
.pdp-spec div{ min-width:0; }
.pdp-spec dt{
  font-family:var(--sans);font-size:0.69rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--p-soft);
}
.pdp-spec dd{ margin:5px 0 0;font-family:var(--serif);font-weight:700;color:var(--p-ink);font-size:.98rem; }

/* cart area — Woo's own form, restyled in place */
.pdp-buy__cart{ position:relative;margin-top:26px;padding-top:24px;border-top:1px solid var(--p-line); }
.pdp-buy__drip{
  position:absolute;left:0;right:0;top:0;height:3px;overflow:hidden;border-radius:3px;
  background:linear-gradient(90deg,transparent,rgba(242,184,49,.6),transparent);
  background-size:200% 100%;animation:pdp-drip 4.5s ease-in-out infinite;
}
@keyframes pdp-drip{ 0%,100%{ background-position:0 0; } 50%{ background-position:100% 0; } }
.pdp .cart{ display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0; }
.pdp .quantity{ display:flex;align-items:center;border:1px solid var(--p-line);border-radius:100px;overflow:hidden; }
.pdp .quantity input.qty{
  width:64px;height:52px;border:0;text-align:center;background:#fff;
  font-family:var(--sans);font-size:1rem;color:var(--p-ink);-moz-appearance:textfield;
}
.pdp .quantity input.qty::-webkit-outer-spin-button,
.pdp .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance:none;margin:0; }
.pdp .single_add_to_cart_button{
  flex:1 1 220px;min-height:52px;
  background:var(--p-gold);color:var(--p-ink);border:0;border-radius:100px;
  font-family:var(--sans);font-size:.76rem;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;cursor:pointer;
  transition:background .25s,color .25s,transform .28s var(--p-ease);
}
.pdp .single_add_to_cart_button:hover{ background:var(--p-terra);color:#fff;transform:translateY(-2px); }
.pdp .single_add_to_cart_button.disabled{ opacity:.5;cursor:not-allowed;transform:none; }
.pdp .woocommerce-variation-add-to-cart,.pdp .variations{ width:100%; }
.pdp .variations th,.pdp .variations td{ padding:6px 0;font-family:var(--sans);font-size:.85rem; }
.pdp-buy__oos{
  margin:14px 0 0;font-family:var(--sans);font-size:.86rem;color:var(--p-terra);
}
.pdp-buy__ship{ list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px; }
.pdp-buy__ship li{ display:flex;align-items:center;gap:11px;font-family:var(--sans);font-size:.85rem;color:var(--p-soft); }
.pdp-buy__ship .pdp-i{ width:21px;height:21px; }

/* ═══ 02 · TRUST STRIP — cream ═══════════════════════════════════════ */
.pdp-trust{ background:var(--p-cream);border-block:1px solid rgba(67,55,45,.08); }
.pdp-trust__in{
  list-style:none;margin:0 auto;padding:clamp(24px,3.4vh,38px) var(--p-gut);
  max-width:var(--p-wide);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(16px,2.4vw,34px);
}
.pdp-trust__item{ display:flex;gap:13px;align-items:flex-start; }
.pdp-trust__item strong{
  display:block;font-family:var(--serif);font-weight:700;color:var(--p-ink);
  font-size:.98rem;line-height:1.3;
}
.pdp-trust__item span{
  display:block;margin-top:4px;font-family:var(--sans);font-size:.79rem;
  line-height:1.55;color:var(--p-soft);
}

/* ═══ 03 · TABS — white, vertical nav ════════════════════════════════ */
.pdp-tabs{ background:#fff;padding:var(--p-band) 0; }
.pdp-tabs__in{
  max-width:var(--p-wide);margin-inline:auto;padding-inline:var(--p-gut);
  display:grid;grid-template-columns:200px minmax(0,1fr) minmax(0,.86fr);
  gap:clamp(22px,3vw,48px);align-items:start;
}
.pdp-tabs__nav{ display:flex;flex-direction:column;border-left:1px solid var(--p-line); }
.pdp-tabs__btn{
  border:0;background:none;cursor:pointer;text-align:left;
  padding:13px 16px;margin-left:-1px;border-left:2px solid transparent;
  font-family:var(--sans);font-size:0.75rem;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--p-soft);
  transition:color .25s,border-color .25s,background .25s;
}
.pdp-tabs__btn:hover{ color:var(--p-ink);background:rgba(242,184,49,.07); }
.pdp-tabs__btn.is-on{ color:var(--p-terra);border-left-color:var(--p-gold); }
.pdp-tabs__btn:focus-visible{ outline:2px solid var(--p-terra);outline-offset:-2px; }
.pdp-tabs__panel p{
  font-family:var(--sans);font-size:.98rem;line-height:1.85;color:var(--p-soft);
  margin:0 0 1em;max-width:56ch;
}
.pdp-tabs__dl{ margin:0;display:grid;gap:0; }
.pdp-tabs__dl div{
  display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:16px;
  padding:12px 0;border-top:1px solid var(--p-line);
}
.pdp-tabs__dl div:last-child{ border-bottom:1px solid var(--p-line); }
.pdp-tabs__dl dt{
  font-family:var(--sans);font-size:0.69rem;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--p-soft);
}
.pdp-tabs__dl dd{ margin:0;font-family:var(--serif);font-weight:700;color:var(--p-ink);font-size:1rem; }
.pdp-tabs__note{ margin-top:18px!important;font-style:italic; }
.pdp-ticks{ list-style:none;margin:0;padding:0;display:grid;gap:11px; }
.pdp-ticks li{
  position:relative;padding-left:26px;font-family:var(--sans);font-size:.94rem;
  line-height:1.7;color:var(--p-soft);
}
.pdp-ticks li::before{
  content:'';position:absolute;left:0;top:.52em;width:13px;height:7px;
  border-left:2px solid var(--p-gold);border-bottom:2px solid var(--p-gold);
  transform:rotate(-45deg);
}
.pdp-tabs__figure{ margin:0;border-radius:18px;overflow:hidden;box-shadow:0 24px 56px rgba(67,55,45,.16); }
.pdp-tabs__img{ width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block; }

/* ═══ 04 · STORY CARDS — cream ═══════════════════════════════════════ */
.pdp-story{ background:var(--p-cream);padding:var(--p-band) 0; }
.pdp-story__in{
  list-style:none;margin:0 auto;padding-inline:var(--p-gut);max-width:var(--p-wide);
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2vw,26px);
}
.pdp-storycard{
  background:#fff;border-radius:18px;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 20px 48px rgba(67,55,45,.12);
  transition:transform .5s var(--p-ease),box-shadow .5s;
}
.pdp-storycard:hover{ transform:translateY(-6px);box-shadow:0 30px 66px rgba(67,55,45,.18); }
.pdp-storycard__top{ padding:clamp(18px,2.2vw,26px); }
.pdp-storycard__k{
  font-family:var(--serif);font-weight:700;color:var(--p-ink);
  margin:12px 0 8px;font-size:1.06rem;
}
.pdp-storycard__d{ font-family:var(--sans);font-size:.86rem;line-height:1.65;color:var(--p-soft);margin:0; }
.pdp-storycard__figure{ margin:0;margin-top:auto;overflow:hidden; }
.pdp-storycard__img{
  width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;
  transition:transform .8s var(--p-ease);
}
.pdp-storycard:hover .pdp-storycard__img{ transform:scale(1.06); }

html.js .pdp [data-pdp-reveal]{
  opacity:0;transform:translate3d(0,20px,0);
  transition:opacity .8s var(--p-ease) var(--d,0ms),transform .9s var(--p-ease) var(--d,0ms);
}
html.js .pdp [data-pdp-reveal].is-in{ opacity:1;transform:none; }

/* ═══ 05 · REVIEWS — white ═══════════════════════════════════════════ */
.pdp-rev{ background:#fff;padding:var(--p-band) 0; }
.pdp-rev__in{
  max-width:var(--p-wide);margin-inline:auto;padding-inline:var(--p-gut);
  display:grid;grid-template-columns:minmax(0,.4fr) minmax(0,1fr);
  gap:clamp(24px,4vw,64px);align-items:start;
}
.pdp-rev__score{ font-family:var(--serif);font-weight:700;color:var(--p-ink);font-size:3.2rem;line-height:1;margin:18px 0 10px; }
.pdp-rev__count,.pdp-rev__none{ font-family:var(--sans);font-size:.88rem;line-height:1.7;color:var(--p-soft);margin:12px 0 0;max-width:34ch; }
/* Woo's review list + form, restyled in place */
.pdp .woocommerce-Reviews .commentlist{ list-style:none;margin:0;padding:0;display:grid;gap:16px; }
.pdp .woocommerce-Reviews .comment_container{
  display:flex;gap:16px;background:var(--p-cream);border-radius:16px;padding:clamp(18px,2.4vw,26px);
}
.pdp .woocommerce-Reviews img.avatar{ width:46px;height:46px;border-radius:50%;flex:none; }
.pdp .woocommerce-Reviews .comment-text{ flex:1;min-width:0; }
.pdp .woocommerce-Reviews .meta{ font-family:var(--sans);font-size:.78rem;color:var(--p-soft);margin:0 0 8px; }
.pdp .woocommerce-Reviews .description p{ font-family:var(--sans);font-size:.95rem;line-height:1.75;color:var(--p-ink);margin:0; }
.pdp #review_form_wrapper{ margin-top:26px; }
.pdp #reply-title{ font-family:var(--serif);font-weight:700;color:var(--p-ink);font-size:1.15rem; }
.pdp .comment-form input:not([type=submit]),.pdp .comment-form textarea{
  width:100%;border:1px solid var(--p-line);border-radius:12px;padding:12px 14px;
  font-family:var(--sans);font-size:.94rem;background:#fff;color:var(--p-ink);
}
.pdp .comment-form label{ display:block;font-family:var(--sans);font-size:0.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--p-soft);margin-bottom:6px; }
.pdp .comment-form p{ margin:0 0 14px; }
.pdp .comment-form input#submit{
  background:var(--p-gold);color:var(--p-ink);border:0;border-radius:100px;
  padding:1em 2.2em;font-family:var(--sans);font-size:0.75rem;font-weight:700;
  letter-spacing:.11em;text-transform:uppercase;cursor:pointer;
}
.pdp .comment-form input#submit:hover{ background:var(--p-terra);color:#fff; }

/* ═══ 06 · RELATED — cream carousel ══════════════════════════════════ */
.pdp-rel{ background:var(--p-cream);padding:var(--p-band) 0; }
.pdp-rel__head{
  max-width:var(--p-wide);margin:0 auto clamp(20px,3vh,32px);padding-inline:var(--p-gut);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.pdp-rel__nav{ display:flex;gap:9px; }
.pdp-rel__arrow{
  width:42px;height:42px;border-radius:50%;border:1px solid var(--p-line);
  background:#fff;color:var(--p-ink);font-size:1.4rem;line-height:1;cursor:pointer;
  transition:background .25s,border-color .25s,transform .25s var(--p-ease);
}
.pdp-rel__arrow:hover{ background:var(--p-gold);border-color:var(--p-gold);transform:translateY(-2px); }
.pdp-rel__scroller{
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:4px var(--p-gut) 16px;scrollbar-width:thin;
}
.pdp-rel__scroller:focus-visible{ outline:2px solid var(--p-terra);outline-offset:3px; }
.pdp-rel__track{
  list-style:none;margin:0 auto;padding:0;display:flex;gap:clamp(14px,2vw,24px);
  max-width:var(--p-wide);
}
.pdp-relcard{
  flex:0 0 clamp(216px,23vw,268px);scroll-snap-align:start;
  background:#fff;border-radius:18px;padding:16px;
  display:flex;flex-direction:column;gap:8px;
/*   box-shadow:0 16px 40px rgba(67,55,45,.1); */
  box-shadow: 0 0px 10px rgba(67,55,45,.1);
  transition:transform .45s var(--p-ease),box-shadow .45s;
}
.pdp-relcard:hover{ transform:translateY(-6px);box-shadow:0 26px 58px rgba(67,55,45,.17); }
.pdp-relcard__link{ text-decoration:none;display:flex;flex-direction:column;gap:7px; }
.pdp-relcard__figure{ margin:0;border-radius:12px;overflow:hidden;background:var(--p-cream); }
.pdp-relcard__img{
  width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block;
  transition:transform .7s var(--p-ease);
}
.pdp-relcard:hover .pdp-relcard__img{ transform:scale(1.07); }
.pdp-relcard__k{ font-family:var(--serif);font-weight:700;color:var(--p-ink);font-size:.98rem;margin:6px 0 0;line-height:1.3; }
.pdp-relcard__sub{ font-family:var(--sans);font-size:.75rem;color:var(--p-soft); }
.pdp-relcard__price{ font-family:var(--serif);font-weight:700;color:var(--p-ink);font-size:1rem; }
.pdp-relcard__price del{ opacity:.5;font-size:.8em; }
.pdp-relcard__price ins{ text-decoration:none; }
.pdp-relcard__rate{ display:flex;align-items:center;gap:7px;font-family:var(--sans);font-size:0.75rem;color:var(--p-soft); }
.pdp-relcard .pdp-btn{ margin-top:auto; }

/* ═══ 07 · SERVICE STRIP — dark ══════════════════════════════════════ */
.pdp-serv{ position:relative;isolation:isolate;background:var(--p-noir);overflow:hidden; }
.pdp-serv__drip{ position:absolute;inset:0 0 0 auto;width:42%;margin:0;z-index:0;opacity:.42; }
.pdp-serv__dripimg{ width:100%;height:100%;object-fit:cover;display:block; }
.pdp-serv::after{
  content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,var(--p-noir) 38%,rgba(13,10,6,.55) 72%,rgba(13,10,6,.2) 100%);
}
.pdp-serv__in{
  position:relative;z-index:2;list-style:none;margin:0 auto;
  padding:clamp(34px,5vh,58px) var(--p-gut);max-width:var(--p-wide);
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(14px,2vw,28px);
  text-align:center;
}
.pdp-serv__item .pdp-i{ color:var(--p-gold); }
.pdp-serv__item strong{
  display:block;margin-top:12px;font-family:var(--sans);font-size:0.75rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--p-gold);
}
.pdp-serv__item span{
  display:block;margin-top:6px;font-family:var(--sans);font-size:.78rem;
  color:rgba(249,242,226,.68);
}

/* ---------- lightbox -------------------------------------------------- */
.pdp-lb{ position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:rgba(8,6,3,.94);padding:clamp(18px,5vw,56px); }
.pdp-lb[hidden]{ display:none; }
.pdp-lb__img{ max-width:min(1100px,94vw);max-height:88vh;border-radius:12px;display:block; }
.pdp-lb__x{
  position:absolute;top:clamp(12px,3vw,26px);right:clamp(12px,3vw,26px);
  width:46px;height:46px;border-radius:50%;border:1px solid rgba(249,242,226,.3);
  background:rgba(13,10,6,.6);color:var(--p-cream);font-size:1.6rem;line-height:1;cursor:pointer;
}
.pdp-lb__x:hover{ border-color:var(--p-gold);color:var(--p-gold); }

/* ---------- sticky buy bar ------------------------------------------- */
.pdp-sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:90;
  background:rgba(255,253,247,.97);border-top:1px solid var(--p-line);
  box-shadow:0 -10px 34px rgba(67,55,45,.12);
  transform:translateY(110%);transition:transform .45s var(--p-ease);
  padding-bottom:env(safe-area-inset-bottom);
}
.pdp-sticky.is-up{ transform:none; }
.pdp-sticky__in{
  max-width:var(--p-wide);margin-inline:auto;padding:11px var(--p-gut);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.pdp-sticky__id{ display:flex;align-items:center;gap:12px;min-width:0; }
.pdp-sticky__img{ width:44px;height:44px;border-radius:10px;object-fit:cover;flex:none; }
.pdp-sticky__id strong{
  display:block;font-family:var(--serif);font-weight:700;color:var(--p-ink);
  font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:46vw;
}
.pdp-sticky__id span{ font-family:var(--sans);font-size:.8rem;color:var(--p-soft); }
.pdp-sticky__id .price{ font-size:.86rem; }

/* ═══ RESPONSIVE — mobile-first buying flow ══════════════════════════ */
@media (max-width:1000px){
  .pdp-tabs__in{ grid-template-columns:minmax(0,1fr); }
  .pdp-tabs__nav{
    flex-direction:row;overflow-x:auto;border-left:0;border-bottom:1px solid var(--p-line);
    margin-bottom:22px;
  }
  .pdp-tabs__btn{
    margin-left:0;border-left:0;border-bottom:2px solid transparent;white-space:nowrap;
  }
  .pdp-tabs__btn.is-on{ border-bottom-color:var(--p-gold); }
  .pdp-tabs__figure{ order:-1;margin-bottom:22px; }
  .pdp-story__in{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pdp-serv__in{ grid-template-columns:repeat(3,minmax(0,1fr));row-gap:26px; }
}
@media (max-width:900px){
  .pdp-hero__in{ grid-template-columns:minmax(0,1fr);gap:26px; }
  .pdp-rev__in{ grid-template-columns:minmax(0,1fr); }
  .pdp-trust__in{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  /* Gallery becomes a swipe strip: thumbnails below, stage full width. */
  .pdp-gal{ grid-template-columns:minmax(0,1fr); }
  .pdp-gal__thumbs{
    flex-direction:row;overflow-x:auto;order:2;margin-top:12px;padding-bottom:4px;
    scroll-snap-type:x mandatory;
  }
  .pdp-gal__thumb{ flex:0 0 66px;scroll-snap-align:start; }
  .pdp-gal__stage{ order:1; }
  .pdp-gal__slides{ aspect-ratio:4/3.4; }
}
@media (max-width:640px){
  .pdp-crumbs__in{ padding-top:calc(var(--tspbar-h,34px) + 78px); }
  .pdp-marks{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pdp-story__in{ grid-template-columns:minmax(0,1fr); }
  .pdp-serv__in{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pdp-serv__drip{ display:none; }
  /* Full-width cart controls, and the sticky bar is the primary buy action. */
  .pdp .cart{ flex-direction:column;align-items:stretch; }
  .pdp .quantity{ align-self:flex-start; }
  .pdp .single_add_to_cart_button{ width:100%; }
  .pdp-gal__seal{ width:64px;height:64px; }
  .pdp-gal__nav{ width:34px;height:34px; }
  /* Leave room so the bar never covers the footer's last line. */
  .pdp-serv{ padding-bottom:74px; }
}
@media (prefers-reduced-motion:reduce){
  html.js .pdp [data-pdp-reveal]{ opacity:1;transform:none;transition:none; }
  .pdp-buy__drip{ animation:none; }
  .pdp-gal__img,.pdp-relcard,.pdp-storycard,.pdp-storycard__img,.pdp-relcard__img{ transition:none; }
  .pdp-sticky{ transition:none; }
}


/* =====================================================================
   TEASPOON HONEY — PDP DESIGN (LIGHT)
   Single authoritative layer. Matches the approved reference layout in
   a light/cream treatment.

   Tokens:  bg #FBF8F4 · card #FFFDFB · border #E8E2D8 · gold #C89A3D
            ink #1E1E1E · soft #666666
   ===================================================================== */

.pdp{
  --bg:#FBF8F4;
  --card:#FFFDFB;
  --line:#E8E2D8;
  --gold:#C89A3D;
  --ink:#1E1E1E;
  --soft:#666666;
  --wrap:1440px;
  --gut:clamp(20px,4vw,48px);
  background:var(--bg) !important;
}
div.product.pdp,
.woocommerce div.product.pdp{ display:block !important; }

.pdp *,.pdp *::before,.pdp *::after{ box-sizing:border-box; }

/* Shared container */
.pdp-crumbs__in,
.pdp-hero__in,
.pdp-trust__in,
.pdp-tabs__in,
.pdp-story__in,
.pdp-rev__in,
.pdp-rel__head,
.pdp-rel__scroller,
.pdp-serv__in{
  max-width:var(--wrap) !important;
  margin-inline:auto !important;
  padding-inline:var(--gut) !important;
}

/* ---------- BREADCRUMB --------------------------------------------- */
.pdp-crumbs{
  background:transparent;border:0;
  padding:22px 0 10px;
}
.pdp-crumbs__in{ font-size:13px;color:var(--soft); }
.pdp-crumbs a{ color:var(--soft);text-decoration:none; }
.pdp-crumbs a:hover{ color:var(--gold); }
.pdp-crumbs__sep{ margin:0 8px;opacity:.5; }
.pdp-crumbs .woocommerce-breadcrumb{ color:var(--soft);font-size:13px; }

/* ---------- HERO --------------------------------------------------- */
.pdp-hero{ background:transparent !important;padding:8px 0 40px !important; }
.pdp-hero__in{
  display:grid !important;
  grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr) !important;
  gap:clamp(28px,3.5vw,56px) !important;
  align-items:start !important;
}

/* Gallery: thumb rail + stage */
.pdp-gal{
  display:grid !important;
  grid-template-columns:88px minmax(0,1fr) !important;
  gap:16px !important;align-items:start;
  background:transparent !important;border:0 !important;
  padding:0 !important;box-shadow:none !important;
}
.pdp-gal__thumbs{
  display:flex !important;flex-direction:column !important;
  gap:12px !important;order:0 !important;
}
.pdp-gal__thumb{
  width:88px !important;height:88px !important;padding:0;cursor:pointer;
  background:var(--card) !important;
  border:1px solid var(--line) !important;
  border-radius:10px !important;overflow:hidden;
  transition:border-color .25s ease;
}
.pdp-gal__thumb.is-on{
  border-color:var(--gold) !important;
  box-shadow:0 0 0 1px var(--gold);
}
.pdp-gal__thumb img{ width:100%;height:100%;object-fit:cover;display:block; }

.pdp-gal__stage{
  position:relative;
  background:var(--card) !important;
  border:1px solid var(--line) !important;
  border-radius:16px !important;
  overflow:hidden;
  aspect-ratio:1/1 !important;height:auto !important;
  box-shadow:0 10px 40px rgba(30,30,30,.05);
}
.pdp-gal__slides{ position:relative;width:100%;height:100%; }
.pdp-gal__slide{
  position:absolute !important;inset:0 !important;margin:0 !important;
  width:100% !important;height:100% !important;
  opacity:0;pointer-events:none;transition:opacity .3s ease;
}
.pdp-gal__slide.is-on{ opacity:1;pointer-events:auto; }
.pdp-gal__img{ width:100% !important;height:100% !important;object-fit:cover !important;display:block; }

/* 100% Pure & Raw badge — top-left pill */
.pdp-gal__flag{
  position:absolute;top:20px;left:20px;z-index:3;
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(255,253,251,.94);
  border:1px solid var(--line);
  border-radius:10px;padding:9px 14px;
  font-family:var(--sans);font-size:10px;font-weight:700;
  letter-spacing:.1em;color:var(--ink);line-height:1.2;
  box-shadow:0 4px 16px rgba(30,30,30,.06);
}
.pdp-gal__flag::before{
  content:'';width:20px;height:20px;flex:none;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C89A3D' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'><path d='M20 4c-8 0-13 4-13 10a6 6 0 0 0 6 6c6 0 7-7 7-16z'/><path d='M8.5 19.5C10 14 14 10.5 18 8.6'/></svg>") center/contain no-repeat;
}
.pdp-gal__seal{ display:none !important; }

/* View Fullscreen — bottom-right */
.pdp-gal__zoom{
  position:absolute;bottom:20px;right:20px;z-index:3;
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,253,251,.94);
  border:1px solid var(--line);border-radius:8px;
  padding:9px 14px;cursor:pointer;
  font-family:var(--sans);font-size:11px;font-weight:600;
  color:var(--ink);
  box-shadow:0 4px 16px rgba(30,30,30,.06);
}
.pdp-gal__zoom::after{ content:'View Fullscreen'; }
.pdp-gal__zoom svg{ width:14px;height:14px;color:var(--gold); }
.pdp-gal__nav{ display:none !important; }

/* ---------- BUY PANEL ---------------------------------------------- */
.pdp-buy{ padding:4px 0 !important;display:flex;flex-direction:column;gap:0; }

.pdp-buy__eyebrow{
  display:inline-block;align-self:flex-start;
  font-family:var(--sans);font-size:11px;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
  padding:0 0 7px;margin:0 0 14px;
  border-bottom:1px solid var(--gold);line-height:1;
  background:transparent;
}
.pdp-buy__title{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(2rem,3vw,2.9rem);line-height:1.06;
  letter-spacing:-.015em;color:var(--ink);
  margin:0 0 10px;text-wrap:balance;
}
.pdp-buy__tag{
  font-family:var(--sans);font-size:15px;color:var(--soft);
  margin:0 0 16px;
}
/* Brand credential badge. Sits between the tagline and the rating, so it needs
   the tagline's bottom rhythm rather than the badge helper's tighter default. */
.pdp-buy__docled{ margin:2px 0 18px; }
.pdp-buy__rate{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  font-family:var(--sans);font-size:13.5px;color:var(--soft);
  margin:0 0 20px;
}
.pdp-buy__rate strong{ color:var(--ink);font-weight:600; }
.pdp-buy__rate a{ color:var(--soft);text-decoration:none; }
.pdp-buy__rate a:hover{ color:var(--gold); }
.pdp-buy__bought{ color:var(--soft); }
.pdp-stars{
  display:inline-block;position:relative;
  font-size:15px;line-height:1;color:#ddd5c4;
  letter-spacing:2px;
}
.pdp-stars::before{ content:'★★★★★'; }
.pdp-stars > span{
  position:absolute;inset:0;overflow:hidden;
  width:var(--pct,96%);color:var(--gold);
}
.pdp-stars > span::before{ content:'★★★★★'; }

.pdp-buy__price{
  font-family:var(--serif);font-size:2rem;font-weight:500;
  color:var(--ink);margin:0 0 4px;line-height:1.1;
}
.pdp-buy__price .woocommerce-Price-amount{ font-family:var(--serif); }
.pdp-buy__tax{
  display:block;font-family:var(--sans);font-size:12px;
  color:var(--soft);margin:2px 0 0;font-weight:400;
}
.pdp-buy__desc{
  font-family:var(--sans);font-size:14.5px;line-height:1.7;
  color:var(--soft);margin:16px 0 22px;max-width:46ch;
}
.pdp-buy__desc p{ margin:0; }

/* 5 badge icons */
.pdp-marks{
  list-style:none;padding:18px 0;margin:0 0 22px;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;
}
.pdp-mark{
  display:flex;flex-direction:column;align-items:center;
  text-align:center;gap:9px;padding:0;
  font-family:var(--sans);font-size:11px;line-height:1.3;color:var(--soft);
}
/* Sized to match the 52px Media Library icons these replaced, so the badge row
   did not visibly shrink when the images were swapped for matched line icons.
   Slightly less padding too: a 10px inset on a 44px circle left the glyph at
   24px, which read as an empty ring with something small in it. */
.pdp-mark .pdp-i{
  width:52px;height:52px;padding:11px;flex:none;
  border:1.5px solid rgba(200,154,61,.5);border-radius:50%;
  color:var(--gold);background:transparent;
}
@media (max-width:640px){
  .pdp-mark .pdp-i{ width:46px;height:46px;padding:10px; }
}
.pdp-mark span{ display:block;max-width:13ch; }

/* Size chips */
.pdp-size{ display:block !important;margin:0 0 18px !important; }
.pdp-size__k{
  display:block;font-family:var(--sans);font-size:14px;font-weight:600;
  color:var(--ink);margin:0 0 9px;
}
  min-width:74px;padding:10px 18px;cursor:pointer;
  background:transparent;color:var(--ink);
  border:1px solid var(--line);border-radius:8px;
  font-family:var(--sans);font-size:14px;
  transition:border-color .2s,color .2s,box-shadow .2s;
}
  border-color:var(--gold);color:var(--gold);
  box-shadow:inset 0 0 0 1px var(--gold);
}
.pdp-spec{ display:none !important; }

/* Quantity + buttons — STACKED full width */
.pdp-buy__cart{
  display:flex !important;flex-direction:column !important;
  gap:14px !important;margin:0 !important;padding:0 !important;
  border:0 !important;position:relative;
}
.pdp-buy__drip{ display:none !important; }
.pdp-buy__cart form.cart{
  display:flex !important;flex-direction:column !important;
  gap:14px !important;margin:0 !important;width:100%;
}
.pdp-buy__cart form.cart::before,
.pdp-buy__cart form.cart::after{ content:none !important;display:none !important; }

.pdp .quantity{
  display:inline-flex !important;align-items:stretch;
  align-self:flex-start;
  height:48px;overflow:hidden;
  background:transparent !important;
  border:1px solid var(--line) !important;border-radius:8px !important;
}
/* The label is a real element (see tsp_pdp_qty_label). It used to be an
   absolutely positioned ::before on .quantity, but .quantity is static, so the
   label anchored to form.cart instead and landed on top of the spec list above
   the form. Keep it in normal flow. */
.pdp-qty__label{
  display:block;margin:0 0 6px;
  font-family:var(--sans);font-size:14px;font-weight:600;color:var(--ink);
}
.pdp-buy__cart form.cart{ position:relative; }
.pdp .quantity .tspqty-btn,
.pdp .quantity button{
  width:42px;background:transparent;border:0;cursor:pointer;
  color:var(--ink);font-size:17px;line-height:1;
  display:inline-flex;align-items:center;justify-content:center;
}
.pdp .quantity .tspqty-btn:hover{ color:var(--gold); }
.pdp .quantity .qty{
  width:54px !important;padding:0 !important;
  border:0 !important;background:transparent !important;
  text-align:center;font-family:var(--sans);font-size:15px;color:var(--ink);
  -moz-appearance:textfield;appearance:textfield;
}
.pdp .quantity .qty::-webkit-outer-spin-button,
.pdp .quantity .qty::-webkit-inner-spin-button{
  -webkit-appearance:none;margin:0;
}

.pdp-buy__cart .single_add_to_cart_button{
  display:inline-flex !important;align-items:center;justify-content:center;gap:10px;
  width:100% !important;min-width:0 !important;
  height:54px;padding:0 24px !important;
  background:var(--gold) !important;color:#fff !important;
  border:1px solid var(--gold) !important;border-radius:8px !important;
  font-family:var(--sans) !important;font-size:12.5px !important;
  font-weight:700 !important;letter-spacing:.14em !important;
  text-transform:uppercase !important;cursor:pointer;
  transition:background .25s,border-color .25s;
}
.pdp-buy__cart .single_add_to_cart_button::before{
  content:'';width:17px;height:17px;flex:none;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 6h15l-2 10H8L6 6z'/><path d='M6 6L5 3H2'/><circle cx='9' cy='20' r='1.5'/><circle cx='18' cy='20' r='1.5'/></svg>") center/contain no-repeat;
}
.pdp-buy__cart .single_add_to_cart_button{ white-space:nowrap; }
.pdp-buy__cart .single_add_to_cart_button:hover{
  background:#B0862F !important;border-color:#B0862F !important;
}

/* Add to cart is the primary path: it opens the drawer, where the gift-box and
   free-delivery nudges live. Buy Now stays for shoppers who know what they want,
   but as a quiet second line rather than a second full-size button competing
   with the first. */
.pdp-btn--buynow{
  display:inline-flex !important;align-items:center;justify-content:center;gap:6px;
  width:auto !important;min-width:0 !important;align-self:center !important;
  height:auto !important;min-height:0 !important;max-height:none !important;
  margin:-4px auto 0 !important;padding:6px 4px !important;
  background:transparent !important;color:var(--ink) !important;
  border:0 !important;border-bottom:1px solid rgba(196,150,70,.5) !important;
  border-radius:0 !important;
  font-family:var(--sans) !important;font-size:12px !important;
  font-weight:700 !important;letter-spacing:.1em !important;
  text-transform:uppercase !important;text-decoration:none;
  transition:color .25s,border-color .25s;
}
.pdp-btn--buynow:hover{ background:transparent !important;color:var(--gold) !important;border-bottom-color:var(--gold) !important; }
.pdp-btn--buynow svg{ display:none; }
.pdp-buy__wish{ display:none !important; }

/* Delivery / shipping — bordered box */
.pdp-buy__ship{
  list-style:none !important;
  display:grid !important;grid-template-columns:1fr 1fr !important;
  gap:14px !important;
  margin:18px 0 0 !important;padding:16px 18px !important;
  background:transparent;
  border:1px solid var(--line);border-radius:10px;
}
.pdp-buy__ship li{
  display:flex;align-items:center;gap:10px;
  font-family:var(--sans);font-size:12.5px;color:var(--soft);
}
.pdp-buy__ship .pdp-i{ width:20px;height:20px;color:var(--gold);flex:none; }
.pdp-buy__ship strong{ font-weight:600;color:var(--ink); }
.pdp-buy__oos{ font-size:13px;color:#8a3d22;margin:12px 0 0; }

/* ---------- TRUST STRIP — bordered card with dividers -------------- */
.pdp-trust{ background:transparent !important;padding:0 0 40px !important;border:0 !important; }
.pdp-trust__in{
  list-style:none !important;
  display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:0 !important;
  padding:26px var(--gut) !important;
  background:var(--card);
  border:1px solid var(--line);border-radius:14px;
}
.pdp-trust__item{
  display:flex;align-items:flex-start;gap:13px;
  padding:0 22px;
  border-left:1px solid var(--line);
}
.pdp-trust__item:first-child{ border-left:0;padding-left:0; }
.pdp-trust__item:last-child{ padding-right:0; }
.pdp-trust__item .pdp-i{
  width:40px;height:40px;padding:9px;flex:none;
  border:1px solid rgba(200,154,61,.45);border-radius:50%;
  color:var(--gold);background:transparent;
}
.pdp-trust__item strong{
  display:block;font-family:var(--sans);font-size:13.5px;font-weight:600;
  color:var(--ink);line-height:1.3;
}
.pdp-trust__item span{
  display:block;font-family:var(--sans);font-size:12px;
  color:var(--soft);margin-top:3px;line-height:1.4;
}

/* ---------- ABOUT SECTION — bordered card, copy left / photo right -- */
.pdp-tabs{ background:transparent !important;padding:0 0 40px !important; }
.pdp-tabs__in{
  display:grid !important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;
  column-gap:clamp(28px,3.5vw,56px) !important;row-gap:0 !important;
  align-items:center !important;
  padding:clamp(28px,3vw,44px) !important;
  background:var(--card);
  border:1px solid var(--line);border-radius:14px;
  max-width:calc(var(--wrap) - var(--gut) * 2) !important;
  margin-inline:auto !important;
}
/* Tab nav hidden — single About block per the design */
.pdp-tabs__nav{ display:none !important; }

.pdp-tabs__body{
  grid-column:1 / 2 !important;
  display:block !important;min-width:0;
  background:transparent !important;border:0 !important;
  padding:0 !important;margin:0 !important;box-shadow:none !important;
}
.pdp-tabs__panel{ display:none !important; }
.pdp-tabs__panel.is-on{
  display:flex !important;flex-direction:column;align-items:flex-start;
  gap:0;padding:0 !important;margin:0 !important;
  background:transparent !important;border:0 !important;box-shadow:none !important;
}
/* Gold eyebrow above the heading */
.pdp-tabs__panel.is-on::before{
  content:'About Honey';
  display:inline-block;
  font-family:var(--sans);font-size:11px;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
  padding:0 0 7px;margin:0 0 16px;
  border-bottom:1px solid var(--gold);line-height:1;
}
.pdp-tabs__panel h2,
.pdp-tabs__panel .pdp-h3{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(1.7rem,2.5vw,2.3rem);line-height:1.14;
  letter-spacing:-.015em;color:var(--ink);
  margin:0 0 16px;text-wrap:balance;max-width:22ch;
}
.pdp-tabs__panel h2::before,
.pdp-tabs__panel .pdp-h3::before{ content:none !important;display:none !important; }
.pdp-tabs__panel p{
  font-family:var(--sans);font-size:14.5px;line-height:1.75;
  color:var(--soft);margin:0 0 18px;max-width:48ch;
}
.pdp-ticks{ list-style:none !important;padding:0 !important;margin:0 !important; }
.pdp-ticks li{
  position:relative;padding-left:28px;margin:0 0 11px;
  font-family:var(--sans);font-size:13.5px;color:var(--ink);line-height:1.45;
}
.pdp-ticks li::before{
  content:'';position:absolute;left:0;top:2px;
  width:16px;height:16px;border-radius:50%;
  border:1px solid var(--gold);background:transparent;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C89A3D' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>");
  background-size:10px;background-position:center;background-repeat:no-repeat;
}
.pdp-tabs__dl{ margin:0; }
.pdp-tabs__note{ font-style:italic;margin-top:14px !important; }
.pdp-faq__q{ margin:0 0 14px; }
.pdp-faq__q strong{ display:block;color:var(--ink);font-size:14px;margin-bottom:4px; }
.pdp-faq__q p{ margin:0 !important;font-size:13.5px; }

.pdp-tabs__figure{
  grid-column:2 / 3 !important;
  margin:0 !important;align-self:stretch;
  border-radius:12px !important;overflow:hidden !important;
  aspect-ratio:auto !important;min-height:340px;
  border:1px solid var(--line) !important;box-shadow:none !important;
}
.pdp-tabs__img{
  width:100% !important;height:100% !important;
  aspect-ratio:auto !important;object-fit:cover !important;display:block;
}

/* ---------- STORY CARDS — text top, photo bottom ------------------- */
.pdp-story{ background:transparent !important;padding:0 0 40px !important; }
.pdp-story::before,.pdp-story__in::before{ content:none !important;display:none !important; }
.pdp-story__in,
.pdp-story ul.pdp-story__in{
  list-style:none !important;
  display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:clamp(14px,1.6vw,22px) !important;
  padding-inline:var(--gut) !important;
  background:transparent !important;border:0 !important;box-shadow:none !important;
}
.pdp-storycard{
  display:flex !important;flex-direction:column !important;
  background:var(--card) !important;
  border:1px solid var(--line) !important;border-radius:14px !important;
  overflow:hidden !important;padding:0 !important;
  aspect-ratio:auto !important;min-height:0 !important;
  box-shadow:none !important;
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
  position:relative;
}
.pdp-storycard::before{ content:none !important;display:none !important; }
.pdp-storycard:hover{
  transform:translateY(-4px);
  border-color:rgba(200,154,61,.5) !important;
  box-shadow:0 14px 36px rgba(30,30,30,.07) !important;
}
.pdp-storycard__top{
  position:static !important;z-index:auto !important;
  order:0 !important;flex:none;
  display:flex !important;flex-direction:column;align-items:flex-start;
  gap:0;padding:22px 22px 18px !important;background:transparent !important;
}
.pdp-storycard__top .pdp-i{ display:none !important; }
.pdp-storycard__e{
  display:inline-block !important;
  font-family:var(--sans) !important;font-size:10.5px !important;
  font-weight:700 !important;letter-spacing:.2em !important;
  text-transform:uppercase !important;color:var(--gold) !important;
  padding:0 0 6px !important;margin:0 0 12px !important;
  border-bottom:1px solid var(--gold);line-height:1 !important;
  text-shadow:none !important;
}
.pdp-storycard__k{
  font-family:var(--serif) !important;font-weight:500 !important;
  font-size:1.22rem !important;line-height:1.2 !important;
  letter-spacing:-.01em !important;color:var(--ink) !important;
  margin:0 0 9px !important;text-wrap:balance;text-shadow:none !important;
}
.pdp-storycard__d{
  font-family:var(--sans) !important;font-size:12.5px !important;
  line-height:1.6 !important;color:var(--soft) !important;
  margin:0 !important;text-shadow:none !important;max-width:none;
}
.pdp-storycard__figure{
  position:static !important;inset:auto !important;
  order:1 !important;margin:0 !important;
  aspect-ratio:4/3 !important;overflow:hidden;
  margin-top:auto !important;
}
.pdp-storycard__figure::before,
.pdp-storycard__figure::after{ content:none !important;display:none !important; }
.pdp-storycard__img{
  width:100% !important;height:100% !important;
  object-fit:cover !important;display:block !important;
  filter:none !important;
  transition:transform .6s ease;
}
.pdp-storycard:hover .pdp-storycard__img{ transform:scale(1.04); }

/* ---------- REVIEWS — bordered card -------------------------------- */
.pdp-rev{ background:transparent !important;padding:0 0 40px !important; }
.pdp-rev__in{
  display:grid !important;
  grid-template-columns:230px minmax(0,1fr) !important;
  gap:clamp(24px,3vw,44px) !important;align-items:center !important;
  padding:clamp(24px,2.6vw,36px) !important;
  background:var(--card);
  border:1px solid var(--line);border-radius:14px;
  max-width:calc(var(--wrap) - var(--gut) * 2) !important;
  margin-inline:auto !important;
}
.pdp-rev__summary .pdp-h2{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(1.3rem,1.9vw,1.7rem);line-height:1.2;
  color:var(--ink);margin:0 0 14px;letter-spacing:-.01em;
}
.pdp-rev__score{
  font-family:var(--serif);font-size:2.4rem;font-weight:500;
  color:var(--ink);margin:0 0 6px;line-height:1;
}
.pdp-stars--lg{ font-size:19px; }
.pdp-rev__count{ font-family:var(--sans);font-size:12.5px;color:var(--soft);margin:8px 0 0; }
.pdp-rev__none{ font-size:13.5px;color:var(--soft); }
.pdp-rev__body{ display:none !important; }

.pdp-testi{ position:relative;overflow:visible; }
.pdp-testi__track{
  list-style:none;padding:0;margin:0;
  display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}
.pdp-testicard{
  display:flex;flex-direction:column;gap:10px;
  background:transparent !important;
  border:1px solid var(--line) !important;border-radius:11px !important;
  padding:16px 17px !important;box-shadow:none !important;
}
.pdp-testicard__stars{ color:#ddd5c4;font-size:12px;letter-spacing:1.5px;line-height:1; }
.pdp-testicard__stars .is-on{ color:var(--gold); }
.pdp-testicard__q{
  font-family:var(--sans);font-size:12.5px;line-height:1.6;
  color:var(--ink);margin:0;
}
.pdp-testicard__by{
  display:flex;align-items:center;gap:9px;
  margin-top:auto;padding-top:8px;
}
.pdp-testicard__av{
  width:28px;height:28px;border-radius:50%;flex:none;
  background:linear-gradient(135deg,var(--gold),#8a6b28);
  color:#fff;display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--sans);font-weight:700;font-size:11.5px;
}
.pdp-testicard__name{ font-family:var(--sans);font-size:12px;color:var(--soft); }
.pdp-testi__nav{
  position:absolute;top:50%;transform:translateY(-50%);z-index:2;
  width:34px;height:34px;border-radius:50%;cursor:pointer;
  background:var(--card);border:1px solid var(--line);color:var(--ink);
  display:inline-flex;align-items:center;justify-content:center;font-size:16px;
}
.pdp-testi__nav--prev{ left:-17px; }
.pdp-testi__nav--next{ right:-17px; }
.pdp-testi__nav:hover{ background:var(--gold);color:#fff;border-color:var(--gold); }

/* ---------- RELATED ------------------------------------------------ */
.pdp-rel{ background:transparent !important;padding:0 0 56px !important;position:relative; }
.pdp-rel__head{
  display:flex;align-items:center;justify-content:space-between;
  margin:0 auto 22px;background:transparent !important;
  border:0 !important;box-shadow:none !important;
}
.pdp-rel__head .pdp-h2{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(1.35rem,2vw,1.75rem);color:var(--ink);
  margin:0;letter-spacing:-.01em;
}
.pdp-rel__nav{ display:flex;gap:9px; }
.pdp-rel__arrow{
  width:36px;height:36px;border-radius:50%;cursor:pointer;
  background:transparent;border:1px solid var(--line);color:var(--ink);
  display:inline-flex;align-items:center;justify-content:center;font-size:16px;
  transition:background .2s,color .2s,border-color .2s;
}
.pdp-rel__arrow:hover{ background:var(--gold);color:#fff;border-color:var(--gold); }
.pdp-rel__scroller{
  background:transparent !important;border:0 !important;
  box-shadow:none !important;overflow:visible;
}
.pdp-rel__track{
  list-style:none;padding:0;margin:0;
  display:grid !important;grid-auto-flow:row !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:clamp(12px,1.4vw,18px) !important;
}
.pdp-relcard{
  position:relative;
  background:var(--card) !important;
  border:1px solid var(--line) !important;border-radius:12px !important;
  padding:15px !important;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.pdp-relcard:hover{
  transform:translateY(-4px);
  border-color:rgba(200,154,61,.5) !important;
  box-shadow:0 14px 32px rgba(30,30,30,.07) !important;
}
.pdp-relcard::before{
  content:'';position:absolute;top:16px;right:16px;z-index:2;
  width:19px;height:19px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C89A3D' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10z'/></svg>") center/contain no-repeat;
}
.pdp-relcard__link{ display:block;text-decoration:none; }
.pdp-relcard__figure{
  margin:0 0 12px;border-radius:9px;overflow:hidden;
  aspect-ratio:1/1;background:var(--bg);
}
.pdp-relcard__img{ width:100%;height:100%;object-fit:cover;display:block; }
.pdp-relcard__k{
  font-family:var(--serif);font-weight:500;font-size:14.5px;
  color:var(--ink);margin:0 0 3px;line-height:1.25;
}
.pdp-relcard__sub{
  display:block;font-family:var(--sans);font-size:11.5px;
  color:var(--soft);margin-bottom:7px;
}
.pdp-relcard__price{
  display:block;font-family:var(--serif);font-weight:500;font-size:15px;
  color:var(--ink);margin:0 0 7px;
}
.pdp-relcard__rate{
  display:flex;align-items:center;gap:6px;
  font-family:var(--sans);font-size:11px;color:var(--soft);
}
.pdp-relcard__rate .pdp-stars{ font-size:11px;letter-spacing:1px; }
/* Removed: this hid the related-card action outright, so the card had no way
   to act on. The action is now part of the card's buy row. */

/* ---------- SERVICE STRIP (footer trust bar) ----------------------- */
.pdp-serv{
  background:transparent !important;
  padding:26px 0 !important;position:relative;overflow:hidden;
  border-top:1px solid var(--line);
}
.pdp-serv__drip{ display:none !important; }
.pdp-serv__in{
  list-style:none !important;
  display:grid !important;grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:0 !important;position:relative;z-index:2;
}
.pdp-serv__item{
  display:flex;align-items:center;gap:12px;
  padding:0 20px;border-left:1px solid var(--line);
  text-align:left;
}
.pdp-serv__item:first-child{ border-left:0;padding-left:0; }
.pdp-serv__item .pdp-i{
  width:38px;height:38px;padding:9px;flex:none;
  border:1px solid rgba(200,154,61,.45);border-radius:50%;
  color:var(--gold);background:transparent;
}
.pdp-serv__item strong{
  display:block;font-family:var(--sans);font-size:12.5px;font-weight:600;
  color:var(--ink);letter-spacing:.01em;text-transform:none;line-height:1.3;
}
.pdp-serv__item span{
  display:block;font-family:var(--sans);font-size:11.5px;
  color:var(--soft);margin-top:2px;
}

/* ---------- LIGHTBOX + STICKY -------------------------------------- */
.pdp-lb{
  position:fixed;inset:0;z-index:9999;
  background:rgba(18,17,15,.94);
  display:flex;align-items:center;justify-content:center;padding:40px;
}
.pdp-lb[hidden]{ display:none !important; }
.pdp-lb__img{ max-width:100%;max-height:100%;object-fit:contain;border-radius:8px; }
.pdp-lb__x{
  position:absolute;top:24px;right:28px;
  width:42px;height:42px;border-radius:50%;cursor:pointer;
  background:transparent;border:1px solid rgba(255,255,255,.3);
  color:#fff;font-size:24px;line-height:1;
}
.pdp-sticky{
  position:fixed;left:0;right:0;bottom:0;z-index:900;
  background:var(--card);border-top:1px solid var(--line);
  transform:translateY(102%);transition:transform .3s ease;
  box-shadow:0 -6px 24px rgba(30,30,30,.08);
}
.pdp-sticky.is-on{ transform:translateY(0); }
.pdp-sticky__in{
  max-width:var(--wrap);margin:0 auto;
  padding:11px var(--gut);
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.pdp-sticky__id{ display:flex;align-items:center;gap:12px;min-width:0; }
.pdp-sticky__img{ width:42px;height:42px;border-radius:7px;object-fit:cover;flex:none; }
.pdp-sticky__id strong{
  display:block;font-family:var(--serif);font-size:14px;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pdp-sticky__id span{ font-family:var(--sans);font-size:12.5px;color:var(--gold); }
.pdp-sticky .pdp-btn--gold{
  background:var(--gold);color:#fff;border-radius:8px;
  padding:12px 24px;font-family:var(--sans);font-size:12px;
  font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  text-decoration:none;white-space:nowrap;
}

/* ---------- RESPONSIVE -------------------------------------------- */
@media (max-width:1100px){
  .pdp-trust__in{ grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:22px 0 !important; }
  .pdp-trust__item:nth-child(3n+1){ border-left:0;padding-left:0; }
  .pdp-rel__track{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .pdp-serv__in{ grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:20px 0 !important; }
  .pdp-serv__item:nth-child(3n+1){ border-left:0;padding-left:0; }
}
@media (max-width:940px){
  .pdp-hero__in{ grid-template-columns:1fr !important;gap:28px !important; }
  .pdp-gal{ grid-template-columns:1fr !important; }
  .pdp-gal__thumbs{
    flex-direction:row !important;order:1 !important;
    overflow-x:auto;padding-bottom:4px;
  }
  .pdp-gal__thumb{ flex:0 0 72px;width:72px !important;height:72px !important; }
  .pdp-tabs__in{ grid-template-columns:1fr !important;row-gap:24px !important; }
  .pdp-tabs__body{ grid-column:1 / -1 !important; }
  .pdp-tabs__figure{ grid-column:1 / -1 !important;min-height:0;aspect-ratio:16/10 !important; }
  .pdp-story__in,.pdp-story ul.pdp-story__in{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .pdp-rev__in{ grid-template-columns:1fr !important; }
  .pdp-testi__track{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .pdp-testi__nav{ display:none; }
}
@media (max-width:640px){
  .pdp-marks{ grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:16px 8px; }
  .pdp-trust__in{ grid-template-columns:1fr !important; }
  .pdp-trust__item{ border-left:0 !important;padding:0 !important; }
  .pdp-buy__ship{ grid-template-columns:1fr !important; }
  .pdp-story__in,.pdp-story ul.pdp-story__in{ grid-template-columns:1fr !important; }
  .pdp-testi__track{ grid-template-columns:1fr !important; }
  .pdp-rel__track{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .pdp-serv__in{ grid-template-columns:1fr !important; }
  .pdp-serv__item{ border-left:0 !important;padding:0 !important; }
  .pdp-buy__title{ font-size:1.9rem; }
}


/* --- BUTTON SIZING FIX ---------------------------------------------
   Woo's form.cart is a column flex container with align-items:center and
   the ATC button picks up flex-grow, stretching it to 220px. Pin it. */
.pdp-buy__cart form.cart{
  align-items:stretch !important;
  height:auto !important;
}
.pdp-buy__cart .single_add_to_cart_button,
.pdp-buy__cart .button.single_add_to_cart_button,
.woocommerce .pdp-buy__cart button.single_add_to_cart_button{
  flex:0 0 auto !important;
  height:54px !important;
  min-height:54px !important;
  max-height:54px !important;
  padding:0 24px !important;
  line-height:1 !important;
  align-self:stretch !important;
}
.pdp-btn--buynow{
  flex:0 0 auto !important;
  line-height:1 !important;align-self:center !important;
}
.pdp .quantity{ flex:0 0 auto !important; }

/* Woo sometimes wraps ATC in a hidden wrapper — neutralise stray growth */
.pdp-buy__cart form.cart > *{ flex:0 0 auto !important; }


/* =====================================================================
   REVISION PASS
   · Breadcrumbs removed (both theme + PDP)
   · Tab nav restored above the About card
   · Badge icons are now Media-Library PNGs
   · Trust + service bands removed (data emptied in PHP; kill spacing)
   ===================================================================== */

/* Breadcrumbs off on product pages */
.pdp-crumbs,
body.single-product .woo-wrap > .woocommerce-breadcrumb,
body.single-product .wrap > .woocommerce-breadcrumb{
  display:none !important;
}
.pdp-hero{ padding-top:28px !important; }

/* Tab nav back — full-width row above the two-column About card */
.pdp-tabs{ padding:0 0 40px !important; }
.pdp-tabs__in{
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr) !important;
  row-gap:28px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;border-radius:0 !important;
  max-width:var(--wrap) !important;
  padding-inline:var(--gut) !important;
}
.pdp-tabs__nav{
  display:flex !important;
  flex-direction:row !important;
  grid-column:1 / -1 !important;
  gap:2px !important;
  margin:0 !important;padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-bottom:1px solid var(--line) !important;
  overflow-x:auto;
  visibility:visible !important;opacity:1 !important;
}
.pdp-tabs__btn{
  display:inline-flex !important;align-items:center;
  padding:15px 20px !important;
  background:transparent !important;
  border:0 !important;border-bottom:2px solid transparent !important;
  margin:0 0 -1px 0 !important;border-radius:0 !important;
  font-family:var(--sans) !important;font-size:11.5px !important;
  font-weight:700 !important;letter-spacing:.15em !important;
  text-transform:uppercase !important;color:var(--soft) !important;
  white-space:nowrap;cursor:pointer;
  visibility:visible !important;opacity:1 !important;
}
.pdp-tabs__btn:hover{ color:var(--ink) !important; }
.pdp-tabs__btn.is-on{
  color:var(--ink) !important;
  border-bottom-color:var(--gold) !important;
}

/* Body + figure become the bordered card content */
.pdp-tabs__body{
  grid-column:1 / 2 !important;grid-row:2 / 3 !important;
  padding:0 !important;
}
.pdp-tabs__figure{
  grid-column:2 / 3 !important;grid-row:2 / 3 !important;
  min-height:0 !important;aspect-ratio:4/3 !important;
  align-self:center !important;
}
/* The panel eyebrow duplicated the tab label — drop it now nav is back */
.pdp-tabs__panel.is-on::before{
  content:none !important;display:none !important;
}

/* Badge icon images (uploaded gold circle PNGs) */
.pdp-marks{ grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
.pdp-mark__img{
  width:52px !important;height:52px !important;
  object-fit:contain;display:block;flex:none;
  border:0 !important;border-radius:0 !important;
  background:transparent !important;padding:0 !important;
}
.pdp-mark span{ max-width:14ch; }

/* Size row — single chip reads as a spec, keep it tidy */

/* Removed bands: collapse any residual space */
.pdp-trust,.pdp-serv{ display:none !important; }

@media (max-width:940px){
  .pdp-tabs__in{ grid-template-columns:1fr !important; }
  .pdp-tabs__body{ grid-column:1 / -1 !important;grid-row:3 / 4 !important; }
  .pdp-tabs__figure{ grid-column:1 / -1 !important;grid-row:2 / 3 !important;aspect-ratio:16/10 !important; }
}
@media (max-width:640px){
  .pdp-marks{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .pdp-mark__img{ width:46px !important;height:46px !important; }
}


/* =====================================================================
   TAB PANEL VISIBILITY + BREADCRUMB
   The earlier `:first-of-type` rule pinned the About panel open, so it
   rendered under whichever tab you picked. Only `.is-on` shows now.
   ===================================================================== */
.pdp-tabs__panel{ display:none !important; }
.pdp-tabs__panel[hidden]{ display:none !important; }
.pdp-tabs__panel.is-on{
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
}

/* ---------- BREADCRUMB restored ------------------------------------ */
.pdp-crumbs{
  display:block !important;
  background:transparent;border:0;
  padding:20px 0 6px;
}
.pdp-crumbs__in{
  max-width:var(--wrap) !important;
  margin-inline:auto !important;
  padding-inline:var(--gut) !important;
  font-family:var(--sans);font-size:13px;color:var(--soft);
}
.pdp-crumbs__in .woocommerce-breadcrumb{
  margin:0;font-size:13px;color:var(--soft);font-family:var(--sans);
}
.pdp-crumbs a{ color:var(--soft);text-decoration:none;transition:color .2s; }
.pdp-crumbs a:hover{ color:var(--gold); }
.pdp-crumbs__sep{ margin:0 9px;color:var(--line); }
/* Keep the theme's duplicate breadcrumb hidden so only one shows */
body.single-product .woo-wrap > .woocommerce-breadcrumb,
body.single-product .wrap > .woocommerce-breadcrumb{ display:none !important; }
.pdp-hero{ padding-top:10px !important; }


/* Breadcrumb spacing — an older layer left 112px top padding and a
   negative right margin on the inner wrap. Reset it to a tight row. */
.pdp-crumbs__in{
  padding:0 var(--gut) !important;
  margin:0 auto !important;
  max-width:var(--wrap) !important;
}
.pdp-crumbs__in .woocommerce-breadcrumb{
  padding:0 !important;margin:0 !important;
  font-size:13px !important;color:var(--soft) !important;
}
.pdp-crumbs{ padding:18px 0 4px !important; }

/* ---------------------------------------------------------------------------
 * Mobile gutters: ONE, not three (2026-08-12)
 *
 * main.site-main added 20px, .wrap nested inside it added another 20px, and
 * .pdp-hero__in added 14px on top. That is 54px of padding per side, so on a
 * 393px phone the content had only 285px to live in. Symmetric, so it never
 * showed up as overflow, but it reads as the page floating away from the edge.
 *
 * Scoped to the WooCommerce wrapper so other templates keep their own spacing.
 * ------------------------------------------------------------------------ */
@media (max-width: 700px){
	.site-main.woo-main{ padding-left:0 !important; padding-right:0 !important; }
	.woo-main .wrap,
	.wrap.woo-wrap{ padding-left:16px !important; padding-right:16px !important; }
	.pdp-hero__in{ padding-left:0 !important; padding-right:0 !important; }

	/* One left edge for every block. Mixed 14/16/30px insets read as a ragged
	   margin even though each block is individually symmetric. */
	.pdp-buy,.pdp-spec,.pdp-marks,.pdp-buy__cart,.pdp-buy__ship,
	.pdp-buy__title,.pdp-buy__tag,.pdp-buy__rate,.pdp-buy__price,.pdp-buy__desc{
		padding-left:0 !important; padding-right:0 !important;
		margin-left:0 !important; margin-right:0 !important;
	}
	/* Deliberately NOT in the list above: the badge is a pill, and the
	   padding:0 reset would collapse its own horizontal padding. It has no
	   left inset to correct anyway. */
	.pdp-buy__docled{ margin-left:0 !important; }
	.pdp-tabs{ padding-left:0 !important; padding-right:0 !important; }

	/* Full-bleed elements that should touch the edges: the gallery and the
	   related carousel read better edge to edge on a phone. */
	.pdp-gal{ margin-left:-16px !important; margin-right:-16px !important; width:calc(100% + 32px) !important; }
	.pdp-rel__row,.pdp-rel ul{ padding-left:16px !important; padding-right:16px !important;
		margin-left:-16px !important; margin-right:-16px !important; width:calc(100% + 32px) !important; }
}

/* ---------------------------------------------------------------------------
 * Mobile: the product photo, bigger (2026-08-13)
 *
 * The photo was 345px inside 16px gutters, in a square frame. On a 812px-tall
 * phone that square wastes most of the screen, and these product shots carry a
 * lot of empty background around the jar, so the jar itself rendered small.
 *
 * Two changes: run the stage edge to edge, and give it a taller 4:5 frame with
 * object-fit:cover so the dead margin is cropped rather than displayed. The jar
 * goes from 345x345 to the full screen width at 5:4 height, which is roughly
 * a 35% larger subject without touching the source files.
 * ------------------------------------------------------------------------ */
@media (max-width: 700px){
	/* Escape the wrapper's gutter, whatever it happens to be. */
	.pdp-gal{
		margin-left:calc(50% - 50vw) !important;
		margin-right:calc(50% - 50vw) !important;
		width:100vw !important; max-width:100vw !important;
	}
	.pdp-gal__stage{
		width:100vw !important; max-width:100vw !important;
		aspect-ratio:4/5 !important;
		border-radius:0 !important;
	}
	.pdp-gal__stage figure,
	.pdp-gal__slide{ width:100% !important; height:100% !important; margin:0 !important; }

	.pdp-gal__img{
		width:100% !important; height:100% !important;
		aspect-ratio:auto !important;
		object-fit:cover !important; object-position:center 45% !important;
		border-radius:0 !important;
	}

	/* Thumbnails sit back inside the gutter, under the full-bleed photo. */
	.pdp-gal__thumbs{
		padding:12px 16px 0 !important;
		width:100vw !important; max-width:100vw !important;
		box-sizing:border-box !important;
	}

	/* The fullscreen control keeps its 44px target against a busier photo. */
	.pdp-gal__zoom{
		right:14px !important; bottom:14px !important;
		background:rgba(255,255,255,.92) !important;
		box-shadow:0 4px 14px rgba(31,27,22,.22) !important;
	}
}

/* The breakage promise is the longest line in the buy-box strip and the only one
   that wraps, so it gets room to breathe and its link gets a visible affordance. */
.pdp-buy__ship li{ align-items:flex-start; }
.pdp-buy__ship-more{
  display:inline-block; margin-left:6px; white-space:nowrap;
  color:var(--gold,#c49646); font-weight:700; text-decoration:underline;
  text-underline-offset:2px;
}
.pdp-buy__ship-more:hover{ color:var(--p-brown,#a87b32); }

/* Pack size and unit price, beside the price they qualify. Quiet enough not to
   compete with the figure, present enough to be read before the decision. */
.pdp-buy__unit{
  display:block;margin-top:3px;
  font-family:var(--sans);font-size:0.82rem;font-weight:600;
  letter-spacing:.01em;color:var(--soft,#7c7264);
}
