/* ============================================================
   PawBaby — single product e-commerce theme
   Design tokens pulled from the Royal Puppy Love bottle:
   sky blue + honey gold on a warm cream base.
   ============================================================ */

:root{
  /* Palette */
  --paw-cream:       #FBF7EF;
  --paw-cream-2:     #F4EDE1;
  --paw-blush:       #EFE6D6;
  --paw-sand:        #E9D9C2;

  /* The brand uses ONE deep color — espresso (#0E2A2F, the navy on the bottle).
     The sky tokens below are kept as aliases so existing class names continue
     to work, but they now resolve to the brand espresso instead of a separate
     sky-blue palette. */
  --paw-sky:         var(--paw-espresso-2);
  --paw-sky-deep:    var(--paw-espresso);
  --paw-sky-50:      var(--paw-cream-2);

  --paw-honey:       #d4a24a;
  --paw-honey-deep:  #b58637;
  --paw-honey-soft:  #F0DDB2;

  --paw-ink:         #061A1E;
  --paw-espresso:    #0E2A2F; /* deep teal — primary dark */
  --paw-espresso-2:  #2C4A4F; /* lighter teal — secondary text on cream */
  --paw-muted:       #5A6A6C; /* cool muted on cream, WCAG AA */

  --paw-bg:          var(--paw-cream);
  --paw-text:        var(--paw-espresso);

  --paw-success:     #2D7A4E;
  --paw-warn:        #C24A1A;

  /* Type */
  --paw-font-display: "Bricolage Grotesque", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  --paw-font-body:    "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;

  /* Layout */
  --paw-radius:      14px;
  --paw-radius-lg:   22px;
  --paw-radius-pill: 999px;
  --paw-shadow-sm:   0 4px 12px rgba(14,42,47,.06);
  --paw-shadow:      0 18px 50px -18px rgba(14,42,47,.18);
  --paw-shadow-lg:   0 30px 80px -24px rgba(14,42,47,.28);
  --paw-pad:         clamp(1.25rem, 4vw, 4rem);
  --paw-maxw:        1340px;

  /* Motion */
  --paw-ease:        cubic-bezier(.7,0,.2,1);
  --paw-ease-out:    cubic-bezier(.16,1,.3,1);
}

/* ----------------- A11y ----------------- */

.screen-reader-text{
  position:absolute !important; clip:rect(1px,1px,1px,1px);
  width:1px; height:1px; overflow:hidden;
  word-wrap:normal !important;
}
.paw-skip{
  position:absolute; top:-100px; left:1rem; z-index:9999;
  background:var(--paw-espresso); color:var(--paw-cream);
  padding:.8rem 1.2rem; border-radius:var(--paw-radius);
  font-weight:600; font-size:.9rem; text-decoration:none;
  transition:top .2s;
}
.paw-skip:focus{ top:1rem; outline:3px solid var(--paw-honey); }

/* Universal focus ring — only on keyboard nav. */
:focus-visible{
  outline:2px solid var(--paw-honey-deep);
  outline-offset:2px;
  border-radius:6px;
}
a:focus-visible,
button:focus-visible,
[role="radio"]:focus-visible,
input:focus-visible,
select:focus-visible{
  outline:3px solid var(--paw-honey);
  outline-offset:3px;
}

/* ----------------- Reset ----------------- */

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--paw-bg); color:var(--paw-text);
  font-family:var(--paw-font-body); font-size:16px; line-height:1.55;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img,svg,video{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; background:none; border:0; cursor:pointer; color:inherit; }
::selection{ background:var(--paw-honey); color:var(--paw-cream); }

h1,h2,h3,h4{ font-family:var(--paw-font-display); font-weight:600; line-height:1.02; letter-spacing:-.03em; color:var(--paw-espresso); margin:0; font-variation-settings:"opsz" 96; font-style:normal; }
h1{ font-size:clamp(2.8rem,6.4vw,5.6rem); font-weight:700; }
h2{ font-size:clamp(2rem,4.4vw,3.8rem); }
h3{ font-size:clamp(1.4rem,2.4vw,2rem); font-weight:600; }
h1 em, h2 em, h3 em, h4 em,
h1 .italic, h2 .italic, h3 .italic, h4 .italic,
.paw-hero__headline em, .paw-hero__headline .italic,
.italic{ font-style:normal; color:var(--paw-honey-deep); }
p{ margin:0 0 1em; }
strong{ font-weight:600; }

/* ----------------- Container ----------------- */

.paw-container{ width:100%; max-width:var(--paw-maxw); margin:0 auto; padding:0 var(--paw-pad); }
.paw-section{ padding:clamp(3rem,8vw,7rem) 0; }
.paw-section--tight{ padding:clamp(2rem,5vw,4rem) 0; }
.paw-eyebrow{
  display:inline-block; font-size:.72rem; letter-spacing:.28em; text-transform:uppercase;
  font-weight:600; color:var(--paw-honey-deep); margin-bottom:1.2rem;
}
.paw-eyebrow--sky{ color:var(--paw-sky-deep); }

/* ----------------- Buttons (Tidii-style hover) ----------------- */

.paw-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem;
  font-family:var(--paw-font-body); font-weight:600; font-size:.92rem; line-height:1;
  padding:1.05rem 1.8rem; border-radius:var(--paw-radius-pill);
  transition:
    transform .3s cubic-bezier(.22,.61,.36,1),
    box-shadow .3s cubic-bezier(.22,.61,.36,1),
    background .25s ease, color .25s ease, border-color .25s ease;
  text-align:center; cursor:pointer; border:1.5px solid transparent;
  box-shadow:0 4px 14px rgba(14,42,47,.10);
}
.paw-btn svg{ transition:transform .3s cubic-bezier(.22,.61,.36,1); }
.paw-btn:hover svg{ transform:translateX(3px); }

.paw-btn--primary{ background:var(--paw-espresso); color:var(--paw-cream); box-shadow:0 8px 22px rgba(14,42,47,.20); }
.paw-btn--primary:hover{ background:var(--paw-ink); transform:translateY(-2px); box-shadow:0 12px 28px rgba(14,42,47,.28); }

.paw-btn--gold{ background:var(--paw-honey); color:var(--paw-espresso); box-shadow:0 8px 22px rgba(199,154,67,.24); }
.paw-btn--gold:hover{ background:var(--paw-honey-deep); color:var(--paw-cream); transform:translateY(-2px); box-shadow:0 12px 28px rgba(199,154,67,.32); }

.paw-btn--sky{ background:var(--paw-sky-deep); color:var(--paw-cream); box-shadow:0 8px 22px rgba(14,42,47,.20); }
.paw-btn--sky:hover{ background:var(--paw-sky); color:var(--paw-cream); transform:translateY(-2px); box-shadow:0 12px 28px rgba(14,42,47,.28); }

.paw-btn--ghost{ background:transparent; color:var(--paw-espresso); border-color:rgba(14,42,47,.22); box-shadow:none; }
.paw-btn--ghost:hover{ background:var(--paw-espresso); color:var(--paw-cream); border-color:var(--paw-espresso); transform:translateY(-2px); box-shadow:0 10px 24px rgba(14,42,47,.20); }

.paw-btn--block{ width:100%; }
.paw-btn--lg{ padding:1.2rem 2.2rem; font-size:1rem; }

/* ----------------- Promo bar ----------------- */

.paw-promo{
  background:var(--paw-honey); color:var(--paw-espresso);
  border-top:1px solid rgba(14,42,47,.1);
  border-bottom:1px solid rgba(14,42,47,.12);
  overflow:hidden; white-space:nowrap; padding:.9rem 0;
  font-size:.88rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
}
.paw-promo__track{ display:inline-flex; gap:3rem; animation:paw-marquee 70s linear infinite; }
.paw-promo__track:hover{ animation-play-state:paused; }
.paw-promo__track span{ display:inline-flex; align-items:center; gap:.6rem; }
.paw-promo__track .dot{ color:var(--paw-honey-deep); }
@keyframes paw-marquee{ to{ transform:translateX(-50%); } }

/* ----------------- Header ----------------- */

.paw-header{
  position:sticky; top:0; z-index:50; background:var(--paw-cream);
  border-bottom:1px solid transparent;
  transition:border-color .3s, background .3s, box-shadow .3s;
}
.paw-header.is-stuck{ box-shadow:var(--paw-shadow-sm); border-bottom-color:rgba(14,42,47,.08); }

/* Compact state — when scrolled, shrink header by 15px top + bottom. */
.paw-header__inner{ transition:padding .25s var(--paw-ease-out); }
.paw-header.is-stuck .paw-header__inner{
  padding-top:calc(1.2rem - 15px);
  padding-bottom:calc(1.2rem - 15px);
}
.paw-brand img,
.paw-brand__mark{ transition:height .25s var(--paw-ease-out); }
.paw-header.is-stuck .paw-brand img,
.paw-header.is-stuck .paw-brand__mark{ height:44px; }

/* Dark header variant — used on the home page. Espresso (deep teal #0E2A2F)
   background, gold logo, white nav + cart, hover → honey gold. */
.paw-header--dark{
  background:var(--paw-espresso);
  border-bottom-color:rgba(251,247,239,.08);
}
.paw-header--dark.is-stuck{
  background:var(--paw-espresso);
  border-bottom-color:rgba(251,247,239,.12);
  box-shadow:0 8px 24px rgba(6,26,30,.32);
}

.paw-header__inner{
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  padding:1.2rem var(--paw-pad);
}
.paw-brand{ display:inline-flex; align-items:center; gap:.7rem; line-height:1; color:var(--paw-espresso); flex-shrink:0; }
.paw-brand img,
.paw-brand__mark{ height:68px; width:auto; max-width:none; display:block; }
.paw-footer .paw-brand img,
.paw-footer .paw-brand__mark{ height:72px; }
.paw-brand--wordmark{ display:flex; flex-direction:column; }
.paw-brand__name{ font-family:var(--paw-font-display); font-size:1.4rem; font-weight:500; letter-spacing:-.01em; }
.paw-brand__sub{ font-size:.62rem; letter-spacing:.34em; text-transform:uppercase; color:var(--paw-honey-deep); margin-top:.2rem; }
.paw-header--dark .paw-brand{ color:var(--paw-honey); }
.paw-header--dark .paw-brand__name{ color:var(--paw-honey); }
.paw-header--dark .paw-brand__sub{ color:var(--paw-honey-soft); }

.paw-nav{ display:flex; gap:2rem; }
.paw-nav a{ font-size:.92rem; font-weight:600; letter-spacing:.01em; position:relative; padding:.5rem 0; color:var(--paw-espresso); transition:color .25s; }
.paw-nav a::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--paw-honey); transform:scaleX(0); transform-origin:left; transition:transform .35s var(--paw-ease-out); }
.paw-nav a:hover::after{ transform:scaleX(1); }

