/* =====================================================================
   PeptoPharm - compiled stylesheet  v2
   Light typography - no italics - expanded palette - compact sections
   Token source of truth: assets/src/tailwind.css
   ===================================================================== */

/* ---------- 1. Tokens ---------- */
:root{
  /* neutrals */
  --ink:#171310;
  --ink-mid:#4a423b;
  --ink-soft:#6d635a;
  --cream:#f7f3ec;
  --cream-deep:#efe8dc;
  --paper:#fffefb;

  /* brand + extended palette */
  --ember:#e2561d;
  --ember-dark:#bd4211;
  --teal:#10786f;
  --teal-deep:#0b5b54;
  --indigo:#3a4da3;
  --berry:#ad3163;
  --gold:#c8901a;
  --sky:#3f83b8;
  --moss:#5f8b52;
  --violet:#7a5fb0;

  /* soft tints */
  --tint-ember:#fceee7;
  --tint-teal:#e4f1ef;
  --tint-indigo:#e9ecf7;
  --tint-berry:#f9eaf0;
  --tint-gold:#faf1de;
  --tint-sky:#e8f1f8;
  --tint-moss:#eaf1e7;
  --tint-violet:#f0ecf8;

  --line:rgba(23,19,16,.10);
  --line-strong:rgba(23,19,16,.18);

  --font-display:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --font-body:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  /* weights - light first, bold used sparingly */
  --fw-light:300;
  --fw-book:400;
  --fw-medium:500;
  --fw-semi:600;

  --r-card:20px;
  --r-lg:16px;
  --r-sm:10px;
  --r-pill:999px;
  --ease:cubic-bezier(.16,1,.3,1);
  --header-h:68px;
  --announce-h:34px;

  /* compact vertical rhythm so sections fit a laptop screen */
  --sec-y:clamp(52px,5.4vw,82px);
  --sec-y-tight:clamp(38px,3.6vw,56px);
}

/* ---------- 2. Reset ---------- */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto;}}
body{margin:0;font-family:var(--font-body);font-size:16px;font-weight:var(--fw-book);line-height:1.62;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img,svg,video,canvas{display:block;max-width:100%;height:auto;}
button,input,select,textarea{font:inherit;color:inherit;}
button{cursor:pointer;background:none;border:0;padding:0;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4,h5{margin:0;font-family:var(--font-display);font-weight:var(--fw-light);letter-spacing:-.022em;line-height:1.08;}
p{margin:0;}
ul,ol{margin:0;padding:0;list-style:none;}
figure{margin:0;}
em,i{font-style:normal;}
:focus-visible{outline:2px solid var(--ember);outline-offset:3px;border-radius:4px;}

.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.pp-skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--ink);color:#fff;padding:12px 20px;border-radius:0 0 12px 0;}
.pp-skip:focus{left:0;}

/* ---------- 3. Layout ---------- */
.pp-container{width:100%;max-width:1240px;margin-inline:auto;padding-inline:24px;}
.pp-container--wide{max-width:1440px;}
.pp-hide-sm{display:inline-flex;}
.pp-center{text-align:center;}

.pp-section{padding-block:var(--sec-y);}
.pp-section--tight{padding-block:var(--sec-y-tight);}
.pp-section--cream{background:var(--cream);}
.pp-section--paper{background:var(--paper);}
.pp-section--deep{background:var(--cream-deep);}
.pp-section--ink{background:var(--ink);color:var(--cream);}
.pp-section--tealbg{background:var(--tint-teal);}
.pp-section--indigobg{background:var(--tint-indigo);}

.pp-section__head{margin-bottom:clamp(26px,3vw,42px);}
.pp-section__head--split{display:grid;grid-template-columns:1fr;gap:16px;align-items:end;}
.pp-section__aside{max-width:46ch;}

/* ---------- 4. Typography ---------- */
/* No dash rule, no italics, light weights throughout. */
.pp-kicker{display:inline-block;font-family:var(--font-display);font-size:11.5px;font-weight:var(--fw-semi);letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:14px;}
.pp-kicker--light{color:var(--gold);}
.pp-kicker--ink{color:var(--ink);}
.pp-kicker--ember{color:var(--ember);}

.pp-display{font-family:var(--font-display);font-weight:var(--fw-light);letter-spacing:-.028em;line-height:1.04;text-transform:none;}
.pp-h1{font-size:clamp(2.5rem,4.9vw,4.3rem);line-height:1.02;}
.pp-h2{font-size:clamp(1.85rem,3.2vw,3rem);}
.pp-h3{font-size:clamp(1.25rem,1.9vw,1.7rem);letter-spacing:-.02em;}
.pp-lede{font-size:clamp(1rem,1.15vw,1.12rem);line-height:1.62;color:var(--ink-mid);max-width:58ch;font-weight:var(--fw-book);}

/* colour accent replaces the old italic accent */
.pp-accent{color:var(--ember);font-weight:var(--fw-medium);}
.pp-accent--teal{color:var(--teal);}
.pp-accent--indigo{color:var(--indigo);}
.pp-accent--berry{color:var(--berry);}
.pp-accent--gold{color:var(--gold);}
.pp-italic{font-style:normal;font-weight:var(--fw-medium);color:var(--ember);}
.pp-ember{color:var(--ember);}
.pp-outline{color:transparent;-webkit-text-stroke:1px currentColor;}

/* ---------- 5. Buttons ---------- */
.pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:0 24px;border-radius:var(--r-pill);font-family:var(--font-display);font-size:13.5px;font-weight:var(--fw-medium);letter-spacing:.03em;white-space:nowrap;border:1px solid transparent;transition:transform .35s var(--ease),background-color .25s ease,color .25s ease,border-color .25s ease;}
.pp-btn:hover{transform:translateY(-2px);}
.pp-btn--solid{background:var(--ember);color:#fff;}
.pp-btn--solid:hover{background:var(--ember-dark);}
.pp-btn--teal{background:var(--teal);color:#fff;}
.pp-btn--teal:hover{background:var(--teal-deep);}
.pp-btn--ink{background:var(--ink);color:var(--cream);}
.pp-btn--ink:hover{background:#000;}
.pp-btn--ghost{background:transparent;color:var(--ink);border-color:var(--line-strong);}
.pp-btn--ghost:hover{background:var(--ink);color:var(--cream);border-color:var(--ink);}
.pp-btn--outline{background:transparent;color:var(--cream);border-color:rgba(247,243,236,.35);}
.pp-btn--outline:hover{background:var(--cream);color:var(--ink);border-color:var(--cream);}
.pp-btn--lg{min-height:54px;padding:0 32px;font-size:14px;}
.pp-btn--block{width:100%;}

/* ---------- 6. Announcement ---------- */
.pp-announce{background:var(--ink);color:var(--cream);overflow:hidden;padding:0;height:var(--announce-h);display:flex;align-items:center;position:relative;z-index:60;}
.pp-announce__track{display:flex;align-items:center;gap:26px;width:max-content;animation:pp-marquee 38s linear infinite;}
.pp-announce__item{font-family:var(--font-display);font-size:11px;font-weight:var(--fw-book);letter-spacing:.13em;text-transform:uppercase;white-space:nowrap;color:rgba(247,243,236,.9);}
.pp-announce__dot{color:var(--ember);font-size:10px;}
@keyframes pp-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ---------- 7. Header ---------- */
.pp-header{position:sticky;top:0;z-index:50;background:rgba(247,243,236,.84);backdrop-filter:saturate(160%) blur(14px);-webkit-backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid transparent;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease;}
.pp-header.is-stuck{background:rgba(247,243,236,.97);border-bottom-color:var(--line);box-shadow:0 4px 22px rgba(23,19,16,.05);}
.pp-header__inner{max-width:1440px;margin-inline:auto;padding:0 24px;height:var(--header-h);display:flex;align-items:center;gap:22px;}
.pp-header__brand{flex:0 0 auto;}
.pp-header__actions{margin-left:auto;display:flex;align-items:center;gap:9px;}

.pp-logo{display:inline-flex;align-items:center;gap:9px;}
.pp-logo__mark{width:28px;height:28px;border-radius:50%;background:radial-gradient(circle at 32% 30%,#ff8a4f 0%,var(--ember) 55%,var(--ember-dark) 100%);flex:0 0 auto;}
.pp-logo__text{font-family:var(--font-display);font-size:20px;font-weight:var(--fw-medium);letter-spacing:-.03em;line-height:1;}
.pp-logo__text em{font-style:normal;font-weight:var(--fw-light);color:var(--ember);}

.pp-nav{display:none;}
.pp-nav__list{display:flex;align-items:center;gap:2px;}
.pp-nav__list a{position:relative;display:inline-block;padding:8px 13px;font-family:var(--font-display);font-size:13.5px;font-weight:var(--fw-book);letter-spacing:.005em;border-radius:var(--r-pill);transition:background-color .25s ease,color .25s ease;}
.pp-nav__list a:hover,.pp-nav__list .current-menu-item>a{background:rgba(23,19,16,.06);color:var(--teal);}

.pp-cart{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);transition:background-color .25s ease,color .25s ease,border-color .25s ease;}
.pp-cart:hover{background:var(--ink);color:var(--cream);border-color:var(--ink);}
.pp-cart__count{position:absolute;top:-2px;right:-2px;min-width:19px;height:19px;padding:0 5px;border-radius:var(--r-pill);background:var(--teal);color:#fff;font-family:var(--font-display);font-size:10.5px;font-weight:var(--fw-semi);display:flex;align-items:center;justify-content:center;}

.pp-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-strong);align-items:center;}
.pp-burger__bar{display:block;width:18px;height:1.5px;background:var(--ink);border-radius:2px;transition:transform .3s var(--ease);}
.pp-burger[aria-expanded="true"] .pp-burger__bar:first-child{transform:translateY(3.2px) rotate(45deg);}
.pp-burger[aria-expanded="true"] .pp-burger__bar:last-child{transform:translateY(-3.2px) rotate(-45deg);}

.pp-mobile{position:fixed;inset:calc(var(--header-h) + var(--announce-h)) 0 0 0;z-index:45;background:var(--cream);padding:22px;display:flex;flex-direction:column;gap:22px;overflow-y:auto;}
.pp-mobile[hidden]{display:none;}
.pp-mobile__list{display:flex;flex-direction:column;gap:2px;}
.pp-mobile__list a{display:block;padding:13px 4px;font-family:var(--font-display);font-size:22px;font-weight:var(--fw-light);letter-spacing:-.02em;border-bottom:1px solid var(--line);}
.pp-mobile__foot{display:flex;flex-direction:column;gap:10px;}
.pp-mobile__note{font-size:12.5px;color:var(--ink-soft);}

/* ---------- 8. Hero (redesigned) ---------- */
.pp-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--cream) 0%,var(--tint-teal) 78%,var(--cream-deep) 100%);padding-block:clamp(34px,3.6vw,54px) clamp(30px,3vw,44px);}
.pp-hero__blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;pointer-events:none;}
.pp-hero__blob--a{width:520px;height:520px;background:rgba(226,86,29,.20);top:-190px;right:-120px;}
.pp-hero__blob--b{width:460px;height:460px;background:rgba(16,120,111,.18);bottom:-220px;left:-140px;}

.pp-hero__inner{position:relative;display:grid;grid-template-columns:1fr;gap:34px;align-items:center;}
.pp-hero__copy{max-width:640px;}

.pp-hero__eyebrow{display:inline-flex;align-items:center;gap:9px;padding:6px 14px 6px 7px;border-radius:var(--r-pill);background:rgba(255,255,255,.8);border:1px solid var(--line);font-family:var(--font-display);font-size:11.5px;font-weight:var(--fw-medium);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-mid);margin-bottom:20px;}
.pp-hero__eyebrow b{display:inline-flex;align-items:center;padding:3px 9px;border-radius:var(--r-pill);background:var(--teal);color:#fff;font-weight:var(--fw-medium);font-size:10.5px;letter-spacing:.08em;}

.pp-hero__title{margin-bottom:20px;}
.pp-hero__title .pp-line{display:block;overflow:hidden;}
.pp-hero__title .pp-line>span{display:block;}

.pp-hero__lede{margin-bottom:24px;max-width:52ch;}

.pp-hero__meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px;}
.pp-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:var(--r-pill);background:rgba(255,255,255,.78);border:1px solid var(--line);font-size:12.5px;font-weight:var(--fw-book);color:var(--ink-mid);}
.pp-chip__dot{width:6px;height:6px;border-radius:50%;background:var(--teal);flex:0 0 auto;}
.pp-chip:nth-child(2) .pp-chip__dot{background:var(--ember);}
.pp-chip:nth-child(3) .pp-chip__dot{background:var(--indigo);}

