/* ==========================================================================
   Premium redesign (owner approved 14 Nov 2026).
   Plan: design_premium/00-BUILD-INSTRUCTIONS.md. Reference page:
   design_premium/reference/approved-homepage-preview.html.
   Loaded only while premium_on() (inc/premium.php). Every rule sits under
   body.pm-on so switching the redesign off leaves the old look untouched.
   ========================================================================== */

:root{
  --pm-ink:#1F3D2B; --pm-ink-2:#44564B; --pm-ink-3:#74837A;
  --pm-cream:#FAF7F0; --pm-paper:#F3EDE0; --pm-line:#E2DAC8;
  --pm-gold:#B8862A; --pm-gold-2:#D9B45A; --pm-gold-3:#F1E2B8;
  --pm-bar:#15281C; --pm-ok:#2E6B3F;
  --pm-ease:cubic-bezier(.2,.8,.2,1);
}

/* Preview bar (only printed while previewing) */
.pm-preview{background:#B8862A;color:#fff;font:600 .8rem/1.4 Inter,system-ui,sans-serif;text-align:center;padding:7px 16px}
.pm-preview a{color:#fff!important;text-decoration:underline;font-weight:800;margin-left:6px;white-space:nowrap}

/* --------------------------------------------------------------- announcement */
body.pm-on .announcement-bar{background:var(--pm-bar);border-bottom:0}
body.pm-on .announce-line{color:var(--pm-gold-3);text-transform:none;letter-spacing:.05em;font-size:.8rem;padding:8px 16px}
body.pm-on .announce-line .orn{display:inline-block;width:5px;height:5px;font-size:0;line-height:0;background:var(--pm-gold-2);transform:rotate(45deg);vertical-align:middle;margin:0 1.2rem}
@media (max-width:640px){body.pm-on .announce-line{font-size:.74rem;letter-spacing:.03em}body.pm-on .announce-line .orn{margin:0 .8rem}}

/* --------------------------------------------------------------- header bar */
body.pm-on .site-header{
  background:linear-gradient(180deg,#24462F,#1B3526)!important;
  border-bottom:0!important;color:#F4ECD8;
  box-shadow:0 1px 0 rgba(0,0,0,.25)!important;
  transition:background .45s,box-shadow .45s;
}
body.pm-on .site-header::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:rgba(217,180,90,.3);pointer-events:none}
body.pm-on .site-header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;pointer-events:none;
  background:linear-gradient(90deg,rgba(217,180,90,.15),#D9B45A 22%,#FFF1C4 50%,#D9B45A 78%,rgba(217,180,90,.15))}
body.pm-on .site-header .nav{height:76px;gap:14px;transition:height .45s var(--pm-ease)}
body.pm-on .site-header.condensed{
  background:rgba(24,48,34,.86)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);
  box-shadow:0 18px 34px -20px rgba(0,0,0,.7)!important;
}
body.pm-on .site-header.condensed .nav{height:60px}

/* brand */
body.pm-on .site-header .brand{gap:13px;margin-right:6px}
body.pm-on .site-header .brand-mark{position:relative;overflow:hidden;width:44px;height:44px;border:1px solid var(--pm-gold-2)!important;
  color:var(--pm-gold-2)!important;background:linear-gradient(145deg,rgba(217,180,90,.2),rgba(217,180,90,.03))!important;font-size:1.45rem}
body.pm-on .site-header .brand-mark::after{content:"";position:absolute;top:0;bottom:0;left:-80%;width:50%;
  background:linear-gradient(100deg,transparent,rgba(255,241,196,.55),transparent);transform:skewX(-18deg);animation:pmSheen 9s ease-in-out 3s infinite}
body.pm-on .site-header .brand-text strong{color:#fff!important;letter-spacing:.07em;font-size:1.18rem}
body.pm-on .site-header .brand-text em{color:var(--pm-gold-2)!important;letter-spacing:.3em;font-size:.6rem;margin-top:4px}
@keyframes pmSheen{0%,72%{left:-80%}100%{left:140%}}

/* links */
body.pm-on .site-header .primary{gap:0;margin-left:auto;margin-right:0}
body.pm-on .site-header .primary>a,
body.pm-on .site-header .dropdown>a{color:#EDE4CD!important;border:0!important;border-radius:0;padding:9px 10px;font-size:.875rem;letter-spacing:.01em;position:relative;transition:color .3s}
body.pm-on .site-header .primary>a::after,
body.pm-on .site-header .dropdown>a::after{content:"";position:absolute;left:10px;right:10px;bottom:3px;height:1px;background:var(--pm-gold-2);
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--pm-ease)}
body.pm-on .site-header .primary>a:hover,
body.pm-on .site-header .dropdown:hover>a,
body.pm-on .site-header .primary [aria-current="page"]{color:#fff!important}
body.pm-on .site-header .primary>a:hover::after,
body.pm-on .site-header .dropdown:hover>a::after,
body.pm-on .site-header .primary [aria-current="page"]::after{transform:scaleX(1)}
body.pm-on .site-header .drop-caret{display:inline-block;margin-left:3px;font-size:.62em;transition:transform .35s var(--pm-ease)}
body.pm-on .site-header .dropdown:hover .drop-caret,
body.pm-on .site-header .dropdown:focus-within .drop-caret{transform:rotate(180deg)}

/* Shop drop-down: a cream panel with a gold top edge (desktop row only) */
@media (min-width:1180px){
  body.pm-on:not(.nav-open) .site-header .dropdown::after{content:"";position:absolute;left:0;right:0;top:100%;height:22px}
  body.pm-on:not(.nav-open) .site-header .dropdown .menu{
    top:calc(100% + 18px);left:-8px;transform:none;min-width:250px;padding:10px;
    background:var(--pm-cream)!important;border:0!important;border-top:2px solid var(--pm-gold)!important;border-radius:0 0 14px 14px;
    box-shadow:0 34px 50px -26px rgba(0,0,0,.6)!important}
  body.pm-on:not(.nav-open) .site-header .dropdown:hover .menu,
  body.pm-on:not(.nav-open) .site-header .dropdown:focus-within .menu{display:grid;animation:pmDrop .38s var(--pm-ease) both}
  body.pm-on:not(.nav-open) .site-header .dropdown .menu a{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 13px;border-radius:8px;
    color:var(--pm-ink)!important;font-size:.92rem;font-weight:500;transition:background .25s,padding .3s var(--pm-ease)}
  body.pm-on:not(.nav-open) .site-header .dropdown .menu a+a{border-top:1px solid #EFE8D8;border-radius:0}
  body.pm-on:not(.nav-open) .site-header .dropdown .menu a::after{content:"\2192";color:var(--pm-gold);opacity:0;transform:translateX(-6px);transition:opacity .25s,transform .3s var(--pm-ease)}
  body.pm-on:not(.nav-open) .site-header .dropdown .menu a:hover{background:var(--pm-paper)!important;padding-left:17px;color:var(--pm-ink)!important}
  body.pm-on:not(.nav-open) .site-header .dropdown .menu a:hover::after{opacity:1;transform:none}
}
@keyframes pmDrop{from{opacity:0;translate:0 10px}}

/* icons */
body.pm-on .site-header .nav-actions{gap:4px;margin-left:auto}
body.pm-on .site-header .nav-ico{width:42px;height:42px;border-radius:50%;border:1px solid transparent;color:#F4ECD8!important;transition:border-color .3s,background .3s,transform .3s var(--pm-ease)}
body.pm-on .site-header .nav-ico:hover{border-color:rgba(217,180,90,.65);background:rgba(255,255,255,.07);transform:translateY(-1px);color:#fff!important}
body.pm-on .site-header .nav-badge{background:var(--pm-gold-2)!important;color:#1B3526!important;box-shadow:0 0 0 2px #1F3D2B;top:-1px;right:-2px}

/* search: icon on laptops, a cream field drops below it */
body.pm-on .pm-srch{position:relative;display:none;align-items:center}
@media (min-width:900px){body.pm-on .pm-srch{display:flex}}
body.pm-on .pm-srch input{position:absolute;right:0;top:calc(100% + 18px);width:280px;max-width:70vw;padding:13px 16px;border:0;border-top:2px solid var(--pm-gold);
  border-radius:0 0 12px 12px;background:var(--pm-cream);color:var(--pm-ink);font:inherit;font-size:.92rem;box-shadow:0 30px 44px -24px rgba(0,0,0,.6);
  opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .3s,transform .4s var(--pm-ease)}
body.pm-on .pm-srch input::placeholder{color:var(--pm-ink-3)}
body.pm-on .pm-srch.open input{opacity:1;transform:none;pointer-events:auto;outline:0}
body.pm-on.page-checkout .pm-srch{display:none}

/* menu button: shown at every width with the redesign (as in the approved preview) */
body.pm-on .site-header .hamburger{display:flex;width:42px;height:42px;border-radius:50%;margin-left:-8px;border:1px solid transparent;transition:border-color .3s,background .3s}
body.pm-on .site-header .hamburger:hover{border-color:rgba(217,180,90,.65);background:rgba(255,255,255,.07)}
body.pm-on .site-header .hamburger span{width:20px;height:1.5px;background:#F4ECD8}

/* the eight links do not fit beside the logo below ~1180px: they fold into the menu */
@media (min-width:1100px) and (max-width:1179.98px){body.pm-on:not(.nav-open) .site-header .primary{display:none}}

/* --------------------------------------------------------------- side menu */
body.pm-on .pm-dh{display:none}
body.pm-on .pm-scrim{position:fixed;inset:0;z-index:190;background:rgba(12,24,17,.55);opacity:0;pointer-events:none;transition:opacity .4s}
body.pm-on.nav-open .pm-scrim{opacity:1;pointer-events:auto}
body.pm-on.nav-open{overflow:hidden}
body.pm-on.nav-open .dbn-rb,body.pm-on.nav-open .wa-float{display:none!important}
/* a frosted (backdrop-filter) header would trap the fixed menu inside the bar */
body.pm-on.nav-open .site-header{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
body.pm-on.nav-open .site-header .primary{
  position:fixed;top:0;bottom:0;left:0;right:auto;width:min(370px,88vw);height:100vh;height:100dvh;
  display:flex!important;flex-direction:column;align-items:stretch;gap:0;margin:0;
  padding:calc(14px + env(safe-area-inset-top,0px)) 22px calc(22px + env(safe-area-inset-bottom,0px)) max(22px,env(safe-area-inset-left,0px));
  background:linear-gradient(180deg,#22432F,#172E20)!important;border:0;border-right:1px solid rgba(217,180,90,.5);
  box-shadow:24px 0 60px -20px rgba(0,0,0,.6);overflow-y:auto;z-index:300;animation:pmSlide .55s var(--pm-ease) both}
@keyframes pmSlide{from{transform:translateX(-102%)}}
body.pm-on.nav-open .site-header .primary>*{flex-shrink:0}
body.pm-on.nav-open .pm-dh{display:flex;justify-content:space-between;align-items:center;margin:0 0 12px}
body.pm-on.nav-open .pm-dh .brand-text em{display:block}
body.pm-on .pm-dx{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(217,180,90,.4);background:transparent;color:#F4ECD8;cursor:pointer}
body.pm-on.nav-open .nav-mobile-search{display:flex!important;align-items:center;margin:0 0 8px;border:1px solid rgba(217,180,90,.5);border-radius:10px;background:rgba(255,255,255,.05);overflow:hidden}
body.pm-on.nav-open .nav-mobile-search input{background:transparent;color:#fff;border:0;border-radius:0;padding:12px 14px;font-size:.94rem}
body.pm-on.nav-open .nav-mobile-search input::placeholder{color:#B9C4BA}
body.pm-on.nav-open .nav-mobile-search button{background:transparent;color:var(--pm-gold-2);padding:0 14px}
body.pm-on.nav-open .site-header .primary>a,
body.pm-on.nav-open .site-header .dropdown>a{
  width:100%;justify-content:space-between;padding:13px 2px!important;
  font-family:var(--font-display,Georgia,serif);font-size:1.2rem;font-weight:500;letter-spacing:0;
  color:#F4ECD8!important;border:0!important;border-bottom:1px solid rgba(217,180,90,.18)!important;border-radius:0;
  animation:pmIn .5s var(--pm-ease) both}
body.pm-on.nav-open .site-header .primary>a::after,
body.pm-on.nav-open .site-header .dropdown>a::after{display:none}
body.pm-on.nav-open .site-header .primary [aria-current="page"]{color:var(--pm-gold-2)!important}
body.pm-on.nav-open .site-header .dropdown{width:100%;animation:pmIn .5s var(--pm-ease) both}
body.pm-on.nav-open .site-header .dropdown .menu{position:static;transform:none;display:grid;min-width:0;margin:0;padding:0 0 4px 14px!important;
  background:transparent!important;border:0!important;box-shadow:none!important}
body.pm-on.nav-open .site-header .dropdown .menu a{padding:9px 2px!important;font-size:.92rem;color:#D5DCD3!important;border-bottom:1px solid rgba(217,180,90,.1)!important;background:transparent!important}
body.pm-on.nav-open .site-header .dropdown .menu a:hover{color:var(--pm-gold-2)!important}
body.pm-on.nav-open .nav-mobile-extra{display:grid!important;gap:10px;margin-top:14px;padding-top:0;border-top:0;animation:pmIn .5s var(--pm-ease) .5s both}
body.pm-on.nav-open .nav-mobile-extra a{color:#E4DCC6!important;font-size:.93rem}
body.pm-on.nav-open .nav-mobile-extra .wa-chat{justify-content:center;min-height:46px;border-radius:10px;color:#fff!important;font-weight:600}
body.pm-on.nav-open .nav-mobile-extra .trustline{margin-top:14px;color:var(--pm-gold-2);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;text-align:left}
@keyframes pmIn{from{opacity:0;transform:translateX(-14px)}}

/* --------------------------------------------------------------- phones */
@media (max-width:640px){
  body.pm-on .site-header .nav{height:60px;gap:6px}
  body.pm-on .site-header.condensed .nav{height:54px}
  body.pm-on .site-header .brand{gap:10px;margin-right:0}
  body.pm-on .site-header .brand-mark{width:38px;height:38px;font-size:1.25rem}
  body.pm-on .site-header .brand-text strong{font-size:1.02rem;letter-spacing:.06em}
  body.pm-on .site-header .hamburger{margin-left:-6px}
  body.pm-on .site-header .nav-ico{width:40px;height:40px}
}

/* ==========================================================================
   Phase 2: shared pieces (buttons, section heads, cards, footer, the
   "recently ordered" note, scroll reveal). Phase 3: homepage.
   Values and motion copied from the approved preview.
   ========================================================================== */

/* ---- scroll reveal: starts readable (never invisible), then settles. premium.js adds .pm-js */
.pm-js body.pm-on .pm-rv{transition:opacity .9s var(--pm-ease),transform .9s var(--pm-ease);transition-delay:calc(var(--d,0)*90ms)}
.pm-js body.pm-on .pm-rv:not(.in){opacity:.28;transform:translateY(24px)}

/* ---- buttons */
body.pm-on .btn-primary{position:relative;overflow:hidden;border:0;border-radius:10px;background:linear-gradient(180deg,#C4922F,#A9781F);color:#fff;
  box-shadow:0 16px 30px -18px rgba(120,80,10,.9),inset 0 1px 0 rgba(255,255,255,.25);transition:transform .25s var(--pm-ease),box-shadow .25s,filter .2s}
body.pm-on .btn-primary:hover{transform:translateY(-2px);filter:none;box-shadow:0 22px 36px -18px rgba(120,80,10,.95),inset 0 1px 0 rgba(255,255,255,.25)}
body.pm-on:not(.page-checkout) .btn-primary::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.42),transparent);transform:skewX(-18deg);animation:pmBtnSheen 7s ease-in-out 2.4s infinite}
@keyframes pmBtnSheen{0%,72%{left:-60%}100%{left:130%}}
body.pm-on .btn-primary.in-cart{background:linear-gradient(180deg,#34774A,#27603A)}
body.pm-on .btn-ghost{border:1px solid var(--pm-gold);border-radius:9px;background:transparent;color:var(--pm-ink);transition:background .3s,color .3s,border-color .3s}
body.pm-on .btn-ghost:hover{background:var(--pm-ink);color:var(--pm-gold-3);border-color:var(--pm-ink)}

/* ---- section heads: centred eyebrow between two gold hairlines */
body.pm-on .dn-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.2em;color:var(--pm-gold)}
body.pm-on .dn-section-head .dn-eyebrow{display:inline-flex;align-items:center;gap:12px}
body.pm-on .dn-section-head:not(.left) .dn-eyebrow::before,
body.pm-on .dn-section-head:not(.left) .dn-eyebrow::after{content:"";width:34px;height:1px;background:var(--pm-gold-2);transition:transform 1.4s var(--pm-ease)}
.pm-js body.pm-on .dn-section-head.pm-rv:not(.in) .dn-eyebrow::before,
.pm-js body.pm-on .dn-section-head.pm-rv:not(.in) .dn-eyebrow::after{transform:scaleX(.15)}
body.pm-on .dn-section h2,body.pm-on .dn-band h2{letter-spacing:-.015em;text-wrap:balance}

/* ---- product cards (homepage, shop, related, wishlist) */
body.pm-on .card{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible}
body.pm-on .card:hover{box-shadow:none;border-color:transparent}
body.pm-on .card .img{border:0;border-radius:14px;background:radial-gradient(circle at 50% 38%,#FFFDF7,#EFE7D6);transition:transform .5s var(--pm-ease),box-shadow .5s var(--pm-ease)}
body.pm-on .card .img img{padding:12%;mix-blend-mode:multiply;transition:transform .8s var(--pm-ease)}
body.pm-on .card:hover .img{transform:translateY(-6px);box-shadow:0 30px 44px -30px rgba(31,61,43,.7)}
body.pm-on .card:hover .img img{transform:scale(1.08)}
body.pm-on .card .tag.sale{display:none}
body.pm-on .card .body{padding:16px 2px 0}
body.pm-on .card .cat{letter-spacing:.16em}
body.pm-on .card .title{font-family:var(--font-display,Georgia,serif)}
body.pm-on .card .price{margin:6px 0 2px}
body.pm-on .pm-save{font-size:.8rem;color:var(--pm-gold);font-weight:600;margin:0 0 12px}
body.pm-on .card .wish-btn{z-index:3}
body.pm-on .card-add:not(.in-cart){position:relative;overflow:hidden;z-index:0;width:100%;margin:0 0 4px;min-height:46px;border:1px solid var(--pm-gold);border-radius:9px;
  background:transparent;color:var(--pm-ink);font-weight:600;transition:color .35s}
body.pm-on .card-add:not(.in-cart)::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#C4922F,#A9781F);transform:translateY(101%);transition:transform .4s var(--pm-ease);z-index:-1}
body.pm-on .card-add:not(.in-cart):hover{color:#fff;filter:none}
body.pm-on .card-add:not(.in-cart):hover::before{transform:none}
body.pm-on .card-add.in-cart{width:100%;margin:0 0 4px;min-height:46px;border-radius:9px}

/* ---- footer: payment marks */
body.pm-on .site-footer .payments span{display:inline-grid;place-items:center;min-width:56px;height:32px;padding:0 10px;border:0;border-radius:6px;background:#fff;color:#1F3D2B;font-weight:700}

/* ---- the "recently ordered" note: smaller (owner, 14 Nov 2026); its timing lives in live-orders.js */
body.pm-on .dbn-rb{max-width:250px;padding:9px 30px 9px 10px;gap:9px;border-radius:12px;background:rgba(255,253,247,.97);border:1px solid var(--pm-line);box-shadow:0 18px 30px -20px rgba(0,0,0,.5)}
body.pm-on .dbn-rb-img{width:34px;height:34px}
body.pm-on .dbn-rb-t{font-size:.72rem}
body.pm-on .dbn-rb-p{font-size:.72rem;max-width:180px}
body.pm-on .dbn-rb-m{font-size:.62rem}

/* ==================================================================== homepage */
body.pm-on .dn-hero{padding:clamp(34px,6vw,76px) 0 clamp(30px,5vw,60px);overflow:hidden}
body.pm-on .dn-hero .wrap{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(28px,5vw,70px)}
body.pm-on .dn-hero h1.pm-h1{font-size:clamp(2.05rem,4.15vw,3.5rem);line-height:1.08;letter-spacing:-.015em;margin:16px 0 20px}
body.pm-on .pm-h1 .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.06em}
body.pm-on .pm-h1 .ln>span{display:inline-block;animation:pmRise 1s var(--pm-ease) both;animation-delay:calc(var(--i)*.12s + .1s)}
@media (min-width:981px){body.pm-on .pm-h1 .ln>span{white-space:nowrap}}
body.pm-on .pm-h1 em{position:relative;white-space:nowrap;color:var(--pm-gold)}
body.pm-on .pm-h1 em svg{position:absolute;left:-2%;bottom:-.14em;width:104%;height:.28em;overflow:visible}
body.pm-on .pm-h1 em path{fill:none;stroke:var(--pm-gold-2);stroke-width:3;stroke-linecap:round;stroke-dasharray:240;stroke-dashoffset:0;animation:pmDraw 1.1s ease-out 1.15s both}
@keyframes pmRise{from{transform:translateY(105%)}}
@keyframes pmDraw{from{stroke-dashoffset:240}}
/* the rest of the first screen fades up in sequence */
body.pm-on .dn-hero .wrap>div:first-child>*:not(h1){animation:pmFade .9s var(--pm-ease) both}
body.pm-on .dn-hero .wrap>div:first-child>.dn-eyebrow{animation-delay:.05s}
body.pm-on .dn-hero .wrap>div:first-child>.lead{animation-delay:.55s}
body.pm-on .dn-hero .wrap>div:first-child>.dn-hero-stats{animation-delay:.64s}
body.pm-on .dn-hero-stats{gap:14px 30px}
@media (max-width:640px){body.pm-on .dn-hero-stats{gap:12px 22px}}
body.pm-on .dn-hero .wrap>div:first-child>.dn-hero-rating{animation-delay:.73s}
body.pm-on .dn-hero .wrap>div:first-child>.hero-buy{animation-delay:.82s}
@keyframes pmFade{from{opacity:0;transform:translateY(16px)}}
/* photo: rounded frame, thin inner gold line, slow drift, one band of light */
body.pm-on .dn-hero-art.photo{border-radius:18px;border:0;box-shadow:0 40px 70px -40px rgba(31,61,43,.65);outline:1px solid rgba(255,240,205,.55);outline-offset:-12px;animation:pmShot 1.2s var(--pm-ease) .15s both}
body.pm-on .dn-hero-art.photo img{animation:pmDrift 18s ease-in-out infinite alternate;transform-origin:62% 60%}
body.pm-on .dn-hero-art.photo::before{content:"";position:absolute;z-index:2;top:-20%;bottom:-20%;left:-70%;width:50%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,244,214,.5),transparent);transform:skewX(-14deg);animation:pmSweep 2.4s ease-in-out 1.4s both}
body.pm-on .dn-hero-pills{z-index:3}
body.pm-on .dn-hero-pills span{border:0;border-radius:30px;background:rgba(255,253,247,.94);box-shadow:0 8px 18px -10px rgba(0,0,0,.5);animation:pmChip .7s var(--pm-ease) 1.05s both}
body.pm-on .dn-hero-pills span+span{animation-delay:1.25s}
@keyframes pmShot{from{opacity:0;transform:translateY(26px) scale(.97)}}
@keyframes pmDrift{from{transform:scale(1.02)}to{transform:scale(1.1) translate(-1.5%,-1%)}}
@keyframes pmSweep{from{left:-70%}to{left:140%}}
@keyframes pmChip{from{opacity:0;transform:translateX(-14px)}}
/* buy box: same ids and behaviour, new look */
body.pm-on .hb-size{border-radius:10px;border-color:var(--pm-line);transition:border-color .25s,box-shadow .25s,transform .25s var(--pm-ease)}
body.pm-on .hb-size:hover{transform:translateY(-2px);border-color:var(--pm-gold-2)}
body.pm-on .hb-size.on{border-color:var(--pm-gold);background:#FFFDF7;box-shadow:0 0 0 1px var(--pm-gold) inset,0 12px 24px -16px rgba(184,134,42,.7)}
body.pm-on .hb-size .hb-price{color:var(--pm-gold)}
body.pm-on .hb-tag{background:var(--pm-ink);color:var(--pm-gold-3);letter-spacing:.1em}
body.pm-on .hb-offer{border:0;border-left:2px solid var(--pm-gold-2);border-radius:0;background:transparent;padding:2px 0 2px 14px;color:var(--pm-ink-2)}
body.pm-on .hb-offer-btn{border-radius:8px;background:var(--pm-ink);border-color:var(--pm-ink);color:var(--pm-gold-3)}
body.pm-on .hb-cta .btn{min-height:56px;font-size:1rem}
body.pm-on .dn-hero-reassure::before{animation:pmPulse 2.6s infinite}
@keyframes pmPulse{0%{box-shadow:0 0 0 0 rgba(46,107,63,.5)}70%{box-shadow:0 0 0 9px rgba(46,107,63,0)}100%{box-shadow:0 0 0 0 rgba(46,107,63,0)}}

/* trust bar */
body.pm-on .pm-trust{background:#fff;border-top:1px solid var(--pm-line);border-bottom:1px solid var(--pm-line)}
body.pm-on .pm-trust .wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));grid-auto-flow:column}
body.pm-on .pm-trust .wrap>div{display:flex;gap:12px;align-items:center;padding:18px 16px;border-left:1px solid var(--pm-line);font-size:.82rem;line-height:1.35;color:var(--pm-ink-2);min-width:0}
body.pm-on .pm-trust .wrap>div:first-child{border-left:0;padding-left:0}
body.pm-on .pm-trust b{display:block;color:var(--pm-ink);font-weight:600}
body.pm-on .pm-trust svg{flex:none;width:26px;height:26px;stroke:var(--pm-gold);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* why band: hairline columns instead of boxed cards */
body.pm-on .dn-why{gap:0}
body.pm-on .dn-why .item{background:transparent;border:0;border-radius:0;padding:6px 26px 6px 0;margin-right:26px;border-right:1px solid var(--pm-line)}
body.pm-on .dn-why .item:last-child{border-right:0;margin-right:0;padding-right:0}
body.pm-on .dn-why .item .ic{width:30px;height:30px;color:var(--pm-gold);stroke-width:1.4}
body.pm-on .dn-why .item h4{font-size:1.22rem;font-family:var(--font-display,Georgia,serif);font-weight:600}

/* proof band: the real report card */
body.pm-on .pm-proof-note{color:var(--pm-ink-2);margin:12px 0 0}
body.pm-on .pm-report{background:#fff;border:1px solid var(--pm-line);border-radius:16px;box-shadow:0 40px 60px -46px rgba(31,61,43,.7);overflow:hidden}
body.pm-on .pm-rh{display:flex;gap:14px;align-items:center;padding:18px 22px;background:#EEF3EC;border-bottom:1px solid var(--pm-line)}
body.pm-on .pm-rh svg{flex:none;width:30px;height:30px;stroke:var(--pm-ok);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
body.pm-on .pm-rh b{display:block;font-family:var(--font-display,Georgia,serif);font-size:1.14rem;font-weight:600;color:var(--pm-ink)}
body.pm-on .pm-rh span{font-size:.8rem;color:var(--pm-ink-2)}
body.pm-on .pm-tbl{overflow-x:auto}
body.pm-on .pm-report table{width:100%;border-collapse:collapse;font-size:.9rem;font-variant-numeric:tabular-nums}
body.pm-on .pm-report th{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pm-ink-3);font-weight:600;text-align:left;padding:12px 22px 8px}
body.pm-on .pm-report td{padding:11px 22px;border-top:1px solid #EEE8DA;vertical-align:middle;color:var(--pm-ink)}
body.pm-on .pm-report td:nth-child(2){font-weight:700;white-space:nowrap}
body.pm-on .pm-report td:nth-child(3){color:var(--pm-ink-3);white-space:nowrap}
body.pm-on .pm-tick{display:inline-block;width:18px;height:18px;vertical-align:-4px;margin-left:6px}
body.pm-on .pm-tick path{fill:none;stroke:var(--pm-ok);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:22;stroke-dashoffset:0;transition:stroke-dashoffset .6s ease-out;transition-delay:calc(var(--r)*.16s + .5s)}
.pm-js body.pm-on .pm-report:not(.in) .pm-tick path{stroke-dashoffset:22}
body.pm-on .pm-rf{display:flex;gap:16px;align-items:center;padding:16px 22px;border-top:1px solid var(--pm-line);background:#FBF9F3}
body.pm-on .pm-rf p{margin:0;font-size:.82rem;color:var(--pm-ink-2)}
body.pm-on .pm-rf p a{color:var(--pm-ok)}
body.pm-on .pm-thumb{flex:none;width:74px;border:1px solid var(--pm-line);border-radius:6px;overflow:hidden;background:#fff;transition:transform .5s var(--pm-ease),box-shadow .5s;transform-origin:left center}
body.pm-on .pm-thumb:hover{transform:perspective(500px) rotateY(-10deg) scale(1.06);box-shadow:14px 18px 26px -16px rgba(0,0,0,.45)}
body.pm-on .pm-thumb img{display:block;width:100%;height:auto}

/* how it is made: a gold line draws across, each icon pops */
body.pm-on .pm-steps-band .dn-section-head{margin-bottom:clamp(30px,4vw,52px)}
body.pm-on .pm-steps{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;list-style:none;margin:0;padding:0}
body.pm-on .pm-steps::before{content:"";position:absolute;left:4%;right:4%;top:27px;height:1px;background:var(--pm-gold-2);transform-origin:left;transition:transform 2.2s var(--pm-ease) .2s}
.pm-js body.pm-on .pm-steps:not(.in)::before{transform:scaleX(0)}
body.pm-on .pm-steps li{position:relative;text-align:center}
body.pm-on .pm-steps i{display:grid;place-items:center;width:54px;height:54px;margin:0 auto 14px;border-radius:50%;background:var(--pm-cream);border:1px solid var(--pm-gold);
  transition:transform .7s var(--pm-ease),background .7s;transition-delay:calc(var(--s)*.3s + .2s)}
.pm-js body.pm-on .pm-steps:not(.in) i{transform:scale(.6);background:var(--pm-gold-3)}
body.pm-on .pm-steps svg{width:24px;height:24px;stroke:var(--pm-ink);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
body.pm-on .pm-steps b{display:block;font-family:var(--font-display,Georgia,serif);font-size:1.08rem;font-weight:600;color:var(--pm-ink)}
body.pm-on .pm-steps span{display:block;font-size:.82rem;color:var(--pm-ink-2);margin-top:4px;line-height:1.45}
/* the steps transform on the reveal, not the list itself */
.pm-js body.pm-on .pm-steps.pm-rv:not(.in){opacity:1;transform:none}

/* standards band photo: settles from a gentle zoom */
body.pm-on .dn-band.reverse .dn-hero-art{border-radius:16px;overflow:hidden;box-shadow:0 40px 70px -44px rgba(31,61,43,.7);padding:0;background:#EFE7D6}
body.pm-on .dn-band.reverse .dn-hero-art img{width:100%;height:100%;max-height:none;object-fit:cover;mix-blend-mode:normal;transition:transform 1.6s var(--pm-ease)}
.pm-js body.pm-on .dn-band.reverse .dn-hero-art.pm-rv:not(.in) img{transform:scale(1.14)}
body.pm-on .dn-band.reverse .dn-hero-art{aspect-ratio:3/3.7;min-height:0!important;max-width:440px;width:100%;margin-inline:auto}
body.pm-on .dn-band.reverse .dn-hero-art img{object-position:50% 60%}
body.pm-on .dn-gc-band .btn-ghost{border-color:var(--pm-gold-2);color:var(--pm-gold-3)}
body.pm-on .dn-gc-band .btn-ghost:hover{background:var(--pm-gold-2);color:var(--pm-ink);border-color:var(--pm-gold-2)}
body.pm-on .dn-pullquote{border-left:2px solid var(--pm-gold);padding-left:22px}

/* reviews: the real rating summary beside the cards */
body.pm-on .pm-revwrap{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(26px,4vw,56px);align-items:start}
body.pm-on .pm-revwrap .dn-reviewgrid{grid-template-columns:repeat(3,minmax(0,1fr))}
body.pm-on .pm-big{font:600 4.4rem/1 var(--font-display,Georgia,serif);color:var(--pm-ink);font-variant-numeric:tabular-nums}
body.pm-on .pm-sum .pm-stars{color:var(--pm-gold);font-size:1.15rem;letter-spacing:2px;margin:8px 0 4px}
body.pm-on .pm-sum p{font-size:.9rem;color:var(--pm-ink-2);margin:0}
body.pm-on .pm-bars{display:grid;gap:8px;margin-top:20px;font-size:.8rem;color:var(--pm-ink-2);font-variant-numeric:tabular-nums}
body.pm-on .pm-bars div{display:grid;grid-template-columns:26px 1fr 30px;gap:10px;align-items:center}
body.pm-on .pm-bars u{display:block;height:6px;border-radius:6px;background:#E6DECB;overflow:hidden;text-decoration:none}
body.pm-on .pm-bars u b{display:block;height:100%;width:var(--p);background:var(--pm-gold);border-radius:6px;transition:width 1.4s var(--pm-ease) .3s}
.pm-js body.pm-on .pm-sum:not(.in) .pm-bars u b{width:0}
body.pm-on .pm-bars span:last-child{text-align:right}
body.pm-on .dn-review{border-color:var(--pm-line);border-radius:14px;transition:transform .5s var(--pm-ease),box-shadow .5s}
body.pm-on .dn-review:hover{transform:translateY(-4px);box-shadow:0 26px 40px -30px rgba(31,61,43,.6)}
body.pm-on .dn-review .pm-when{color:var(--pm-ink-3)}

/* gift card: tilts toward the pointer (premium.js sets the variables) */
body.pm-on .dn-gc-inner{perspective:900px}
body.pm-on .dn-gc-card{position:relative;overflow:hidden;border-radius:18px;background:linear-gradient(135deg,#C99A33,#8E6413 70%,#A77A1F);box-shadow:0 40px 60px -34px rgba(0,0,0,.8);
  transform:rotateX(var(--rx,6deg)) rotateY(var(--ry,-10deg));transition:transform .5s var(--pm-ease)}
body.pm-on .dn-gc-card::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--mx,30%) var(--my,20%),rgba(255,255,255,.4),transparent 46%)}

/* add to cart: the picture glides into the cart */
.pm-fly{position:fixed;z-index:9999;pointer-events:none;border-radius:12px;object-fit:contain;transition:transform .85s cubic-bezier(.5,-.2,.3,1),opacity .85s ease-in}
body.pm-on .cart-ico.pm-bump .nav-badge{animation:pmBump .5s var(--pm-ease)}
@keyframes pmBump{40%{transform:scale(1.5)}}

/* ---- homepage on smaller screens */
@media (max-width:980px){
  body.pm-on .dn-hero .wrap{grid-template-columns:minmax(0,1fr)}
  body.pm-on .pm-trust .wrap{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}
  body.pm-on .pm-trust .wrap>div{border-left:0;border-top:1px solid var(--pm-line);padding-left:0}
  body.pm-on .pm-trust .wrap>div:nth-child(-n+2){border-top:0}
  body.pm-on .pm-trust .wrap>div:last-child:nth-child(odd){grid-column:1/-1}
  body.pm-on .dn-why{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 0}
  body.pm-on .dn-why .item:nth-child(2n){border-right:0;margin-right:0;padding-right:0}
  body.pm-on .pm-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 12px}
  body.pm-on .pm-steps::before{display:none}
  body.pm-on .pm-revwrap{grid-template-columns:minmax(0,1fr)}
  body.pm-on .pm-revwrap .dn-reviewgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  body.pm-on .dn-why{grid-template-columns:minmax(0,1fr)}
  body.pm-on .dn-why .item{border-right:0;margin-right:0;padding:0 0 22px;border-bottom:1px solid var(--pm-line)}
  body.pm-on .dn-why .item:last-child{border-bottom:0;padding-bottom:0}
  body.pm-on .pm-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.pm-on .pm-revwrap .dn-reviewgrid{grid-template-columns:minmax(0,1fr)}
  body.pm-on .pm-report td,body.pm-on .pm-report th{padding-left:14px;padding-right:14px}
  body.pm-on .pm-rh,body.pm-on .pm-rf{padding-left:14px;padding-right:14px}
  body.pm-on .pm-report td:nth-child(3){white-space:normal}
}

/* ==================================================================== Phase 4: product page
   Same ids, data attributes and order as before (the size picker, packs, sticky bar and
   offer lines are wired to them); only the look changes. */
body.pm-on .pdp .crumbs{font-size:.8rem;color:var(--pm-ink-3)}
/* gallery */
body.pm-on .pdp .gallery .main{border:0;border-radius:18px;background:radial-gradient(circle at 50% 40%,#FFFDF7,#EFE7D6);box-shadow:0 40px 70px -44px rgba(31,61,43,.6)}
body.pm-on .pdp .gallery .main img#mainImg{mix-blend-mode:multiply;transition:transform 1.2s var(--pm-ease)}
body.pm-on .pdp .gallery .thumbs img{mix-blend-mode:multiply}
body.pm-on .pdp .gallery .main:hover img#mainImg{transform:scale(1.04)}
body.pm-on .pdp .gallery .thumbs button{border-radius:10px;border-color:var(--pm-line);background:#FFFDF7;transition:border-color .25s,box-shadow .25s,transform .25s var(--pm-ease)}
body.pm-on .pdp .gallery .thumbs button:hover{transform:translateY(-2px)}
body.pm-on .pdp .gallery .thumbs button.on{border-color:var(--pm-gold);box-shadow:0 0 0 1px var(--pm-gold) inset,0 10px 18px -14px rgba(184,134,42,.8)}
body.pm-on .pdp .lab-chip{border-radius:30px;box-shadow:0 8px 18px -10px rgba(0,0,0,.5)}
body.pm-on .pdp .bst-facts a,body.pm-on .pdp .bst-facts span{border-radius:30px;border-color:var(--pm-line);background:#FFFDF7}
/* buy box */
body.pm-on .pdp .buy-box{border-color:var(--pm-line);border-radius:18px;box-shadow:0 30px 60px -48px rgba(31,61,43,.55)}
body.pm-on .pdp .cat-pill{border:0;background:none;padding:0;font-size:.72rem;font-weight:700;letter-spacing:.2em;color:var(--pm-gold)}
body.pm-on .pdp .cat-pill::after{content:none}
body.pm-on .pdp h1{letter-spacing:-.015em;text-wrap:balance}
body.pm-on .pdp .pdp-share{border-radius:30px;border-color:var(--pm-line)}
body.pm-on .pdp .pricing{border-color:var(--pm-line)}
body.pm-on .pdp .pricing .price-now{font-family:var(--font-display,Georgia,serif);font-weight:600;color:var(--pm-ink);letter-spacing:-.01em}
body.pm-on .pdp .pricing .price-pill{background:none;border:0;padding:0;color:var(--pm-gold);font-weight:700;font-size:.92rem;border-radius:0}
body.pm-on .pdp .lab-badge{border-radius:12px}
body.pm-on .pdp .eyebrow{color:var(--pm-gold);letter-spacing:.2em;font-weight:700}
/* sizes and packs: the same tiles as the homepage */
body.pm-on .pdp .var{border-radius:10px;border-color:var(--pm-line);background:#fff;transition:border-color .25s,box-shadow .25s,transform .25s var(--pm-ease)}
body.pm-on .pdp .var:hover{transform:translateY(-2px);border-color:var(--pm-gold-2);box-shadow:none}
body.pm-on .pdp .var.on{border-color:var(--pm-gold);background:#FFFDF7;box-shadow:0 0 0 1px var(--pm-gold) inset,0 12px 24px -16px rgba(184,134,42,.7)}
body.pm-on .pdp .var span{color:var(--pm-gold)}
body.pm-on .pdp .var .vtag.pop,body.pm-on .pdp .var .vtag{background:var(--pm-ink);color:var(--pm-gold-3)}
body.pm-on .pdp-packs .pk{border-radius:10px;border-color:var(--pm-line);transition:border-color .25s,box-shadow .25s,transform .25s var(--pm-ease)}
body.pm-on .pdp-packs .pk:hover{transform:translateY(-2px);border-color:var(--pm-gold-2)}
body.pm-on .pdp-packs .pk.on{border-color:var(--pm-gold);background:#FFFDF7;box-shadow:0 0 0 1px var(--pm-gold) inset}
body.pm-on .pdp-packs .pk span{color:var(--pm-gold)}
body.pm-on .pdp-packs .pk .pk-tag{background:var(--pm-ink);color:var(--pm-gold-3)}
body.pm-on .pdp .qty{border-radius:10px;border-color:var(--pm-line);box-shadow:none}
/* buttons */
body.pm-on .pdp .atc-row .btn-primary{min-height:56px;font-size:1rem;font-weight:600}
body.pm-on .pdp .atc-row .btn-buynow{min-height:56px;border:1px solid var(--pm-gold);border-radius:10px;background:transparent;color:var(--pm-ink);font-weight:600;transition:background .3s,color .3s,border-color .3s}
body.pm-on .pdp .atc-row .btn-buynow:hover{background:var(--pm-ink);color:var(--pm-gold-3);border-color:var(--pm-ink)}
/* the small offer lines after the buttons: quiet lines, no coloured boxes */
body.pm-on .pdp-offer{gap:8px}
body.pm-on .pdp-offer .po-pp,body.pm-on .pdp-offer .po-cod,body.pm-on .pdp-offer .po-pts{background:none;border:0;border-radius:0;padding:0 2px;font-size:.86rem;color:var(--pm-ink-2)}
body.pm-on .pdp-offer svg{color:var(--pm-gold)!important}
body.pm-on .pdp-offer b{color:var(--pm-ink)!important}
body.pm-on .pdp-offer .po-pts a{color:var(--pm-ok)}
body.pm-on .pdp-offer .po-best{background:none;border:0;border-left:2px solid var(--pm-gold-2);border-radius:0;padding:2px 0 2px 12px;font-size:.86rem;color:var(--pm-ink-2)}
body.pm-on .pdp-offer .po-best::before,body.pm-on .pdp-offer .po-sparks{display:none}
body.pm-on .pdp-icons{border-color:var(--pm-line)}
body.pm-on .pdp-icons svg{stroke:var(--pm-gold)}
/* lab panel: the homepage report card */
body.pm-on .lab-proof{border:1px solid var(--pm-line);border-radius:16px;box-shadow:0 40px 60px -46px rgba(31,61,43,.7)}
body.pm-on .lab-proof .lp-head{background:#EEF3EC;border-color:var(--pm-line)}
body.pm-on .lab-proof h2{font-weight:600}
body.pm-on .lab-proof .lp-thumb{transition:transform .5s var(--pm-ease),box-shadow .5s;transform-origin:left center}
body.pm-on .lab-proof .lp-thumb:hover{transform:perspective(500px) rotateY(-10deg) scale(1.06);box-shadow:14px 18px 26px -16px rgba(0,0,0,.45)}
/* frequently bought together, and quote */
body.pm-on .pdp-fbt{border-color:var(--pm-line);border-radius:16px}
body.pm-on .pdp-fbt .fbt-item{border-radius:12px;border-color:var(--pm-line)}
/* how it is made: a gold line draws across, each step pops (as on the homepage) */
body.pm-on .pdp-steps{background:transparent;border:0;border-radius:0;padding:34px 0}
body.pm-on .pdp-steps .ps-list{position:relative}
body.pm-on .pdp-steps .ps-list::before{content:"";position:absolute;left:4%;right:4%;top:44px;height:1px;background:var(--pm-gold-2);transform-origin:left;transition:transform 2.2s var(--pm-ease) .2s}
.pm-js body.pm-on .pdp-steps.pm-rv:not(.in) .ps-list::before{transform:scaleX(0)}
.pm-js body.pm-on .pdp-steps.pm-rv:not(.in){opacity:1;transform:none}
body.pm-on .pdp-steps .ps-list li{background:transparent;border:0;padding:6px 6px 0}
body.pm-on .pdp-steps .ps-num{display:none}
body.pm-on .pdp-steps .ps-list li svg{box-sizing:content-box;width:24px;height:24px;padding:14px;border-radius:50%;border:1px solid var(--pm-gold);background:var(--pm-cream);stroke:var(--pm-ink);
  position:relative;z-index:1;transition:transform .7s var(--pm-ease),background .7s}
.pm-js body.pm-on .pdp-steps.pm-rv:not(.in) .ps-list li svg{transform:scale(.6);background:var(--pm-gold-3)}
body.pm-on .pdp-steps .ps-list li:nth-child(2) svg{transition-delay:.5s}
body.pm-on .pdp-steps .ps-list li:nth-child(3) svg{transition-delay:.8s}
body.pm-on .pdp-steps .ps-list li:nth-child(4) svg{transition-delay:1.1s}
body.pm-on .pdp-steps .ps-list li:nth-child(5) svg{transition-delay:1.4s}
body.pm-on .pdp-steps .ps-list li:nth-child(6) svg{transition-delay:1.7s}
body.pm-on .pdp-steps li b{font-family:var(--font-display,Georgia,serif);font-size:1.06rem;font-weight:600}
/* description, highlights, FAQs, reviews */
body.pm-on .tab-row{border-color:var(--pm-line)}
body.pm-on .tabs{border-color:var(--pm-line)}
body.pm-on .tabs button.on{color:var(--pm-ink);border-color:var(--pm-gold)}
body.pm-on .tab-pane{max-width:720px}
body.pm-on .tab-pane .pull{border-left:2px solid var(--pm-gold)}
body.pm-on .tab-pane .editorial-label{color:var(--pm-gold)}
body.pm-on .tab-pane .why-block{border-radius:14px;border-color:var(--pm-line)}
body.pm-on .pdp-compare thead th{background:var(--pm-cream);border-bottom-color:var(--pm-gold)}
/* phone sticky bar: restyle only (it has caught taps before; see the dbn-sticky-atc note) */
body.pm-on .m-sticky-atc{background:rgba(250,247,240,.97);border-top:1px solid var(--pm-line);box-shadow:0 -16px 30px -24px rgba(31,61,43,.6)}
@media (max-width:1024px){body.pm-on .pdp-steps .ps-list::before{display:none}}
@media (max-width:640px){body.pm-on .pdp .gallery .main{border-radius:0 0 18px 18px}body.pm-on .pdp-steps{padding:28px 16px}}

/* ==================================================================== Phase 5: shop and listing pages */
body.pm-on .dn-page-hero{background:var(--pm-paper);padding:clamp(40px,6vw,72px) 0 clamp(32px,5vw,56px)}
body.pm-on .dn-page-hero h1{letter-spacing:-.015em;text-wrap:balance}
body.pm-on .dn-page-hero .dn-eyebrow{display:inline-flex}
body.pm-on .dn-chips a{border-color:var(--pm-line);background:#FFFDF7;color:var(--pm-ink);transition:background .3s,color .3s,border-color .3s,transform .3s var(--pm-ease)}
body.pm-on .dn-chips a:hover{transform:translateY(-1px);background:var(--pm-ink);color:var(--pm-gold-3);border-color:var(--pm-ink)}
body.pm-on .dn-chips a.on{background:var(--pm-ink);color:var(--pm-gold-3);border-color:var(--pm-ink)}
body.pm-on .filters h4{font-family:var(--font-display,Georgia,serif);font-weight:600;font-size:1.05rem}
body.pm-on .filters ul a{color:var(--pm-ink-2);border-bottom:1px solid #EFE8D8;padding:9px 0}
body.pm-on .filters ul a:hover{color:var(--pm-ink);text-decoration:none}
body.pm-on .filters ul a.on{color:var(--pm-gold);font-weight:600}
body.pm-on .filters select,body.pm-on .filters input{border-color:var(--pm-line);border-radius:9px;background:#FFFDF7}
body.pm-on .shop-layout .grid{gap:30px 22px}
body.pm-on .card .stock-line{font-size:.78rem;color:var(--pm-ok);margin:0 0 12px}
body.pm-on .empty-state{border-color:var(--pm-line);border-radius:16px;background:#FFFDF7}
@media (max-width:980px){body.pm-on .filters{background:#FFFDF7;border-color:var(--pm-line);border-radius:14px}}

/* ==================================================================== Phase 6: cart, checkout and order pages
   Light touch: same fields, ids and order. No scroll motion on checkout (premium.js skips it there). */
body.pm-on .cart-list{border-color:var(--pm-line);border-radius:16px;box-shadow:0 30px 60px -50px rgba(31,61,43,.5)}
body.pm-on .cart-row{border-color:#EFE8D8}
body.pm-on .cart-row .ti{border:0;border-radius:12px;background:radial-gradient(circle at 50% 40%,#FFFDF7,#EFE7D6)}
body.pm-on .cart-row .ti img{mix-blend-mode:multiply}
body.pm-on .cart-row h4{font-family:var(--font-display,Georgia,serif);font-weight:600}
body.pm-on .cart-row .row-tot{color:var(--pm-ink);font-weight:600}
body.pm-on .cart-row select{border-radius:9px;border-color:var(--pm-line)}
body.pm-on .summary{border-color:var(--pm-line);border-radius:16px;box-shadow:0 30px 60px -50px rgba(31,61,43,.55)}
body.pm-on .summary h3{font-family:var(--font-display,Georgia,serif);font-weight:600;font-size:1.3rem}
body.pm-on .summary .row.total{border-color:var(--pm-line)}
body.pm-on .summary .coupon input,body.pm-on .coupon input{border-radius:9px 0 0 9px;border-color:var(--pm-line)}
body.pm-on .summary .coupon button,body.pm-on .coupon button{border-radius:0 9px 9px 0}
body.pm-on .login-strip,body.pm-on .gift-to{border-color:var(--pm-line);border-radius:12px;background:#FFFDF7}
body.pm-on .payment-options label{border-color:var(--pm-line)}
body.pm-on .payment-options label:has(input:checked){background:#FFFDF7;box-shadow:0 0 0 1px var(--pm-gold) inset}
body.pm-on .payment-options{border-radius:14px;overflow:hidden}
body.pm-on.page-checkout h1,body.pm-on.page-cart h1{letter-spacing:-.015em}

/* ==================================================================== shared form fields (checkout, contact, account, login) */
body.pm-on .field label{color:var(--pm-ink-3)}
body.pm-on .field input,body.pm-on .field select,body.pm-on .field textarea{border-color:var(--pm-line);border-radius:10px;background:#FFFDF7}
body.pm-on .field input:focus,body.pm-on .field select:focus,body.pm-on .field textarea:focus{border-color:var(--pm-gold);box-shadow:0 0 0 3px rgba(184,134,42,.16);background:#fff}

/* ==================================================================== Phase 7: content, guides, journal, account and policy pages */
body.pm-on .page-pad h1,body.pm-on .wrap-tight h1,body.pm-on .dn-page-hero h1{letter-spacing:-.015em;text-wrap:balance}
body.pm-on .page-pad h2,body.pm-on .wrap-tight h2{letter-spacing:-.01em;text-wrap:balance}
body.pm-on blockquote,body.pm-on .pull{border-left:2px solid var(--pm-gold)}
body.pm-on .dn-review,body.pm-on .review{border-radius:14px}
body.pm-on .dn-section--navy .dn-eyebrow{color:var(--pm-gold-2)}
body.pm-on table{font-variant-numeric:tabular-nums}

@media (prefers-reduced-motion:reduce){
  body.pm-on *,body.pm-on *::before,body.pm-on *::after{animation:none!important;transition:none!important}
}