.paw-header--dark .paw-nav a{ color:#fff; }
.paw-header--dark .paw-nav a:hover{ color:var(--paw-honey); }

.paw-header__cta{ display:flex; align-items:center; gap:.9rem; }
.paw-cart-btn{
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  width:42px; height:42px; border-radius:var(--paw-radius-pill); background:var(--paw-blush); color:var(--paw-espresso);
  transition:background .25s, color .25s;
}
.paw-cart-btn:hover{ background:var(--paw-honey); }

.paw-header--dark .paw-cart-btn{
  background:rgba(255,255,255,.1); color:#fff;
  border:1px solid rgba(255,255,255,.18);
}
.paw-header--dark .paw-cart-btn:hover{
  background:var(--paw-honey); color:var(--paw-espresso);
  border-color:var(--paw-honey);
}

.paw-cart-count{
  position:absolute; top:-6px; right:-6px; min-width:20px; height:20px; padding:0 6px;
  background:var(--paw-espresso); color:var(--paw-honey); border-radius:999px;
  font-size:.68rem; font-weight:800; display:inline-flex; align-items:center; justify-content:center;
  font-variant-numeric:tabular-nums;
  transition:transform .25s var(--paw-ease-out), background .25s;
}
/* Always show, even at 0 — teaches the user the cart is interactive */
.paw-cart-count[data-count="0"]{ background:rgba(14,42,47,.1); color:var(--paw-espresso-2); }
.paw-cart-count.is-bump{ animation:paw-cart-bump .55s var(--paw-ease-out); background:var(--paw-honey-deep); }
.paw-header--dark .paw-cart-count{ background:var(--paw-honey); color:var(--paw-espresso); }
.paw-header--dark .paw-cart-count[data-count="0"]{ background:rgba(255,255,255,.2); color:#fff; }

/* Shop Now CTA on dark header — outlined white, fills gold on hover */
.paw-header--dark .paw-btn--gold{
  background:var(--paw-honey); color:var(--paw-espresso);
  box-shadow:0 12px 32px rgba(199,154,67,.34);
}
.paw-header--dark .paw-btn--gold:hover{
  background:#fff; color:var(--paw-espresso);
}

.paw-header--dark .paw-menu-toggle{ color:#fff; }
.paw-header--dark .paw-menu-toggle:hover{ color:var(--paw-honey); }
@keyframes paw-cart-bump{
  0%   { transform:scale(1); }
  35%  { transform:scale(1.45); }
  70%  { transform:scale(.92); }
  100% { transform:scale(1); }
}
.paw-menu-toggle{ display:none; width:42px; height:42px; align-items:center; justify-content:center; }
@media (max-width:880px){
  .paw-nav{ display:none; }
  .paw-menu-toggle{ display:inline-flex; }
}

/* mobile drawer */
.paw-drawer{
  position:fixed; inset:0 0 0 auto; width:min(82vw,360px); background:var(--paw-cream);
  z-index:80; padding:6rem var(--paw-pad) 2rem; transform:translateX(100%); transition:transform .4s var(--paw-ease);
  display:flex; flex-direction:column; gap:1rem;
}
.paw-drawer.is-open{ transform:translateX(0); }
.paw-drawer a{ font-family:var(--paw-font-display); font-size:1.8rem; }
.paw-drawer__close{ position:absolute; top:1.3rem; right:1.3rem; width:42px; height:42px; }
.paw-scrim{ position:fixed; inset:0; background:rgba(27,19,13,.5); opacity:0; pointer-events:none; transition:opacity .4s; z-index:75; }
.paw-scrim.is-open{ opacity:1; pointer-events:auto; }

/* ----------------- HERO (split buy surface) ----------------- */

.paw-hero{ position:relative; overflow:hidden; }
.paw-hero__split{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:calc(100vh - 90px);
  align-items:stretch;
}
.paw-hero__left{
  display:flex; align-items:center; justify-content:flex-end;
  background:var(--paw-cream);
  padding:clamp(2.5rem, 5vw, 5rem) clamp(1.5rem, 4vw, 4rem);
}
.paw-hero__left-inner{
  max-width:560px;
  display:flex; flex-direction:column; gap:1.2rem;
}
.paw-hero__left .paw-eyebrow{
  font-size:.78rem; letter-spacing:.32em; color:var(--paw-honey-deep);
  display:inline-flex; align-items:center; gap:.7rem;
  margin-bottom:0;
}
/* Decorative leading line as a CSS pseudo (replaces a literal em-dash in copy) */
.paw-hero__left .paw-eyebrow::before{
  content:""; width:28px; height:1.5px; background:var(--paw-honey-deep);
}
.paw-hero__headline{
  font-family:var(--paw-font-display);
  font-size:clamp(2.6rem, 5.4vw, 5.4rem);
  line-height:1;
  letter-spacing:-.035em;
  font-weight:700;
  color:var(--paw-espresso);
  font-variation-settings:"opsz" 96, "wght" 700;
  margin:0;
  max-width:14ch;
}
/* Brand voice accent — the cuddle line under the product name */
.paw-hero__tagline{
  display:block;
  font-size:clamp(1.5rem, 2.7vw, 2.7rem);
  font-weight:600;
  color:var(--paw-honey-deep);
  letter-spacing:-.02em;
  margin-top:.3em;
}
.paw-hero__sub{
  color:var(--paw-espresso-2);
  font-size:1.12rem;
  line-height:1.55;
  max-width:42ch;
  margin:0 0 .2rem;
}

/* ---- Buy block inside the hero ---- */
.paw-hero__buy{ display:flex; flex-direction:column; gap:1rem; margin-top:.4rem; }
.paw-hero__packs{
  display:grid; grid-template-columns:repeat(3,1fr); gap:.55rem;
}
.paw-hero__pack{
  position:relative; text-align:left;
  display:flex; flex-direction:column; gap:.1rem;
  padding:.85rem .9rem .9rem; border-radius:var(--paw-radius);
  background:#fff; border:1.5px solid rgba(14,42,47,.12);
  cursor:pointer; transition:border-color .25s, transform .25s var(--paw-ease-out), box-shadow .25s;
}
.paw-hero__pack:hover{ transform:translateY(-2px); border-color:rgba(168,122,44,.5); box-shadow:var(--paw-shadow-sm); }
.paw-hero__pack.is-selected{
  border-color:var(--paw-honey); background:#FFFCF6;
  box-shadow:0 0 0 4px rgba(199,154,67,.16);
}
.paw-hero__pack-badge{
  /* Tightened — sits inside the card top edge instead of popping above */
  position:absolute; top:.55rem; left:.55rem; right:.55rem;
  font-size:.62rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  background:var(--paw-honey); color:var(--paw-espresso);
  padding:.28rem .45rem; border-radius:6px;
  text-align:center;
  box-shadow:none;
}
/* Quieter variant — "Most Popular" defers to the gold "Best Value" badge */
.paw-hero__pack-badge--quiet{
  background:transparent; color:var(--paw-muted);
  border:1px solid rgba(14,42,47,.14);
  font-weight:600;
}
.paw-hero__pack--has-badge{ padding-top:2.2rem !important; }
.paw-hero__pack-short{
  font-family:var(--paw-font-display); font-weight:700; font-size:1.1rem;
  color:var(--paw-espresso); line-height:1; letter-spacing:-.01em;
}
.paw-hero__pack-sub{ font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--paw-muted); margin-bottom:.45rem; }
.paw-hero__pack-each{
  font-family:var(--paw-font-display); font-weight:800;
  font-size:1.45rem; color:var(--paw-honey-deep);
  letter-spacing:-.02em; line-height:1;
  font-variant-numeric:tabular-nums;
  margin-bottom:0;
}
.paw-hero__pack-each-label{
  display:block;
  font-family:var(--paw-font-body); font-weight:500;
  font-size:.72rem; color:var(--paw-muted);
  letter-spacing:.04em;
  margin-top:.15rem;
}

.paw-hero__action{
  display:flex; gap:.6rem; align-items:stretch;
}
.paw-hero__qty{
  display:inline-flex; align-items:center; gap:.7rem;
  border:1.5px solid rgba(14,42,47,.14); border-radius:var(--paw-radius-pill);
  padding:0 .7rem; background:#fff;
}
.paw-hero__qty button{
  width:30px; height:30px; display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%; color:var(--paw-espresso); transition:background .2s;
}
.paw-hero__qty button:hover{ background:var(--paw-blush); }
.paw-hero__qty .val{ min-width:1.6ch; text-align:center; font-weight:700; font-family:var(--paw-font-display); }
.paw-hero__cta{
  flex:1; padding:1.05rem 1.4rem; font-size:.94rem; letter-spacing:.02em;
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  position:relative;
}
.paw-hero__cta em{ font-style:normal; color:var(--paw-honey); font-weight:700; }
.paw-hero__cta.is-loading{ pointer-events:none; }
.paw-hero__cta.is-loading > *{ visibility:hidden; }
.paw-hero__cta.is-loading::after{
  content:"";
  position:absolute; inset:0; margin:auto;
  width:22px; height:22px; border-radius:50%;
  border:2px solid rgba(251,247,239,.3);
  border-top-color:var(--paw-honey);
  animation:paw-spin .8s linear infinite;
}
@keyframes paw-spin{ to { transform:rotate(360deg); } }

.paw-hero__trust{
  list-style:none; padding:0; margin:.4rem 0 0;
  display:flex; gap:.5rem; flex-wrap:wrap;
}
.paw-hero__trust li{
  display:inline-flex; align-items:center; gap:.4rem;
  font-size:.78rem; font-weight:600; color:var(--paw-espresso);
  background:#fff; border:1px solid rgba(14,42,47,.08);
  padding:.5rem .8rem; border-radius:999px;
  box-shadow:0 2px 6px rgba(14,42,47,.04);
}
.paw-hero__trust svg{ color:var(--paw-success); }

.paw-hero__rating{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.86rem; color:var(--paw-muted);
  border-top:1px solid rgba(14,42,47,.1);
  padding-top:1rem; margin-top:.4rem;
}
.paw-hero__rating .stars{ color:var(--paw-honey); letter-spacing:.12em; font-size:1rem; }
.paw-hero__rating strong{ color:var(--paw-espresso); font-weight:700; }
.paw-hero__rating .dot{ color:var(--paw-muted); opacity:.5; }

/* ---- Photo stamp — applied to the bottle, like a wax seal on the collar ---- */
.paw-hero__stamp{
  position:absolute; top:14%; right:6%;
  width:88px; height:88px; border-radius:50%;
  background:var(--paw-honey); color:var(--paw-espresso);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:.35rem;
  box-shadow:
    0 14px 28px rgba(168,122,44,.42),
    inset 0 0 0 2px rgba(251,247,239,.6),
    inset 0 0 0 4px rgba(168,122,44,.5);
  font-family:var(--paw-font-display); font-weight:700;
  line-height:1;
  z-index:6;
  animation:paw-stamp-rotate 24s linear infinite;
}
@keyframes paw-stamp-rotate{
  0%   { transform:rotate(-8deg) translateY(0); }
  50%  { transform:rotate(8deg)  translateY(-2px); }
  100% { transform:rotate(-8deg) translateY(0); }
}
@media (prefers-reduced-motion:reduce){
  .paw-hero__stamp{ animation:none; transform:rotate(-8deg); }
}
.paw-hero__stamp-mark{ font-size:1rem; color:var(--paw-espresso); margin-bottom:.15rem; }
.paw-hero__stamp-l1{ font-size:.72rem; letter-spacing:.06em; }
.paw-hero__stamp-l2{ font-size:.62rem; letter-spacing:.06em; opacity:.85; font-weight:600; }
@media (max-width:560px){ .paw-hero__stamp{ width:74px; height:74px; } .paw-hero__stamp-l1{ font-size:.62rem; } .paw-hero__stamp-l2{ font-size:.55rem; } }

/* Right column — clean white with a soft gold halo behind the bottle */
.paw-hero__right{
  position:relative;
  background:#fff;
  padding:1rem;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.paw-hero__right::before{
  content:"";
  position:absolute; left:50%; top:50%; transform:translate(-50%, -50%);
  width:78%; aspect-ratio:1/1; border-radius:50%;
  background:radial-gradient(circle, rgba(199,154,67,.22) 0%, rgba(199,154,67,0) 62%);
  pointer-events:none; z-index:0;
}
.paw-hero__right::after{
  /* Subtle "ROYAL" watermark — typography of the brand whispering in the back */
  content:"ROYAL";
  position:absolute; left:50%; top:50%; transform:translate(-50%, -50%);
  font-family:var(--paw-font-display); font-weight:800;
  font-size:clamp(8rem, 16vw, 18rem); line-height:1; letter-spacing:-.04em;
  color:rgba(14,42,47,.03);
  pointer-events:none; user-select:none; z-index:0;
  white-space:nowrap;
}

/* Photo container — fill the entire column. No size cap, no aspect-ratio
   constraint. The img inside uses object-fit:contain so it stays correct. */
.paw-hero__photo{
  position:relative;
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  padding:0;
  z-index:1;
}

/* Editorial accent chips around the bottle — ingredients / fragrance / coat-safe.
   Three small floating cards positioned in corners (Vet Tested stamp takes top-right). */
.paw-hero__accents{
  position:absolute; inset:0;
  list-style:none; margin:0; padding:0;
  pointer-events:none;
  z-index:3;
}
.paw-hero__accent{
  position:absolute;
  display:inline-flex; align-items:center; gap:.55rem;
  padding:.55rem .8rem .55rem .65rem;
  background:#fff;
  border:1px solid rgba(212,162,74,.32);
  border-radius:var(--paw-radius-pill);
  box-shadow:
    0 0 0 4px rgba(212,162,74,.10),
    0 14px 28px -10px rgba(212,162,74,.32),
    0 8px 22px -8px rgba(14,42,47,.10);
  backdrop-filter:saturate(140%) blur(6px);
  -webkit-backdrop-filter:saturate(140%) blur(6px);
  font-size:.72rem; color:var(--paw-espresso);
  pointer-events:auto;
  opacity:0; transform:translateY(8px);
  animation:
    paw-hero-accent-in .8s cubic-bezier(.2,.8,.2,1) forwards,
    paw-hero-accent-glow 3.6s ease-in-out 1.2s infinite;
}
.paw-hero__accent svg{
  width:14px; height:14px; flex-shrink:0;
  color:var(--paw-honey-deep);
  background:var(--paw-honey-soft);
  padding:5px; border-radius:50%;
  box-sizing:content-box;
  box-shadow:0 0 0 2px rgba(212,162,74,.18);
}
@keyframes paw-hero-accent-glow{
  0%, 100% {
    box-shadow:
      0 0 0 4px rgba(212,162,74,.10),
      0 14px 28px -10px rgba(212,162,74,.32),
      0 8px 22px -8px rgba(14,42,47,.10);
  }
  50% {
    box-shadow:
      0 0 0 6px rgba(212,162,74,.16),
      0 18px 34px -10px rgba(212,162,74,.45),
      0 10px 26px -8px rgba(14,42,47,.14);
  }
}
@media (prefers-reduced-motion:reduce){
  .paw-hero__accent{ animation:paw-hero-accent-in .6s ease-out forwards; }
}
.paw-hero__accent-text{ display:flex; flex-direction:column; line-height:1.15; }
.paw-hero__accent-label{
  font-size:.58rem; letter-spacing:.12em; text-transform:uppercase;
  font-weight:700; color:var(--paw-muted); margin-bottom:.1rem;
}
.paw-hero__accent-value{
  font-size:.78rem; font-weight:600; color:var(--paw-espresso);
  white-space:nowrap;
}
.paw-hero__accent--ingredient{ top:7%; left:5%; animation-delay:.15s; }
.paw-hero__accent--fragrance{ bottom:14%; right:5%; animation-delay:.35s; }
.paw-hero__accent--coat{ bottom:7%; left:8%; animation-delay:.55s; }
@keyframes paw-hero-accent-in{
  to{ opacity:1; transform:translateY(0); }
}
@media (max-width:880px){
  /* On tablet+phone, swap to a horizontal caption row beneath the photo so the
     bottle stays uncluttered. */
  .paw-hero__right{
    flex-direction:column; aspect-ratio:auto;
    padding:1rem 1rem 1.4rem;
  }
  .paw-hero__photo{ flex:1 1 auto; min-height:60vh; }
  .paw-hero__accents{
    position:relative; inset:auto;
    display:flex; flex-wrap:wrap; gap:.5rem; justify-content:center;
    margin:1rem auto 0; padding:0;
    width:100%;
  }
  .paw-hero__accent{
    position:relative; top:auto; left:auto; bottom:auto; right:auto;
    animation:none; opacity:1; transform:none;
  }
  .paw-hero__accent-value{ font-size:.72rem; }
}

/* Slides — crossfade carousel, fills the photo container */
.paw-hero__slides{
  position:relative;
  width:100%; height:100%;
  min-height:520px;
}
.paw-hero__slide{
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden;
  transition:opacity .7s cubic-bezier(.2,.8,.2,1), visibility 0s linear .7s;
}
.paw-hero__slide.is-active{
  opacity:1; visibility:visible;
  transition:opacity .7s cubic-bezier(.2,.8,.2,1), visibility 0s linear 0s;
}
.paw-hero__slide img{
  width:100%; height:100%;
  object-fit:contain;
  image-rendering:auto;
}

/* Carousel arrows — hidden by default, fade in on photo column hover */
.paw-hero__arrow{
  position:absolute; top:50%;
  width:46px; height:46px; border-radius:50%;
  background:#fff; color:var(--paw-espresso); border:1px solid rgba(14,42,47,.12);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:5;
  opacity:0; visibility:hidden;
  transform:translateY(-50%);
  box-shadow:0 8px 22px rgba(14,42,47,.18);
  transition:
    opacity .3s cubic-bezier(.2,.8,.2,1),
    visibility .3s,
    transform .25s cubic-bezier(.2,.8,.2,1),
    box-shadow .25s,
    background .25s,
    color .25s,
    border-color .25s;
}
.paw-hero__right:hover .paw-hero__arrow,
.paw-hero__right:focus-within .paw-hero__arrow{
  opacity:1; visibility:visible;
}
.paw-hero__arrow:hover{
  background:var(--paw-espresso); color:var(--paw-honey); border-color:var(--paw-espresso);
  box-shadow:0 14px 32px rgba(14,42,47,.32);
  transform:translateY(calc(-50% - 2px));
}
.paw-hero__arrow svg{ transition:transform .2s cubic-bezier(.2,.8,.2,1); }
.paw-hero__arrow--prev{ left:1rem; }
.paw-hero__arrow--next{ right:1rem; }
.paw-hero__arrow--prev svg{ transform:rotate(180deg); }
.paw-hero__arrow--next:hover svg{ transform:translateX(2px); }
.paw-hero__arrow--prev:hover svg{ transform:rotate(180deg) translateX(2px); }
@media (max-width:880px){
  /* on touch devices we have swipe + dots — keep arrows hidden */
  .paw-hero__arrow{ display:none; }
}

/* Carousel dots */
.paw-hero__dots{
  position:absolute; bottom:.6rem; left:50%;
  transform:translateX(-50%);
  display:flex; gap:.5rem; z-index:5;
  padding:.5rem .85rem; border-radius:999px;
  background:rgba(14,42,47,.04);
  border:1px solid rgba(14,42,47,.08);
}
.paw-hero__dot{
  width:24px; height:8px; padding:0; border:0;
  background:transparent; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}
.paw-hero__dot span{
  display:block; width:100%; height:5px; border-radius:999px;
  background:rgba(14,42,47,.22);
  transition:background .25s, transform .25s;
}
.paw-hero__dot.is-active span{
  background:var(--paw-honey-deep);
  transform:scaleY(1.2);
}
.paw-hero__dot:hover:not(.is-active) span{ background:var(--paw-espresso); }

@media (max-width:980px){
  .paw-hero__split{ grid-template-columns:1fr; min-height:auto; }
  .paw-hero__left{ justify-content:flex-start; padding:3rem var(--paw-pad) 2rem; }
  .paw-hero__right{ aspect-ratio:1/1; min-height:60vh; }
}

/* ----------------- USP strip ----------------- */

.paw-usp{ background:var(--paw-espresso); color:var(--paw-cream); }
.paw-usp__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.6rem; padding:1.6rem 0; }
.paw-usp__item{ display:flex; align-items:center; gap:.9rem; }
.paw-usp__item svg{ color:var(--paw-honey); flex-shrink:0; }
.paw-usp__title{ font-weight:600; font-size:.92rem; line-height:1.2; }
.paw-usp__sub{ font-size:.76rem; color:rgba(251,247,239,.65); margin-top:.2rem; }
@media (max-width:880px){ .paw-usp__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .paw-usp__grid{ grid-template-columns:1fr; } }

/* ----------------- Cert / Quality strip ----------------- */
.paw-cert{ background:var(--paw-cream); border-bottom:1px solid rgba(14,42,47,.06); padding:1.6rem 0; }
.paw-cert__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.paw-cert__item{
  display:flex; align-items:center; gap:.8rem;
  padding:.6rem .9rem;
  border-radius:var(--paw-radius);
  transition:background .35s ease;
}
.paw-cert__item:hover{
  background:rgba(255,255,255,.75);
}
.paw-cert__icon{
  width:44px; height:44px; border-radius:50%;
  background:var(--paw-honey-soft); color:var(--paw-honey-deep);
  display:inline-flex; align-items:center; justify-content:center; flex-shrink:0;
  transition:background .35s ease, color .35s ease;
}
.paw-cert__item:hover .paw-cert__icon{
  background:var(--paw-honey); color:#fff;
}
.paw-cert__label{ font-family:var(--paw-font-display); font-weight:700; font-size:1rem; color:var(--paw-espresso); }
.paw-cert__sub{ font-size:.78rem; color:var(--paw-muted); margin-top:.1rem; }
@media (max-width:880px){ .paw-cert__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .paw-cert__grid{ grid-template-columns:1fr; } }

/* ----------------- Bundle selector ----------------- */

.paw-bundle{ background:linear-gradient(180deg, var(--paw-cream) 0%, var(--paw-blush) 100%); }
.paw-bundle__head{ text-align:center; margin-bottom:3rem; }
.paw-bundle__head h2{ margin-bottom:.8rem; }
.paw-bundle__head p{ color:var(--paw-muted); max-width:48ch; margin:0 auto; }

.paw-bundle__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; max-width:1080px; margin:0 auto; }
.paw-bundle__card{
  position:relative; background:#fff; border:2px solid transparent; border-radius:var(--paw-radius-lg);
  padding:2rem 1.6rem 1.6rem; cursor:pointer;
  display:flex; flex-direction:column; gap:1.1rem; box-shadow:var(--paw-shadow-sm);
  text-align:left; text-decoration:none; color:inherit;
}
.paw-bundle__card:hover{ transform:translateY(-4px); box-shadow:var(--paw-shadow); }
.paw-bundle__card.is-selected{ border-color:var(--paw-honey); box-shadow:var(--paw-shadow); }

/* Best-value card: subtle natural prominence — sits slightly higher than the
   other cards, with a warm gold-tinted background, a soft halo, and a refined
   gold border. No oversized ribbons. */
.paw-bundle__card--best{
  background:linear-gradient(180deg,#FFFCF6 0%, #FFF5DD 100%);
  border-color:rgba(199,154,67,.35);
  transform:translateY(-10px);
  box-shadow:0 18px 40px rgba(199,154,67,.18), var(--paw-shadow-sm);
  z-index:2;
}
.paw-bundle__card--best::before{
  content:""; position:absolute; inset:-1px;
  border-radius:inherit; pointer-events:none;
  box-shadow:0 0 0 4px rgba(199,154,67,.06);
}
.paw-bundle__card--best:hover{
  transform:translateY(-14px);
  box-shadow:0 24px 50px rgba(199,154,67,.24), var(--paw-shadow);
}
.paw-bundle__card--best.is-selected{
  border-color:var(--paw-honey);
  box-shadow:0 22px 48px rgba(199,154,67,.28), var(--paw-shadow);
}
@media (max-width:760px){
  .paw-bundle__card--best{ transform:none; }
  .paw-bundle__card--best:hover{ transform:translateY(-4px); }
}

.paw-bundle__badge{
  position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  background:var(--paw-honey); color:var(--paw-espresso); font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  padding:.4rem .9rem; border-radius:var(--paw-radius-pill); white-space:nowrap;
  display:inline-flex; align-items:center; gap:.3rem;
  box-shadow:0 6px 14px rgba(199,154,67,.22);
}
.paw-bundle__badge--popular{
  background:#fff; color:var(--paw-espresso-2);
  border:1px solid rgba(14,42,47,.1);
  box-shadow:0 4px 10px rgba(14,42,47,.06);
  font-weight:600; letter-spacing:.12em;
}
.paw-bundle__card--best .paw-bundle__badge{
  background:linear-gradient(135deg, var(--paw-honey) 0%, var(--paw-honey-deep) 100%);
  color:#fff;
  font-size:.74rem; letter-spacing:.16em;
  padding:.45rem 1rem;
  box-shadow:0 8px 18px rgba(168,122,44,.32);
}

/* Dollar-savings tag — shows on cards with a discount */
.paw-bundle__savings{
  display:inline-flex; align-items:center; gap:.35rem;
  font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; font-weight:700;
  color:var(--paw-honey-deep); margin-top:-.4rem;
}
.paw-bundle__savings::before{
  content:""; width:18px; height:1.5px; background:var(--paw-honey-deep);
  display:inline-block; border-radius:1px;
}
.paw-bundle__pack{ font-family:var(--paw-font-display); font-size:2rem; line-height:1; }
.paw-bundle__pack small{ font-family:var(--paw-font-body); font-size:.7rem; text-transform:uppercase; letter-spacing:.16em; color:var(--paw-muted); display:block; margin-bottom:.3rem; }
.paw-bundle__count{
  display:inline-block; margin-left:.4rem; font-family:var(--paw-font-body); font-size:.7rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--paw-muted); vertical-align:middle;
}
.paw-bundle__visual{
  position:relative; aspect-ratio:1/1;
  background:#fff;
  border:1px solid rgba(14,42,47,.08);
  border-radius:var(--paw-radius);
  display:flex; align-items:center; justify-content:center;
  padding:1.6rem;
  overflow:visible;
}
.paw-bundle__bottle{
  width:100%; height:100%;
  object-fit:contain;
  display:block;
  transition:transform .35s var(--paw-ease-out);
}
.paw-bundle__card:hover .paw-bundle__bottle,
.paw-bundle__card.is-selected .paw-bundle__bottle{
  transform:translateY(-4px) scale(1.03);
}
.paw-bundle__multiplier{
  position:absolute; top:.7rem; right:.7rem;
  min-width:46px; height:46px; padding:0 .8rem;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--paw-espresso); color:var(--paw-honey);
  font-family:var(--paw-font-display); font-weight:800; font-size:1.4rem; line-height:1;
  border-radius:14px;
  box-shadow:0 10px 22px rgba(14,42,47,.32);
  letter-spacing:-.03em;
  transition:transform .3s cubic-bezier(.2,.8,.2,1), background .25s, color .25s, box-shadow .25s;
}
.paw-bundle__card:hover .paw-bundle__multiplier,
.paw-bundle__card.is-selected .paw-bundle__multiplier{
  transform:rotate(-6deg) scale(1.08);
  background:var(--paw-honey); color:var(--paw-espresso);
  box-shadow:0 14px 28px rgba(199,154,67,.42);
}