.pp-hero__cta{display:flex;flex-wrap:wrap;gap:11px;margin-bottom:26px;}

/* hero product stage - clean card, no giant disc */
.pp-hero__stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:340px;}
.pp-hero__panel{position:relative;width:100%;max-width:460px;aspect-ratio:1/1;border-radius:26px;background:linear-gradient(155deg,#ffffff 0%,var(--tint-ember) 52%,var(--tint-gold) 100%);border:1px solid rgba(255,255,255,.9);box-shadow:0 26px 60px -28px rgba(23,19,16,.35);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.pp-hero__grid{position:absolute;inset:0;background-image:linear-gradient(rgba(23,19,16,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(23,19,16,.05) 1px,transparent 1px);background-size:46px 46px;}
.pp-hero__disc{position:absolute;width:62%;aspect-ratio:1/1;border-radius:50%;background:radial-gradient(circle at 35% 28%,#ffa06b 0%,var(--ember) 58%,var(--ember-dark) 100%);opacity:.92;}
.pp-hero__ring{position:absolute;width:78%;aspect-ratio:1/1;border-radius:50%;border:1px dashed rgba(23,19,16,.2);}
.pp-hero__vial{position:relative;width:52%;max-width:250px;height:auto;filter:drop-shadow(0 22px 34px rgba(23,19,16,.34));}

.pp-hero__tag{position:absolute;display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--line);font-family:var(--font-display);font-size:11.5px;font-weight:var(--fw-medium);letter-spacing:.03em;box-shadow:0 10px 26px -14px rgba(23,19,16,.4);white-space:nowrap;}
.pp-hero__tag--1{top:8%;left:-6px;color:var(--teal);}
.pp-hero__tag--2{bottom:20%;right:-10px;color:var(--indigo);}
.pp-hero__tag--3{bottom:4%;left:8%;background:var(--ink);color:var(--cream);border-color:var(--ink);}

/* compact stat bar */
.pp-hero__stats{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:34px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;}
.pp-stat{background:rgba(255,255,255,.72);padding:18px 20px;}
.pp-stat__num{font-family:var(--font-display);font-size:clamp(1.5rem,2.3vw,2.05rem);font-weight:var(--fw-light);letter-spacing:-.03em;line-height:1;margin-bottom:6px;}
.pp-stat:nth-child(1) .pp-stat__num{color:var(--ember);}
.pp-stat:nth-child(2) .pp-stat__num{color:var(--teal);}
.pp-stat:nth-child(3) .pp-stat__num{color:var(--indigo);}
.pp-stat:nth-child(4) .pp-stat__num{color:var(--berry);}
.pp-stat__label{font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);}

/* ---------- 9. Trust strip ---------- */
.pp-strip{background:var(--ink);color:var(--cream);overflow:hidden;padding:13px 0;}
.pp-strip__track{display:flex;align-items:center;gap:22px;width:max-content;animation:pp-marquee 42s linear infinite;}
.pp-strip__item{font-family:var(--font-display);font-size:clamp(.85rem,1.15vw,1.05rem);font-weight:var(--fw-light);letter-spacing:.06em;white-space:nowrap;}
.pp-strip__item:nth-child(4n+1){color:var(--ember);}
.pp-strip__item:nth-child(4n+3){color:var(--gold);}
.pp-strip__sep{width:5px;height:5px;border-radius:50%;background:rgba(247,243,236,.45);flex:0 0 auto;}

/* ---------- 10. Products ---------- */
.pp-products__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.pp-products__more{margin-top:30px;text-align:center;}

.pp-product{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;display:flex;flex-direction:column;transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .3s ease;}
.pp-product:hover{transform:translateY(-5px);box-shadow:0 22px 44px -26px rgba(23,19,16,.4);border-color:var(--line-strong);}
.pp-product__media{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;padding:14%;background:var(--tint-ember);}
.pp-product--ember .pp-product__media{background:var(--tint-ember);}
.pp-product--sky .pp-product__media{background:var(--tint-sky);}
.pp-product--moss .pp-product__media{background:var(--tint-moss);}
.pp-product--violet .pp-product__media{background:var(--tint-violet);}
.pp-product--sand .pp-product__media{background:var(--tint-gold);}
.pp-product--teal .pp-product__media{background:var(--tint-teal);}
.pp-product--indigo .pp-product__media{background:var(--tint-indigo);}
.pp-product--berry .pp-product__media{background:var(--tint-berry);}
.pp-product__media-link{display:flex;align-items:center;justify-content:center;width:100%;height:100%;text-decoration:none;}
.pp-product__img{width:100%;height:100%;object-fit:contain;transition:transform .55s var(--ease);}
.pp-product:hover .pp-product__img{transform:scale(1.05) translateY(-3px);}
.pp-product__badge{position:absolute;top:11px;left:11px;padding:5px 11px;border-radius:var(--r-pill);background:var(--teal);color:#fff;font-family:var(--font-display);font-size:10px;font-weight:var(--fw-medium);letter-spacing:.1em;text-transform:uppercase;box-shadow:0 2px 8px rgba(16,120,111,.25);}
.pp-product__purity{position:absolute;top:11px;right:11px;padding:5px 10px;border-radius:var(--r-pill);background:rgba(255,255,255,.94);font-family:var(--font-display);font-size:10.5px;font-weight:var(--fw-medium);color:var(--teal);}
.pp-product__body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:4px;flex:1;}
.pp-product__cat{font-size:10.5px;font-weight:var(--fw-medium);letter-spacing:.1em;text-transform:uppercase;color:var(--ember);}
.pp-product--sky .pp-product__cat{color:var(--sky);}
.pp-product--moss .pp-product__cat{color:var(--moss);}
.pp-product--violet .pp-product__cat{color:var(--violet);}
.pp-product--sand .pp-product__cat{color:var(--gold);}
.pp-product--teal .pp-product__cat{color:var(--teal);}
.pp-product--indigo .pp-product__cat{color:var(--indigo);}
.pp-product--berry .pp-product__cat{color:var(--berry);}
.pp-product__title{font-family:var(--font-display);font-size:1.06rem;font-weight:var(--fw-medium);letter-spacing:-.02em;}
.pp-product__dose{font-size:12.5px;color:var(--ink-soft);}
.pp-product__foot{margin-top:auto;padding-top:13px;display:flex;align-items:center;justify-content:space-between;gap:10px;}
.pp-product__price{font-family:var(--font-display);font-size:1.06rem;font-weight:var(--fw-medium);}
.pp-product__btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 16px;border-radius:var(--r-pill);background:var(--ink);color:var(--cream);font-family:var(--font-display);font-size:11.5px;font-weight:var(--fw-medium);letter-spacing:.06em;transition:all .25s ease;}
.pp-product__btn:hover{background:var(--teal);color:#fff;transform:translateY(-1px);}

/* ---------- 11. Split / story ---------- */
.pp-split{display:grid;grid-template-columns:1fr;gap:30px;align-items:center;}
.pp-split--reverse .pp-split__media{order:2;}
.pp-split__media{position:relative;border-radius:var(--r-card);overflow:hidden;}
.pp-split__media img{width:100%;height:auto;display:block;}
.pp-split__badge{position:absolute;left:14px;right:14px;bottom:14px;padding:13px 16px;border-radius:var(--r-lg);background:rgba(255,255,255,.94);backdrop-filter:blur(8px);}
.pp-split__badge strong{display:block;font-family:var(--font-display);font-size:13.5px;font-weight:var(--fw-medium);color:var(--teal);}
.pp-split__badge span{display:block;margin-top:3px;font-size:12px;color:var(--ink-soft);}
.pp-split__body>*+*{margin-top:16px;}
.pp-split__list{display:flex;flex-direction:column;gap:9px;}
.pp-split__list li{position:relative;padding-left:24px;font-size:14.5px;color:var(--ink-mid);}
.pp-split__list li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:50%;background:var(--ember);}
.pp-split__list li:nth-child(2)::before{background:var(--teal);}
.pp-split__list li:nth-child(3)::before{background:var(--indigo);}
.pp-split__list li:nth-child(4)::before{background:var(--gold);}

/* ---------- 12. Quote band ---------- */
.pp-quote{background:var(--ink);color:var(--cream);padding-block:clamp(46px,5vw,72px);text-align:center;}
.pp-quote blockquote{margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,3.4vw,3rem);font-weight:var(--fw-light);letter-spacing:-.028em;line-height:1.12;}
.pp-quote blockquote em{font-style:normal;color:var(--ember);font-weight:var(--fw-medium);}
.pp-quote figcaption{margin-top:18px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,243,236,.55);}

/* ---------- 13. Reels ---------- */
.pp-reels__grid{display:grid;grid-template-columns:1fr;gap:14px;}
.pp-reel{position:relative;border-radius:var(--r-card);overflow:hidden;aspect-ratio:4/5;background:var(--ink);}
.pp-reel video{width:100%;height:100%;object-fit:cover;}
.pp-reel__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,19,16,.34) 0%,rgba(23,19,16,0) 34%,rgba(23,19,16,.72) 100%);}
.pp-reel__live{position:absolute;top:13px;left:13px;display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:var(--r-pill);background:rgba(23,19,16,.6);backdrop-filter:blur(6px);color:var(--cream);font-family:var(--font-display);font-size:10.5px;font-weight:var(--fw-medium);letter-spacing:.1em;text-transform:uppercase;}
.pp-reel__live i{width:6px;height:6px;border-radius:50%;background:var(--ember);animation:pp-pulse 1.9s ease-in-out infinite;}
@keyframes pp-pulse{0%,100%{opacity:1;}50%{opacity:.3;}}
.pp-reel__caption{position:absolute;left:16px;right:16px;bottom:15px;color:var(--cream);}
.pp-reel__caption strong{display:block;font-family:var(--font-display);font-size:1.12rem;font-weight:var(--fw-medium);letter-spacing:-.02em;}
.pp-reel__caption span{display:block;margin-top:3px;font-size:12.5px;color:rgba(247,243,236,.78);}
.pp-reel--card{background:linear-gradient(160deg,var(--teal) 0%,var(--teal-deep) 100%);color:#fff;display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:26px;aspect-ratio:4/5;}
.pp-reel--card .pp-kicker{color:rgba(255,255,255,.72);}
.pp-reel--card p{font-size:14px;color:rgba(255,255,255,.86);margin-top:12px;}
.pp-reel__figures{display:flex;gap:24px;margin-top:20px;}
.pp-reel__figure b{display:block;font-family:var(--font-display);font-size:1.7rem;font-weight:var(--fw-light);letter-spacing:-.03em;}
.pp-reel__figure span{display:block;margin-top:2px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.7);}

/* ---------- 14. Pillars ---------- */
.pp-pillars{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;}
.pp-pillar{background:var(--paper);padding:24px 22px;transition:background-color .3s ease;}
.pp-pillar:hover{background:#fff;}
.pp-pillar__num{font-family:var(--font-display);font-size:12px;font-weight:var(--fw-medium);letter-spacing:.1em;color:var(--ember);margin-bottom:12px;}
.pp-pillar:nth-child(2) .pp-pillar__num{color:var(--teal);}
.pp-pillar:nth-child(3) .pp-pillar__num{color:var(--indigo);}
.pp-pillar:nth-child(4) .pp-pillar__num{color:var(--berry);}
.pp-pillar__title{font-family:var(--font-display);font-size:1.14rem;font-weight:var(--fw-medium);letter-spacing:-.02em;margin-bottom:9px;}
.pp-pillar__body{font-size:14px;color:var(--ink-soft);line-height:1.6;}
.pp-kicker--ember{color:var(--ember);}

/* ---------- 14b. Contact grid (About) ---------- */
.pp-contact{display:grid;grid-template-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;margin-top:clamp(28px,3.4vw,48px);}
.pp-contact__item{background:var(--paper);padding:clamp(22px,2.6vw,32px) clamp(20px,2.4vw,28px);transition:background-color .3s ease;}
.pp-contact__item:hover{background:#fff;}
.pp-contact__label{font-family:var(--font-display);font-size:11px;font-weight:var(--fw-medium);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-mid);margin-bottom:12px;}
.pp-contact__value{font-family:var(--font-display);font-size:clamp(1.05rem,1.6vw,1.28rem);font-weight:var(--fw-medium);letter-spacing:-.01em;color:var(--ink);line-height:1.35;font-style:normal;}
a.pp-contact__value{text-decoration:none;transition:color .25s ease;}
a.pp-contact__value:hover{color:var(--ember);}

/* ---------- 15. Bundles ---------- */
.pp-bundles{display:grid;grid-template-columns:1fr;gap:14px;}
.pp-bundle{position:relative;padding:22px;border-radius:var(--r-card);border:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column;gap:9px;transition:transform .45s var(--ease),box-shadow .45s var(--ease);}
.pp-bundle:hover{transform:translateY(-4px);box-shadow:0 20px 40px -26px rgba(23,19,16,.4);}
.pp-bundle:nth-child(1){background:linear-gradient(170deg,var(--tint-ember) 0%,var(--paper) 62%);}
.pp-bundle:nth-child(2){background:linear-gradient(170deg,var(--tint-teal) 0%,var(--paper) 62%);}
.pp-bundle:nth-child(3){background:linear-gradient(170deg,var(--tint-violet) 0%,var(--paper) 62%);}
.pp-bundle:nth-child(4){background:linear-gradient(170deg,var(--tint-gold) 0%,var(--paper) 62%);}
.pp-bundle__tag{align-self:flex-start;padding:4px 11px;border-radius:var(--r-pill);background:rgba(23,19,16,.07);font-family:var(--font-display);font-size:10px;font-weight:var(--fw-medium);letter-spacing:.11em;text-transform:uppercase;color:var(--ink-mid);}
.pp-bundle__name{font-family:var(--font-display);font-size:1.24rem;font-weight:var(--fw-medium);letter-spacing:-.02em;}
.pp-bundle__items{font-size:12.5px;color:var(--ink-soft);}
.pp-bundle__price{font-family:var(--font-display);font-size:1.3rem;font-weight:var(--fw-medium);display:flex;align-items:baseline;gap:9px;}
.pp-bundle__price del{font-size:.82rem;font-weight:var(--fw-light);color:var(--ink-soft);}
.pp-bundle__link{margin-top:auto;padding-top:6px;font-family:var(--font-display);font-size:12.5px;font-weight:var(--fw-medium);color:var(--teal);}
.pp-bundle__link:hover{color:var(--ember);}

/* ---------- 16. FAQ ---------- */
.pp-faq{display:grid;grid-template-columns:1fr;gap:28px;align-items:start;}
.pp-faq__intro>*+*{margin-top:14px;}
.pp-acc{border-top:1px solid var(--line);}
.pp-acc__item{border-bottom:1px solid var(--line);}
.pp-acc__btn{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;padding:18px 0;text-align:left;font-family:var(--font-display);font-size:clamp(.98rem,1.35vw,1.1rem);font-weight:var(--fw-medium);letter-spacing:-.015em;transition:color .25s ease;}
.pp-acc__btn:hover{color:var(--teal);}
.pp-acc__icon{position:relative;flex:0 0 auto;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-strong);}
.pp-acc__icon::before,.pp-acc__icon::after{content:"";position:absolute;top:50%;left:50%;width:10px;height:1.5px;background:currentColor;transform:translate(-50%,-50%);transition:transform .3s var(--ease),opacity .3s ease;}
.pp-acc__icon::after{transform:translate(-50%,-50%) rotate(90deg);}
.pp-acc__item.is-open .pp-acc__icon::after{transform:translate(-50%,-50%) rotate(0);opacity:0;}
.pp-acc__item.is-open .pp-acc__btn{color:var(--teal);}
.pp-acc__panel{height:0;overflow:hidden;transition:height .4s var(--ease);}
.pp-acc__inner{padding-bottom:20px;font-size:14.5px;line-height:1.65;color:var(--ink-soft);max-width:62ch;}

/* ---------- 17. Guides ---------- */
.pp-guides{display:grid;grid-template-columns:1fr;gap:20px;}
.pp-guide__media{display:block;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:16/10;margin-bottom:14px;}
.pp-guide__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.pp-guide:hover .pp-guide__media img{transform:scale(1.05);}
.pp-guide__kicker{font-size:10.5px;font-weight:var(--fw-medium);letter-spacing:.11em;text-transform:uppercase;color:var(--ember);margin-bottom:8px;}
.pp-guide:nth-child(2) .pp-guide__kicker{color:var(--teal);}
.pp-guide:nth-child(3) .pp-guide__kicker{color:var(--indigo);}
.pp-guide__title{font-family:var(--font-display);font-size:1.14rem;font-weight:var(--fw-medium);letter-spacing:-.02em;line-height:1.28;margin-bottom:8px;}
.pp-guide__title a:hover{color:var(--teal);}
.pp-guide__excerpt{font-size:13.5px;color:var(--ink-soft);line-height:1.6;}