.paw-bundle__each{
  margin-top:.4rem;
  font-family:var(--paw-font-display); font-weight:700; font-size:1rem;
  color:var(--paw-honey-deep);
}
.paw-bundle__each span{
  font-family:var(--paw-font-body); font-weight:500; font-size:.78rem;
  letter-spacing:.04em; color:var(--paw-muted); margin-left:.15rem;
}
.paw-bundle__price{ display:flex; align-items:baseline; gap:.6rem; }
.paw-bundle__price .new{ font-family:var(--paw-font-display); font-size:1.8rem; color:var(--paw-espresso); }
.paw-bundle__price .old{ text-decoration:line-through; color:var(--paw-muted); font-size:.95rem; }
.paw-bundle__price .save{ font-size:.74rem; background:var(--paw-honey-soft); color:var(--paw-honey-deep); padding:.2rem .55rem; border-radius:6px; font-weight:600; margin-left:auto; }
.paw-bundle__perks{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.45rem; font-size:.86rem; color:var(--paw-espresso-2); }
.paw-bundle__perks li{ display:flex; align-items:flex-start; gap:.5rem; }
.paw-bundle__perks svg{ color:var(--paw-success); flex-shrink:0; margin-top:.15rem; }

.paw-bundle__pick{
  display:inline-flex; align-items:center; gap:.45rem;
  margin-top:.6rem;
  font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; font-weight:700;
  color:var(--paw-honey-deep);
  transition:color .2s;
}
.paw-bundle__pick svg{ transition:transform .2s cubic-bezier(.2,.8,.2,1); }
.paw-bundle__card:hover .paw-bundle__pick svg{ transform:translateX(4px); }