/* ---------- 18. Newsletter CTA ---------- */
.pp-cta{display:grid;grid-template-columns:1fr;gap:24px;align-items:center;padding:clamp(28px,3.4vw,46px);border-radius:var(--r-card);background:linear-gradient(140deg,var(--teal) 0%,var(--teal-deep) 58%,#0a4b46 100%);color:#fff;}
.pp-cta__copy h2{color:#fff;margin-bottom:12px;}
.pp-cta__copy p{font-size:14.5px;color:rgba(255,255,255,.85);max-width:46ch;}
.pp-cta__form{display:flex;gap:9px;flex-wrap:wrap;}
.pp-cta__input{flex:1 1 220px;min-height:50px;padding:0 20px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.12);color:#fff;font-size:14.5px;}
.pp-cta__input::placeholder{color:rgba(255,255,255,.6);}
.pp-cta__input:focus{outline:2px solid #fff;outline-offset:2px;}
.pp-cta__btn{min-height:50px;padding:0 26px;border-radius:var(--r-pill);background:var(--ember);color:#fff;font-family:var(--font-display);font-size:13.5px;font-weight:var(--fw-medium);letter-spacing:.03em;transition:background-color .25s ease,transform .3s var(--ease);}
.pp-cta__btn:hover{background:#fff;color:var(--teal-deep);transform:translateY(-2px);}
.pp-cta__note{margin-top:11px;font-size:12px;color:rgba(255,255,255,.62);}

/* ---------- 19. Footer ---------- */
.pp-footer{background:var(--ink);color:var(--cream);}
.pp-footer__hero{padding-block:clamp(48px,5.4vw,80px);text-align:center;border-bottom:1px solid rgba(247,243,236,.1);}
.pp-footer__title{font-family:var(--font-display);font-size:clamp(2.4rem,7.4vw,6.4rem);font-weight:var(--fw-light);letter-spacing:-.035em;line-height:.98;display:flex;flex-direction:column;}
.pp-footer__title .pp-outline{-webkit-text-stroke:1px var(--cream);color:transparent;}
.pp-footer__cta{margin-top:26px;display:flex;flex-wrap:wrap;gap:11px;justify-content:center;}
.pp-footer__widgets{padding-top:30px;}
.pp-footer__grid{display:grid;grid-template-columns:1fr;gap:28px;padding-block:clamp(34px,3.6vw,52px);}
.pp-footer__col--brand{max-width:34ch;}
.pp-footer__blurb{margin-top:14px;font-size:13.5px;color:rgba(247,243,236,.62);line-height:1.6;}
.pp-footer__contact{margin-top:14px;display:flex;flex-direction:column;gap:5px;font-size:13.5px;color:rgba(247,243,236,.82);}
.pp-footer__contact a:hover{color:var(--ember);}
.pp-footer__heading{font-family:var(--font-display);font-size:11px;font-weight:var(--fw-medium);letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.pp-footer__list{display:flex;flex-direction:column;gap:9px;font-size:13.5px;color:rgba(247,243,236,.72);}
.pp-footer__list a:hover{color:var(--ember);}
.pp-footer__micro{margin-top:9px;font-size:11.5px;color:rgba(247,243,236,.42);}
.pp-subscribe{display:flex;gap:7px;margin-top:13px;}
.pp-subscribe__input{flex:1;min-height:44px;padding:0 16px;border-radius:var(--r-pill);border:1px solid rgba(247,243,236,.22);background:rgba(247,243,236,.07);color:var(--cream);font-size:13.5px;}
.pp-subscribe__input::placeholder{color:rgba(247,243,236,.42);}
.pp-subscribe__btn{min-height:44px;padding:0 20px;border-radius:var(--r-pill);background:var(--ember);color:#fff;font-family:var(--font-display);font-size:12.5px;font-weight:var(--fw-medium);letter-spacing:.05em;transition:background-color .25s ease;}
.pp-subscribe__btn:hover{background:#fff;color:var(--ink);}
.pp-footer__legal{border-top:1px solid rgba(247,243,236,.1);background:rgba(0,0,0,.22);}
.pp-footer__legal-inner{padding-block:20px;}
.pp-footer__disclaimer{font-size:11.5px;line-height:1.6;color:rgba(247,243,236,.45);max-width:82ch;}
.pp-footer__legal-row{margin-top:12px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;font-size:11.5px;color:rgba(247,243,236,.45);}
.pp-footer__legal-list{display:flex;gap:16px;}
.pp-footer__legal-list a:hover{color:var(--cream);}

/* ---------- 20. Inner pages ---------- */
.pp-main{padding-block:clamp(40px,4.6vw,72px);min-height:52vh;}
.pp-main--shop{padding-block:clamp(28px,3vw,48px);}
.pp-page-title{font-family:var(--font-display);font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:var(--fw-light);letter-spacing:-.028em;margin-bottom:24px;}
.pp-prose{max-width:70ch;font-size:16px;line-height:1.72;color:var(--ink-mid);}
.pp-prose>*+*{margin-top:18px;}
.pp-prose h2,.pp-prose h3{font-weight:var(--fw-medium);margin-top:32px;}
.pp-prose a{color:var(--teal);text-decoration:underline;text-underline-offset:3px;}
.pp-entry{padding-block:24px;border-bottom:1px solid var(--line);}
.pp-entry__title{font-family:var(--font-display);font-size:1.4rem;font-weight:var(--fw-medium);letter-spacing:-.02em;}
.pp-entry__meta{margin-top:6px;font-size:12.5px;color:var(--ink-soft);}
.pp-entry__excerpt{margin-top:10px;color:var(--ink-mid);font-size:14.5px;}
.pp-widget__title{font-family:var(--font-display);font-size:12px;font-weight:var(--fw-medium);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:12px;}
.pp-compliance{margin-top:26px;padding:16px 18px;border-radius:var(--r-lg);background:var(--tint-gold);border:1px solid rgba(200,144,26,.28);font-size:12.5px;line-height:1.6;color:var(--ink-mid);}

/* Shop Archive */
.pp-shop__header{background:var(--paper);padding-top:clamp(40px,5vw,70px);padding-bottom:clamp(20px,2.5vw,32px);}
.pp-shop__header .pp-section__head{margin-bottom:0;}
.pp-shop__filters{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:14px;position:sticky;top:var(--header-h);z-index:40;}
.pp-shop__filter-list{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.pp-shop__filter-list::-webkit-scrollbar{display:none;}
.pp-shop__pill{display:inline-flex;align-items:center;padding:8px 18px;border-radius:var(--r-pill);background:var(--cream);border:1px solid var(--line);font-size:13px;font-weight:var(--fw-medium);color:var(--ink-mid);white-space:nowrap;transition:all .25s ease;}
.pp-shop__pill:hover{background:#fff;color:var(--teal);border-color:var(--teal);transform:translateY(-1px);box-shadow:0 4px 12px rgba(16,120,111,.1);}
.pp-shop__pill.is-active{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 4px 14px rgba(16,120,111,.22);}

.pp-shop__body{padding-block:clamp(28px,3.5vw,48px);}
.pp-shop__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px;padding-bottom:16px;border-bottom:1px solid var(--line);}
.pp-shop__count{font-size:13.5px;color:var(--ink-soft);font-weight:var(--fw-book);}

/* WooCommerce notices (added-to-cart, etc.) */
.woocommerce-message,.woocommerce-info,.woocommerce-error{display:flex;align-items:center;font-size:13.5px;padding:13px 18px;border-radius:var(--r-pill);background:var(--paper);border:1px solid var(--line);color:var(--ink);}
.woocommerce-message{margin-bottom:18px;}
.woocommerce-message::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--teal);margin-right:10px;}
.woocommerce-info::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--gold);margin-right:10px;}
.woocommerce-error::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ember);margin-right:10px;}
.woocommerce-message .button{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 14px;border-radius:var(--r-pill);background:var(--teal);color:#fff;font-family:var(--font-display);font-size:11.5px;font-weight:var(--fw-medium);letter-spacing:.04em;margin-left:auto;transition:all .25s ease;}
.woocommerce-message .button:hover{background:var(--ember);}

/* Sort dropdown */
.pp-sort{position:relative;display:inline-flex;align-items:center;gap:8px;}
.pp-sort__prefix{font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);}
.pp-sort__trigger{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--line-strong);font-family:var(--font-display);font-size:13px;font-weight:var(--fw-medium);color:var(--ink);cursor:pointer;transition:all .25s ease;}
.pp-sort__trigger:hover{border-color:var(--teal);color:var(--teal);box-shadow:0 3px 10px rgba(16,120,111,.1);}
.pp-sort[data-open="true"] .pp-sort__trigger{background:var(--teal);color:#fff;border-color:var(--teal);}
.pp-sort__caret{transition:transform .3s var(--ease);}
.pp-sort[data-open="true"] .pp-sort__caret{transform:rotate(180deg);}
.pp-sort__menu{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:218px;padding:7px;margin:0;list-style:none;background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:0 20px 40px -15px rgba(23,19,16,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px);transition:opacity .28s var(--ease),transform .28s var(--ease),visibility .28s;}
.pp-sort[data-open="true"] .pp-sort__menu{opacity:1;visibility:visible;pointer-events:auto;transform:none;}
.pp-sort__option{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;border-radius:10px;font-size:13px;color:var(--ink-mid);transition:background-color .2s ease,color .2s ease;}
.pp-sort__option:hover{background:var(--tint-teal);color:var(--teal);}
.pp-sort__option.is-active{color:var(--teal);font-weight:var(--fw-medium);background:rgba(16,120,111,.06);}
.pp-sort__check{opacity:0;flex:0 0 auto;color:var(--teal);}
.pp-sort__option.is-active .pp-sort__check{opacity:1;}
.pp-sort__option .pp-sort__check{transition:opacity .2s ease;}

.pp-shop__grid{margin-bottom:40px;}

.pp-shop__pagination{display:flex;justify-content:center;margin-top:40px;}
.pp-pager{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:center;}
.pp-pager__num,.pp-pager__arrow{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border-radius:var(--r-pill);background:#fff;border:1px solid var(--line);font-family:var(--font-display);font-size:13.5px;font-weight:var(--fw-medium);color:var(--ink-mid);transition:all .25s ease;}
.pp-pager__num:hover,.pp-pager__arrow:hover{background:var(--tint-teal);color:var(--teal);border-color:var(--teal);}
.pp-pager__num.is-current{background:var(--teal);color:#fff;border-color:var(--teal);box-shadow:0 4px 12px rgba(16,120,111,.22);}
.pp-pager__arrow.is-disabled{opacity:.35;pointer-events:none;}
.pp-pager__ellipsis{color:var(--ink-soft);padding:0 4px;}

.pp-shop__empty{text-align:center;padding-block:60px 80px;max-width:480px;margin:0 auto;}

/* Trust strip — Warm, apothecary, clean light background */
.pp-shop__trust{background:var(--cream);color:var(--ink);padding-block:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.pp-shop__trust-inner{display:flex;flex-wrap:wrap;justify-content:center;gap:24px 48px;}
.pp-shop__trust-item{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:13px;font-weight:var(--fw-medium);letter-spacing:.02em;color:var(--ink-mid);}
.pp-shop__trust-item svg{color:var(--teal);flex-shrink:0;}

/* ---------- 22. Single Product ---------- */
.pp-single-product .pp-main{padding-block:0;}

/* Breadcrumb */
.pp-sp__breadcrumb{display:flex;align-items:center;gap:8px;padding-top:clamp(18px,2vw,28px);padding-bottom:clamp(14px,1.8vw,22px);font-size:12.5px;color:var(--ink-soft);flex-wrap:wrap;}
.pp-sp__breadcrumb a{color:var(--ink-soft);transition:color .25s ease;}
.pp-sp__breadcrumb a:hover{color:var(--teal);}
.pp-sp__breadcrumb span[aria-current]{color:var(--ink);font-weight:var(--fw-medium);}

/* Layout */
.pp-sp__layout{display:grid;grid-template-columns:1fr;gap:clamp(28px,4vw,56px);padding-bottom:clamp(36px,4vw,60px);}

/* Gallery */
.pp-sp__gallery{position:relative;}
.pp-sp__main-img{position:relative;border-radius:var(--r-card);overflow:hidden;background:linear-gradient(160deg,var(--tint-teal) 0%,var(--cream-deep) 50%,var(--tint-ember) 100%);aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);}
.pp-sp__main-img img{width:80%;height:80%;object-fit:contain;transition:transform .6s var(--ease);}
.pp-sp__main-img:hover img{transform:scale(1.04);}

/* Thumbnails */
.pp-sp__thumbs{display:flex;gap:10px;margin-top:14px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;}
.pp-sp__thumbs::-webkit-scrollbar{display:none;}
.pp-sp__thumb{flex:0 0 auto;width:72px;height:72px;border-radius:var(--r-sm);overflow:hidden;border:2px solid var(--line);cursor:pointer;opacity:.6;transition:opacity .25s ease,border-color .25s ease,transform .3s var(--ease);background:var(--cream-deep);}
.pp-sp__thumb:hover{opacity:.9;transform:translateY(-2px);}
.pp-sp__thumb.is-active{opacity:1;border-color:var(--teal);box-shadow:0 0 0 2px rgba(16,120,111,.18);}
.pp-sp__thumb img{width:100%;height:100%;object-fit:contain;}

/* Info column */
.pp-sp__info{display:flex;flex-direction:column;gap:0;}

.pp-sp__meta-row{display:flex;align-items:center;gap:10px;margin-bottom:12px;}
.pp-sp__cat{font-family:var(--font-display);font-size:11px;font-weight:var(--fw-semi);letter-spacing:.16em;text-transform:uppercase;color:var(--teal);}
.pp-sp__badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:var(--r-pill);background:var(--ink);color:var(--cream);font-family:var(--font-display);font-size:10px;font-weight:var(--fw-medium);letter-spacing:.1em;text-transform:uppercase;}

.pp-sp__title{font-family:var(--font-display);font-size:clamp(1.7rem,3vw,2.6rem);font-weight:var(--fw-light);letter-spacing:-.03em;line-height:1.1;margin-bottom:14px;}

.pp-sp__short{font-size:15px;line-height:1.65;color:var(--ink-mid);max-width:54ch;margin-bottom:20px;}
.pp-sp__short p{margin:0;}
.pp-sp__short p+p{margin-top:10px;}

/* Price block */
.pp-sp__price-block{display:flex;align-items:center;gap:14px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:20px;}
.pp-sp__price{font-family:var(--font-display);font-size:clamp(1.5rem,2.4vw,2rem);font-weight:var(--fw-medium);letter-spacing:-.02em;}
.pp-sp__price del{font-size:.7em;font-weight:var(--fw-light);color:var(--ink-soft);margin-right:4px;}
.pp-sp__price ins{text-decoration:none;}

.pp-sp__stock{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:12px;font-weight:var(--fw-medium);letter-spacing:.06em;text-transform:uppercase;}
.pp-sp__stock--in{color:var(--teal);}
.pp-sp__stock--out{color:var(--ember);}
.pp-sp__stock-dot{width:7px;height:7px;border-radius:50%;background:var(--teal);animation:pp-pulse 2s ease-in-out infinite;}

/* Quick specs */
.pp-sp__specs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:24px;}
.pp-sp__spec{background:var(--paper);padding:14px 16px;text-align:center;}
.pp-sp__spec-label{display:block;font-size:10px;font-weight:var(--fw-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:4px;}
.pp-sp__spec-val{display:block;font-family:var(--font-display);font-size:14px;font-weight:var(--fw-medium);color:var(--ink);}

/* Add to cart (WooCommerce form override) */
.pp-sp__cart-wrap{margin-bottom:22px;}
.pp-sp__cart-wrap form.cart{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.pp-sp__cart-wrap .quantity{display:flex;align-items:center;border:1px solid var(--line-strong);border-radius:var(--r-pill);overflow:hidden;background:var(--paper);}
.pp-sp__cart-wrap .quantity input[type="number"]{width:52px;height:48px;text-align:center;border:0;background:transparent;font-family:var(--font-display);font-size:15px;font-weight:var(--fw-medium);-moz-appearance:textfield;color:var(--ink);}
.pp-sp__cart-wrap .quantity input[type="number"]::-webkit-outer-spin-button,
.pp-sp__cart-wrap .quantity input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}

.pp-sp__cart-wrap .single_add_to_cart_button{flex:1;min-height:52px;padding:0 28px;border-radius:var(--r-pill);background:var(--ember);color:#fff;font-family:var(--font-display);font-size:14px;font-weight:var(--fw-medium);letter-spacing:.04em;border:none;cursor:pointer;transition:background-color .25s ease,transform .35s var(--ease);display:inline-flex;align-items:center;justify-content:center;gap:10px;}
.pp-sp__cart-wrap .single_add_to_cart_button:hover{background:var(--ember-dark);transform:translateY(-2px);}
.pp-sp__cart-wrap .single_add_to_cart_button.disabled,.pp-sp__cart-wrap .single_add_to_cart_button:disabled{opacity:.5;pointer-events:none;}

/* Variations table override */
.pp-sp__cart-wrap .variations{width:100%;border-collapse:collapse;margin-bottom:16px;}
.pp-sp__cart-wrap .variations td,.pp-sp__cart-wrap .variations th{padding:8px 0;border:0;font-size:13.5px;}
.pp-sp__cart-wrap .variations .label label{font-family:var(--font-display);font-weight:var(--fw-medium);letter-spacing:.04em;text-transform:uppercase;font-size:11px;color:var(--ink-soft);}
.pp-sp__cart-wrap .variations select{width:100%;min-height:44px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--line-strong);background:var(--paper);font-family:var(--font-display);font-size:13.5px;color:var(--ink);cursor:pointer;appearance:auto;}
.pp-sp__cart-wrap .reset_variations{display:inline-block;margin-top:8px;font-size:12px;color:var(--ink-soft);text-decoration:underline;text-underline-offset:3px;}

/* Trust signals */
.pp-sp__trust{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:18px;}
.pp-sp__trust-item{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:var(--fw-medium);color:var(--ink-mid);}
.pp-sp__trust-item svg{color:var(--teal);flex:0 0 auto;}

/* Accordion details section */
.pp-sp__details{padding-block:clamp(36px,4vw,64px) clamp(24px,3vw,40px);border-top:1px solid var(--line);}

/* Attribute table */
.pp-sp__attr-table{width:100%;border-collapse:collapse;}
.pp-sp__attr-table th,.pp-sp__attr-table td{padding:12px 16px;font-size:14px;border-bottom:1px solid var(--line);text-align:left;}
.pp-sp__attr-table th{font-family:var(--font-display);font-weight:var(--fw-medium);color:var(--ink);width:38%;letter-spacing:-.01em;}
.pp-sp__attr-table td{color:var(--ink-mid);}
.pp-sp__attr-table tr:last-child th,.pp-sp__attr-table tr:last-child td{border-bottom:0;}

/* Review count badge */
.pp-sp__review-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;margin-left:6px;border-radius:var(--r-pill);background:var(--tint-teal);font-size:11px;font-weight:var(--fw-medium);color:var(--teal);}

/* Related products */
.pp-sp__related{padding-block:clamp(36px,4vw,64px);border-top:1px solid var(--line);}
.pp-sp__related-grid{margin-top:24px;}

/* WooCommerce review form inside accordion */
.pp-sp__details #reviews{max-width:100%;}
.pp-sp__details .woocommerce-Reviews-title{font-family:var(--font-display);font-size:1.1rem;font-weight:var(--fw-medium);margin-bottom:18px;}
.pp-sp__details .comment-form label{display:block;font-size:12px;font-weight:var(--fw-medium);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;}
.pp-sp__details .comment-form input[type="text"],
.pp-sp__details .comment-form input[type="email"],
.pp-sp__details .comment-form textarea{width:100%;padding:12px 16px;border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--paper);font-size:14px;color:var(--ink);transition:border-color .25s ease;}
.pp-sp__details .comment-form input:focus,
.pp-sp__details .comment-form textarea:focus{border-color:var(--teal);outline:none;}
.pp-sp__details .comment-form textarea{min-height:120px;resize:vertical;}
.pp-sp__details .comment-form .form-submit input[type="submit"]{min-height:46px;padding:0 24px;border-radius:var(--r-pill);background:var(--ink);color:var(--cream);font-family:var(--font-display);font-size:13px;font-weight:var(--fw-medium);letter-spacing:.04em;border:0;cursor:pointer;transition:background-color .25s ease;}
.pp-sp__details .comment-form .form-submit input[type="submit"]:hover{background:var(--teal);}

/* Star rating in reviews */
.pp-sp__details .star-rating{display:inline-flex;gap:2px;color:var(--gold);font-size:14px;margin-bottom:8px;}

/* Compliance (reuse from base, no changes needed) */

/* ---------- About page ---------- */

/* About hero: clean text-focused intro with soft gradient */
.pp-about-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--cream) 0%,var(--tint-teal) 58%,var(--cream-deep) 100%);padding-block:clamp(52px,6vw,90px) clamp(36px,4vw,60px);text-align:center;}
.pp-about-hero .pp-hero__eyebrow{justify-content:center;}
.pp-about-hero__title{max-width:780px;margin-inline:auto;margin-bottom:24px;}
.pp-about-hero__lede{max-width:62ch;margin-inline:auto;margin-bottom:34px;text-align:center;}