/* AJAX loading state — pulse + dim the CTA + nudge ARIA */
.paw-bundle__card.is-loading{ pointer-events:none; }
.paw-bundle__card.is-loading .paw-bundle__pick{
  color:transparent; position:relative;
}
.paw-bundle__card.is-loading .paw-bundle__pick::after{
  content:"Adding…";
  position:absolute; left:0; right:0; top:0;
  color:var(--paw-honey-deep);
  animation:paw-pulse 1.1s ease-in-out infinite;
}
@keyframes paw-pulse{
  0%,100% { opacity:.4; }
  50%     { opacity:1; }
}
.paw-bundle__note{
  max-width:1080px; margin:1.8rem auto 0; text-align:center;
  font-size:.82rem; color:var(--paw-muted);
}
@media (max-width:760px){
  .paw-bundle__grid{ grid-template-columns:1fr; }
}

/* ----------------- Features (pinned 3-up) ----------------- */

/* Shared "lift card" hover pattern — gentle: small lift, soft shadow, slow ease.
   Only applied to elements that are actual cards (white bg + radius); strip
   items like .paw-cert__item get their own quieter treatment below. */
.paw-feat__card,
.paw-rcard,
.paw-family__card,
.paw-bundle__card,
.paw-rit__step,
.paw-specs__fact{
  transition:
    transform .4s cubic-bezier(.22,.61,.36,1),
    box-shadow .4s cubic-bezier(.22,.61,.36,1),
    border-color .3s ease;
  position:relative;
}
.paw-feat__card::after,
.paw-family__card::after,
.paw-rit__step::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:3px;
  background:var(--paw-honey); transform:scaleX(0); transform-origin:left;
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
}
.paw-feat__card:hover,
.paw-rcard:hover,
.paw-family__card:hover,
.paw-rit__step:hover,
.paw-specs__fact:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 34px -14px rgba(14,42,47,.18);
}
.paw-feat__card:hover::after,
.paw-family__card:hover::after,
.paw-rit__step:hover::after{ transform:scaleX(1); }

.paw-feat__card:hover h3,
.paw-family__card:hover .paw-family__name{ color:var(--paw-honey-deep); transition:color .2s; }

.paw-rcard:hover,
.paw-bundle__card:hover{ border-color:var(--paw-honey); }

.paw-rit__step:hover .paw-rit__media img{ transform:scale(1.06); }

/* Image-zoom hover on UGC + gallery */
.paw-reviews__ugc-item img,
.paw-gallery__item img{ transition:transform .5s cubic-bezier(.2,.8,.2,1); }
.paw-reviews__ugc-item:hover{ transform:translateY(-3px); }
.paw-reviews__ugc-item:hover img{ transform:scale(1.06); }

.paw-feat{
  background:
    radial-gradient(800px 400px at 90% 0%, rgba(199,154,67,.08), transparent 60%),
    radial-gradient(700px 360px at 0% 100%, rgba(111,179,214,.06), transparent 60%),
    var(--paw-cream);
  position:relative;
}
.paw-feat::before{
  content:""; position:absolute; top:-1px; left:0; right:0; height:1px;
  background:linear-gradient(90deg, transparent 0%, rgba(199,154,67,.18) 50%, transparent 100%);
  pointer-events:none;
}
.paw-feat__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.paw-feat__strip{
  list-style:none; padding:1.2rem 1.6rem; margin:2.4rem 0 0;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:1.4rem 2.2rem;
  background:#fff; border-radius:var(--paw-radius-pill);
  box-shadow:var(--paw-shadow-sm);
  max-width:900px; margin-inline:auto;
}
.paw-feat__strip li{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.84rem; font-weight:600; letter-spacing:.04em; color:var(--paw-espresso-2);
}
.paw-feat__strip svg{ color:var(--paw-honey-deep); }
@media (max-width:560px){ .paw-feat__strip{ border-radius:var(--paw-radius-lg); padding:1.2rem; } }
.paw-feat__card{
  background:#fff; border-radius:var(--paw-radius-lg); padding:2.2rem 1.8rem;
  display:flex; flex-direction:column; gap:1rem; box-shadow:var(--paw-shadow-sm);
  transition:transform .35s var(--paw-ease-out), box-shadow .3s;
}
.paw-feat__card:hover{ transform:translateY(-6px); box-shadow:var(--paw-shadow); }
.paw-feat__num{ font-family:var(--paw-font-display); font-size:2.4rem; color:var(--paw-honey-deep); line-height:1; }
.paw-feat__card h3{ font-size:1.5rem; }
.paw-feat__card p{ color:var(--paw-espresso-2); margin:0; }
@media (max-width:880px){ .paw-feat__grid{ grid-template-columns:1fr; } }

/* ----------------- Ritual (3 steps) ----------------- */

.paw-rit{ background:var(--paw-espresso); color:var(--paw-cream); }
.paw-rit h2{ color:var(--paw-cream); }
.paw-rit__head{ text-align:center; margin-bottom:3rem; }
.paw-rit__head .paw-eyebrow{ color:var(--paw-honey); }
.paw-rit__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; counter-reset:rit; }
.paw-rit__grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:2.4rem; list-style:none; padding:0; margin:0;
  max-width:1080px; margin-inline:auto; position:relative;
}
/* dotted connecting line behind the boxes at desktop */
.paw-rit__grid::before{
  content:""; position:absolute; top:66px; left:calc(16.7% + 66px); right:calc(16.7% + 66px);
  height:2px;
  background-image:repeating-linear-gradient(to right, var(--paw-honey) 0 8px, transparent 8px 18px);
  opacity:.55; z-index:0;
}
.paw-rit__step{
  position:relative; text-align:center; z-index:1;
  background:none; border:0; overflow:visible;
  display:flex; flex-direction:column; align-items:center;
}
.paw-rit__step::after{ display:none; } /* override the shared lift-card bottom-bar */
.paw-rit__box{
  position:relative; width:132px; height:132px; margin:0 auto 1.8rem;
  background:var(--paw-cream); border:2px solid var(--paw-honey);
  border-radius:26px;
  display:grid; place-items:center;
  box-shadow:
    0 18px 40px -10px rgba(199,154,67,.42),
    0 4px 14px rgba(199,154,67,.18);
  transition:
    transform .3s cubic-bezier(.2,.8,.2,1),
    box-shadow .3s cubic-bezier(.2,.8,.2,1),
    border-color .3s;
}
.paw-rit__step:hover .paw-rit__box{
  transform:translateY(-6px);
  box-shadow:
    0 28px 56px -10px rgba(199,154,67,.55),
    0 6px 18px rgba(199,154,67,.24);
  border-color:var(--paw-honey-deep);
}
.paw-rit__icon{
  color:var(--paw-honey-deep);
  display:grid; place-items:center;
  transition:transform .3s cubic-bezier(.2,.8,.2,1), color .3s;
}
.paw-rit__icon svg{ width:64px; height:64px; }
.paw-rit__step:hover .paw-rit__icon{
  color:var(--paw-espresso);
  transform:scale(1.08);
}
.paw-rit__num{
  position:absolute; top:-12px; right:-12px;
  width:38px; height:38px; border-radius:12px;
  background:var(--paw-honey); color:var(--paw-espresso);
  font-family:var(--paw-font-display); font-weight:700; font-size:18px;
  display:grid; place-items:center;
  letter-spacing:-.01em; line-height:1;
  box-shadow:0 8px 18px rgba(199,154,67,.45);
  transition:transform .25s cubic-bezier(.2,.8,.2,1), background .25s, color .25s;
}
.paw-rit__step:hover .paw-rit__num{
  transform:rotate(8deg) scale(1.08);
  background:var(--paw-cream); color:var(--paw-honey-deep);
}
.paw-rit__title{ color:var(--paw-cream); font-size:1.5rem; font-weight:700; margin-bottom:.8rem; letter-spacing:-.02em; }
.paw-rit__body{ color:rgba(251,247,239,.72); font-size:.96rem; max-width:28ch; margin:0 auto; line-height:1.6; }
.paw-rit__cta{ text-align:center; margin-top:3.5rem; }
@media (max-width:880px){
  .paw-rit__grid{ grid-template-columns:1fr; gap:3rem; }
  .paw-rit__grid::before{ display:none; }
}

/* ----------------- Brand story ----------------- */

.paw-story{
  background:
    radial-gradient(1200px 600px at 80% 10%, rgba(199,154,67,.08), transparent 60%),
    radial-gradient(900px 500px at 10% 90%, rgba(111,179,214,.08), transparent 60%),
    linear-gradient(180deg, var(--paw-cream) 0%, var(--paw-cream-2) 100%);
  position:relative;
}
.paw-story__grid{
  display:grid; grid-template-columns:.85fr 1.1fr; gap:clamp(2.4rem, 5vw, 5rem); align-items:center;
}
.paw-story__media{
  position:relative;
  aspect-ratio:4/5;
  background:
    radial-gradient(ellipse 70% 60% at 50% 40%, rgba(199,154,67,.18), transparent 70%),
    linear-gradient(160deg, #FFF8EA 0%, var(--paw-blush) 100%);
  border-radius:var(--paw-radius-lg);
  border:1px solid rgba(199,154,67,.18);
  box-shadow:var(--paw-shadow-sm);
  overflow:hidden;
  display:flex; align-items:center; justify-content:center;
}
.paw-story__media--photo{
  margin:0; padding:0;
  background:#fff;
}
.paw-story__media--photo img{
  width:100%; height:100%; object-fit:cover; display:block;
}
.paw-story__crown{
  font-size:clamp(5rem, 12vw, 10rem); line-height:1;
  filter:drop-shadow(0 12px 28px rgba(199,154,67,.4));
  transform:rotate(-6deg);
}
.paw-story__watermark{
  position:absolute; bottom:8%; left:50%; transform:translateX(-50%);
  font-family:var(--paw-font-display); font-weight:800;
  font-size:clamp(2rem, 4vw, 2.8rem); letter-spacing:-.02em;
  color:rgba(14,42,47,.08);
  white-space:nowrap; pointer-events:none;
}
.paw-story__heart{
  position:absolute; top:8%; right:8%;
  width:42px; height:42px; border-radius:50%;
  background:#fff; color:var(--paw-honey-deep);
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow:0 10px 22px rgba(199,154,67,.28);
}
.paw-story__copy{ display:flex; flex-direction:column; gap:1rem; }
.paw-story__copy h2{
  font-family:var(--paw-font-display); font-weight:700;
  font-size:clamp(1.8rem, 3.6vw, 2.6rem); line-height:1.15; letter-spacing:-.02em;
  margin:.4rem 0 .2rem;
}
.paw-story__copy p{
  color:var(--paw-espresso-2); font-size:1.02rem; line-height:1.65; margin:0;
}
.paw-story__pillars{
  list-style:none; margin:1.2rem 0 0; padding:0;
  display:flex; flex-wrap:wrap; gap:.5rem .6rem;
}
.paw-story__pillars li{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.5rem .85rem;
  background:rgba(255,255,255,.7);
  border:1px solid rgba(14,42,47,.08);
  border-radius:var(--paw-radius-pill);
  font-size:.78rem; font-weight:600; color:var(--paw-espresso);
}
.paw-story__pillars svg{ color:var(--paw-honey-deep); }
.paw-story__sign{
  display:flex; align-items:center; gap:.8rem;
  margin:1.5rem 0 0 !important;
  font-size:.78rem; color:var(--paw-muted); letter-spacing:.04em;
}
.paw-story__sign-line{
  flex:0 0 36px; height:1px; background:rgba(14,42,47,.18);
}
.paw-story__sign-text strong{
  color:var(--paw-espresso); font-weight:700;
}
@media (max-width:880px){
  .paw-story__grid{ grid-template-columns:1fr; gap:1.8rem; }
  .paw-story__media{ aspect-ratio:5/3; max-height:280px; }
}

/* ----------------- About the bottle (concise editorial) ----------------- */

.paw-long{
  background:
    radial-gradient(900px 500px at 95% 0%, rgba(212,162,74,.06), transparent 60%),
    var(--paw-cream);
  position:relative;
}
.paw-long__grid{
  display:grid; grid-template-columns:1.1fr .85fr; gap:clamp(2.4rem, 5vw, 5rem);
  align-items:center; max-width:1080px; margin:0 auto;
}
.paw-long__media{
  margin:0; aspect-ratio:5/6;
  /* White base — the product JPGs have white backgrounds, so a tinted card
     would frame them with a hard rectangle. */
  background:#fff;
  border-radius:var(--paw-radius-lg);
  border:1px solid rgba(212,162,74,.18);
  box-shadow:var(--paw-shadow-sm);
  overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  padding:2.4rem;
}
.paw-long__media img{
  width:100%; height:100%; object-fit:contain;
}
.paw-long__copy{ display:flex; flex-direction:column; gap:.9rem; }
.paw-long__copy h2{
  font-family:var(--paw-font-display); font-weight:700;
  font-size:clamp(1.8rem, 3.6vw, 2.6rem); line-height:1.15; letter-spacing:-.02em;
  margin:.4rem 0 .2rem; color:var(--paw-espresso);
}
.paw-long__copy p{
  color:var(--paw-espresso-2); font-size:1.02rem; line-height:1.65; margin:0;
}
.paw-long__link{
  display:inline-flex; align-items:center; gap:.4rem;
  margin-top:.6rem;
  font-size:.82rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700;
  color:var(--paw-honey-deep); text-decoration:none;
  transition:color .2s, gap .2s;
}
.paw-long__link svg{ transition:transform .2s var(--paw-ease-out); }
.paw-long__link:hover{ color:var(--paw-espresso); gap:.6rem; }
.paw-long__link:hover svg{ transform:translateX(2px); }
@media (max-width:880px){
  .paw-long__grid{ grid-template-columns:1fr; gap:1.8rem; }
  .paw-long__media{ aspect-ratio:5/4; max-height:320px; order:-1; }
}

/* ----------------- Reviews ----------------- */

.paw-reviews{
  background:
    radial-gradient(1000px 500px at 50% 0%, rgba(199,154,67,.06), transparent 70%),
    var(--paw-cream);
  text-align:center;
  position:relative;
}
.paw-reviews__head{ display:flex; flex-direction:column; align-items:center; gap:.6rem; margin-bottom:3rem; }
.paw-reviews__hero{
  display:grid; grid-template-columns:1fr 1.4fr; gap:3rem; align-items:center;
  background:#fff; border-radius:var(--paw-radius-lg);
  padding:clamp(1.6rem, 4vw, 3rem); margin-bottom:3rem;
  box-shadow:var(--paw-shadow-sm);
  text-align:left;
}
.paw-reviews__score-block{ text-align:center; }
.paw-reviews__score{ font-family:var(--paw-font-display); font-size:clamp(3.6rem, 8vw, 6rem); line-height:.9; font-weight:700; }
.paw-reviews__score-block .stars{ display:block; font-size:1.3rem; color:var(--paw-honey); letter-spacing:.12em; margin:.4rem 0; }
.paw-reviews__count strong{
  font-family:var(--paw-font-display); font-size:1.3rem; color:var(--paw-espresso);
  display:block; line-height:1;
}
.paw-reviews__count span{ font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--paw-honey-deep); font-weight:600; }
.paw-reviews__dist{ display:flex; flex-direction:column; gap:.4rem; }
.paw-reviews__bar{ display:grid; grid-template-columns:36px 1fr 44px; gap:.8rem; align-items:center; font-size:.84rem; }
.paw-reviews__trust{
  margin:.8rem 0 0; padding:.6rem .9rem;
  display:flex; align-items:center; gap:.5rem;
  background:var(--paw-honey-soft);
  color:var(--paw-honey-deep);
  border-radius:var(--paw-radius);
  font-size:.84rem; line-height:1.4;
}
.paw-reviews__trust svg{ flex-shrink:0; color:var(--paw-honey-deep); }
.paw-reviews__bar-label{ color:var(--paw-muted); font-weight:600; }
.paw-reviews__bar-track{ position:relative; height:8px; background:var(--paw-blush); border-radius:999px; overflow:hidden; }
.paw-reviews__bar-fill{ position:absolute; inset:0 auto 0 0; background:linear-gradient(90deg, var(--paw-honey), var(--paw-honey-deep)); border-radius:999px; transition:width 1.4s var(--paw-ease-out); }
.paw-reviews__bar-pct{ text-align:right; color:var(--paw-espresso-2); font-variant-numeric:tabular-nums; font-weight:600; }

.paw-reviews__grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:2.4rem; text-align:left;
  align-items:stretch; /* equal-height cards — feel like one trust component */
}
.paw-rcard{
  /* Reset the UA blockquote margin (16px 40px) — it shrank cards inside their
     grid columns and broke both width equality and vertical alignment. */
  margin:0;
  background:#fff; border-radius:var(--paw-radius-lg); padding:2rem;
  box-shadow:var(--paw-shadow-sm);
  display:flex; flex-direction:column; gap:1.1rem;
  height:100%;
}
/* Push the quote to take available space so footer (reviewer + verified) pins
   to the bottom of every card regardless of quote length. */
.paw-rcard__quote{ flex:1 1 auto; }
.paw-rcard__foot{ margin-top:auto; }
.paw-rcard__top{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
}
.paw-rcard .stars{ color:var(--paw-honey); letter-spacing:.12em; }
.paw-rcard__quote{ font-family:var(--paw-font-display); font-size:1.25rem; line-height:1.35; color:var(--paw-espresso); margin:0; font-weight:500; }
.paw-rcard__foot{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding-top:1rem; border-top:1px solid rgba(14,42,47,.06);
}
.paw-rcard__by{
  display:flex; flex-direction:column; gap:.15rem;
  font-size:.82rem; color:var(--paw-muted); min-width:0;
}
.paw-rcard__by strong{
  color:var(--paw-espresso); font-weight:600; font-size:.92rem;
  display:inline-flex; align-items:baseline; gap:.3rem; flex-wrap:wrap;
}
.paw-rcard__pet{
  font-family:var(--paw-font-display); font-weight:600;
  color:var(--paw-honey-deep); font-size:.92rem; letter-spacing:.01em;
}
.paw-rcard__by span{ font-size:.78rem; }
.paw-rcard__verified{
  display:inline-flex; align-items:center; gap:.32rem;
  font-size:.66rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--paw-success); background:rgba(45,122,78,.08);
  padding:.28rem .6rem; border-radius:999px;
  border:1px solid rgba(45,122,78,.18);
  white-space:nowrap;
}
.paw-rcard__verified svg{ color:var(--paw-success); }

/* Tag Us prompt — single panel replacing the empty UGC strip. */
.paw-tagus{
  margin:3rem auto 0;
  display:grid; grid-template-columns:1.2fr 1fr; gap:0;
  background:#fff; border-radius:var(--paw-radius-lg);
  box-shadow:var(--paw-shadow-sm);
  overflow:hidden;
  text-align:left;
  max-width:1080px;
}
.paw-tagus__copy{
  padding:clamp(2rem, 4vw, 3rem);
  display:flex; flex-direction:column; gap:1rem;
  align-self:center;
}
.paw-tagus__title{
  font-family:var(--paw-font-display); font-weight:700;
  font-size:clamp(1.8rem, 3vw, 2.6rem);
  line-height:1; letter-spacing:-.02em;
  color:var(--paw-espresso);
}
.paw-tagus__body{ color:var(--paw-espresso-2); margin:0; font-size:1rem; line-height:1.55; max-width:34ch; }
.paw-tagus__body strong{ color:var(--paw-honey-deep); font-weight:700; }
.paw-tagus__copy .paw-btn{ align-self:flex-start; }

.paw-tagus__media{
  position:relative; margin:0;
  aspect-ratio:1/1;
  background:#fff;
  display:flex; align-items:center; justify-content:center;
  padding:1.4rem;
}
.paw-tagus__media img{
  width:100%; height:100%;
  object-fit:contain;
  transition:transform .8s var(--paw-ease-out);
}
.paw-tagus:hover .paw-tagus__media img{ transform:scale(1.04); }
.paw-tagus__caption{
  position:absolute; left:1rem; bottom:1rem;
  background:rgba(14,42,47,.85); color:var(--paw-cream);
  padding:.55rem .9rem; border-radius:var(--paw-radius);
  font-size:.78rem; backdrop-filter:blur(8px);
  display:flex; flex-direction:column; gap:.1rem;
}
.paw-tagus__caption span{ font-weight:700; color:var(--paw-honey); letter-spacing:.04em; }
@media (max-width:760px){
  .paw-tagus{ grid-template-columns:1fr; }
  .paw-tagus__media{ aspect-ratio:4/3; }
}

@media (max-width:880px){
  .paw-reviews__hero{ grid-template-columns:1fr; gap:2rem; }
  .paw-reviews__grid{ grid-template-columns:1fr; }
  .paw-reviews__ugc{ grid-template-columns:1fr; }
  .paw-reviews__ugc-track{ grid-template-columns:repeat(3,1fr); }
}

/* ----------------- Item Details / Specs ----------------- */

.paw-specs{ background:linear-gradient(180deg, var(--paw-cream) 0%, var(--paw-blush) 100%); }
.paw-specs__head{ text-align:center; margin-bottom:3rem; }
.paw-specs__head h2{ margin-bottom:.6rem; }

.paw-specs__facts{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem;
  max-width:1080px; margin:0 auto 2.4rem;
}
.paw-specs__fact{
  display:flex; align-items:center; gap:1.4rem;
  background:#fff; border-radius:var(--paw-radius-lg);
  padding:2rem 2rem; box-shadow:var(--paw-shadow-sm);
}
.paw-specs__fact-icon{
  width:64px; height:64px; flex-shrink:0; border-radius:18px;
  background:var(--paw-honey-soft); color:var(--paw-honey-deep);
  display:inline-flex; align-items:center; justify-content:center;
  box-shadow:0 4px 14px rgba(199,154,67,.22);
}
.paw-specs__fact-icon svg{ width:30px; height:30px; }
.paw-specs__fact-value{
  font-family:var(--paw-font-display); font-weight:700;
  font-size:1.85rem; color:var(--paw-espresso); line-height:1; letter-spacing:-.02em;
}
.paw-specs__fact-label{ font-size:.85rem; color:var(--paw-muted); margin-top:.4rem; font-weight:500; }