/* About hero stat bar */
.pp-about-hero__stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-card);overflow:hidden;max-width:780px;margin-inline:auto;}

/* Mission section */
.pp-about-mission{display:grid;grid-template-columns:1fr;gap:18px;margin-top:clamp(24px,3vw,40px);}
.pp-about-mission__item{padding:clamp(24px,3vw,36px);border-radius:var(--r-card);border:1px solid var(--line);background:var(--paper);transition:transform .45s var(--ease),box-shadow .45s var(--ease);}
.pp-about-mission__item:hover{transform:translateY(-4px);box-shadow:0 18px 42px -24px rgba(23,19,16,.3);}
.pp-about-mission__icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:var(--tint-ember);color:var(--ember);margin-bottom:18px;}
.pp-about-mission__icon--teal{background:var(--tint-teal);color:var(--teal);}
.pp-about-mission__icon--indigo{background:var(--tint-indigo);color:var(--indigo);}
.pp-about-mission__title{font-family:var(--font-display);font-size:1.14rem;font-weight:var(--fw-medium);letter-spacing:-.02em;margin-bottom:10px;}
.pp-about-mission__body{font-size:14.5px;color:var(--ink-soft);line-height:1.62;}

/* Who We Serve — checklist card */
.pp-about-serve__card{padding:clamp(26px,3vw,38px);border-radius:var(--r-card);background:linear-gradient(160deg,var(--tint-teal) 0%,var(--paper) 60%);border:1px solid var(--line);}
.pp-about-serve__card-title{font-family:var(--font-display);font-size:1rem;font-weight:var(--fw-medium);letter-spacing:-.01em;margin-bottom:22px;color:var(--ink);}
.pp-about-serve__list{display:flex;flex-direction:column;gap:14px;}
.pp-about-serve__list li{display:flex;align-items:flex-start;gap:12px;font-size:14.5px;color:var(--ink-mid);line-height:1.5;}
.pp-about-serve__check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--teal);color:#fff;font-size:11px;font-weight:var(--fw-semi);flex:0 0 auto;margin-top:1px;}

/* Contact extra chips */
.pp-about-contact-extra{display:flex;flex-wrap:wrap;gap:16px;margin-top:clamp(24px,3vw,38px);}
.pp-about-contact-extra__item{display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:var(--r-pill);background:var(--paper);border:1px solid var(--line);font-size:13.5px;color:var(--ink-mid);transition:transform .35s var(--ease),box-shadow .35s var(--ease);}
.pp-about-contact-extra__item:hover{transform:translateY(-2px);box-shadow:0 8px 22px -12px rgba(23,19,16,.2);}
.pp-about-contact-extra__item svg{color:var(--teal);flex:0 0 auto;}

/* About CTA band */
.pp-about__cta{border-top:1px solid rgba(247,243,236,.1);}

/* About page responsive */
@media (min-width:768px){
  .pp-about-hero__stats{grid-template-columns:repeat(4,1fr);}
  .pp-about-mission{grid-template-columns:repeat(3,1fr);}
}

/* ---------- Contact page ---------- */
.pp-contact-page{min-height:52vh;}
.pp-contact-hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--cream) 0%,var(--tint-teal) 60%,var(--cream-deep) 100%);padding-block:clamp(52px,6vw,90px) clamp(36px,4vw,60px);text-align:center;}
.pp-contact-hero .pp-hero__eyebrow{justify-content:center;}
.pp-contact-hero__title{max-width:820px;margin-inline:auto;margin-bottom:24px;}
.pp-contact-hero__lede{max-width:64ch;margin-inline:auto;margin-bottom:34px;text-align:center;}

/* Contact highlights banner */
.pp-contact-highlights{display:grid;grid-template-columns:1fr;gap:12px;max-width:1040px;margin-inline:auto;}
.pp-contact-highlight{display:flex;align-items:center;gap:14px;padding:16px 20px;border-radius:var(--r-lg);background:var(--paper);border:1px solid var(--line);text-align:left;box-shadow:0 4px 14px -6px rgba(23,19,16,.08);transition:transform .3s var(--ease),box-shadow .3s var(--ease);}
.pp-contact-highlight:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(23,19,16,.15);}
.pp-contact-highlight__icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--tint-ember);color:var(--ember);flex:0 0 auto;}
.pp-contact-highlight__icon--teal{background:var(--tint-teal);color:var(--teal);}
.pp-contact-highlight__icon--indigo{background:var(--tint-indigo);color:var(--indigo);}
.pp-contact-highlight__icon--gold{background:var(--tint-gold);color:var(--gold);}
.pp-contact-highlight strong{display:block;font-family:var(--font-display);font-size:14px;font-weight:var(--fw-medium);color:var(--ink);letter-spacing:-.01em;}
.pp-contact-highlight span{display:block;font-size:12.5px;color:var(--ink-soft);}

/* Contact Layout (Sidebar & Form) */
.pp-contact-layout{display:grid;grid-template-columns:1fr;gap:clamp(32px,4vw,60px);align-items:start;}
.pp-contact-sidebar{display:flex;flex-direction:column;gap:26px;}
.pp-contact-cards{display:flex;flex-direction:column;gap:14px;}
.pp-contact-cards--grid{display:grid;grid-template-columns:1fr;gap:20px;}
@media (min-width:640px){
  .pp-contact-cards--grid{grid-template-columns:repeat(2,1fr);}
}
@media (min-width:1100px){
  .pp-contact-cards--grid{grid-template-columns:repeat(4,1fr);}
}
.pp-contact-card{display:flex;align-items:flex-start;gap:16px;padding:20px 22px;border-radius:var(--r-card);border:1px solid var(--line);background:var(--paper);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .3s ease;}
.pp-contact-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px -20px rgba(23,19,16,.25);border-color:var(--line-strong);}
.pp-contact-card__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--tint-ember);color:var(--ember);flex:0 0 auto;}
.pp-contact-card__icon--teal{background:var(--tint-teal);color:var(--teal);}
.pp-contact-card__icon--indigo{background:var(--tint-indigo);color:var(--indigo);}
.pp-contact-card__icon--gold{background:var(--tint-gold);color:var(--gold);}
.pp-contact-card__content{flex:1 1 auto;min-width:0;}
.pp-contact-card__label{font-family:var(--font-display);font-size:11px;font-weight:var(--fw-medium);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;}
.pp-contact-card__value{display:inline-block;font-family:var(--font-display);font-size:1.15rem;font-weight:var(--fw-medium);letter-spacing:-.015em;color:var(--ink);text-decoration:none;transition:color .25s ease;word-break:break-word;}
a.pp-contact-card__value:hover{color:var(--ember);}
.pp-contact-card__address{font-family:var(--font-display);font-size:14.5px;font-weight:var(--fw-medium);color:var(--ink);font-style:normal;line-height:1.5;}
.pp-contact-card__sub{font-size:12.5px;color:var(--ink-soft);margin-top:6px;line-height:1.5;}

/* Facility Media Card */
.pp-contact-facility{position:relative;border-radius:var(--r-card);overflow:hidden;border:1px solid var(--line);box-shadow:0 8px 24px -12px rgba(23,19,16,.2);}
.pp-contact-facility__media{position:relative;aspect-ratio:16/9;overflow:hidden;}
.pp-contact-facility__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);}
.pp-contact-facility:hover .pp-contact-facility__media img{transform:scale(1.04);}
.pp-contact-facility__badge{position:absolute;bottom:14px;left:14px;right:14px;padding:12px 16px;border-radius:var(--r-md);background:rgba(20,16,13,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--cream);border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:3px;}
.pp-contact-facility__badge strong{font-family:var(--font-display);font-size:13px;font-weight:var(--fw-medium);letter-spacing:.02em;color:#fff;}
.pp-contact-facility__badge span{font-size:11.5px;color:rgba(246,241,231,.75);}

/* Form Card & Fields */
.pp-contact-form-card{padding:clamp(26px,3.6vw,44px);border-radius:var(--r-card);background:var(--paper);border:1px solid var(--line);box-shadow:0 20px 48px -28px rgba(23,19,16,.25);}
.pp-contact-form-card__head{margin-bottom:28px;}
.pp-contact-form-card__title{font-size:clamp(1.35rem,2.2vw,1.75rem);font-weight:var(--fw-medium);letter-spacing:-.02em;margin-bottom:8px;}
.pp-contact-form-card__subtitle{font-size:14.5px;color:var(--ink-soft);line-height:1.55;}

/* Form alerts */
.pp-form-alert{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;border-radius:var(--r-lg);margin-bottom:24px;font-size:14px;line-height:1.55;}
.pp-form-alert__icon{flex:0 0 auto;margin-top:2px;}
.pp-form-alert strong{display:block;margin-bottom:4px;font-family:var(--font-display);font-weight:var(--fw-medium);}
.pp-form-alert p{margin:0;}
.pp-form-alert--success{background:rgba(16,120,111,.08);border:1px solid rgba(16,120,111,.25);color:var(--teal-deep);}
.pp-form-alert--success .pp-form-alert__icon{color:var(--teal);}
.pp-form-alert--error{background:rgba(232,87,31,.08);border:1px solid rgba(232,87,31,.25);color:var(--ember-dark);}
.pp-form-alert--error .pp-form-alert__icon{color:var(--ember);}

/* Form Elements */
.pp-form{display:flex;flex-direction:column;gap:18px;}
.pp-form__row{display:grid;grid-template-columns:1fr;gap:18px;}
.pp-form__group{display:flex;flex-direction:column;gap:7px;}
.pp-form__label{font-family:var(--font-display);font-size:12.5px;font-weight:var(--fw-medium);letter-spacing:.02em;color:var(--ink);}
.pp-form__required{color:var(--ember);}
.pp-form__optional{font-size:11.5px;font-weight:var(--fw-normal);color:var(--ink-soft);}

.pp-form__input,.pp-form__select,.pp-form__textarea{width:100%;padding:12px 16px;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--cream);color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.5;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease;-webkit-appearance:none;appearance:none;}
.pp-form__input:focus,.pp-form__select:focus,.pp-form__textarea:focus{outline:none;border-color:var(--teal);background:#fff;box-shadow:0 0 0 3px rgba(16,120,111,.15);}
.pp-form__input::placeholder,.pp-form__textarea::placeholder{color:var(--ink-soft);opacity:.65;}

/* Custom select styling */
.pp-form__select-wrap{position:relative;}
.pp-form__select{padding-right:36px;cursor:pointer;}
.pp-form__select-arrow{position:absolute;top:50%;right:14px;transform:translateY(-50%);pointer-events:none;color:var(--ink-soft);font-size:12px;}

.pp-form__textarea{resize:vertical;min-height:110px;}

.pp-form__disclaimer{display:flex;align-items:flex-start;gap:9px;font-size:12px;color:var(--ink-soft);line-height:1.5;margin-top:2px;}
.pp-form__disclaimer svg{color:var(--teal);flex:0 0 auto;margin-top:1px;}

.pp-form__footer{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-top:8px;padding-top:14px;border-top:1px solid var(--line);}
.pp-form__btn{display:inline-flex;align-items:center;gap:10px;}
.pp-form__btn:hover svg{transform:translateX(3px);transition:transform .25s ease;}
.pp-form__turnaround{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-soft);}
.pp-form__status-dot{width:7px;height:7px;border-radius:50%;background:var(--teal);animation:pp-pulse 2s ease-in-out infinite;}