.paw-specs__details{
  max-width:1080px; margin:0 auto;
  background:#fff; border-radius:var(--paw-radius-lg);
  box-shadow:var(--paw-shadow-sm); overflow:hidden;
}
.paw-specs__details summary{
  list-style:none; cursor:pointer;
  padding:1.2rem 1.6rem;
  display:flex; justify-content:space-between; align-items:center;
  font-family:var(--paw-font-display); font-weight:600; font-size:1.05rem;
  color:var(--paw-espresso);
}
.paw-specs__details summary::-webkit-details-marker{ display:none; }
.paw-specs__details summary svg{ transition:transform .3s; color:var(--paw-honey-deep); }
.paw-specs__details[open] summary svg{ transform:rotate(45deg); }

.paw-specs__table{
  border-top:1px solid rgba(14,42,47,.08);
}
@media (max-width:680px){
  .paw-specs__facts{ grid-template-columns:1fr; }
}
.paw-specs__row{
  display:grid;
  grid-template-columns:minmax(220px, 1fr) 2fr;
  gap:1rem;
  padding:1.1rem 1.6rem;
  border-bottom:1px solid rgba(14,42,47,.08);
}
.paw-specs__row:last-child{ border-bottom:0; }
.paw-specs__row:nth-child(odd){ background:rgba(239,230,214,.35); }
.paw-specs__label{
  font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
  font-weight:600; color:var(--paw-honey-deep);
  align-self:center;
}
.paw-specs__value{
  font-size:.96rem; color:var(--paw-espresso); line-height:1.45;
}
@media (max-width:680px){
  .paw-specs__row{ grid-template-columns:1fr; gap:.3rem; padding:1rem 1.2rem; }
  .paw-specs__label{ font-size:.7rem; }
}

/* ----------------- FAQ ----------------- */

.paw-faq__head{ text-align:center; margin-bottom:3rem; }
.paw-faq__list{
  max-width:1080px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:.8rem 1rem;
  align-items:start;
}
.paw-faq__item{ background:#fff; border-radius:var(--paw-radius); box-shadow:var(--paw-shadow-sm); overflow:hidden; }
@media (max-width:880px){
  .paw-faq__list{ grid-template-columns:1fr; max-width:760px; }
}
.paw-faq__q{
  width:100%; text-align:left; padding:1.4rem 1.6rem; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  font-family:var(--paw-font-display); font-size:1.2rem; color:var(--paw-espresso);
}
.paw-faq__q svg{ flex-shrink:0; transition:transform .3s; color:var(--paw-honey-deep); }
.paw-faq__item.is-open .paw-faq__q svg{ transform:rotate(45deg); }
.paw-faq__a{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s var(--paw-ease-out); }
.paw-faq__a > div{ overflow:hidden; }
.paw-faq__item.is-open .paw-faq__a{ grid-template-rows:1fr; }
.paw-faq__a-inner{ padding:0 1.6rem 1.4rem; color:var(--paw-espresso-2); }

/* ----------------- Final CTA ----------------- */

.paw-final{
  background:linear-gradient(180deg, var(--paw-sky-50), var(--paw-cream));
  overflow:hidden; position:relative;
}
.paw-final__grid{
  display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(2rem, 5vw, 4rem);
  align-items:center;
}
.paw-final__copy h2{ margin:.6rem 0 1rem; max-width:18ch; }
.paw-final__copy p{ color:var(--paw-espresso-2); max-width:42ch; margin:0 0 2rem; font-size:1.05rem; }
.paw-final__ctas{ display:flex; flex-direction:column; gap:1rem; align-items:flex-start; }
.paw-final__perk{
  display:inline-flex; align-items:center; gap:.5rem;
  font-size:.82rem; color:var(--paw-espresso-2);
  background:rgba(255,255,255,.6); padding:.55rem .9rem; border-radius:999px;
  backdrop-filter:blur(8px);
}
.paw-final__perk svg{ color:var(--paw-honey-deep); }

/* Right side — quote card + bottle silhouette */
.paw-final__visual{
  position:relative;
  width:100%; max-width:420px;
  aspect-ratio:1/1;
  margin:0 auto;
  justify-self:end;
}
.paw-final__quote{
  position:absolute; top:0; left:0; max-width:78%;
  background:#fff; border-radius:var(--paw-radius-lg);
  padding:1.4rem 1.6rem;
  box-shadow:0 22px 50px -20px rgba(14,42,47,.28);
  z-index:2; transform:rotate(-3deg);
  transition:transform .3s var(--paw-ease-out);
}
.paw-final__quote:hover{ transform:rotate(-1deg) translateY(-3px); }
.paw-final__stars{ color:var(--paw-honey); letter-spacing:.12em; font-size:.95rem; display:block; }
.paw-final__quote p{
  font-family:var(--paw-font-display); font-weight:500;
  font-size:1.05rem; line-height:1.35; color:var(--paw-espresso);
  margin:.5rem 0;
}
.paw-final__quote cite{ font-style:normal; font-size:.78rem; color:var(--paw-muted); }
.paw-final__bottle{
  position:absolute; right:-8%; bottom:-10%;
  max-width:75%; height:auto;
  transform:rotate(8deg);
  filter:drop-shadow(0 24px 40px rgba(14,42,47,.2));
  z-index:1;
}
@media (max-width:880px){
  .paw-final__grid{ grid-template-columns:1fr; text-align:center; }
  .paw-final__copy p{ margin-left:auto; margin-right:auto; }
  .paw-final__ctas{ align-items:center; }
  .paw-final__visual{ aspect-ratio:1/1; max-width:340px; }
}

/* ----------------- Boujee Family cross-link ----------------- */

.paw-family{
  background:
    radial-gradient(60% 60% at 100% 0%, rgba(199,154,67,.18), transparent 60%),
    radial-gradient(50% 50% at 0% 100%, rgba(111,179,214,.16), transparent 60%),
    linear-gradient(180deg, var(--paw-cream) 0%, var(--paw-cream-2) 100%);
  padding:clamp(3.5rem, 7vw, 6rem) 0;
  border-top:1px solid rgba(14,42,47,.06);
}
.paw-family__inner{
  display:grid; grid-template-columns:1fr 1.4fr; gap:clamp(2rem, 4vw, 4rem);
  align-items:center;
}
.paw-family__intro{ max-width:38ch; }
.paw-family__crown{ font-size:2.4rem; display:block; margin-bottom:1rem; line-height:1; }
.paw-family__heading{
  font-family:var(--paw-font-display);
  font-size:clamp(2.2rem, 4vw, 3.4rem);
  line-height:1; letter-spacing:-.03em; font-weight:700;
  color:var(--paw-espresso);
  margin-bottom:1rem;
}
.paw-family__heading em{ font-style:normal; color:var(--paw-honey-deep); font-weight:600; display:block; }
.paw-family__intro p{ color:var(--paw-espresso-2); margin:0; font-size:1.02rem; }

.paw-family__grid{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.paw-family__card{
  position:relative; display:flex; flex-direction:column; gap:.6rem;
  background:#fff; border-radius:var(--paw-radius-lg);
  padding:1.8rem 1.6rem;
  box-shadow:var(--paw-shadow-sm);
  border:1px solid rgba(14,42,47,.05);
  transition:transform .35s var(--paw-ease-out), box-shadow .3s, border-color .3s;
  color:var(--paw-espresso);
}
.paw-family__card:hover{
  transform:translateY(-4px);
  box-shadow:var(--paw-shadow);
  border-color:var(--paw-honey);
}
.paw-family__icon{
  width:72px; height:52px; border-radius:14px;
  background:var(--paw-honey-soft); color:var(--paw-honey-deep);
  display:inline-flex; align-items:center; justify-content:center;
  padding:.5rem;
  box-shadow:0 6px 18px rgba(199,154,67,.22);
  transition:transform .25s cubic-bezier(.2,.8,.2,1), background .25s, color .25s;
}
.paw-family__icon svg{ width:100%; height:100%; }
.paw-family__card:hover .paw-family__icon{
  transform:translateY(-3px) rotate(-3deg);
  background:var(--paw-honey);
  color:var(--paw-espresso);
}
.paw-family__name{
  font-family:var(--paw-font-display); font-weight:600; font-size:1.25rem;
  line-height:1.1; letter-spacing:-.02em; color:var(--paw-espresso);
}
.paw-family__tag{ font-size:.9rem; color:var(--paw-espresso-2); line-height:1.45; }
.paw-family__perk{
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--paw-honey-soft); color:var(--paw-honey-deep);
  padding:.55rem .8rem; border-radius:var(--paw-radius);
  font-size:.82rem; line-height:1.35; font-weight:500;
  margin-top:.6rem;
}
.paw-family__perk svg{ flex-shrink:0; }
.paw-family__arrow{
  display:inline-flex; align-items:center; gap:.45rem;
  font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600;
  color:var(--paw-honey-deep);
  margin-top:.4rem;
}
.paw-family__arrow svg{ transition:transform .3s; }
.paw-family__card:hover .paw-family__arrow svg{ transform:translateX(4px); }

@media (max-width:880px){
  .paw-family__inner{ grid-template-columns:1fr; }
  .paw-family__grid{ grid-template-columns:1fr; }
}

/* ----------------- Cart Drawer (off-canvas) ----------------- */

.paw-cart{
  position:fixed; top:0; right:0; bottom:0;
  width:min(440px, 92vw);
  background:#fff; color:var(--paw-espresso);
  z-index:200;
  transform:translateX(100%);
  transition:transform .45s cubic-bezier(.2,.8,.2,1);
  display:flex; flex-direction:column;
  box-shadow:-30px 0 80px rgba(14,42,47,.25);
}
.paw-cart.is-open{ transform:translateX(0); }
.paw-cart-scrim{
  position:fixed; inset:0; background:rgba(14,42,47,.5);
  opacity:0; pointer-events:none;
  transition:opacity .4s; z-index:190;
  backdrop-filter:blur(2px);
}
.paw-cart-scrim.is-open{ opacity:1; pointer-events:auto; }

.paw-cart__head{
  display:flex; justify-content:space-between; align-items:flex-start;
  padding:1.4rem 1.5rem 1rem;
  border-bottom:1px solid rgba(14,42,47,.08);
}
.paw-cart__title{ font-family:var(--paw-font-display); font-size:1.4rem; font-weight:700; margin:0; letter-spacing:-.02em; }
.paw-cart__sub{ font-size:.78rem; color:var(--paw-honey-deep); font-weight:600; letter-spacing:.04em; margin:.3rem 0 0; }
.paw-cart__close{
  width:38px; height:38px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--paw-cream-2); color:var(--paw-espresso);
  transition:background .2s, transform .2s;
}
.paw-cart__close:hover{ background:var(--paw-espresso); color:var(--paw-cream); transform:rotate(90deg); }

.paw-cart__body{
  flex:1; overflow-y:auto; padding:1rem 1.5rem;
  display:flex; flex-direction:column;
}
.paw-cart-contents-inner{ display:flex; flex-direction:column; height:100%; }

.paw-cart__items{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:1.2rem; flex:1; }
.paw-cart__item{
  display:grid; grid-template-columns:80px 1fr; gap:1rem;
  padding-bottom:1.2rem;
  border-bottom:1px solid rgba(14,42,47,.06);
}
.paw-cart__item:last-child{ border-bottom:0; }
.paw-cart__thumb{
  width:80px; height:80px; border-radius:var(--paw-radius);
  background:var(--paw-cream); padding:.4rem;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.paw-cart__thumb img,
.paw-cart__thumb-img{ width:100%; height:100%; object-fit:contain; }
.paw-cart__main{ display:flex; flex-direction:column; gap:.5rem; min-width:0; }
.paw-cart__name{ font-family:var(--paw-font-display); font-weight:700; font-size:1rem; line-height:1.2; color:var(--paw-espresso); }
.paw-cart__var{ font-size:.78rem; color:var(--paw-muted); }
.paw-cart__var p{ margin:0; }
.paw-cart__row{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; }
.paw-cart__qty{
  display:inline-flex; align-items:center; gap:.3rem;
  border:1px solid rgba(14,42,47,.14); border-radius:999px;
  padding:.15rem .25rem;
}
.paw-cart__qty button{
  width:26px; height:26px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  color:var(--paw-espresso); transition:background .2s;
}
.paw-cart__qty button:hover{ background:var(--paw-cream-2); }
.paw-cart__qty input{
  width:30px; text-align:center;
  background:transparent; border:0;
  font:inherit; font-weight:700; color:var(--paw-espresso);
  -moz-appearance:textfield;
}
.paw-cart__qty input::-webkit-outer-spin-button,
.paw-cart__qty input::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.paw-cart__price{ font-family:var(--paw-font-display); font-weight:700; font-size:1rem; }
.paw-cart__remove{
  font-size:.74rem; color:var(--paw-muted);
  text-decoration:underline; text-underline-offset:3px;
  align-self:flex-start;
  transition:color .2s;
}
.paw-cart__remove:hover{ color:var(--paw-warn); }

.paw-cart__foot{
  margin-top:1.4rem; padding-top:1.4rem;
  border-top:1px solid rgba(14,42,47,.1);
  display:flex; flex-direction:column; gap:1rem;
}
.paw-cart__totals{ display:flex; flex-direction:column; gap:.3rem; }
.paw-cart__total-row{ display:flex; justify-content:space-between; align-items:baseline; }
.paw-cart__total-row span{ color:var(--paw-espresso-2); font-size:.94rem; }
.paw-cart__total-row strong{ font-family:var(--paw-font-display); font-size:1.4rem; color:var(--paw-espresso); }
.paw-cart__total-row--note span{ font-size:.78rem; color:var(--paw-muted); }
.paw-cart__view-link{
  text-align:center; font-size:.84rem; color:var(--paw-espresso-2);
  text-decoration:underline; text-underline-offset:3px;
}
.paw-cart__trust{
  display:flex; justify-content:space-between; gap:.8rem;
  padding:.7rem .9rem; border-radius:var(--paw-radius);
  background:var(--paw-cream); font-size:.74rem; color:var(--paw-espresso-2);
}
.paw-cart__trust span{ display:inline-flex; align-items:center; gap:.35rem; }
.paw-cart__trust svg{ color:var(--paw-success); }

/* Empty state */
.paw-cart__empty{
  flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:3rem 1rem;
  gap:1rem;
}
.paw-cart__empty-icon{
  width:80px; height:80px; border-radius:50%;
  background:var(--paw-cream); display:flex; align-items:center; justify-content:center;
  color:var(--paw-honey-deep);
}
.paw-cart__empty h3{ font-family:var(--paw-font-display); font-size:1.4rem; margin:0; }
.paw-cart__empty p{ color:var(--paw-muted); margin:0; max-width:30ch; }
.paw-cart__empty .paw-btn{ margin-top:1rem; max-width:280px; }

/* Body lock when drawer is open */
body.paw-cart-open{ overflow:hidden; }
/* Hide the sticky add-to-cart bar while drawer is open — no competing CTAs */
body.paw-cart-open .paw-stickybar{ transform:translate(-50%, 160%); opacity:0; transition:transform .4s var(--paw-ease-out), opacity .25s; }

/* ----------------- Footer ----------------- */

.paw-footer{ background:var(--paw-espresso); color:var(--paw-cream); padding:0 0 2rem; }
.paw-footer__newsletter{ background:linear-gradient(180deg, rgba(199,154,67,.12), transparent); padding:4rem 0 3rem; border-bottom:1px solid rgba(251,247,239,.08); margin-bottom:4rem; }
.paw-footer__newsletter-inner{ display:grid; grid-template-columns:1.2fr 1fr; gap:3rem; align-items:center; }
.paw-footer__newsletter-title{ font-family:var(--paw-font-display); font-size:clamp(1.6rem, 3vw, 2.4rem); color:var(--paw-cream); margin:.6rem 0 .8rem; letter-spacing:-.02em; }
.paw-footer__newsletter p{ color:rgba(251,247,239,.7); margin:0; max-width:42ch; }
.paw-footer__form{
  display:flex; gap:.5rem; padding:.45rem;
  background:rgba(251,247,239,.06); border-radius:var(--paw-radius-pill);
  border:1px solid rgba(251,247,239,.1);
}
.paw-footer__form input{
  flex:1; background:transparent; border:none; color:var(--paw-cream);
  padding:.7rem 1.2rem; font:inherit; outline:none;
}
.paw-footer__form input::placeholder{ color:rgba(251,247,239,.5); }
.paw-footer__form input:focus-visible{ outline:none; box-shadow:0 0 0 2px var(--paw-honey); border-radius:999px; }
.paw-footer__form button{ flex-shrink:0; }
@media (max-width:760px){
  .paw-footer__newsletter-inner{ grid-template-columns:1fr; gap:1.4rem; }
  .paw-footer__form{ flex-direction:column; }
  .paw-footer__form button{ width:100%; }
}

.paw-footer__pay{
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1.4rem;
  border-top:1px solid rgba(251,247,239,.1);
  padding-top:1.6rem; margin-top:2.4rem;
}
.paw-footer__pay-trust{
  display:flex; flex-wrap:wrap; gap:1.4rem;
  font-size:.78rem; color:rgba(251,247,239,.7);
}
.paw-footer__pay-trust span{ display:inline-flex; align-items:center; gap:.4rem; }
.paw-footer__pay-trust svg{ color:var(--paw-honey); }
.paw-footer__pay-icons{ display:flex; flex-wrap:wrap; gap:.5rem; }
/* SVG payment chips — actual mini-logos */
svg.paw-pay{
  height:30px; width:48px; display:inline-block;
  border-radius:6px; overflow:hidden;
  box-shadow:0 2px 6px rgba(14,42,47,.18);
  transition:transform .2s cubic-bezier(.2,.8,.2,1);
}
svg.paw-pay:hover{ transform:translateY(-2px); }

/* Safety block */
.paw-footer__safety{
  border-top:1px solid rgba(251,247,239,.1);
  background:rgba(251,247,239,.04);
  padding:1.4rem 0;
  margin-top:2.4rem;
}
.paw-footer__safety-inner{
  display:flex; align-items:flex-start; gap:1rem;
}
.paw-footer__safety-icon{
  flex-shrink:0;
  width:36px; height:36px; border-radius:50%;
  background:var(--paw-honey-soft); color:var(--paw-honey-deep);
  display:inline-flex; align-items:center; justify-content:center;
  font-size:1.1rem; font-weight:700;
}
.paw-footer__safety-label{
  font-size:.72rem; letter-spacing:.22em; text-transform:uppercase;
  font-weight:700; color:var(--paw-honey);
  margin-bottom:.3rem;
}
.paw-footer__safety p{
  margin:0; font-size:.84rem; line-height:1.6;
  color:rgba(251,247,239,.72);
  max-width:80ch;
}
.paw-footer__grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:2.4rem; padding:0 var(--paw-pad);
  max-width:var(--paw-maxw); margin:0 auto;
}
.paw-footer__col h4{ font-size:.78rem; letter-spacing:.22em; text-transform:uppercase; color:var(--paw-honey); margin-bottom:1.2rem; }
.paw-footer__col ul{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.6rem; }
.paw-footer__col a{ color:rgba(251,247,239,.76); font-size:.92rem; }
.paw-footer__col a:hover{ color:var(--paw-honey); }
.paw-footer__brand{ display:flex; flex-direction:column; gap:1rem; }
.paw-footer__brand .paw-brand{ color:var(--paw-cream); }
.paw-footer__brand p{ color:rgba(251,247,239,.7); font-size:.92rem; max-width:32ch; }
.paw-footer__social{ display:flex; gap:.5rem; margin-top:.4rem; }
.paw-footer__social a{
  width:38px; height:38px; border-radius:50%;
  background:rgba(251,247,239,.06);
  border:1px solid rgba(251,247,239,.08);
  color:rgba(251,247,239,.7);
  display:inline-flex; align-items:center; justify-content:center;
  transition:background .2s, color .2s, transform .2s, border-color .2s;
}
.paw-footer__social a:hover{
  background:var(--paw-honey); color:var(--paw-espresso); border-color:var(--paw-honey);
  transform:translateY(-2px);
}
.paw-footer__social svg{ display:block; }
.paw-footer__row{ border-top:1px solid rgba(251,247,239,.1); margin-top:3rem; padding:1.5rem var(--paw-pad) 0; display:flex; justify-content:space-between; gap:1rem; font-size:.78rem; color:rgba(251,247,239,.5); max-width:var(--paw-maxw); margin-left:auto; margin-right:auto; }
@media (max-width:880px){ .paw-footer__grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .paw-footer__grid{ grid-template-columns:1fr; } .paw-footer__row{ flex-direction:column; } }

/* ----------------- Sticky add-to-cart bar ----------------- */