/* Responsive adjustments for Contact */
@media (min-width:640px){
  .pp-contact-highlights{grid-template-columns:repeat(2,1fr);}
  .pp-form__row{grid-template-columns:1fr 1fr;}
}
@media (min-width:1024px){
  .pp-contact-highlights{grid-template-columns:repeat(4,1fr);}
  .pp-contact-layout{grid-template-columns:1fr 1.15fr;gap:48px;}
}

/* ---------- 21. Motion ---------- */
[data-reveal],[data-reveal-stagger]>*{opacity:0;transform:translateY(20px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
[data-reveal].is-in,[data-reveal-stagger].is-in>*{opacity:1;transform:none;}
[data-reveal-lines] .pp-line>span{display:block;transform:translateY(102%);transition:transform .9s var(--ease);}
[data-reveal-lines].is-in .pp-line>span{transform:none;}
[data-reveal-lines] .pp-line:nth-child(2)>span{transition-delay:.09s;}
[data-reveal-lines] .pp-line:nth-child(3)>span{transition-delay:.18s;}
[data-magnetic]{transition:transform .35s var(--ease);}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;}
  [data-reveal],[data-reveal-stagger]>*{opacity:1!important;transform:none!important;}
  [data-reveal-lines] .pp-line>span{transform:none!important;}
  .pp-announce__track,.pp-strip__track{animation:none!important;}
}

/* ---------- 22. Breakpoints ---------- */
@media (max-width:599px){
  .pp-products__grid{grid-template-columns:1fr;}
  .pp-hero__stats{grid-template-columns:1fr;}
  .pp-hide-sm{display:none;}
  .pp-footer__title{font-size:2.5rem;}
}

@media (min-width:768px){
  .pp-reels__grid{grid-template-columns:repeat(3,1fr);}
  .pp-bundles{grid-template-columns:repeat(2,1fr);}
  .pp-guides{grid-template-columns:repeat(3,1fr);}
  .pp-pillars{grid-template-columns:repeat(2,1fr);}
  .pp-contact{grid-template-columns:repeat(2,1fr);}
  .pp-hero__stats{grid-template-columns:repeat(4,1fr);}
  .pp-cta{grid-template-columns:1.15fr .85fr;}
  .pp-footer__grid{grid-template-columns:1.4fr 1fr 1fr;}

  /* Single product */
  .pp-sp__layout{grid-template-columns:1fr 1fr;}
  .pp-sp__related-grid{grid-template-columns:repeat(2,1fr);}
}

@media (min-width:1024px){
  .pp-nav{display:block;}
  .pp-burger{display:none;}
  .pp-mobile{display:none!important;}
  .pp-products__grid{grid-template-columns:repeat(4,1fr);}
  .pp-bundles{grid-template-columns:repeat(4,1fr);}
  .pp-pillars{grid-template-columns:repeat(4,1fr);}
  .pp-contact{grid-template-columns:repeat(4,1fr);}
  .pp-split{grid-template-columns:1fr 1fr;gap:44px;}
  .pp-faq{grid-template-columns:.85fr 1.15fr;gap:48px;}
  .pp-section__head--split{grid-template-columns:1.25fr .75fr;gap:36px;}
  .pp-hero__inner{grid-template-columns:1.06fr .94fr;gap:40px;}
  .pp-footer__grid{grid-template-columns:1.5fr 1fr 1fr 1.2fr;}

  /* Single product */
  .pp-sp__layout{grid-template-columns:1.1fr .9fr;gap:56px;}
  .pp-sp__gallery{position:sticky;top:calc(var(--header-h) + 24px);align-self:start;}
  .pp-sp__related-grid{grid-template-columns:repeat(4,1fr);}
}

/* Keep the hero inside one laptop viewport on short screens. */
@media (min-width:1024px) and (max-height:900px){
  .pp-hero{padding-block:30px 26px;}
  .pp-hero__stage{min-height:300px;}
  .pp-hero__panel{max-width:400px;}
  .pp-hero__stats{margin-top:26px;}
  .pp-stat{padding:14px 18px;}
  .pp-h1{font-size:clamp(2.4rem,3.9vw,3.5rem);}
}

@media (min-width:1440px){
  .pp-hero__panel{max-width:470px;}
}

/* =====================================================================
   CART
   Centered medium-width stack. Hairlines over shadows, one accent.
   ===================================================================== */

.pp-cart {
  background: var(--cream);
  padding-block: clamp(28px, 4vw, 52px) clamp(56px, 7vw, 92px);
  min-height: 70vh;
}

.pp-cart__shell {
  width: 100%;
  max-width: 960px;
  margin-inline: auto;
  padding-inline: clamp(16px, 4vw, 28px);
  box-sizing: border-box;
}

/* ── Page head ───────────────────────────────────────────────────── */
.pp-cart__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--line-strong);
}
.pp-cart__headline { min-width: 0; }
.pp-cart__title {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3.4vw, 2.4rem);
  font-weight: var(--fw-medium);
  letter-spacing: -0.03em;
  line-height: 1.05;
  color: var(--ink);
  margin: 0;
}
.pp-cart__meta {
  margin: 7px 0 0;
  font-size: 13px;
  color: var(--ink-soft);
}
.pp-cart__back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: var(--fw-medium);
  color: var(--ink-mid);
  text-decoration: none;
  padding-bottom: 2px;
  border-bottom: 1px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}
.pp-cart__back:hover {
  color: var(--ink);
  border-bottom-color: var(--ink);
}
.pp-cart__back svg { transition: transform 0.25s var(--ease); }
.pp-cart__back:hover svg { transform: translateX(-3px); }

/* ── Free shipping progress ──────────────────────────────────────── */
.pp-cart__ship { margin-top: 22px; }
.pp-cart__ship-text {
  margin: 0 0 9px;
  font-size: 13px;
  color: var(--ink-mid);
}
.pp-cart__ship-text strong {
  font-weight: var(--fw-semi);
  color: var(--ink);
}
.pp-cart__ship-flag {
  display: inline-block;
  margin-right: 7px;
  padding: 2px 8px;
  border-radius: var(--r-pill);
  background: var(--tint-teal);
  color: var(--teal-deep);
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: var(--fw-semi);
  letter-spacing: 0.09em;
  text-transform: uppercase;
}
.pp-cart__ship-track {
  height: 3px;
  border-radius: var(--r-pill);
  background: var(--cream-deep);
  overflow: hidden;
}
.pp-cart__ship-fill {
  display: block;
  height: 100%;
  border-radius: var(--r-pill);
  background: var(--ink);
  transition: width 0.6s var(--ease);
}
.pp-cart__ship.is-unlocked .pp-cart__ship-fill { background: var(--teal); }

/* ── Panel (items form) ──────────────────────────────────────────── */
.pp-cart__panel {
  margin-top: clamp(22px, 3vw, 30px);
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  overflow: hidden;
}

/* Shared row geometry */
.pp-cart__thead,
.pp-cart__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 92px 112px 104px 34px;
  align-items: center;
  gap: 16px;
}

.pp-cart__thead {
  padding: 14px clamp(18px, 2.4vw, 26px);
  background: var(--cream);
  border-bottom: 1px solid var(--line);
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: var(--fw-semi);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink-soft);
}

.pp-cart__items { display: block; }
.pp-cart__row {
  padding: clamp(18px, 2.2vw, 24px) clamp(18px, 2.4vw, 26px);
  border-bottom: 1px solid var(--line);
}
.pp-cart__row:last-child { border-bottom: 0; }

.pp-num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.pp-mid { text-align: center; }

/* Item identity */
.pp-cart__item {
  display: flex;
  align-items: center;
  gap: clamp(12px, 1.6vw, 18px);
  min-width: 0;
}
.pp-cart__thumb {
  flex: 0 0 auto;
  width: 66px;
  height: 66px;
  border-radius: var(--r-sm);
  background: var(--cream);
  border: 1px solid var(--line);
  overflow: hidden;
  display: grid;
  place-items: center;
}
.pp-cart__thumb a { display: block; line-height: 0; }
.pp-cart__thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.pp-cart__detail { min-width: 0; }
.pp-cart__name {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: var(--fw-medium);
  letter-spacing: -0.015em;
  line-height: 1.3;
  margin: 0;
  color: var(--ink);
}
.pp-cart__name a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}
.pp-cart__name a:hover { color: var(--ember); }
.pp-cart__sub {
  margin: 5px 0 0;
  font-size: 12px;
  color: var(--ink-soft);
}
.pp-cart__flag {
  margin: 6px 0 0;
  font-size: 11.5px;
  color: var(--gold);
}
/* Woo variation/meta list inside a row */
.pp-cart__detail dl.variation {
  margin: 5px 0 0;
  font-size: 12px;
  color: var(--ink-soft);
}
.pp-cart__detail dl.variation dt,
.pp-cart__detail dl.variation dd {
  display: inline;
  margin: 0;
  font-weight: var(--fw-book);
}
.pp-cart__detail dl.variation dd { margin-right: 8px; }
.pp-cart__detail dl.variation p { margin: 0; display: inline; }

.pp-cart__cell { font-size: 13.5px; color: var(--ink-mid); }
.pp-cart__amount {
  font-family: var(--font-display);
  font-size: 15px;
  font-weight: var(--fw-medium);
  color: var(--ink);
}