.paw-stickybar{
  position:fixed; left:50%; bottom:1rem; transform:translate(-50%, 160%);
  width:min(94vw, 760px); z-index:60;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  background:#fff; border-radius:var(--paw-radius-pill); padding:.55rem .55rem .55rem 1.2rem;
  box-shadow:var(--paw-shadow-lg);
  transition:transform .5s var(--paw-ease-out);
}
.paw-stickybar.is-visible{ transform:translate(-50%, 0); }
.paw-stickybar__info{ display:flex; align-items:center; gap:.9rem; min-width:0; }
.paw-stickybar__thumb{ width:46px; height:46px; border-radius:50%; background:var(--paw-blush); display:flex; align-items:center; justify-content:center; padding:.4rem; }
.paw-stickybar__thumb img{ max-height:100%; width:auto; mix-blend-mode:multiply; }
.paw-stickybar__title{ display:flex; flex-direction:column; min-width:0; }
.paw-stickybar__title strong{ font-size:.9rem; font-family:var(--paw-font-display); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.paw-stickybar__title .stars{ color:var(--paw-honey); font-size:.75rem; letter-spacing:.1em; }
.paw-stickybar__pack{
  font-size:.7rem; font-weight:600; letter-spacing:.04em;
  color:var(--paw-honey-deep);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.paw-stickybar__buy{ display:flex; align-items:center; gap:.9rem; }
.paw-stickybar__price{ font-family:var(--paw-font-display); font-size:1.3rem; }
.paw-stickybar .paw-btn{ padding:.85rem 1.4rem; }
@media (max-width:520px){ .paw-stickybar__title strong{ max-width:18ch; } .paw-stickybar__price{ display:none; } }

/* ----------------- Utility reveal ----------------- */
/* JS adds `.js` to <html> on load. Without it (no-JS / SEO), content stays visible. */

.js .paw-reveal{ opacity:0; transform:translateY(28px); transition:opacity .9s var(--paw-ease-out), transform .9s var(--paw-ease-out); }
.js .paw-reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  .js .paw-reveal{ opacity:1; transform:none; }
  .paw-hero__bottle{ animation:none; }
  .paw-promo__track{ animation:none; }
}

/* ----------------- WooCommerce shared widow tweaks (loaded sitewide) ----------------- */

.woocommerce-message, .woocommerce-info, .woocommerce-error{
  background:#fff; border-radius:var(--paw-radius); border-left:4px solid var(--paw-honey);
  padding:1rem 1.2rem; margin-bottom:1.4rem;
}
.woocommerce-error{ border-left-color:var(--paw-warn); }

/* =====================================================================
   RESPONSIVE — comprehensive coverage from 1024 down to 360px
   Strategy:
   - 1024: laptop tweaks (reduce paddings, lighten hero)
   - 980 : hero stacks (already exists, augmented)
   - 760 : tablet portrait (bundle 1-col, big grids collapse)
   - 540 : mobile landscape (typography down-scale, sticky bar simplified)
   - 400 : small mobile (full-width drawer, tighter padding)
   ===================================================================== */

/* ---------- 1024px and below ---------- */
@media (max-width:1024px){
  :root{ --paw-pad: clamp(1rem, 3.2vw, 2.4rem); }
  h1{ font-size:clamp(2.4rem, 5.4vw, 4.4rem); }
  h2{ font-size:clamp(1.8rem, 4vw, 3.2rem); }
  .paw-hero__headline{ font-size:clamp(2.4rem, 5vw, 4.2rem); }
  .paw-section{ padding:clamp(2.5rem, 6vw, 5rem) 0; }
  .paw-bundle__grid{ gap:1rem; }
  .paw-feat__grid{ gap:1rem; }
}

/* ---------- 980px hero stack (override + augment) ---------- */
@media (max-width:980px){
  .paw-hero__split{ grid-template-columns:1fr; min-height:auto; }
  .paw-hero__left{
    justify-content:flex-start;
    padding:2rem var(--paw-pad) 2rem;
  }
  .paw-hero__left-inner{ max-width:100%; gap:1rem; }
  .paw-hero__right{
    aspect-ratio:auto; min-height:auto;
    padding:1rem var(--paw-pad);
    order:-1;  /* photo first on mobile so eye lands on the bottle */
  }
  .paw-hero__photo{
    width:100%; max-width:520px; margin:0 auto;
    aspect-ratio:1/1; height:auto;
  }
  .paw-hero__slides{ min-height:auto; aspect-ratio:1/1; }
  .paw-hero__stamp{ top:8%; right:4%; width:78px; height:78px; }
  .paw-hero__right::after{ font-size:clamp(7rem, 22vw, 13rem); }
  /* Eyebrow leading dash hides on small to save space */
  .paw-hero__left .paw-eyebrow::before{ width:18px; }
}

/* ---------- 880 family + ritual + reviews + grids ---------- */
@media (max-width:880px){
  .paw-rit__grid{ grid-template-columns:1fr; gap:2rem; }
  .paw-rit__grid::before{ display:none; }
  .paw-reviews__hero{ grid-template-columns:1fr; gap:1.6rem; padding:1.6rem; text-align:center; }
  .paw-reviews__score-block{ text-align:center; }
  .paw-reviews__grid{ grid-template-columns:1fr; }
  .paw-reviews__bar{ grid-template-columns:32px 1fr 40px; gap:.6rem; font-size:.8rem; }
  .paw-family__inner{ grid-template-columns:1fr; gap:1.4rem; text-align:center; }
  .paw-family__intro{ max-width:none; }
  .paw-family__grid{ grid-template-columns:1fr; }
  .paw-final__grid{ grid-template-columns:1fr; gap:2rem; }
  .paw-final__copy{ text-align:center; }
  .paw-final__copy p{ margin-left:auto; margin-right:auto; }
  .paw-final__ctas{ align-items:center; }
  .paw-final__visual{ aspect-ratio:1/1; max-width:320px; }
  .paw-footer__newsletter-inner{ grid-template-columns:1fr; gap:1.4rem; text-align:center; }
  .paw-tagus{ grid-template-columns:1fr; }
  .paw-tagus__media{ aspect-ratio:4/3; }
}

/* ---------- 760px tablet ---------- */
@media (max-width:760px){
  /* Header: hide desktop nav (mobile drawer kicks in) */
  .paw-header__inner{ padding:.8rem var(--paw-pad); gap:.8rem; }
  .paw-header__cta{ gap:.5rem; }
  .paw-brand img, .paw-brand__mark{ height:54px; }
  .paw-header__cta .paw-btn{ padding:.7rem 1.1rem; font-size:.86rem; }

  /* Promo bar smaller font */
  .paw-promo{ font-size:.76rem; padding:.6rem 0; letter-spacing:.04em; }
  .paw-promo__track{ gap:2rem; }

  /* Hero buy block — pack picker becomes more vertical-friendly */
  .paw-hero__packs{ grid-template-columns:repeat(3,1fr); gap:.4rem; }
  .paw-hero__pack{ padding:.7rem .55rem; }
  .paw-hero__pack-short{ font-size:.94rem; }
  .paw-hero__pack-sub{ font-size:.6rem; }
  .paw-hero__pack-each{ font-size:1.15rem; }
  .paw-hero__pack-badge{ font-size:.54rem; padding:.2rem .35rem; }
  .paw-hero__pack--has-badge{ padding-top:1.9rem !important; }
  .paw-hero__action{ flex-direction:column; gap:.7rem; }
  .paw-hero__qty{ align-self:flex-start; }
  .paw-hero__cta{ width:100%; }
  .paw-hero__trust{ gap:.4rem; }
  .paw-hero__trust li{ font-size:.74rem; padding:.4rem .65rem; }

  /* Bundle stacks */
  .paw-bundle__grid{ grid-template-columns:1fr; }
  .paw-bundle__card{ padding:1.6rem 1.4rem; }

  /* Features: 3 col → 1 col (already exists at 880, kept) */
  /* Specs facts */
  .paw-specs__facts{ grid-template-columns:1fr; }
  .paw-specs__fact{ padding:1.6rem; }
  .paw-specs__fact-value{ font-size:1.6rem; }

  /* FAQ */
  .paw-faq__q{ font-size:1.05rem; padding:1.1rem 1.3rem; }
  .paw-faq__a-inner{ padding:0 1.3rem 1.1rem; font-size:.95rem; }

  /* UGC track on tablet */
  .paw-reviews__ugc{ grid-template-columns:1fr; }
  .paw-reviews__ugc-track{ grid-template-columns:repeat(3,1fr); }

  /* Sticky add-to-cart bar — more compact */
  .paw-stickybar{ width:calc(100vw - 1.5rem); padding:.5rem .5rem .5rem 1rem; }
  .paw-stickybar__thumb{ width:40px; height:40px; }

  /* Cart drawer wider on tablet */
  .paw-cart{ width:min(440px, 96vw); }

  /* Footer */
  .paw-footer__grid{ grid-template-columns:1fr 1fr; }
  .paw-footer__brand{ grid-column:span 2; text-align:center; align-items:center; }
  .paw-footer__brand .paw-brand{ justify-content:center; }
  .paw-footer__pay{ flex-direction:column; align-items:center; gap:1rem; text-align:center; }
}

/* ---------- 540px mobile ---------- */
@media (max-width:540px){
  h1{ font-size:clamp(2rem, 9vw, 3.2rem); }
  h2{ font-size:clamp(1.6rem, 7vw, 2.4rem); line-height:1.05; }
  .paw-hero__headline{ font-size:clamp(2.4rem, 9.4vw, 3.6rem); line-height:1; }
  .paw-hero__sub{ font-size:1rem; line-height:1.5; }
  .paw-section{ padding:clamp(2rem, 8vw, 4rem) 0; }

  /* Tighter hero left padding */
  .paw-hero__left{ padding:1.4rem var(--paw-pad) 1.6rem; }
  .paw-hero__right{ padding:.5rem var(--paw-pad); }

  /* Pack picker stacks 1 col below 540 — vertical reading is easier */
  .paw-hero__packs{ grid-template-columns:1fr; gap:.5rem; }
  .paw-hero__pack{
    flex-direction:row; align-items:center; gap:1rem;
    padding:.9rem 1rem !important; text-align:left;
  }
  .paw-hero__pack--has-badge{ padding-top:.9rem !important; }
  .paw-hero__pack-badge{
    position:static; display:inline-block;
    flex-shrink:0; width:auto;
    margin-right:.5rem;
  }
  .paw-hero__pack-short{ flex:1; margin-bottom:0; }
  .paw-hero__pack-sub{ margin-bottom:0; flex:0 0 auto; }
  .paw-hero__pack-each{ font-size:1.2rem; }
  .paw-hero__pack-each-label{ display:inline; margin-left:.2rem; }
  .paw-hero__pack-each::after{ content:""; }

  /* Header */
  .paw-brand img, .paw-brand__mark{ height:46px; }
  .paw-header__cta .paw-btn{ padding:.6rem .9rem; font-size:.8rem; }
  .paw-cart-btn{ width:38px; height:38px; }
  .paw-skip:focus{ font-size:.8rem; }

  /* Stamp on bottle - smaller */
  .paw-hero__stamp{ width:64px; height:64px; top:6%; right:3%; }
  .paw-hero__stamp-l1{ font-size:.55rem; }
  .paw-hero__stamp-l2{ font-size:.5rem; }
  .paw-hero__stamp-mark{ font-size:.85rem; }

  /* Trust pills inline-block flex without breaking */
  .paw-hero__trust{ gap:.35rem; }
  .paw-hero__trust li{ padding:.35rem .55rem; font-size:.7rem; }

  /* Cert strip */
  .paw-cert__item{ padding:.2rem 0; }
  .paw-cert__icon{ width:38px; height:38px; }
  .paw-cert__label{ font-size:.9rem; }
  .paw-cert__sub{ font-size:.72rem; }

  /* Bundle cards padding */
  .paw-bundle__card{ padding:1.4rem 1.2rem; gap:.9rem; }
  .paw-bundle__price .new{ font-size:1.6rem; }
  .paw-bundle__visual{ aspect-ratio:5/4; }

  /* Ritual */
  .paw-rit__box{ width:108px; height:108px; }
  .paw-rit__icon svg{ width:54px; height:54px; }
  .paw-rit__num{ width:32px; height:32px; font-size:14px; }
  .paw-rit__title{ font-size:1.3rem; }
  .paw-rit__body{ font-size:.92rem; }

  /* Reviews */
  .paw-rcard{ padding:1.6rem; }
  .paw-rcard__quote{ font-size:1.1rem; }
  .paw-reviews__score{ font-size:clamp(3.4rem, 18vw, 5.4rem); }

  /* Quote card on Final CTA */
  .paw-final__quote{ padding:1.1rem 1.3rem; max-width:88%; }
  .paw-final__quote p{ font-size:1rem; }
  .paw-final__visual{ max-width:260px; }

  /* Boujee family */
  .paw-family__heading{ font-size:clamp(1.8rem, 7vw, 2.4rem); }
  .paw-family__card{ padding:1.4rem; }

  /* Newsletter */
  .paw-footer__newsletter{ padding:2.4rem 0 2rem; margin-bottom:2.4rem; }
  .paw-footer__newsletter-title{ font-size:clamp(1.4rem, 5vw, 2rem); }
  .paw-footer__form{ flex-direction:column; padding:.4rem; gap:.4rem; }
  .paw-footer__form input{ padding:.85rem 1rem; }
  .paw-footer__form button{ width:100%; }

  /* Safety block */
  .paw-footer__safety-inner{ flex-direction:row; align-items:flex-start; }
  .paw-footer__safety p{ font-size:.78rem; }

  /* Cart drawer — full width on mobile */
  .paw-cart{ width:100vw; }
  .paw-cart__head{ padding:1.1rem 1.2rem .8rem; }
  .paw-cart__title{ font-size:1.2rem; }
  .paw-cart__body{ padding:.8rem 1.2rem; }

  /* Sticky bar — minimal: just price + button */
  .paw-stickybar{ bottom:.6rem; width:calc(100vw - 1rem); padding:.5rem .5rem .5rem .8rem; }
  .paw-stickybar__info strong{ font-size:.78rem; }
  .paw-stickybar__info .stars{ font-size:.7rem; }
  .paw-stickybar .paw-btn{ padding:.65rem 1rem; font-size:.8rem; }

  /* Hide the bigword decoration */
  .paw-hero__bigword, .paw-hero__right::after{ display:none; }
}

/* ---------- 400px small mobile ---------- */
@media (max-width:400px){
  :root{ --paw-pad: 1rem; }
  h1, .paw-hero__headline{ font-size:clamp(2rem, 10vw, 2.8rem); }
  h2{ font-size:clamp(1.5rem, 8vw, 2.1rem); }
  .paw-promo{ font-size:.7rem; }
  .paw-promo__track{ gap:1.6rem; }
  .paw-hero__left{ padding:1.2rem .9rem 1.4rem; }
  .paw-hero__left-inner{ gap:.85rem; }
  .paw-hero__sub{ font-size:.94rem; }
  .paw-hero__pack{ padding:.75rem .85rem !important; }
  .paw-hero__cta{ padding:.95rem 1rem; font-size:.86rem; }
  .paw-bundle__card{ padding:1.2rem 1rem; }
  .paw-feat__card{ padding:1.6rem 1.3rem; }
  .paw-faq__q{ font-size:.95rem; padding:1rem 1.1rem; }
  .paw-rcard{ padding:1.4rem; }
  .paw-rcard__quote{ font-size:1rem; }
  .paw-reviews__ugc-track{ grid-template-columns:repeat(2,1fr); }
  .paw-specs__fact{ padding:1.2rem 1.2rem; gap:.9rem; }
  .paw-specs__fact-icon{ width:48px; height:48px; }
  .paw-specs__fact-value{ font-size:1.4rem; }
  .paw-stickybar__price{ display:none; }
  .paw-cart-count{ min-width:18px; height:18px; font-size:.62rem; }
}

/* ---------- iOS notch / home-bar safe areas ---------- */
@supports(padding:env(safe-area-inset-bottom)){
  .paw-stickybar{ margin-bottom:env(safe-area-inset-bottom); }
  .paw-cart__foot{ padding-bottom:max(0px, env(safe-area-inset-bottom)); }
}

/* ---------- A11y: bigger touch targets on touch devices ---------- */
@media (hover:none) and (pointer:coarse){
  .paw-btn{ min-height:44px; }
  .paw-hero__qty button{ width:36px; height:36px; }
  .paw-faq__q{ min-height:56px; }
  .paw-cart__qty button{ width:32px; height:32px; }
  .paw-bundle__card{ padding-block:1.6rem; }
}