/* Quantity stepper */
.pp-step {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--line-strong);
  border-radius: var(--r-pill);
  background: var(--paper);
  overflow: hidden;
  transition: border-color 0.2s ease;
}
.pp-step:focus-within { border-color: var(--ink); }
.pp-step__btn {
  display: grid;
  place-items: center;
  width: 30px;
  height: 32px;
  border: 0;
  background: none;
  color: var(--ink-mid);
  cursor: pointer;
  transition: background-color 0.18s ease, color 0.18s ease;
}
.pp-step__btn:hover { background: var(--cream); color: var(--ink); }
.pp-step .quantity { margin: 0; }
.pp-step .quantity label { display: none; }
.pp-step input[type="number"],
.pp-step .qty {
  width: 34px;
  height: 32px;
  padding: 0;
  border: 0;
  background: none;
  text-align: center;
  font-family: var(--font-display);
  font-size: 13.5px;
  font-weight: var(--fw-medium);
  color: var(--ink);
  font-variant-numeric: tabular-nums;
  -moz-appearance: textfield;
  appearance: textfield;
}
.pp-step input[type="number"]:focus { outline: none; }
.pp-step input[type="number"]::-webkit-outer-spin-button,
.pp-step input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Remove */
.pp-cart__remove-cell { text-align: center; }
.pp-cart__remove {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  color: var(--ink-soft);
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.pp-cart__remove:hover {
  background: var(--tint-ember);
  color: var(--ember);
}

/* Toolbar */
.pp-cart__tools {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  padding: 16px clamp(18px, 2.4vw, 26px);
  background: var(--cream);
  border-top: 1px solid var(--line);
}
.pp-cart__coupon {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pp-cart__coupon-input {
  width: clamp(150px, 22vw, 210px);
  height: 40px;
  padding: 0 14px;
  border: 1px solid var(--line-strong);
  border-radius: var(--r-pill);
  background: var(--paper);
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--ink);
  transition: border-color 0.2s ease;
}
.pp-cart__coupon-input:focus {
  outline: none;
  border-color: var(--ink);
}
.pp-cart__coupon-input::placeholder { color: var(--ink-soft); }
.pp-cart__coupon-btn,
.pp-cart__update {
  height: 40px;
  padding: 0 18px;
  border-radius: var(--r-pill);
  border: 1px solid var(--ink);
  background: none;
  font-family: var(--font-display);
  font-size: 12.5px;
  font-weight: var(--fw-medium);
  letter-spacing: 0.02em;
  color: var(--ink);
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}
.pp-cart__coupon-btn:hover,
.pp-cart__update:hover {
  background: var(--ink);
  color: var(--cream);
}
.pp-cart__update[disabled] {
  opacity: 0.4;
  cursor: default;
}
.pp-cart__update[disabled]:hover {
  background: none;
  color: var(--ink);
}

/* ── Summary ─────────────────────────────────────────────────────── */
/* Neutralise WooCommerce's floated collaterals wrapper. */
.woocommerce .cart-collaterals,
.woocommerce-cart .cart-collaterals,
.cart-collaterals {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
  margin: clamp(22px, 3vw, 30px) 0 0 !important;
  padding: 0 !important;
  display: block !important;
  box-sizing: border-box !important;
}
.cart-collaterals .cart_totals h2 { display: none; }

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-cart .cart-collaterals .cart_totals,
.cart-collaterals .cart_totals,
.pp-sum {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
  margin: 0 !important;
  text-align: left !important;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  box-sizing: border-box !important;
  overflow: hidden;
}

.pp-sum__grid {
  display: grid;
  grid-template-columns: 1fr;
}
.pp-sum__col { padding: clamp(22px, 2.8vw, 30px) clamp(20px, 2.6vw, 28px); }
.pp-sum__col--pay { background: var(--paper); }
.pp-sum__col--ship { border-bottom: 1px solid var(--line); }

.pp-sum__head {
  font-family: var(--font-display);
  font-size: 10.5px;
  font-weight: var(--fw-semi);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin: 0 0 16px;
}

/* Shipping choices — tame Woo's list + calculator */
.pp-sum__ship ul#shipping_method {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.pp-sum__ship ul#shipping_method li {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 0;
  font-size: 13px;
  color: var(--ink);
}
.pp-sum__ship ul#shipping_method label { cursor: pointer; }
.pp-sum__ship .woocommerce-shipping-destination {
  margin: 12px 0 0;
  font-size: 12px;
  color: var(--ink-soft);
}
.pp-sum__ship .shipping-calculator-button {
  font-size: 12.5px;
  color: var(--teal);
  text-decoration: underline;
}
.pp-sum__ship .shipping-calculator-form { margin-top: 12px; }
.pp-sum__ship .shipping-calculator-form p { margin: 0 0 8px; }
.pp-sum__ship input,
.pp-sum__ship select {
  width: 100%;
  height: 38px;
  padding: 0 12px;
  border: 1px solid var(--line-strong);
  border-radius: var(--r-sm);
  background: var(--paper);
  font-family: var(--font-body);
  font-size: 13px;
  color: var(--ink);
  box-sizing: border-box;
}
.pp-sum__ship button {
  height: 38px;
  padding: 0 16px;
  border: 1px solid var(--ink);
  border-radius: var(--r-pill);
  background: none;
  font-family: var(--font-display);
  font-size: 12.5px;
  color: var(--ink);
  cursor: pointer;
}
.pp-sum__note {
  margin: 0;
  font-size: 13px;
  color: var(--ink-soft);
}

.pp-sum__perks {
  list-style: none;
  margin: 18px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 8px;
}
.pp-sum__perks li {
  position: relative;
  margin: 0;
  padding-left: 15px;
  font-size: 12.5px;
  color: var(--ink-soft);
  line-height: 1.5;
}
.pp-sum__perks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--teal);
}

/* Money lines */
.pp-sum__lines { display: grid; gap: 11px; }
.pp-sum__line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  font-size: 13.5px;
  color: var(--ink-mid);
}
.pp-sum__line .pp-num {
  font-family: var(--font-display);
  font-weight: var(--fw-medium);
  color: var(--ink);
  white-space: nowrap;
}
.pp-sum__line small {
  display: block;
  font-size: 11px;
  color: var(--ink-soft);
}
.pp-sum__line--credit,
.pp-sum__line--credit .pp-num { color: var(--teal); }

.pp-sum__total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin-top: 5px;
  padding-top: 15px;
  border-top: 1px solid var(--line-strong);
}
.pp-sum__total-label {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: var(--fw-medium);
  color: var(--ink);
}
.pp-sum__total-val {
  font-family: var(--font-display);
  font-size: clamp(1.3rem, 2.4vw, 1.6rem);
  font-weight: var(--fw-semi);
  letter-spacing: -0.025em;
  color: var(--ink);
  white-space: nowrap;
}
.pp-sum__total-val .woocommerce-Price-amount { color: inherit; }
.pp-sum__total-val small,
.pp-sum__total .includes_tax {
  display: block;
  margin-top: 3px;
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: var(--fw-book);
  letter-spacing: 0;
  color: var(--ink-soft);
  text-align: right;
}

/* Checkout CTA — the page's single accent. */
.pp-sum__cta { margin-top: 20px; }
.woocommerce .pp-sum a.checkout-button,
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.pp-sum__cta .checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 50px !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: var(--r-pill) !important;
  background: var(--ember) !important;
  color: #fff !important;
  font-family: var(--font-display) !important;
  font-size: 14.5px !important;
  font-weight: var(--fw-medium) !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  text-align: center !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
}
.woocommerce .pp-sum a.checkout-button:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.pp-sum__cta .checkout-button:hover {
  background: var(--ember-dark) !important;
  color: #fff !important;
}

.pp-sum__secure {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin: 14px 0 0;
  font-size: 11.5px;
  color: var(--ink-soft);
  text-align: center;
}
.pp-sum__secure svg { flex: 0 0 auto; }

/* ── Assurances ──────────────────────────────────────────────────── */
.pp-cart__assure {
  list-style: none;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  margin: clamp(22px, 3vw, 30px) 0 0;
  padding: 0;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  overflow: hidden;
}
.pp-cart__assure li {
  margin: 0;
  padding: 20px clamp(18px, 2.2vw, 24px);
  background: var(--paper);
}
.pp-cart__assure-label {
  display: block;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: var(--fw-semi);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink);
  margin-bottom: 7px;
}
.pp-cart__assure-text {
  display: block;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--ink-soft);
}

/* ── Empty state ─────────────────────────────────────────────────── */
.pp-cart__empty {
  max-width: 430px;
  margin-inline: auto;
  padding: clamp(48px, 8vw, 88px) 0;
  text-align: center;
}
.pp-cart__empty-mark { color: var(--ink-soft); }
.pp-cart__empty-title {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: var(--fw-medium);
  letter-spacing: -0.03em;
  color: var(--ink);
  margin: 18px 0 10px;
}
.pp-cart__empty-text {
  font-size: 14px;
  line-height: 1.6;
  color: var(--ink-soft);
  margin: 0 0 26px;
}

/* ── WooCommerce notices on the cart ─────────────────────────────── */
.pp-cart .woocommerce-message,
.pp-cart .woocommerce-error,
.pp-cart .woocommerce-info {
  margin: 0 0 20px;
  padding: 14px 18px;
  border: 1px solid var(--line-strong);
  border-left: 3px solid var(--teal);
  border-radius: var(--r-sm);
  background: var(--paper);
  font-size: 13px;
  color: var(--ink);
  list-style: none;
}
.pp-cart .woocommerce-error { border-left-color: var(--berry); }
.pp-cart .woocommerce-message .button,
.pp-cart .woocommerce-info .button {
  float: right;
  font-family: var(--font-display);
  font-size: 12.5px;
  color: var(--ink);
  text-decoration: underline;
  background: none;
  border: 0;
  padding: 0;
}

/* ── Responsive ──────────────────────────────────────────────────── */
@media (min-width: 861px) {
  .pp-sum__grid { grid-template-columns: 1fr 1fr; }
  .pp-sum__col--ship {
    border-bottom: 0;
    border-right: 1px solid var(--line);
  }
  .pp-cart__assure { grid-template-columns: repeat(3, 1fr); }
}

/* Collapse the item table into stacked cards. */
@media (max-width: 860px) {
  .pp-cart__thead { display: none; }

  .pp-cart__row {
    grid-template-columns: 1fr auto;
    grid-template-areas:
      "item   remove"
      "unit   unit"
      "qty    amount";
    row-gap: 14px;
    column-gap: 12px;
    align-items: center;
  }
  .pp-cart__item { grid-area: item; }
  .pp-cart__remove-cell { grid-area: remove; align-self: start; }
  .pp-cart__row .pp-cart__cell:not(.pp-cart__remove-cell) { text-align: left; }

  .pp-cart__row > .pp-cart__cell[data-label="Unit price"],
  .pp-cart__row > .pp-cart__cell.pp-num:not(.pp-cart__amount) { grid-area: unit; }
  .pp-cart__row > .pp-cart__cell.pp-mid { grid-area: qty; }
  .pp-cart__row > .pp-cart__amount { grid-area: amount; text-align: right; }

  /* Label the values now that the header row is gone. */
  .pp-cart__cell[data-label]::before {
    content: attr(data-label) " · ";
    font-family: var(--font-display);
    font-size: 10px;
    font-weight: var(--fw-semi);
    letter-spacing: 0.11em;
    text-transform: uppercase;
    color: var(--ink-soft);
  }
  .pp-cart__cell.pp-mid[data-label]::before { display: block; margin-bottom: 7px; }
  .pp-cart__amount[data-label]::before { display: block; margin-bottom: 3px; }

  .pp-cart__tools {
    flex-direction: column;
    align-items: stretch;
  }
  .pp-cart__coupon { width: 100%; }
  .pp-cart__coupon-input { flex: 1 1 auto; width: auto; }
}

@media (max-width: 480px) {
  .pp-cart__head { align-items: flex-start; }
  .pp-cart__thumb { width: 54px; height: 54px; }
  .pp-cart__coupon { flex-direction: column; }
  .pp-cart__coupon-btn,
  .pp-cart__update { width: 100%; }
}
/* =====================================================================
   WooCommerce Checkout Page — Centered Full-Width Sections Design
   ===================================================================== */

.pp-checkout-view {
  padding-block: clamp(32px, 4.5vw, 60px) clamp(60px, 8vw, 100px);
  background: var(--cream);
  min-height: 80vh;
}

.pp-checkout-center-container {
  max-width: 1040px;
  margin-inline: auto;
  width: 100%;
}

.pp-checkout-block {
  width: 100%;
  margin-bottom: clamp(24px, 3.5vw, 36px);
}
.pp-checkout-block:last-child {
  margin-bottom: 0;
}

/* ── 1. Topbar ── */
.pp-checkout-topbar__inner {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.pp-checkout-topbar__crumb {
  display: block;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: var(--fw-medium);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-bottom: 6px;
}
.pp-checkout-topbar__crumb a {
  color: var(--ink-soft);
  text-decoration: none;
  transition: color 0.2s ease;
}
.pp-checkout-topbar__crumb a:hover {
  color: var(--teal);
}
.pp-checkout-topbar__title {
  font-family: var(--font-display);
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: var(--fw-medium);
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: var(--ink);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}
.pp-checkout-topbar__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: var(--fw-book);
  color: var(--ink-soft);
  background: var(--cream-deep);
  padding: 3px 12px;
  border-radius: var(--r-pill);
  letter-spacing: 0;
}
.pp-checkout-security-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-size: 12.5px;
  font-weight: var(--fw-medium);
  color: var(--teal);
  background: var(--tint-teal);
  padding: 8px 16px;
  border-radius: var(--r-pill);
  border: 1px solid rgba(16, 120, 111, 0.2);
}

/* Notices & Toggles */
.pp-checkout-notices {
  margin-top: 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.pp-checkout-notices .woocommerce-info {
  margin: 0 !important;
  padding: 14px 20px !important;
  border-radius: var(--r-lg) !important;
  background: var(--paper) !important;
  border: 1px solid var(--line) !important;
  font-family: var(--font-display) !important;
  font-size: 13.5px !important;
  color: var(--ink-mid) !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.pp-checkout-notices .woocommerce-info::before {
  display: none !important;
}
.pp-checkout-notices .woocommerce-info a {
  color: var(--teal) !important;
  font-weight: var(--fw-semi) !important;
  text-decoration: underline !important;
}
.pp-checkout-notices form.woocommerce-form-login,
.pp-checkout-notices form.checkout_coupon {
  padding: 22px 26px !important;
  border-radius: var(--r-lg) !important;
  background: var(--paper) !important;
  border: 1px solid var(--line) !important;
  margin: 0 !important;
  box-shadow: 0 4px 16px -6px rgba(23,19,16,.06) !important;
}

/* ── 2. Checkout Form Cards ── */
.pp-checkout-form {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 3.5vw, 36px);
  width: 100%;
}
.pp-checkout-card {
  background: var(--paper);
  border-radius: var(--r-card);
  border: 1px solid var(--line);
  box-shadow: 0 4px 24px -10px rgba(23, 19, 16, 0.07);
  overflow: hidden;
  width: 100%;
  box-sizing: border-box;
}
.pp-checkout-card__head {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 22px 30px;
  background: var(--cream-deep);
  border-bottom: 1px solid var(--line);
}
.pp-checkout-step-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--ink);
  color: #fff;
  font-family: var(--font-display);
  font-size: 13px;
  font-weight: var(--fw-semi);
  flex-shrink: 0;
}
.pp-checkout-step-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.pp-checkout-step-title {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: var(--fw-medium);
  letter-spacing: -0.02em;
  color: var(--ink);
  margin: 0;
}
.pp-checkout-step-sub {
  font-size: 12.5px;
  color: var(--ink-soft);
}
.pp-checkout-card__body {
  padding: clamp(24px, 3.5vw, 36px);
}

/* Form Fields Grid */
.woocommerce-billing-fields__field-wrapper,
.woocommerce-shipping-fields__field-wrapper,
.woocommerce-additional-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 20px;
}
.woocommerce-billing-fields h3,
.woocommerce-shipping-fields h3,
.woocommerce-additional-fields h3 {
  display: none;
}
.form-row {
  margin: 0 0 4px !important;
  padding: 0 !important;
  float: none !important;
}
.form-row-first {
  grid-column: 1 / 2;
}
.form-row-last {
  grid-column: 2 / 3;
}
.form-row-wide,
.form-row.notes,
.form-row.address-field {
  grid-column: 1 / -1;
}

@media (max-width: 680px) {
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-additional-fields__field-wrapper {
    grid-template-columns: 1fr;
  }
  .form-row-first,
  .form-row-last {
    grid-column: 1 / -1;
  }
}

.woocommerce-billing-fields label,
.woocommerce-shipping-fields label,
.woocommerce-additional-fields label,
.woocommerce-form-login label {
  display: block;
  font-family: var(--font-display);
  font-size: 12.5px;
  font-weight: var(--fw-medium);
  color: var(--ink);
  margin-bottom: 6px;
  letter-spacing: 0.02em;
}
.woocommerce-billing-fields label .required,
.woocommerce-shipping-fields label .required {
  color: var(--ember);
  text-decoration: none;
  font-weight: bold;
}
.woocommerce-input-wrapper {
  display: block;
  width: 100%;
}
.woocommerce-billing-fields input[type="text"],
.woocommerce-billing-fields input[type="email"],
.woocommerce-billing-fields input[type="tel"],
.woocommerce-shipping-fields input[type="text"],
.woocommerce-additional-fields textarea,
.select2-container--default .select2-selection--single,
.woocommerce select,
.woocommerce-form-login input[type="text"],
.woocommerce-form-login input[type="password"] {
  width: 100% !important;
  height: 46px !important;
  padding: 0 16px !important;
  border: 1px solid var(--line-strong) !important;
  border-radius: var(--r-sm) !important;
  background: var(--cream) !important;
  font-size: 14px !important;
  color: var(--ink) !important;
  box-sizing: border-box !important;
  transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease !important;
}
.woocommerce-additional-fields textarea {
  height: auto !important;
  min-height: 90px !important;
  padding: 12px 16px !important;
  line-height: 1.5 !important;
}
.woocommerce-billing-fields input:focus,
.woocommerce-shipping-fields input:focus,
.woocommerce-additional-fields textarea:focus,
.select2-container--default.select2-container--open .select2-selection--single,
.woocommerce select:focus {
  outline: none !important;
  border-color: var(--teal) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(16, 120, 111, 0.12) !important;
}
.select2-container--default .select2-selection--single {
  display: flex !important;
  align-items: center !important;
}

/* Shipping to different address toggle */
#ship-to-different-address {
  margin: 24px 0 16px;
  padding-top: 18px;
  border-top: 1px dashed var(--line);
}
#ship-to-different-address label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: var(--fw-medium);
  color: var(--ink);
  cursor: pointer;
}

/* ── 3. Review Order Table ── */
.pp-review-order-wrap {
  width: 100%;
}
.pp-review-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 0 !important;
}
.pp-review-table thead th {
  padding: 14px 20px !important;
  background: var(--cream) !important;
  border-bottom: 1px solid var(--line) !important;
  font-family: var(--font-display) !important;
  font-size: 11px !important;
  font-weight: var(--fw-semi) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: var(--ink-soft) !important;
  border-top: 0 !important;
}
.pp-review-table thead th.product-quantity { text-align: center !important; }
.pp-review-table thead th.product-total { text-align: right !important; }

.pp-review-table tbody td {
  padding: 18px 20px !important;
  border-bottom: 1px solid var(--line) !important;
  vertical-align: middle !important;
  border-top: 0 !important;
}
.pp-review-item-meta {
  display: flex;
  align-items: center;
  gap: 16px;
}
.pp-review-item-thumb {
  width: 60px;
  height: 60px;
  border-radius: var(--r-sm);
  background: var(--cream);
  border: 1px solid var(--line);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.pp-review-item-thumb img {
  width: 85%;
  height: 85%;
  object-fit: contain;
}
.pp-review-item-details {
  display: flex;
  flex-direction: column;
}
.pp-review-item-cat {
  font-size: 10px;
  font-weight: var(--fw-semi);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--teal);
}
.pp-review-item-title {
  font-family: var(--font-display);
  font-size: 14px;
  font-weight: var(--fw-medium);
  color: var(--ink);
  line-height: 1.35;
}
.pp-review-table tbody td.product-quantity {
  text-align: center !important;
}
.pp-review-qty-pill {
  display: inline-block;
  font-family: var(--font-display);
  font-size: 12px;
  font-weight: var(--fw-semi);
  color: var(--ink-mid);
  background: var(--cream);
  padding: 3px 10px;
  border-radius: var(--r-pill);
}
.pp-review-table tbody td.product-total {
  text-align: right !important;
}
.pp-review-price {
  font-family: var(--font-display);
  font-size: 14.5px;
  font-weight: var(--fw-semi);
  color: var(--ink);
}

/* Review Order Table Footer (Totals) */
.pp-review-table tfoot th,
.pp-review-table tfoot td {
  padding: 14px 20px !important;
  border-bottom: 1px solid var(--line) !important;
  font-family: var(--font-display) !important;
  font-size: 13.5px !important;
  border-top: 0 !important;
}
.pp-review-table tfoot th {
  font-weight: var(--fw-book) !important;
  color: var(--ink-mid) !important;
  text-align: left !important;
}
.pp-review-table tfoot td {
  font-weight: var(--fw-medium) !important;
  color: var(--ink) !important;
  text-align: right !important;
}
.pp-review-table tfoot tr.order-total th,
.pp-review-table tfoot tr.order-total td {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
  border-top: 1px solid var(--line-strong) !important;
  border-bottom: 0 !important;
}
.pp-review-total-text {
  font-size: 16px;
  font-weight: var(--fw-semi);
  color: var(--ink);
  display: block;
}
.pp-review-total-sub {
  font-size: 11px;
  color: var(--ink-soft);
  font-weight: var(--fw-book);
}
.pp-review-total-amt {
  font-size: clamp(1.4rem, 2.2vw, 1.8rem) !important;
  font-weight: var(--fw-semi) !important;
  color: var(--ember) !important;
}

/* ── 4. Payment Section (#payment) ── */
#payment {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 24px 0 0 !important;
  margin-top: 24px !important;
  border-top: 1px solid var(--line) !important;
}
#payment ul.payment_methods {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 20px !important;
  border: 0 !important;
}
#payment ul.payment_methods li.wc_payment_method {
  padding: 16px 20px !important;
  border-radius: var(--r-lg) !important;
  border: 1px solid var(--line-strong) !important;
  background: var(--cream) !important;
  transition: all .2s ease !important;
}
#payment ul.payment_methods li.wc_payment_method:hover {
  background: #fff !important;
  border-color: var(--teal) !important;
}
#payment ul.payment_methods li.wc_payment_method label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  font-family: var(--font-display) !important;
  font-size: 14px !important;
  font-weight: var(--fw-medium) !important;
  color: var(--ink) !important;
  cursor: pointer !important;
}
#payment div.payment_box {
  background: #fff !important;
  border-radius: var(--r-sm) !important;
  border: 1px solid var(--line) !important;
  padding: 14px 18px !important;
  margin-top: 12px !important;
  font-size: 13px !important;
  color: var(--ink-mid) !important;
  line-height: 1.5 !important;
}
#payment div.payment_box::before {
  display: none !important;
}

/* Place Order CTA Button */
#payment div.form-row.place-order {
  padding: 0 !important;
  margin: 20px 0 0 !important;
  float: none !important;
}
.woocommerce #payment #place_order,
#payment #place_order {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 0 28px !important;
  border-radius: var(--r-pill) !important;
  background: var(--ember) !important;
  background-color: var(--ember) !important;
  color: #fff !important;
  font-family: var(--font-display) !important;
  font-size: 15.5px !important;
  font-weight: var(--fw-medium) !important;
  letter-spacing: 0.02em !important;
  border: 0 !important;
  cursor: pointer !important;
  box-shadow: 0 8px 24px -4px rgba(226, 86, 29, 0.45) !important;
  transition: transform 0.25s var(--ease), box-shadow 0.25s var(--ease), background-color 0.2s ease !important;
}
.woocommerce #payment #place_order:hover,
#payment #place_order:hover {
  background: var(--ember-dark) !important;
  background-color: var(--ember-dark) !important;
  color: #fff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 14px 28px -6px rgba(226, 86, 29, 0.55) !important;
}

/* Terms & Conditions */
.woocommerce-terms-and-conditions-wrapper {
  margin-bottom: 16px;
  font-size: 12.5px;
  color: var(--ink-soft);
}
.woocommerce-terms-and-conditions-wrapper label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
}
.woocommerce-terms-and-conditions-wrapper a {
  color: var(--teal);
  text-decoration: underline;
}

/* ── Shared with checkout: discount pill + guarantees strip ──────────
   These live here (not in the cart block) because only the checkout
   templates still render them. Restrained to match the cart redesign. */
.pp-discount-pill {
  display: inline-block;
  margin-right: 7px;
  padding: 2px 8px;
  border-radius: var(--r-pill);
  background: var(--tint-teal);
  color: var(--teal-deep);
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: var(--fw-semi);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pp-cart-guarantees {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1px;
  width: 100%;
  background: var(--line);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
  overflow: hidden;
}
.pp-guarantee-box {
  display: block;
  padding: 20px clamp(18px, 2.2vw, 24px);
  background: var(--paper);
}
/* Icons dropped from the visual language — hide rather than restyle. */
.pp-guarantee-box__icon { display: none; }
.pp-guarantee-box__content { display: block; }
.pp-guarantee-title {
  display: block;
  margin-bottom: 7px;
  font-family: var(--font-display);
  font-size: 10px;
  font-weight: var(--fw-semi);
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--ink);
}
.pp-guarantee-desc {
  display: block;
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--ink-soft);
}
