/** Shopify CDN: Minification failed

Line 2055:30 Unexpected "0"
Line 2059:57 Expected "]" to go with "["
Line 2060:60 Expected "]" to go with "["

**/
/* ============================================================
   PAW & MATE — theme.css
   Loaded by layout/theme.liquid via {{ 'theme.css' | asset_url }}
   ============================================================ */

:root {
  /* Defaults — overridden by storefront settings via inline <style> */
  --bg:           #FFF8F4;
  --bg-soft:      #F4E4D6;
  --ink:          #0d0d0d;
  --ink-soft:     #4a4a4a;
  --ink-muted:    #8a8a8a;
  --orange:       #FF6B35;
  --orange-deep:  #E54E1A;
  --orange-soft:  #FFE0D2;
  --line:         rgb(13 13 13 / 0.10);
  --line-strong:  rgb(13 13 13 / 0.18);

  --font-serif:   'DM Serif Display', 'Playfair Display', Georgia, serif;
  --font-sans:    'DM Sans', 'Helvetica Neue', Helvetica, sans-serif;

  /* ---- Type scale tokens (used by every section to stay consistent) ---- */
  --type-hero-title:    clamp(48px, 7vw, 96px);      /* hero H1 */
  --type-page-title:    clamp(40px, 5.5vw, 72px);    /* PDP H1, collection H1, cart H1, lifes-better H2 */
  --type-section-title: clamp(36px, 5vw, 64px);      /* every section H2 */
  --type-cat-title:     28px;                        /* category card title */
  --type-card-title:    15px;                        /* product card title */
  --type-eyebrow:       12px;
  --type-body:          16px;
  --type-body-sm:       14px;
  --type-meta:          13px;

  --tracking-eyebrow:   0.14em;

  --r-sm: 8px;
  --r-md: 14px;
  --r-lg: 20px;
  --r-xl: 28px;
  --r-pill: 999px;

  --shadow-sm: 0 1px 2px rgb(13 13 13 / 0.04);
  --shadow-md: 0 8px 30px -10px rgb(13 13 13 / 0.15);

  --container-max: 1320px;
  --container-pad: 20px;

  --header-h: 72px;
  --ticker-h: 38px;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; overflow-x: hidden; }
html { background: var(--bg); color: var(--ink); font-family: var(--font-sans); font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
img, svg { display: block; max-width: 100%; }
button { font: inherit; cursor: pointer; }

.container { width: 100%; max-width: var(--container-max); margin: 0 auto; padding: 0 var(--container-pad); }
@media (min-width: 960px) { .container { padding: 0 32px; } }

.visually-hidden, .skip-link:not(:focus) { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.skip-link:focus { left: 1rem; top: 1rem; background: var(--ink); color: var(--bg); padding: .5rem .75rem; border-radius: 8px; z-index: 100; }

:focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; border-radius: 4px; }
::selection { background: var(--orange); color: var(--bg); }

/* ---------- Typography ---------- */
h1, h2, h3 { font-family: var(--font-serif); font-weight: 400; line-height: 1.05; letter-spacing: -0.01em; color: var(--ink); margin: 0 0 .4em; }
.eyebrow { font-family: var(--font-sans); font-size: var(--type-eyebrow); font-weight: 600; letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; color: var(--ink-soft); margin: 0 0 14px; }
.eyebrow--on-image { color: rgb(255 255 255 / 0.95); }
.section-title { font-size: var(--type-section-title); line-height: 1.0; margin: 0; }
.page-title    { font-size: var(--type-page-title);    line-height: 1.0; letter-spacing: -0.02em; margin: 0; }
.section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin: 0 0 40px; }
.section-head--with-cta .section-title { max-width: none; }
.section-head__cta { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: var(--ink); text-decoration: none; padding-bottom: 4px; border-bottom: 1.5px solid var(--ink); transition: gap 200ms; white-space: nowrap; flex-shrink: 0; }
.section-head__cta:hover { gap: 10px; }
.is-on-dark .section-head__cta { color: var(--bg); border-color: var(--bg); }
.section-head__sub { margin: 14px 0 0; max-width: 48ch; color: var(--ink-soft); font-size: 17px; line-height: 1.5; }
.is-on-dark .section-head__sub { color: rgb(255 248 244 / 0.7); }
.is-on-dark .eyebrow { color: rgb(255 248 244 / 0.6); }
.is-on-dark .section-title { color: var(--bg); }

.wordmark { font-family: var(--font-sans); font-weight: 800; font-size: 22px; letter-spacing: 0.04em; color: var(--ink); text-decoration: none; white-space: nowrap; }
.wordmark--lg { font-size: 32px; }
.wordmark__amp { font-family: var(--font-serif); font-style: italic; font-weight: 400; color: var(--orange); letter-spacing: 0; padding: 0 .12em; }

/* ---------- Buttons ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px;
       font-family: var(--font-sans); font-weight: 600; font-size: 15px;
       padding: 14px 24px; border: 1.5px solid var(--ink); border-radius: var(--r-pill); background: var(--ink); color: var(--bg);
       text-decoration: none; cursor: pointer; transition: background 150ms, border-color 150ms, transform 80ms, color 150ms; white-space: nowrap; }
.btn:hover  { background: #000; }
.btn:active { transform: scale(0.98); }
.btn--primary { background: var(--orange); border-color: var(--orange); color: #fff; }
.btn--primary:hover { background: var(--orange-deep); border-color: var(--orange-deep); }
.btn--dark { background: var(--ink); border-color: var(--ink); color: var(--bg); }
.btn--outline { background: transparent; color: var(--ink); }
.btn--outline:hover { background: var(--ink); color: var(--bg); }
.btn--outline-light { background: transparent; border-color: #fff; color: #fff; }
.btn--outline-light:hover { background: #fff; color: var(--ink); }
.btn--lg { padding: 17px 30px; font-size: 16px; }
.btn--block { width: 100%; }

/* ---------- Icon buttons ---------- */
.icon-btn { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px;
  border-radius: 999px; background: transparent; border: 0; color: var(--ink); position: relative; text-decoration: none; transition: background 150ms; }
.icon-btn:hover { background: rgb(13 13 13 / 0.06); }
.icon-btn--on-dark { color: var(--bg); }
.icon-btn--on-dark:hover { background: rgb(255 248 244 / 0.1); }
.cart-count { position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px;
  background: var(--orange); color: #fff; font-size: 11px; font-weight: 700; display: flex; align-items: center; justify-content: center; line-height: 1; }

/* ---------- Ticker ---------- */
.ticker { background: var(--ink); color: var(--bg); overflow: hidden; height: var(--ticker-h); display: flex; align-items: center; }
.ticker__viewport { width: 100%; overflow: hidden; }
.ticker__track { display: inline-flex; align-items: center; gap: 32px; padding-left: 32px; white-space: nowrap;
  animation: ticker-scroll 40s linear infinite; }
.ticker__item { font-size: 12px; font-weight: 600; letter-spacing: 0.16em; display: inline-flex; align-items: center; gap: 8px; }
.ticker__icon { display: inline-flex; color: var(--orange); }
.ticker__dot { color: var(--orange); font-size: 10px; opacity: .8; }
@keyframes ticker-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- Header ---------- */
.site-header { position: sticky; top: 0; z-index: 40; background: rgb(255 248 244); border-bottom: 1px solid var(--line); transition: transform 280ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 200ms; }
.site-header.is-scrolled { box-shadow: 0 2px 12px -4px rgb(13 13 13 / 0.12); }
.site-header.is-hidden { transform: translateY(-100%); }
/* Desktop: 2 rows — logo centré seul, nav centrée en dessous */
.site-header__inner {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-areas: "menu logo actions" "nav nav nav";
  align-items: center;
  padding: 20px 0 0;
  min-height: unset;
  row-gap: 0;
}
.site-header__menu { grid-area: menu; display: none; justify-self: start; }
.site-header__home-link { grid-area: menu; justify-self: start; align-self: center; display: flex; align-items: center; font: 600 13px/1 var(--font-body); letter-spacing: 0.04em; color: var(--ink); text-decoration: none; padding: 4px 0; margin-left: 16px; transition: color 150ms; }
.site-header__home-link:hover { color: var(--orange); }
.site-header__logo { grid-area: logo; justify-self: center; text-decoration: none; }
.site-header__logo .wordmark { font-size: 32px; }
.site-header__actions { grid-area: actions; display: flex; gap: 4px; justify-self: end; align-self: center; }
.site-header__nav { grid-area: nav; display: flex; justify-content: center; gap: 28px; padding: 12px 0; margin-top: 14px; border-top: 1px solid var(--line); }
.nav-link { font-size: 12px; font-weight: 600; color: var(--ink); text-decoration: none; padding: 4px 0; position: relative; letter-spacing: 0.08em; text-transform: uppercase; display: inline-flex; align-items: center; gap: 4px; }
.nav-link::after { content: ''; position: absolute; left: 0; bottom: -2px; height: 2px; width: 0; background: var(--orange); transition: width 200ms; }
.nav-link:hover::after { width: 100%; }

/* Dropdown nav — click-based */
.nav-item { position: relative; display: inline-flex; align-items: center; }
.nav-link--drop-trigger { cursor: pointer; }
.nav-dropdown {
  position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%);
  background: var(--bg); border-radius: 10px;
  box-shadow: 0 4px 24px rgba(13,13,13,0.10), 0 0 0 1px rgba(13,13,13,0.05);
  padding: 6px; min-width: 210px;
  opacity: 0; pointer-events: none;
  transition: opacity 160ms, transform 160ms;
  transform: translateX(-50%) translateY(-4px);
  z-index: 200;
}
.nav-dropdown.is-open {
  opacity: 1; pointer-events: all;
  transform: translateX(-50%) translateY(0);
}
.nav-dropdown__item {
  display: block; padding: 10px 14px; border-radius: 6px;
  font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase;
  color: var(--ink); text-decoration: none; transition: background 120ms, color 120ms; white-space: nowrap;
}
.nav-dropdown__item:hover { background: var(--bg-soft); color: var(--ink); }
.nav-dropdown__item--all {
  color: var(--ink-soft); font-weight: 500; font-size: 11px; text-transform: none; letter-spacing: 0;
  border-top: 1px solid var(--line); padding-top: 10px; margin-top: 4px;
}

/* Bundle banner — 2 demi-images côte à côte */
.coll__banner--bundles { display: flex; overflow: hidden; }
.coll__banner--bundles img.bundle-half { width: 50% !important; height: 100%; object-fit: cover; flex-shrink: 0; }
.coll__banner--bundles img.bundle-half--left { object-position: right top; }
.coll__banner--bundles img.bundle-half--right { object-position: left top; }

.bundle-hero__bg {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover; object-position: center;
}
.bundle-hero__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, rgba(13,13,13,0.35) 0%, rgba(13,13,13,0.6) 100%);
}

.bundle-hero {
  position: relative; z-index: 1;
  display: flex; flex-direction: column; align-items: center; gap: 16px;
  padding: 0 20px; text-align: center;
}
.bundle-hero__convo {
  display: flex; align-items: flex-end; gap: 40px; justify-content: center;
}
@media (max-width: 480px) { .bundle-hero__convo { gap: 20px; } }

.bundle-hero__char {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
}
.bundle-hero__emoji { font-size: clamp(36px, 7vw, 56px); line-height: 1; filter: drop-shadow(0 2px 6px rgba(0,0,0,0.4)); }

/* Nuages de dialogue */
.bundle-hero__cloud {
  position: relative;
  border-radius: 50px;
  padding: 10px 18px 12px;
  display: flex; flex-direction: column; align-items: center; gap: 1px;
  text-align: center; box-shadow: 0 4px 20px rgba(0,0,0,0.25);
}
/* Petits cercles pour l'effet nuage BD */
.bundle-hero__cloud::before,
.bundle-hero__cloud::after {
  content: '';
  position: absolute;
  bottom: -8px;
  border-radius: 50%;
  background: inherit;
}
.bundle-hero__cloud::before { width: 14px; height: 14px; bottom: -10px; }
.bundle-hero__cloud::after  { width: 8px; height: 8px; bottom: -18px; }

.bundle-hero__cloud--dog {
  background: #fff; color: var(--ink);
}
.bundle-hero__cloud--dog::before { left: 20px; }
.bundle-hero__cloud--dog::after  { left: 16px; }

.bundle-hero__cloud--cat {
  background: var(--orange); color: #fff;
}
.bundle-hero__cloud--cat::before { right: 20px; }
.bundle-hero__cloud--cat::after  { right: 16px; }

.bundle-hero__cloud-text  { font: 800 clamp(18px,4vw,24px)/1 var(--font-sans); letter-spacing: -0.02em; }
.bundle-hero__cloud-label { font-size: 10px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; opacity: 0.7; }
.bundle-hero__cloud-math  { font: 900 clamp(20px,4.5vw,28px)/1 var(--font-sans); letter-spacing: -0.02em; }
.bundle-hero__cloud-mate  { font-size: 13px; font-weight: 800; letter-spacing: 0.06em; }

.bundle-hero__title {
  color: rgba(255,255,255,0.65); font-family: var(--font-sans);
  font-size: 12px; font-weight: 600;
  letter-spacing: 0.16em; text-transform: uppercase; margin: 0;
}

/* Filter opts (Search & Discovery native) */
.fsort-drawer__filter-opts { display: flex; flex-direction: column; gap: 2px; }
.fsort-drawer__filter-opt {
  display: flex; align-items: center; gap: 10px;
  padding: 10px 0; font-size: 14px; cursor: pointer;
  border-bottom: 1px solid var(--line);
}
.fsort-drawer__filter-opt:last-child { border-bottom: 0; }
.fsort-drawer__filter-opt input { width: 18px; height: 18px; accent-color: var(--ink); cursor: pointer; flex-shrink: 0; }
.fsort-drawer__filter-opt.is-active span { font-weight: 700; }
.fsort-drawer__filter-opt small { color: var(--ink-muted); font-size: 12px; margin-left: 4px; }
.fsort-drawer__filter-opt input:disabled + span { color: var(--ink-muted); }
/* Price range */
.fsort-drawer__price-inputs { display: flex; gap: 12px; }
.fsort-drawer__price-field { display: flex; flex-direction: column; gap: 6px; flex: 1; }
.fsort-drawer__price-field label { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-muted); }
.fsort-drawer__price-input-wrap { display: flex; align-items: center; border: 1.5px solid var(--line-strong); border-radius: var(--r-sm); overflow: hidden; }
.fsort-drawer__price-input-wrap span { padding: 0 10px; font-size: 14px; color: var(--ink-soft); background: var(--bg-soft); border-right: 1px solid var(--line-strong); }
.fsort-drawer__price-input-wrap input { flex: 1; border: 0; padding: 10px 12px; font: inherit; font-size: 14px; color: var(--ink); background: transparent; min-width: 0; }
.fsort-drawer__price-input-wrap input:focus { outline: none; }

/* Mobile accordion nav */
.mobile-nav__group { border-bottom: 1px solid rgba(13,13,13,0.06); }
.mobile-nav__acc-trigger {
  width: 100%; text-align: left; background: none; border: none;
  display: flex; justify-content: space-between; align-items: center;
  border-bottom: none;
}
.mobile-nav__acc-icon {
  transition: transform 220ms; flex-shrink: 0;
}
.mobile-nav__acc-trigger[aria-expanded="true"] .mobile-nav__acc-icon {
  transform: rotate(180deg);
}
.mobile-nav__acc-body {
  background: rgba(13,13,13,0.02);
  padding: 4px 0 8px;
}
.mobile-nav__sub-link {
  display: block;
  padding: 12px 24px 12px 32px;
  font-family: var(--font-sans); font-size: 16px; font-weight: 400;
  color: var(--ink-soft); text-decoration: none;
  transition: color 150ms;
}
.mobile-nav__sub-link:hover { color: var(--ink); }
.nav-link--highlight { color: var(--orange); }
.mobile-nav__link--highlight { color: var(--orange); font-weight: 700; }
/* Mobile: 1 ligne — burger | logo centré | icônes */
@media (max-width: 900px) {
  .site-header__inner { display: flex; align-items: center; justify-content: space-between; padding: 14px 20px; }
  .site-header__logo { position: absolute; left: 50%; transform: translateX(-50%); }
  .site-header__logo .wordmark { font-size: 26px; }
  .site-header__menu { display: inline-flex; }
  .site-header__home-link { display: none; }
  .site-header__nav { display: none; }
  .icon-btn--md-up { display: none; }
}

/* ---------- Hero split ---------- */
.hero-full { position: relative; height: 560px; display: flex; align-items: flex-end; justify-content: center; overflow: hidden; background: var(--bg); }
.hero-full__bg { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; background: var(--bg); }
.hero-full__col-img { overflow: hidden; }
.hero-full__col-img img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; filter: saturate(1.8) contrast(1.15) brightness(1.05); }
.hero-full__overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(255,248,244,0.0) 0%, rgba(255,248,244,0.0) 25%, rgba(255,248,244,0.55) 50%, rgba(255,248,244,0.88) 68%, rgba(255,248,244,1.0) 100%); }
.hero-full__text { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; text-align: center; padding: 0 24px 28px; gap: 14px; max-width: 700px; }
.hero-full__eyebrow { font-family: var(--font-sans); font-size: 10px; font-weight: 700; letter-spacing: 0.28em; text-transform: uppercase; color: var(--accent); margin: 0; }
.hero-full__title { font-family: var(--font-serif); font-size: clamp(44px, 4vw, 68px); line-height: 1.0; font-weight: 300; color: var(--ink); margin: 0; letter-spacing: -0.02em; }
.hero-full__sub { font-family: var(--font-sans); font-size: 14px; line-height: 1.7; color: rgba(13,13,13,0.55); margin: 0; max-width: 30ch; }
.hero-full__cta { align-self: center; margin-top: 4px; }
@media (max-width: 860px) {
  .hero-full { height: 355px; }
  .hero-full__bg { gap: 4px; }
  .hero-full__bg img { filter: saturate(1.9) contrast(1.15) brightness(1.05); }
  .hero-full__overlay { background: linear-gradient(180deg, rgba(255,248,244,0.0) 0%, rgba(255,248,244,0.0) 32%, rgba(255,248,244,0.72) 58%, rgba(255,248,244,0.97) 76%, rgba(255,248,244,1.0) 100%); }
  .hero-full__text { padding: 100px 24px 28px; align-items: center; text-align: center; justify-content: center; max-width: 100%; gap: 10px; }
  .hero-full__eyebrow { display: block; }
  .hero-full__title { font-size: 36px; line-height: 1.05; }
  .hero-full__sub { display: none; }
  .hero-full__cta { align-self: center; }
}

/* ---------- Shop by category ---------- */
.shop-by-cat { padding: 40px 0 80px; background: var(--bg); }
.cat-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); }
.cat-grid[data-cols="2"] { grid-template-columns: repeat(2, 1fr); }
.cat-grid[data-cols="4"] { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1100px) { .cat-grid[data-cols="4"] { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 900px)  { .cat-grid, .cat-grid[data-cols="3"] { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { .cat-grid, .cat-grid[data-cols="3"] { grid-template-columns: 1fr; } }
@media (max-width: 480px)  { .cat-grid[data-cols="4"] { grid-template-columns: repeat(2, 1fr); } }

.cat-card { display: flex; flex-direction: column; text-decoration: none; color: var(--ink); group: card; }
.cat-card__media { position: relative; aspect-ratio: 4/5; border-radius: var(--r-lg); overflow: hidden; background: var(--bg-soft); }
.cat-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(0.2,0.7,0.2,1); }
.cat-card:hover .cat-card__media img { transform: scale(1.04); }
.cat-card__placeholder { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-family: var(--font-serif); font-size: 48px; padding: 24px; text-align: center; }
.cat-card__placeholder[style*="#F4E4D6"], .cat-card__placeholder[style*="#FFE0D2"] { color: var(--ink); }
.cat-card__chip { position: absolute; left: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 6px;
  background: #fff; color: var(--ink); padding: 10px 16px; border-radius: 999px; font-size: 13px; font-weight: 600;
  transition: gap 200ms, transform 200ms; }
.cat-card:hover .cat-card__chip { gap: 10px; transform: translateX(2px); }
.cat-card__foot { padding: 16px 4px 0; }
.cat-card__title { font-family: var(--font-serif); font-size: var(--type-cat-title); line-height: 1.0; margin: 0 0 4px; }
.cat-card__sub { color: var(--ink-soft); font-size: 14px; margin: 0; }

/* ---------- Dual product grid ---------- */
.dual-grid { padding: 72px 0 32px; }
.section-shop-by-cat + .section-dual-grid .dual-grid { padding-top: 32px; }
.dual-grid__eyebrow { margin-bottom: 40px; }
.dual-grid__block--second { margin-top: 40px; padding-top: 36px; border-top: 1px solid var(--border); }
.dual-grid__row-title { font-family: var(--font-serif); font-size: clamp(28px, 3.5vw, 44px); line-height: 1.2; letter-spacing: -0.025em; margin: 0 0 20px; font-weight: 400; color: var(--ink); }
.dual-grid__hl { background: var(--orange); color: var(--bg); padding: 2px 12px 5px; border-radius: 8px; box-decoration-break: clone; -webkit-box-decoration-break: clone; display: inline; }
.coll__title .dual-grid__hl { background: none; color: var(--orange); padding: 0; border-radius: 0; }
.dual-grid__row-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 28px; }
.dual-grid__label { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 5px 14px; border-radius: 999px; background: var(--ink); color: #fff; }
.dual-grid__label.is-orange { background: var(--orange); }
.dual-grid__see-all { font-size: 14px; font-weight: 500; color: var(--ink-soft); text-decoration: none; display: flex; align-items: center; gap: 5px; transition: color 150ms; }
.dual-grid__see-all:hover { color: var(--orange); }

/* ---------- Product grid ---------- */
.product-grid { padding: 72px 0; }
.product-grid__list { display: grid; grid-template-columns: repeat(var(--cols, 4), 1fr); gap: 24px 18px; }
@media (max-width: 1000px) { .product-grid__list { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px)  { .product-grid__list { grid-template-columns: repeat(2, 1fr); gap: 18px 12px; } }

/* ── Product card — style "clean white block" (dogsintown-inspired) ── */
.product-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(13,13,13,0.07);
  box-shadow: 0 2px 16px rgba(13,13,13,0.05);
  display: flex;
  flex-direction: column;
}
.product-card__link {
  flex: 1; display: flex; flex-direction: column; text-decoration: none; color: inherit;
}

/* Media zone — fond blanc, carré, images cachées temporairement */
.product-card__media {
  position: relative;
  aspect-ratio: 1;
  background: #fff;
  overflow: hidden;
}
.product-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: opacity .3s ease;
}
.product-card__hover {
  display: block;
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .3s ease;
}
.product-card__link:hover .product-card__hover { opacity: 1; }

/* Badge sale */
.product-card__badge {
  position: absolute; top: 12px; left: 12px;
  background: var(--ink); color: #fff;
  font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
  padding: 5px 12px; border-radius: 999px;
}
.product-card__badge.is-orange { background: var(--orange); }

/* Body */
.product-card__body {
  padding: 14px 16px 10px;
  display: flex; flex-direction: column; gap: 8px;
  flex: 1; text-align: center;
}

/* Titre — centré, 2 lignes max */
.product-card__title {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
  margin: 0;
  color: var(--ink);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Prix — barré petit au-dessus, prix final grand en orange en dessous */
.product-card__price {
  display: flex; flex-direction: column; align-items: center; gap: 2px; margin: 0;
}
.product-card__price-compare {
  color: var(--ink-muted); text-decoration: line-through; font-size: 12px; font-weight: 400;
}
.product-card__price-now {
  color: var(--ink); font-size: 17px; font-weight: 700; letter-spacing: -0.01em;
}

/* Dark bg overrides */
.is-on-dark .product-card { background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.1); }
.is-on-dark .product-card__title { color: var(--bg); }
.is-on-dark .product-card__price-now { color: var(--bg); }
.is-on-dark .product-card__price-compare { color: rgb(255 248 244 / 0.45); }
.is-on-dark .product-card__badge { background: var(--bg); color: var(--ink); }

/* Grid — gap ajusté pour le style card */
.product-grid__list { gap: 16px 12px; }
@media (max-width: 720px) { .product-grid__list { gap: 12px 10px; } }

/* ---------- Life's better with a mate ---------- */
.lifes-better { padding: 48px 0 80px; }
.lifes-better__inner { display: flex; flex-direction: column; align-items: center; gap: 0; }
.lifes-better__copy { width: 100%; }
.lifes-better__eyebrow { text-align: center; display: flex; align-items: center; justify-content: center; gap: 12px; }
.lifes-better__eyebrow::before, .lifes-better__eyebrow::after { content: ''; display: inline-block; width: 28px; height: 1.5px; background: var(--orange); opacity: 0.6; }
.lifes-better__title { font-size: var(--type-section-title); line-height: 1.35; letter-spacing: -0.02em; margin: 8px 0 20px; text-align: center; }
.lifes-better__title-hl { display: inline; background: var(--orange); color: var(--bg); box-decoration-break: clone; -webkit-box-decoration-break: clone; padding: 2px 12px 4px; border-radius: 8px; }
.lifes-better__body { color: var(--ink-soft); font-size: 17px; line-height: 1.6; margin: 0 auto 40px; max-width: 54ch; text-align: center; }
.lifes-better__body p { margin: 0; }
.lifes-better__banner { width: 100%; margin: 0 0 48px; border-radius: var(--r-lg); overflow: hidden; }
.lifes-better__banner img { width: 100%; height: 300px; object-fit: cover; object-position: center 20%; display: block; }
@media (max-width: 700px) { .lifes-better__banner img { height: 190px; } }
.lifes-better__cta { display: block; width: fit-content; margin: 0 auto; }

.bullet-list { list-style: none; padding: 0; margin: 0 0 40px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 40px; }
.bullet-list__item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 16px; }
.bullet-list__icon { width: 68px; height: 68px; border-radius: 999px; background: var(--bg); color: var(--orange); display: flex !important; align-items: center; justify-content: center; margin: 0 auto; box-shadow: 0 0 0 2px var(--orange-soft), 0 0 0 7px rgba(255,107,53,0.08); }
.bullet-list__icon svg { display: block; width: 26px; height: 26px; stroke-width: 1.8; margin: auto; }
.bullet-list__item strong { display: block; font-family: var(--font-serif); font-weight: 400; font-size: 18px; line-height: 1.2; color: var(--ink); letter-spacing: -0.01em; }
.bullet-list__item span { display: block; font-size: 13.5px; color: var(--ink-soft); line-height: 1.55; max-width: 20ch; }
@media (max-width: 900px) { .bullet-list { grid-template-columns: repeat(2, 1fr); gap: 32px; } }
@media (max-width: 480px) { .bullet-list { grid-template-columns: 1fr; gap: 24px; } }

/* ---------- Footer ---------- */
.site-footer { background: var(--ink); color: var(--bg); padding: 80px 0 0; }
.site-footer__inner { display: grid; grid-template-columns: 1.2fr 2fr; gap: 64px; padding-bottom: 56px; }
@media (max-width: 900px) { .site-footer__inner { grid-template-columns: 1fr; gap: 40px; } }
.site-footer__logo { color: var(--bg); text-decoration: none; display: block; margin-bottom: 18px; }
.site-footer__logo .wordmark { color: var(--bg); }
.site-footer__tag { color: rgb(255 248 244 / 0.65); max-width: 38ch; margin: 0 0 16px; font-size: 14px; line-height: 1.55; }
.site-footer__disclaimer { color: rgb(255 248 244 / 0.45); max-width: 42ch; margin: 0 0 24px; font-size: 12px; line-height: 1.5; }
.newsletter { display: flex; gap: 8px; max-width: 400px; margin-bottom: 20px; }
.newsletter input { flex: 1; background: transparent; border: 1.5px solid rgb(255 248 244 / 0.25); color: var(--bg); border-radius: 999px; padding: 12px 18px; font: inherit; outline: none; transition: border-color 150ms; }
.newsletter input::placeholder { color: rgb(255 248 244 / 0.5); }
.newsletter input:focus { border-color: var(--orange); }
.site-footer__social { display: flex; gap: 4px; }

.site-footer__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
@media (max-width: 600px) { .site-footer__cols { grid-template-columns: 1fr 1fr; } }
.footer-col__title { font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: rgb(255 248 244 / 0.5); margin: 0 0 16px; font-weight: 700; }
.footer-col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; }
.footer-col a { color: var(--bg); text-decoration: none; font-size: 14px; transition: color 150ms; }
.footer-col a:hover { color: var(--orange); }

.site-footer__bottom { border-top: 1px solid rgb(255 248 244 / 0.12); padding: 22px 0; }
.site-footer__bottom-inner { display: flex; justify-content: space-between; gap: 16px; font-size: 12px; color: rgb(255 248 244 / 0.55); }
@media (max-width: 600px) { .site-footer__bottom-inner { flex-direction: column; gap: 6px; } }

/* ---------- Section spacing utility ---------- */
.section-product-grid + .section-product-grid { padding-top: 0; }

/* ---------- Mobile global fixes ---------- */
@media (max-width: 640px) {
  /* Section head : heading + CTA se superposent sur petit écran → on empile */
  .section-head { flex-direction: column; align-items: flex-start; gap: 12px; margin-bottom: 28px; }
  .section-head__cta { font-size: 13px; }
  /* Shop by category : bottom padding réduit */
  .shop-by-cat { padding-top: 8px; padding-bottom: 48px; }
  /* Dual grid : moins de padding sur mobile */
  .section-shop-by-cat + .section-dual-grid .dual-grid { padding-top: 20px; }
  .dual-grid { padding: 48px 0 24px; }
  .dual-grid__block--second { margin-top: 28px; padding-top: 28px; }
  .dual-grid__row-title { margin-bottom: 12px; text-align: center; }
  .dual-grid__row-head { justify-content: center; }
  /* Our Promise : moins de padding sur mobile */
  .lifes-better { padding: 32px 0 52px; }
  /* Sections générales : padding réduit */
  .product-grid { padding: 52px 0; }
  /* FAQ : question font réduite sur mobile */
  .faq-item__q { font-size: 17px; padding: 18px 0; }
  /* Testimonials : head margin réduit */
  .testimonials__head { margin-bottom: 36px; }
  .testimonials { padding: 52px 0; }
  /* FAQ section */
  .faq { padding: 52px 0; }
}

/* ============================================================
   ADDITIONAL TEMPLATES — uses the same type tokens as the home
   ============================================================ */

/* ---------- PDP — KOMYE-style lookbook + sticky panel ---------- */
.pmpdp { background: var(--bg); }
.pmpdp__wrap { max-width: var(--container-max, 1280px); margin: 0 auto; padding: 0 var(--container-pad, 32px); }

/* Breadcrumb */
.pmpdp__crumb { font-size: 12px; color: var(--ink-muted); padding: 24px 0 16px; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.pmpdp__crumb a { color: var(--ink-muted); text-decoration: none; }
.pmpdp__crumb a:hover { color: var(--ink); }
.pmpdp__crumb-sep { color: var(--ink-muted); }
.pmpdp__crumb-current { color: var(--ink); }

/* Three-zone shell: [hero] [thumbs] [panel] — proportions KOMYE */
.pmpdp__grid { display: grid; grid-template-columns: minmax(0, 1fr) 96px 380px; gap: 0 0; align-items: flex-start; padding-bottom: 80px; max-width: 100%; margin: 0 auto; }

/* LEFT: Hero image avec flèches */
.pmpdp__hero-wrap { position: sticky; top: 0; background: #f5f1ec; }
.pmpdp__hero { margin: 0; width: 100%; }
.pmpdp__hero img { width: 100%; height: auto; display: block; object-fit: contain; background: #f5f1ec; }
.pmpdp__hero--placeholder { min-height: 60vh; display: flex; align-items: center; justify-content: center; background: #f7ece0; }

/* Flèches nav sur le hero */
.pmpdp__nav { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.92); border: 1.5px solid rgba(255,107,53,0.22); border-radius: 50%; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; cursor: pointer; color: #FF6B35; z-index: 2; box-shadow: 0 2px 10px rgba(255,107,53,0.12); transition: background .15s, transform .15s, box-shadow .15s; }
.pmpdp__nav:hover { background: #FFF3EE; transform: translateY(-50%) scale(1.08); box-shadow: 0 4px 16px rgba(255,107,53,0.2); }
.pmpdp__nav--prev { left: 12px; }
.pmpdp__nav--next { right: 12px; }

/* DROITE galerie: Thumbnail strip */
.pmpdp__thumbs { display: flex; flex-direction: column; gap: 4px; padding: 0 10px; position: sticky; top: 0; overflow-y: auto; max-height: 100vh; scrollbar-width: none; }
.pmpdp__thumbs::-webkit-scrollbar { display: none; }
.pmpdp__thumb { display: block; width: 76px; height: 76px; border: 0; padding: 0; background: var(--bg-soft); cursor: pointer; overflow: hidden; opacity: 0.5; transition: opacity 150ms; border-radius: 0; flex-shrink: 0; }
.pmpdp__thumb.is-active, .pmpdp__thumb:hover { opacity: 1; }
.pmpdp__thumb.is-active { box-shadow: inset 0 0 0 2px var(--ink); }
.pmpdp__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* RIGHT: Sticky panel */
.pmpdp__panel { position: sticky; top: calc(var(--header-h, 64px) + 24px); padding: 40px 0 40px 72px; }
.pmpdp__panel-inner { display: flex; flex-direction: column; gap: 24px; }
.pmpdp__form { display: flex; flex-direction: column; gap: 24px; margin: 0; }

.pmpdp__eyebrow { font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-muted); font-weight: 600; margin: 0; }
.pmpdp__title { font-family: var(--font-serif); font-weight: 400; font-size: 46px; line-height: 1.05; letter-spacing: -0.01em; color: var(--ink); margin: 0; }

/* Rating */
.pmpdp__rating { display: flex; align-items: center; gap: 10px; }
.pmpdp__stars { display: inline-flex; gap: 2px; color: #c8a857; }
.pmpdp__stars svg { width: 13px; height: 13px; fill: currentColor; }
.pmpdp__rating-link { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; font-size: 12px; white-space: nowrap; }

/* Price */
.pmpdp__price { display: flex; align-items: baseline; gap: 12px; padding-top: 2px; }
.pmpdp__price-now { font-size: 26px; font-weight: 700; color: var(--ink); letter-spacing: -0.01em; }
.pmpdp__price-was { font-size: 16px; color: #aaa; text-decoration: line-through; font-weight: 500; }
.pmpdp__price-save { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #fff; background: var(--orange); padding: 3px 10px; border-radius: 999px; }

/* Short description */
.pmpdp__short { color: #6b6b6b; font-size: 14px; line-height: 1.65; max-width: 44ch; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.pmpdp__short p { margin: 0; }
.pmpdp__short p + p { margin-top: 0.6em; }

/* Variants */
.pmpdp__variants { display: flex; flex-direction: column; gap: 18px; }
.pmpdp__opt { display: flex; flex-direction: column; gap: 10px; border: 0; padding: 0; margin: 0; min-width: 0; }
.pmpdp__opt legend { padding: 0; }
.pmpdp__opt-head { display: flex; justify-content: space-between; align-items: baseline; }
.pmpdp__opt-label { font-size: 11px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink); }
.pmpdp__opt-value { font-size: 12px; color: var(--ink-soft); font-weight: 500; }
.pmpdp__opt-chips { display: flex; flex-wrap: wrap; gap: 8px; }

/* Size pill */
.pmpdp__pill { appearance: none; border: 1px solid var(--line-strong); background: #fff; color: var(--ink); padding: 12px 22px; min-width: 64px; font-size: 12px; font-weight: 600; letter-spacing: 0.04em; border-radius: 0; cursor: pointer; transition: border-color 120ms, background 120ms, color 120ms; font-family: inherit; }
.pmpdp__pill:hover { border-color: var(--ink); }
.pmpdp__pill[aria-pressed="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.pmpdp__pill[disabled] { color: var(--ink-muted); background: #f5f0eb; cursor: not-allowed; text-decoration: line-through; }

/* Colour swatch */
.pmpdp__opt-chips--swatch { gap: 10px; }
.pmpdp__swatch { width: 56px; height: 56px; padding: 0; border: 1.5px solid transparent; background: transparent; cursor: pointer; position: relative; border-radius: 0; transition: border-color 120ms; }
.pmpdp__swatch-inner { display: block; width: 100%; height: 100%; border: 1px solid var(--line); background-size: cover; background-position: center; }
.pmpdp__swatch[aria-pressed="true"] { border-color: var(--ink); }
.pmpdp__swatch[aria-pressed="true"] .pmpdp__swatch-inner { border-color: transparent; }
.pmpdp__swatch:hover .pmpdp__swatch-inner { border-color: var(--ink-soft); }
.pmpdp__swatch[data-soldout="true"] { opacity: 0.4; cursor: not-allowed; }
.pmpdp__swatch[data-soldout="true"]::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top right, transparent calc(50% - 1px), var(--ink) calc(50%), transparent calc(50% + 1px)); pointer-events: none; }

/* Built-in colour palette */
.pmpdp__swatch.sw--green .pmpdp__swatch-inner,
.pmpdp__swatch.sw--sage-green .pmpdp__swatch-inner { background: radial-gradient(circle at 35% 30%, #b8d4b3 0%, #6f9265 45%, #4a6f3f 100%); }
.pmpdp__swatch.sw--purple .pmpdp__swatch-inner,
.pmpdp__swatch.sw--lavender .pmpdp__swatch-inner { background: radial-gradient(circle at 35% 30%, #d4c1d9 0%, #9b7faa 45%, #5e4670 100%); }
.pmpdp__swatch.sw--white .pmpdp__swatch-inner,
.pmpdp__swatch.sw--off-white .pmpdp__swatch-inner { background: radial-gradient(circle at 35% 30%, #ffffff 0%, #f0eae2 50%, #d6cdc1 100%); }
.pmpdp__swatch.sw--black .pmpdp__swatch-inner { background: #0d0d0d; }
.pmpdp__swatch.sw--rust .pmpdp__swatch-inner,
.pmpdp__swatch.sw--orange .pmpdp__swatch-inner { background: radial-gradient(circle at 35% 30%, #ffb592 0%, #FF6B35 45%, #b94315 100%); }
.pmpdp__swatch.sw--sand .pmpdp__swatch-inner { background: radial-gradient(circle at 35% 30%, #fbf0e2 0%, #ecd6b8 45%, #c9a87a 100%); }

/* Quantity */
.pmpdp__qty-wrap { display: flex; flex-direction: column; gap: 10px; }
.pmpdp__qty { display: inline-flex; align-items: center; border: 1px solid var(--line-strong); width: max-content; border-radius: 0; }
.pmpdp__qty-btn { width: 42px; height: 42px; border: 0; background: transparent; color: var(--ink); font-size: 16px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; font-family: inherit; }
.pmpdp__qty-btn:hover { background: #f5f0eb; }
.pmpdp__qty-btn:disabled { color: var(--ink-muted); cursor: not-allowed; }
.pmpdp__qty-input { width: 44px; height: 42px; border: 0; background: transparent; text-align: center; font-size: 14px; font-weight: 600; color: var(--ink); -moz-appearance: textfield; font-family: inherit; }
.pmpdp__qty-input::-webkit-outer-spin-button, .pmpdp__qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

/* CTA buttons */
.pmpdp__cta { display: flex; flex-direction: column; gap: 10px; }
.pmpdp__btn { appearance: none; width: 100%; height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; border-radius: 0; border: 1.5px solid var(--ink); cursor: pointer; transition: background 140ms, color 140ms, opacity 140ms; font-family: inherit; }
.pmpdp__btn--dark { background: var(--ink); color: #fff; }
.pmpdp__btn--dark:hover { background: #000; }
.pmpdp__btn--outline { background: transparent; color: var(--ink); }
.pmpdp__btn--outline:hover { background: var(--ink); color: #fff; }
.pmpdp__btn[disabled] { opacity: 0.5; cursor: not-allowed; }
.pmpdp__btn.is-added { background: #1d6b40; border-color: #1d6b40; color: #fff; }
.pmpdp__dyn-checkout { width: 100%; }

/* Trust row */
.pmpdp__trust { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 8px; font-size: 10px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: #999; white-space: nowrap; flex-wrap: nowrap; }
.pmpdp__trust-sep { color: #ccc; font-size: 8px; }
.pmpdp__rule { height: 1px; background: var(--line); border: 0; margin: 14px 0 0; }

/* Accordions */
.pmpdp__acc { border-bottom: 1px solid #e5e5e5; }
.pmpdp__acc > summary { display: flex; align-items: center; justify-content: space-between; padding: 18px 0; cursor: pointer; list-style: none; font-size: 12px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink); }
.pmpdp__acc > summary::-webkit-details-marker { display: none; }
.pmpdp__acc-icon { position: relative; width: 12px; height: 12px; flex: 0 0 auto; }
.pmpdp__acc-icon::before, .pmpdp__acc-icon::after { content: ""; position: absolute; background: var(--ink); transition: transform 200ms, opacity 200ms; }
.pmpdp__acc-icon::before { left: 0; right: 0; top: 50%; height: 1.5px; transform: translateY(-50%); }
.pmpdp__acc-icon::after { top: 0; bottom: 0; left: 50%; width: 1.5px; transform: translateX(-50%); }
.pmpdp__acc[open] .pmpdp__acc-icon::after { transform: translateX(-50%) scaleY(0); }
.pmpdp__acc-body { padding: 0 0 22px; color: var(--ink-soft); font-size: 13px; line-height: 1.7; }
.pmpdp__acc-body p { margin: 0 0 1em; }
.pmpdp__acc-body p:last-child { margin-bottom: 0; }
.pmpdp__acc-body ul { padding-left: 18px; margin: 8px 0; }
.pmpdp__acc-body li { margin-bottom: 4px; }

/* Reviews */
.pmpdp__jdgm-reviews { margin-top: 8px; }

/* Toast */
.pmpdp__toast { position: fixed; right: 24px; bottom: 24px; z-index: 60; background: var(--ink); color: #fff; padding: 14px 18px; font-size: 13px; font-weight: 500; display: flex; align-items: center; gap: 10px; box-shadow: 0 8px 30px -10px rgba(0,0,0,0.4); transform: translateY(20px); opacity: 0; pointer-events: none; transition: transform 200ms, opacity 200ms; }
.pmpdp__toast.is-open { transform: translateY(0); opacity: 1; }
.pmpdp__toast svg { color: var(--orange); width: 18px; height: 18px; }

/* Focus */
.pmpdp :focus-visible { outline: 2px solid var(--orange); outline-offset: 2px; }
.pmpdp summary:focus-visible { outline-offset: 4px; }

/* Responsive */
@media (max-width: 1100px) {
  .pmpdp__grid { grid-template-columns: 1fr; max-width: 100%; }
  .pmpdp__thumbs { flex-direction: row; max-height: none; padding: 8px 0; overflow-x: auto; }
  .pmpdp__thumb { width: 64px; height: 64px; flex-shrink: 0; }
  .pmpdp__panel { position: static; padding: 32px 0; }
  .pmpdp__hero-wrap { position: static; }
  .pmpdp__nav { display: flex; }
}
@media (max-width: 640px) { .pmpdp__wrap { padding: 0 20px; } .pmpdp__title { font-size: 28px; } }

/* ---------- Collection ---------- */
.coll { padding: 56px 0 100px; }
.coll:has(.coll__banner) { padding-top: 0; }
.coll__banner { position: relative; height: 320px; overflow: hidden; }
.coll__banner img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.coll__banner-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(13,13,13,0.1), rgba(13,13,13,0.65)); display: flex; align-items: flex-end; padding-bottom: 40px; }
.coll__banner-title { color: #fff; font-size: clamp(2rem, 5vw, 3.5rem); font-family: var(--font-heading); letter-spacing: -0.02em; margin: 0; }
@media (max-width: 767px) { .coll__banner { height: 220px; } }
.coll__head { max-width: 740px; margin: 0 0 32px; }
.coll__title { font-size: var(--type-page-title); line-height: 1.25; letter-spacing: -0.02em; margin: 0 0 16px; }
.coll__desc { color: var(--ink-soft); font-size: var(--type-body); line-height: 1.6; }
/* Toolbar — minimaliste, Filter à gauche, count à droite */
.coll__toolbar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 0; margin-bottom: 20px;
  border-bottom: 1px solid var(--line);
}
.coll__toolbar-right { display: flex; align-items: center; gap: 20px; }
.coll__count { font-size: 13px; color: var(--ink-soft); margin: 0; white-space: nowrap; }
.coll__count strong { font-weight: 600; color: var(--ink); }

/* Filter & Sort — style lien texte avec icône, couleur brand */
.coll__fsort-btn {
  display: inline-flex; align-items: center; gap: 7px;
  background: none; border: none; padding: 0;
  font: 600 14px var(--font-sans); color: var(--orange);
  cursor: pointer; letter-spacing: 0.02em;
  transition: opacity 150ms;
}
.coll__fsort-btn:hover { opacity: 0.75; }
.coll__fsort-btn svg { stroke: var(--orange); }

/* Sort desktop — discret */
.coll__sort--desktop select {
  border: 1px solid var(--line-strong); border-radius: 999px;
  padding: 7px 32px 7px 14px; font: inherit; font-size: 13px;
  background: transparent; appearance: none; cursor: pointer; color: var(--ink);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%230d0d0d' stroke-width='2' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat: no-repeat; background-position: right 12px center;
}
@media (max-width: 767px) {
  .coll__toolbar-right .coll__sort--desktop { display: none; }
}

.coll__empty { text-align: center; padding: 80px 0; display: flex; flex-direction: column; align-items: center; gap: 24px; }
.coll__empty p { color: var(--ink-soft); font-size: var(--type-body); margin: 0; }

/* ---------- Collection filters (sub-category pills) ---------- */
.coll-filters { display: flex; flex-wrap: wrap; gap: 8px; padding: 24px 0 4px; }
.coll-filters__pill { display: inline-flex; align-items: center; height: 34px; padding: 0 16px; border-radius: 999px; border: 1.5px solid var(--border, #e8e0d8); font-size: 13px; font-weight: 500; color: var(--ink); text-decoration: none; white-space: nowrap; transition: border-color 150ms, background 150ms, color 150ms; }
.coll-filters__pill:hover { border-color: var(--orange); color: var(--orange); }
.coll-filters__pill.is-active { background: var(--orange); border-color: var(--orange); color: #fff; }
@media (max-width: 600px) { .coll-filters { gap: 6px; } .coll-filters__pill { height: 30px; font-size: 12px; padding: 0 12px; } }
@media (max-width: 767px) { .coll-filters { display: none; } } /* Mobile: usar el drawer */
.coll-filters__more { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; font-size: 12px; color: var(--ink-muted); font-style: italic; }

/* ---------- Cart ---------- */
.cart { padding: 56px 0 100px; }
.cart__head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 32px; gap: 16px; flex-wrap: wrap; }
.cart__title { font-size: var(--type-page-title); line-height: 1.0; letter-spacing: -0.02em; margin: 0; }
.cart__continue { font-size: var(--type-body-sm); color: var(--ink-soft); text-decoration: none; }
.cart__continue:hover { color: var(--ink); }
.cart__form { display: grid; grid-template-columns: 1fr 380px; gap: 56px; align-items: flex-start; }
@media (max-width: 900px) { .cart__form { grid-template-columns: 1fr; gap: 32px; } }
.cart__items { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 4px; }
.cart-item { display: grid; grid-template-columns: 96px 1fr auto auto; gap: 18px; align-items: flex-start; padding: 18px 0; border-top: 1px solid var(--line); position: relative; }
@media (max-width: 500px) { .cart-item { grid-template-columns: 72px 1fr auto; gap: 12px; } .cart-item__body { min-width: 0; overflow: hidden; } .cart-item__price { grid-column: 2; justify-self: start; } .cart-item__remove { grid-column: 3; grid-row: 1; } .cart-item__img { width: 72px; height: 72px; } .cart-item__title { font-size: 13px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; word-break: break-word; } }
.cart-item:last-child { border-bottom: 1px solid var(--line); }
.cart-item__img { width: 96px; height: 96px; border-radius: var(--r-md); overflow: hidden; background: var(--bg-soft); }
.cart-item__img img { width: 100%; height: 100%; object-fit: cover; }
.cart-item__title { font-family: var(--font-sans); font-size: var(--type-body); font-weight: 600; line-height: 1.3; margin: 0 0 4px; }
.cart-item__title a { color: var(--ink); text-decoration: none; }
.cart-item__variant { font-size: var(--type-meta); color: var(--ink-muted); margin: 0 0 12px; }
.cart-item__qty { display: inline-flex; align-items: center; gap: 0; border: 1.5px solid var(--line-strong); border-radius: 999px; padding: 4px; }
.cart-item__qty input { width: 36px; border: 0; background: transparent; text-align: center; font: 600 14px var(--font-sans); color: var(--ink); }
.qty-btn { width: 32px; height: 32px; border: 0; background: transparent; color: var(--ink); font-size: 18px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 999px; transition: background 120ms; font-family: inherit; }
.qty-btn:hover { background: var(--bg-soft); }
.cart-item__price { font-weight: 600; font-size: var(--type-body); }
.cart-item__remove { color: var(--ink-muted); text-decoration: none; font-size: 22px; line-height: 1; }
.cart-item__remove:hover { color: var(--orange); }

.cart__totals { background: var(--bg-soft); border-radius: var(--r-lg); padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.cart__totals-row { display: flex; justify-content: space-between; align-items: baseline; font-size: var(--type-body); }
.cart__totals-row strong { font-size: 22px; font-weight: 700; }
.cart__totals-note { font-size: var(--type-meta); color: var(--ink-soft); margin: 0; }

.cart__empty { text-align: center; padding: 80px 0; }
.cart__empty-title { font-family: var(--font-serif); font-size: var(--type-page-title); line-height: 1.0; margin: 0 0 12px; }
.cart__empty-sub { color: var(--ink-soft); font-size: var(--type-body); margin: 0 0 24px; }
.cart__empty-ctas { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.cart__empty-link { font-family: var(--font-sans); font-size: 14px; color: var(--orange); text-decoration: underline; }

/* ---------- Page / 404 / Search ---------- */
.page { padding: 80px 0 100px; }
.page__inner { max-width: 720px; margin: 0 auto; }
.page__title { font-size: var(--type-page-title); line-height: 1.0; letter-spacing: -0.02em; margin: 0 0 32px; }
.page__content.rte { font-size: var(--type-body); line-height: 1.7; color: var(--ink-soft); }

.not-found { padding: 120px 0; background: var(--bg-soft); text-align: center; }
.not-found__inner { max-width: 600px; margin: 0 auto; }
.not-found__title { font-size: var(--type-page-title); line-height: 1.0; letter-spacing: -0.02em; margin: 0 0 16px; }
.not-found__sub { color: var(--ink-soft); font-size: var(--type-body); margin: 0 0 32px; }
.not-found__cta { display: inline-flex; gap: 12px; flex-wrap: wrap; justify-content: center; }

.search { padding: 56px 0 100px; }
.search__head { max-width: 720px; margin: 0 auto 40px; text-align: center; }
.search__title { font-size: var(--type-page-title); line-height: 1.0; letter-spacing: -0.02em; margin: 0 0 24px; }
.search__form { display: flex; gap: 8px; max-width: 480px; margin: 0 auto; }
.search__form input { flex: 1; border: 1.5px solid var(--line-strong); border-radius: 999px; padding: 14px 22px; font: inherit; background: var(--bg); outline: none; }
.search__form input:focus { border-color: var(--orange); }
.search__empty { text-align: center; color: var(--ink-soft); font-size: var(--type-body); }

/* ---------- Pagination ---------- */
.pagination { display: flex; justify-content: center; align-items: center; gap: 6px; margin: 56px 0 0; }
.pagination a, .pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px;
  border-radius: 999px; font-size: var(--type-body-sm); font-weight: 600; color: var(--ink); text-decoration: none; transition: background 150ms; }
.pagination a:hover { background: rgb(13 13 13 / 0.06); }
.pagination .is-current { background: var(--ink); color: var(--bg); }
.pagination .is-disabled { color: var(--ink-muted); }

/* ---------- Utility sections (icon-row, image-with-text, testimonials, faq, email-signup) ---------- */
.icon-row { padding: 64px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.icon-row__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
@media (max-width: 800px) { .icon-row__grid { grid-template-columns: repeat(2, 1fr); gap: 24px; } }
.icon-row__item { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.icon-row__icon { width: 44px; height: 44px; border-radius: 999px; background: var(--orange-soft); color: var(--orange); display: inline-flex; align-items: center; justify-content: center; }
.icon-row__title { font-family: var(--font-sans); font-size: var(--type-body); font-weight: 600; margin: 0; }
.icon-row__body { font-size: var(--type-body-sm); color: var(--ink-soft); margin: 0; line-height: 1.5; }

.iwt { padding: 80px 0; }
.iwt__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.iwt__inner[data-reverse="true"] { direction: rtl; }
.iwt__inner[data-reverse="true"] > * { direction: ltr; }
@media (max-width: 900px) { .iwt__inner { grid-template-columns: 1fr; gap: 32px; } }
.iwt__media img,
.iwt__placeholder { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--r-lg); }
.iwt__placeholder { background: linear-gradient(135deg, var(--bg-soft), var(--orange-soft)); display: flex; align-items: center; justify-content: center; color: var(--ink-muted); font-size: 13px; }
.iwt__title { font-size: var(--type-page-title); line-height: 1.0; letter-spacing: -0.02em; margin: 0 0 20px; }
.iwt__body { color: var(--ink-soft); font-size: var(--type-body); line-height: 1.65; margin: 0 0 28px; max-width: 50ch; }

.testimonials { padding: 72px 0; background: var(--bg-soft); }
.testimonials__head { text-align: center; margin-bottom: 56px; }
.testimonials__summary { display: inline-flex; align-items: center; gap: 8px; color: var(--ink-soft); font-size: var(--type-body-sm); margin-top: 14px; }
.testimonials__summary strong { color: var(--ink); }
.testimonials__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 900px) { .testimonials__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px)  { .testimonials__grid { grid-template-columns: 1fr; } }
.review-card { background: var(--bg); border-radius: var(--r-lg); padding: 28px; display: flex; flex-direction: column; gap: 14px; }
.review-card__title { font-family: var(--font-serif); font-size: 24px; line-height: 1.15; margin: 0; }
.review-card__body { color: var(--ink-soft); font-size: var(--type-body); line-height: 1.55; margin: 0; flex: 1; }
.review-card__author { display: flex; flex-direction: column; gap: 2px; font-size: var(--type-meta); }
.review-card__author strong { color: var(--ink); font-weight: 600; font-size: var(--type-body-sm); }
.review-card__author span { color: var(--ink-muted); }
.stars { color: var(--orange); display: inline-flex; gap: 1px; }

.faq { padding: 72px 0; }
.faq__inner { max-width: 820px; margin: 0 auto; }
.faq__head { text-align: center; margin-bottom: 48px; }
.faq__list { display: flex; flex-direction: column; }
.faq-item { border-bottom: 1px solid var(--line-strong); }
.faq-item__q { display: flex; align-items: center; justify-content: space-between; gap: 16px; cursor: pointer; padding: 22px 0;
  font-family: var(--font-serif); font-size: 22px; line-height: 1.3; color: var(--ink); list-style: none; }
.faq-item__q::-webkit-details-marker { display: none; }
.faq-item__icon { color: var(--ink-soft); transition: transform 200ms; }
.faq-item[open] .faq-item__icon { transform: rotate(45deg); }
.faq-item__a { padding: 0 0 22px; color: var(--ink-soft); font-size: var(--type-body); line-height: 1.65; max-width: 64ch; }

.email-signup { padding: 72px 0; background: var(--ink); color: var(--bg); text-align: center; }
.email-signup__inner { max-width: 640px; margin: 0 auto; }
.email-signup .eyebrow { color: rgb(255 248 244 / 0.6); }
.email-signup__title { font-family: var(--font-serif); font-size: var(--type-page-title); line-height: 1.0; letter-spacing: -0.02em; color: var(--bg); margin: 0 0 16px; }
.email-signup__sub { color: rgb(255 248 244 / 0.75); font-size: var(--type-body); margin: 0 0 32px; }
.email-signup__form { display: flex; gap: 8px; max-width: 460px; margin: 0 auto; }
.email-signup__form input { flex: 1; background: transparent; border: 1.5px solid rgb(255 248 244 / 0.25); color: var(--bg); border-radius: 999px; padding: 14px 22px; font: inherit; outline: none; }
.email-signup__form input::placeholder { color: rgb(255 248 244 / 0.5); }
.email-signup__form input:focus { border-color: var(--orange); }
@media (max-width: 480px) { .email-signup__form { flex-direction: column; } .email-signup__form .btn { width: 100%; } }

/* ---------- Rich text ---------- */
.rte > * + * { margin-top: 1em; }
.rte h2 { font-size: 28px; line-height: 1.2; }
.rte h3 { font-size: 22px; line-height: 1.2; }
.rte a { color: var(--orange); text-decoration: underline; text-underline-offset: 3px; }
.rte ul, .rte ol { padding-left: 1.4em; }
.rte img { border-radius: var(--r-md); }

/* ---------- Our Story page ---------- */
.our-story { padding: 0 0 80px; }
.our-story__hero { position: relative; height: var(--ah, 520px); overflow: hidden; background: var(--bg-soft); margin-bottom: 64px; }
.our-story__hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.our-story__hero-placeholder { position: absolute; inset: 0; background: linear-gradient(135deg, var(--bg-soft), var(--orange-soft)); display: flex; align-items: center; justify-content: center; color: var(--ink-muted); }
.our-story__hero-scrim { position: absolute; inset: 0; background: linear-gradient(180deg, rgb(13 13 13 / 0.0) 0%, rgb(13 13 13 / 0.55) 100%); }
.our-story__hero-inner { position: relative; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding-bottom: 56px; color: #fff; }
.our-story__hero-title { font-family: var(--font-serif); font-size: var(--type-page-title); line-height: 1.0; letter-spacing: -0.02em; color: #fff; margin: 0; max-width: 18ch; }
.our-story__lead { max-width: 720px; margin: 0 auto 80px; }
.our-story__intro { font-family: var(--font-serif); font-size: clamp(22px, 2.4vw, 30px); line-height: 1.35; color: var(--ink); margin: 0; text-wrap: balance; text-align: center; }
.our-story__cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; margin-bottom: 96px; }
@media (max-width: 800px) { .our-story__cols { grid-template-columns: 1fr; gap: 24px; } }
.our-story-pillar { display: flex; flex-direction: column; gap: 12px; align-items: center; text-align: center; }
.our-story-pillar__icon { width: 56px; height: 56px; border-radius: 999px; background: var(--bg); color: var(--orange); display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 0 0 1.5px var(--orange-soft) inset, 0 6px 18px -6px rgb(255 107 53 / 0.3); }
.our-story-pillar__icon svg { width: 26px; height: 26px; stroke-width: 2; }
.our-story-pillar__title { font-family: var(--font-serif); font-size: 24px; line-height: 1.2; margin: 0; }
.our-story-pillar__body { color: var(--ink-soft); font-size: 15px; line-height: 1.6; margin: 0; }
.our-story__body { max-width: 720px; margin: 0 auto 64px; }
.our-story__body-inner { font-size: 17px; line-height: 1.75; color: var(--ink-soft); }
.our-story__body-inner p { margin: 0 0 1.4em; }
.our-story__body-inner p strong { color: var(--ink); font-weight: 600; }
.our-story__signoff { max-width: 720px; margin: 0 auto 56px; padding-top: 32px; border-top: 1px solid var(--line); text-align: center; }
.our-story__signoff p { font-family: var(--font-serif); font-size: 22px; line-height: 1.4; color: var(--ink); margin: 0 0 8px; }
.our-story__signed { font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-muted); }
.our-story__cta { text-align: center; }
.our-story__title-hl { background: var(--orange); color: #fff; padding: 2px 12px 5px; border-radius: 8px; box-decoration-break: clone; -webkit-box-decoration-break: clone; display: inline; }
@media (max-width: 700px) {
  .our-story { padding: 0 0 60px; }
  .our-story__hero { margin-bottom: 40px; }
  .our-story__lead { margin-bottom: 48px; }
  .our-story__cols { margin-bottom: 56px; }
  .our-story__body { margin-bottom: 40px; }
}

/* ── Mobile nav drawer ───────────────────────────────────────── */
.mobile-nav__backdrop {
  display: none;
  position: fixed; inset: 0; z-index: 1998;
  background: rgba(13,13,13,0.55);
  opacity: 0; transition: opacity 300ms ease;
}
body.menu-open .mobile-nav__backdrop {
  display: block; opacity: 1;
}

.mobile-nav {
  position: fixed; top: 0; left: 0; bottom: 0; z-index: 1999;
  width: min(340px, 88vw);
  background: var(--bg-soft, #FFF8F4);
  display: flex; flex-direction: column;
  transform: translateX(-100%);
  transition: transform 320ms cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto; -webkit-overflow-scrolling: touch;
}
body.menu-open .mobile-nav {
  transform: translateX(0);
}

.mobile-nav__top {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid rgba(13,13,13,0.08);
}

.mobile-nav__links {
  display: flex; flex-direction: column;
  padding: 12px 0;
}
.mobile-nav__link {
  display: block;
  padding: 16px 24px;
  font-family: var(--font-serif, serif);
  font-size: 22px; font-weight: 400;
  color: var(--ink, #0d0d0d);
  text-decoration: none;
  border-bottom: 1px solid rgba(13,13,13,0.06);
  touch-action: manipulation;
}
.mobile-nav__link:active { background: rgba(13,13,13,0.04); }
.mobile-nav__acc-trigger { display: flex; }

.mobile-nav__footer {
  margin-top: auto;
  padding: 24px;
  display: flex; flex-direction: column; gap: 10px;
  border-top: 1px solid rgba(13,13,13,0.08);
}

/* ── Contact page ─────────────────────────────────────────────── */
.contact-page { padding: 80px 0 100px; }
.contact-page__head { max-width: 600px; margin: 0 auto 64px; text-align: center; }
.contact-page__title { font-family: var(--font-serif); font-size: clamp(32px, 4vw, 52px); line-height: 1.1; margin: 8px 0 16px; }
.contact-page__sub { color: var(--ink-soft, #555); font-size: 17px; line-height: 1.6; margin: 0; }

.contact-page__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start;
  max-width: 1000px; margin: 0 auto;
}
@media (max-width: 760px) { .contact-page__grid { grid-template-columns: 1fr; gap: 40px; } }

.contact-info-block { margin-bottom: 32px; }
.contact-info-block h3 { font-family: var(--font-serif); font-size: 20px; margin: 0 0 8px; }
.contact-page__email { color: var(--orange); font-weight: 600; text-decoration: none; font-size: 17px; }
.contact-page__email:hover { text-decoration: underline; }
.contact-page__response-time { color: var(--ink-soft, #555); font-size: 14px; margin: 4px 0 0; }

.contact-reasons { list-style: none; padding: 0; margin: 0 0 32px; display: flex; flex-direction: column; gap: 12px; }
.contact-reasons li { font-size: 15px; line-height: 1.5; color: var(--ink-soft, #555); padding-left: 16px; border-left: 2px solid var(--orange); }
.contact-reasons li strong { color: var(--ink); }
.contact-page__social { font-size: 14px; color: var(--ink-soft, #555); line-height: 1.5; }

.contact-page__form { background: var(--bg-soft, #FFF8F4); border-radius: 16px; padding: 40px; }
@media (max-width: 480px) { .contact-page__form { padding: 24px; } }

.form-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 20px; }
.form-field label { font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink); }
.form-field input, .form-field textarea {
  width: 100%; padding: 12px 16px; border: 1.5px solid rgba(13,13,13,0.15);
  border-radius: 10px; font-size: 15px; font-family: inherit; color: var(--ink);
  background: #fff; transition: border-color 180ms;
  box-sizing: border-box;
}
.form-field input:focus, .form-field textarea:focus {
  outline: none; border-color: var(--orange);
}
.form-field textarea { resize: vertical; min-height: 140px; }

.contact-page__success {
  background: #e8f5e9; border-radius: 10px; padding: 16px 20px; margin-bottom: 24px;
  color: #2e7d32; font-weight: 500;
}
.contact-page__errors {
  background: #fdecea; border-radius: 10px; padding: 16px 20px; margin-bottom: 24px;
  color: #c62828;
}
.contact-page__errors ul { margin: 8px 0 0; padding-left: 20px; }

/* ============================================================
   AFTERPAY + JUDGE.ME
   ============================================================ */
afterpay-placement { display: block; }
.pmpdp__jdgm-reviews { display: none; }

/* ============================================================
   PDP REVIEWS SECTION — full-width block below accordions
   ============================================================ */
.pmpdp__reviews-section {
  background: var(--bg-soft, #F4E4D6);
  padding: 64px 0;
}
.pmpdp__reviews-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}

/* Override Judge.me CSS custom properties — PAW brand palette */
.pmpdp__reviews-section .jm-review-widget,
.pmpdp__reviews-section .jm-review-item {
  --jm-review-widget-star-and-histogram-color: #c8a857 !important;
  --jm-review-widget-button-color: var(--ink, #0d0d0d) !important;
  --jm-review-widget-button-text-color: #fff !important;
  --jm-widget-primary-color: #c8a857 !important;
  --jm-widget-border-radius: 0px !important;
  --jm-widget-border-radius-simplified: 2px !important;
}

/* "Customer Reviews" title — serif, PDP tone */
.pmpdp__reviews-section .jm-review-widget-minimal-header__title {
  font-family: var(--font-serif) !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  color: var(--ink) !important;
  letter-spacing: -0.01em !important;
  line-height: 1.1 !important;
}

/* Score line: "4.8 • 47 reviews" */
.pmpdp__reviews-section .jm-average-rating-display .jm-text {
  color: var(--ink) !important;
}

/* Write a review button — brand style, no radius */
.pmpdp__reviews-section .jm-button--primary {
  border-radius: 0 !important;
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}
.pmpdp__reviews-section .jm-button--secondary {
  border-radius: 0 !important;
}

/* Reviews grid — 3 columns desktop */
.pmpdp__reviews-section .jm-review-widget__body {
  display: flex !important;
  flex-direction: column !important;
}
/* Actual review items wrapper — use grid for 3-column layout */
.pmpdp__reviews-section .jdgm-review-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: start !important;
}

/* Individual review card */
.pmpdp__reviews-section .jm-review-item {
  background: #fff !important;
  border: 1px solid var(--line, rgba(13,13,13,0.1)) !important;
  padding: 24px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Reviewer avatar — orange brand tint */
.pmpdp__reviews-section .jm-reviewer-avatar--with-initial {
  background: var(--orange-soft, #FFE0D2) !important;
  border-radius: 50% !important;
}
.pmpdp__reviews-section .jm-reviewer-avatar__initial {
  color: var(--orange, #FF6B35) !important;
  font-weight: 700 !important;
}

/* Reviewer name */
.pmpdp__reviews-section .jm-reviewer-info__name {
  font-weight: 700 !important;
  font-size: 13px !important;
  color: var(--ink) !important;
}

/* Review title */
.pmpdp__reviews-section .jm-review-content__title {
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
}

/* Review body text */
.pmpdp__reviews-section .jm-review-content__body {
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: var(--ink-soft, #4a4a4a) !important;
}

/* Pagination — minimal style */
.pmpdp__reviews-section .jm-pagination-controls__button--active {
  background: var(--ink) !important;
  border-color: var(--ink) !important;
  color: #fff !important;
  border-radius: 0 !important;
}
.pmpdp__reviews-section .jm-pagination-controls__button {
  border-radius: 0 !important;
}

/* Hide dates in review section */
.pmpdp__reviews-section .jm-reviewer-info__details > .jm-cluster:nth-child(2) { display: none !important; }

@media (max-width: 900px) {
  .pmpdp__reviews-section .jdgm-review-list { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 640px) {
  .pmpdp__reviews-section .jdgm-review-list { grid-template-columns: 1fr !important; }
  .pmpdp__reviews-section { padding: 40px 0; }
  .pmpdp__reviews-inner { padding: 0 16px; }
}

/* ============================================================
   NEWSLETTER POPUP
   ============================================================ */
body.pm-popup-open { overflow: hidden; }

.pm-popup {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  padding: 16px;
  pointer-events: none;
}
.pm-popup[hidden] { display: none; }
.pm-popup--visible { pointer-events: all; }

.pm-popup__overlay {
  position: absolute; inset: 0;
  background: rgb(13 13 13 / 0.55);
  opacity: 0; transition: opacity 0.35s ease;
}
.pm-popup--visible .pm-popup__overlay { opacity: 1; }

.pm-popup__box {
  position: relative; z-index: 1;
  background: var(--bg, #FFF8F4);
  border-radius: 20px;
  padding: 48px 40px 40px;
  width: 100%; max-width: 460px;
  text-align: center;
  transform: translateY(24px) scale(0.97);
  opacity: 0;
  transition: transform 0.35s cubic-bezier(0.34,1.56,0.64,1), opacity 0.3s ease;
  box-shadow: 0 24px 80px rgb(13 13 13 / 0.18);
}
.pm-popup--visible .pm-popup__box {
  transform: translateY(0) scale(1);
  opacity: 1;
}

.pm-popup__close {
  position: absolute; top: 16px; right: 16px;
  background: none; border: none; cursor: pointer;
  color: var(--ink-muted, #8a8a8a); padding: 6px;
  line-height: 1; border-radius: 50%;
  transition: color 0.2s, background 0.2s;
}
.pm-popup__close:hover { color: var(--ink, #0d0d0d); background: var(--line, rgb(13 13 13 / 0.08)); }

.pm-popup__badge {
  display: inline-block;
  font-family: var(--font-sans, sans-serif);
  font-size: 11px; font-weight: 700; letter-spacing: 0.12em;
  color: var(--orange, #FF6B35);
  background: rgb(255 107 53 / 0.10);
  border-radius: 100px;
  padding: 5px 14px;
  margin-bottom: 18px;
}

.pm-popup__title {
  font-family: var(--font-serif, serif);
  font-size: clamp(36px, 6vw, 52px);
  line-height: 1.05;
  color: var(--ink, #0d0d0d);
  margin: 0 0 14px;
}

.pm-popup__sub {
  font-family: var(--font-sans, sans-serif);
  font-size: 15px; line-height: 1.6;
  color: var(--ink-soft, #4a4a4a);
  margin: 0 0 28px;
}

.pm-popup__field {
  display: flex; flex-direction: column; gap: 10px;
}

.pm-popup__input {
  font-family: var(--font-sans, sans-serif);
  font-size: 15px;
  padding: 14px 18px;
  border: 1.5px solid var(--line-strong, rgb(13 13 13 / 0.18));
  border-radius: 10px;
  background: #fff;
  color: var(--ink, #0d0d0d);
  width: 100%; box-sizing: border-box;
  transition: border-color 0.2s;
}
.pm-popup__input:focus {
  outline: none; border-color: var(--orange, #FF6B35);
}
.pm-popup__input::placeholder { color: var(--ink-muted, #8a8a8a); }

.pm-popup__btn {
  width: 100%; padding: 15px;
  font-size: 15px; font-weight: 700;
  border-radius: 10px;
}

.pm-popup__legal {
  font-family: var(--font-sans, sans-serif);
  font-size: 12px; color: var(--ink-muted, #8a8a8a);
  margin: 12px 0 0;
}

/* Success state */
.pm-popup__success { padding: 8px 0; }
.pm-popup__tick { margin-bottom: 18px; }
.pm-popup__success-msg {
  font-family: var(--font-sans, sans-serif);
  font-size: 15px; color: var(--ink-soft, #4a4a4a);
  margin: 0 0 14px;
}

.pm-popup__code {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--ink, #0d0d0d); color: #fff;
  font-family: var(--font-sans, sans-serif);
  font-size: 22px; font-weight: 700; letter-spacing: 0.08em;
  border: none; border-radius: 12px;
  padding: 14px 28px; cursor: pointer;
  transition: background 0.2s;
  margin-bottom: 20px;
}
.pm-popup__code:hover { background: #222; }
.pm-popup__copy-hint {
  font-size: 11px; font-weight: 400; letter-spacing: 0;
  opacity: 0.6;
}

.pm-popup__shop-link {
  display: block;
  font-family: var(--font-sans, sans-serif);
  font-size: 14px; font-weight: 600;
  color: var(--orange, #FF6B35);
  text-decoration: none;
}
.pm-popup__shop-link:hover { text-decoration: underline; }

@media (max-width: 480px) {
  .pm-popup__box { padding: 40px 24px 32px; }
}

/* ============================================================
   PHASE 2-9 — Collection, Cards, Quick View, Filter Drawer
   ============================================================ */

/* ---------- Product card — actions strip ---------- */
.product-card { display: flex; flex-direction: column; }
.product-card__link { flex: 1; display: flex; flex-direction: column; text-decoration: none; color: inherit; }
.product-card__actions { padding: 10px 2px 0; }

.product-card__actions { padding: 0 12px 14px; text-align: center; }
.product-card__btn {
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 46px;
  font-family: var(--font-sans); font-size: 12px; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase;
  border-radius: var(--r-pill); border: 1.5px solid var(--ink);
  background: transparent; color: var(--ink);
  cursor: pointer; transition: background 140ms, color 140ms;
}
.product-card__btn--opts:hover { background: var(--ink); color: #fff; }
.product-card__btn--soldout {
  border-color: var(--line-strong); color: var(--ink-muted); cursor: not-allowed;
}
.product-card--soldout { opacity: .55; }
.product-card--soldout .product-card__media::after {
  content: 'Sold Out';
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  font-family: var(--font-sans); font-size: 12px; font-weight: 700; letter-spacing: 2px;
  text-transform: uppercase; color: var(--ink); background: rgba(255,248,244,.7);
}

/* ---------- Collection toolbar update ---------- */
.coll__controls { display: flex; align-items: center; gap: 10px; }
.coll__fsort-btn {
  display: inline-flex; align-items: center; gap: 8px;
  height: 40px; padding: 0 18px;
  border: 1.5px solid var(--line-strong); border-radius: var(--r-pill);
  background: transparent; font: 600 13px var(--font-sans);
  letter-spacing: 0.04em; color: var(--ink); cursor: pointer;
  transition: border-color 150ms, background 150ms;
}
.coll__fsort-btn:hover { border-color: var(--ink); background: var(--bg-soft); }
.coll__fsort-btn[aria-expanded="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }

/* ---------- Mobile filter & sort drawer ---------- */
.fsort-drawer {
  position: fixed; inset: 0; z-index: 2000;
  display: flex; align-items: flex-end;
}
.fsort-drawer[hidden] { display: none; }
.fsort-drawer.is-open .fsort-drawer__panel {
  transform: translateY(0);
}
.fsort-drawer__backdrop {
  position: absolute; inset: 0;
  background: rgb(13 13 13 / 0.5);
  cursor: pointer;
}
.fsort-drawer__panel {
  position: relative; z-index: 1;
  width: 100%; max-height: 90vh;
  background: var(--bg); border-radius: var(--r-xl) var(--r-xl) 0 0;
  display: flex; flex-direction: column;
  transform: translateY(100%);
  transition: transform 320ms cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
}
.fsort-drawer__head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 24px 16px;
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}
.fsort-drawer__heading { font-size: 16px; font-weight: 700; }
.fsort-drawer__close {
  width: 36px; height: 36px; display: flex; align-items: center; justify-content: center;
  border: 0; background: var(--bg-soft); border-radius: 999px; cursor: pointer; color: var(--ink);
}
.fsort-drawer__body { flex: 1; overflow-y: auto; padding: 0 24px 16px; }
.fsort-drawer__section { padding: 20px 0 4px; border-bottom: 1px solid var(--line); }
.fsort-drawer__section:last-child { border-bottom: 0; }
.fsort-drawer__section-title { font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-muted); margin: 0 0 14px; }
.fsort-drawer__sort-opts { display: flex; flex-direction: column; gap: 2px; }
.fsort-drawer__sort-opt {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 0; font-size: 15px; cursor: pointer;
  border-bottom: 1px solid var(--line);
}
.fsort-drawer__sort-opt:last-child { border-bottom: 0; }
.fsort-drawer__sort-opt input[type="radio"] { width: 18px; height: 18px; accent-color: var(--ink); cursor: pointer; }
.fsort-drawer__sort-opt.is-selected span { font-weight: 600; }
.fsort-drawer__tags { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 8px; }
.fsort-drawer__tag-opt {
  display: flex; align-items: center;
  height: 36px; padding: 0 16px;
  border-radius: var(--r-pill); border: 1.5px solid var(--line-strong);
  font-size: 13px; font-weight: 500; cursor: pointer;
  transition: border-color 150ms, background 150ms;
}
.fsort-drawer__tag-opt input { position: absolute; opacity: 0; pointer-events: none; }
.fsort-drawer__tag-opt.is-active,
.fsort-drawer__tag-opt:has(input:checked) {
  background: var(--ink); border-color: var(--ink); color: #fff;
}
.fsort-drawer__foot {
  display: flex; gap: 12px; padding: 16px 24px 24px;
  border-top: 1px solid var(--line); flex-shrink: 0;
}
.fsort-drawer__foot .btn { flex: 1; }
.fsort-drawer__clear { color: var(--ink); text-decoration: none; }

/* ---------- Collection — brand reminder ---------- */
.coll__brand { margin: 48px 0 0; padding: 28px 36px; background: var(--bg-soft, #F4E4D6); border-radius: var(--r-xl); }
.coll__brand-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.coll__brand-copy { flex: 1; min-width: 0; }
.coll__brand-eyebrow { font-family: var(--font-sans); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--orange, #FF6B35); margin: 0 0 8px; }
.coll__brand-title { font-family: var(--font-serif); font-size: clamp(18px, 2.2vw, 24px); line-height: 1.2; color: var(--ink, #0d0d0d); margin: 0 0 8px; letter-spacing: -.01em; }
.coll__brand-body { font-family: var(--font-sans); color: rgba(13,13,13,.58); font-size: 13px; line-height: 1.55; margin: 0; }
.coll__brand-ctas { display: flex; flex-direction: column; gap: 8px; flex-shrink: 0; }
.coll__brand-ctas a { font-family: var(--font-sans); font-size: 13px; font-weight: 600; color: var(--ink, #0d0d0d); text-decoration: none; white-space: nowrap; transition: color .15s; }
.coll__brand-ctas a:hover { color: var(--orange, #FF6B35); }
@media (max-width: 640px) {
  .coll__brand { padding: 24px 20px; }
  .coll__brand-inner { flex-direction: column; gap: 20px; align-items: flex-start; }
  .coll__brand-ctas { flex-direction: row; flex-wrap: wrap; gap: 10px 20px; }
}

/* ---------- Collection — newsletter strip ---------- */
.coll__newsletter { margin: 32px 0 0; padding: 48px 40px; background: var(--bg-soft); border-radius: var(--r-xl); }
.coll__newsletter-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.coll__newsletter-title { font-family: var(--font-serif); font-size: clamp(22px, 3vw, 32px); line-height: 1.1; margin: 0 0 8px; letter-spacing: -0.01em; }
.coll__newsletter-sub { color: var(--ink-soft); font-size: 15px; margin: 0; }
.coll__newsletter-form { display: flex; gap: 8px; flex-shrink: 0; max-width: 420px; width: 100%; }
.coll__newsletter-form input {
  flex: 1; height: 48px; padding: 0 18px;
  border: 1.5px solid var(--line-strong); border-radius: var(--r-pill);
  font: inherit; font-size: 14px; background: #fff; color: var(--ink);
  transition: border-color 150ms;
}
.coll__newsletter-form input:focus { outline: none; border-color: var(--orange); }
.coll__newsletter-form .btn { height: 48px; white-space: nowrap; flex-shrink: 0; }
@media (max-width: 800px) {
  .coll__newsletter-inner { flex-direction: column; align-items: flex-start; gap: 24px; }
  .coll__newsletter-form { max-width: 100%; width: 100%; }
}
@media (max-width: 500px) {
  .coll__newsletter { padding: 32px 24px; }
  .coll__newsletter-form { flex-direction: column; }
  .coll__newsletter-form .btn { width: 100%; }
}

/* ---------- Quick view modal (centré) ---------- */
.qv {
  position: fixed; inset: 0; z-index: 3000;
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
}
.qv[hidden] { display: none; }
.qv__backdrop {
  position: absolute; inset: 0;
  background: rgba(13,13,13,0.55);
  cursor: pointer;
  animation: qv-fade-in 220ms ease forwards;
}
@keyframes qv-fade-in { from { opacity: 0; } to { opacity: 1; } }
.qv__panel {
  position: relative; z-index: 1;
  width: 100%; max-width: 860px; max-height: 88vh;
  background: var(--bg);
  overflow: hidden;
  display: flex; flex-direction: column;
  border-radius: 20px;
  box-shadow: 0 24px 72px rgba(0,0,0,.22);
  animation: qv-appear 300ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes qv-appear {
  from { transform: scale(0.96) translateY(16px); opacity: 0; }
  to   { transform: scale(1)    translateY(0);    opacity: 1; }
}
.qv__close {
  position: absolute; top: 14px; right: 14px; z-index: 10;
  display: flex; align-items: center; justify-content: center;
  width: 36px; height: 36px;
  background: rgba(255,255,255,0.88); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  border: 0; border-radius: 999px;
  cursor: pointer; color: var(--ink);
  transition: background 150ms;
}
.qv__close:hover { background: rgba(255,255,255,1); }
.qv__loading {
  flex: 1; display: flex; align-items: center; justify-content: center; padding: 60px;
}
.qv__loading[hidden] { display: none; }
.qv__spinner {
  width: 32px; height: 32px; border: 3px solid var(--line); border-top-color: var(--ink);
  border-radius: 50%; animation: qv-spin 700ms linear infinite;
}
@keyframes qv-spin { to { transform: rotate(360deg); } }
.qv__body {
  flex: 1; min-height: 0;
  display: grid; grid-template-columns: 1fr 1fr;
  overflow: hidden;
}
.qv__media {
  overflow: hidden; background: #fff;
  display: flex; flex-direction: column;
  position: relative;
}
.qv__media img { flex: 1; width: 100%; min-height: 0; object-fit: contain; display: block; }

/* Arrow navigation — même style que pmpdp__nav */
.qv__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 38px; height: 38px;
  background: rgba(255,255,255,0.92);
  border: 1.5px solid rgba(255,107,53,0.22);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(255,107,53,0.12);
  transition: background .15s, transform .15s, box-shadow .15s;
  z-index: 2;
  color: #FF6B35;
  padding: 0;
}
.qv__arrow:hover { background: #FFF3EE; transform: translateY(-50%) scale(1.08); box-shadow: 0 4px 16px rgba(255,107,53,0.2); }
.qv__arrow--prev { left: 8px; }
.qv__arrow--next { right: 8px; }
.qv__thumb-strip { display: flex; gap: 4px; padding: 8px; overflow-x: auto; background: var(--bg-soft); scrollbar-width: none; flex-shrink: 0; }
.qv__thumb-strip::-webkit-scrollbar { display: none; }
.qv__thumb { width: 52px; height: 52px; flex-shrink: 0; border: 2px solid transparent; cursor: pointer; overflow: hidden; background: var(--bg); transition: border-color 150ms; }
.qv__thumb:hover, .qv__thumb.is-active { border-color: var(--ink); }
.qv__thumb img { width: 100%; height: 100%; object-fit: cover; }
.qv__info { padding: 28px 28px 28px; display: flex; flex-direction: column; gap: 16px; overflow-y: auto; }
@media (max-width: 640px) {
  .qv { align-items: flex-end; padding: 0; }
  .qv__panel { max-width: 100%; max-height: 92vh; border-radius: 20px 20px 0 0; animation-name: qv-slide-up; }
  @keyframes qv-slide-up { from { transform: translateY(30px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }
  .qv__body { grid-template-columns: 1fr; }
  .qv__media { aspect-ratio: 4/3; max-height: 45vw; }
  .qv__info { padding: 20px 20px 24px; }
}
.qv__eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-muted); margin: 0; }
.qv__title { font-family: var(--font-serif); font-size: 24px; line-height: 1.1; margin: 0; letter-spacing: -0.01em; }
.qv__price { display: flex; align-items: baseline; gap: 10px; }
.qv__stars { display: flex; align-items: center; gap: 6px; margin-top: 4px; }
.qv__stars-fill { color: #FF6B35; font-size: 14px; letter-spacing: 1px; }
.qv__stars-count { font-size: 13px; color: #6b5a4b; }
.qv__price-now { font-size: 22px; font-weight: 700; }
.qv__price-was { font-size: 15px; color: var(--ink-muted); text-decoration: line-through; }
.qv__price-save { font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; background: var(--orange); color: #fff; padding: 3px 10px; border-radius: 999px; }
.qv__variants { display: flex; flex-direction: column; gap: 14px; }
.qv__opt { display: flex; flex-direction: column; gap: 8px; }
.qv__opt-head { display: flex; justify-content: space-between; align-items: baseline; }
.qv__opt-label { font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.qv__opt-selected { font-size: 12px; color: var(--ink-soft); }
.qv__chips { display: flex; flex-wrap: wrap; gap: 7px; }
.qv__chip {
  height: 38px; padding: 0 18px; border: 1.5px solid var(--line-strong);
  background: #fff; font: 600 12px var(--font-sans); letter-spacing: 0.03em;
  color: var(--ink); border-radius: var(--r-sm); cursor: pointer;
  transition: border-color 120ms, background 120ms, color 120ms;
}
.qv__chip:hover { border-color: var(--ink); }
.qv__chip[aria-pressed="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }
.qv__chip[data-unavailable="true"] { opacity: 0.35; text-decoration: line-through; cursor: not-allowed; }
.qv__label { font-size: 11px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink); }
.qv__qty-row { display: flex; align-items: center; justify-content: space-between; }
.qv__qty { display: inline-flex; align-items: center; border: 1.5px solid var(--line-strong); border-radius: var(--r-sm); }
.qv__qty-btn { width: 40px; height: 40px; border: 0; background: transparent; color: var(--ink); font-size: 18px; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.qv__qty-btn:hover { background: var(--bg-soft); }
.qv__qty-input { width: 44px; height: 40px; border: 0; background: transparent; text-align: center; font: 600 14px var(--font-sans); color: var(--ink); -moz-appearance: textfield; }
.qv__qty-input::-webkit-outer-spin-button, .qv__qty-input::-webkit-inner-spin-button { -webkit-appearance: none; }
.qv__err { font-size: 13px; color: #c62828; padding: 10px 14px; background: #fdecea; border-radius: var(--r-sm); margin: 0; }
.qv__atc {
  width: 100%; height: 52px; border: 0;
  background: var(--ink); color: #fff;
  font: 700 13px var(--font-sans); letter-spacing: 0.1em; text-transform: uppercase;
  border-radius: var(--r-pill); cursor: pointer;
  transition: background 140ms, opacity 140ms;
}
.qv__atc:hover { background: #000; }
.qv__atc:disabled { opacity: 0.45; cursor: not-allowed; }
.qv__atc.is-adding { opacity: 0.7; }
.qv__atc.is-added { background: #1d6b40; }
.qv__full-link {
  display: block; text-align: center; font-size: 13px; font-weight: 600;
  color: var(--ink-soft); text-decoration: none;
  padding-bottom: 2px; border-bottom: 1px solid var(--line-strong);
  width: fit-content; margin: 0 auto;
  transition: color 150ms, border-color 150ms;
}
.qv__full-link:hover { color: var(--ink); border-color: var(--ink); }

/* ---------- PDP lightbox ---------- */
.pmpdp__hero--zoomable { cursor: zoom-in; }
.pmpdp-lb {
  position: fixed; inset: 0; z-index: 4000;
  background: rgba(0,0,0,0.92);
  display: flex; align-items: center; justify-content: center;
  animation: lb-fade 200ms ease;
}
.pmpdp-lb[hidden] { display: none; }
@keyframes lb-fade { from { opacity: 0; } to { opacity: 1; } }
.pmpdp-lb__stage { max-width: 90vw; max-height: 90vh; display: flex; align-items: center; justify-content: center; }
.pmpdp-lb__stage img { max-width: 90vw; max-height: 90vh; object-fit: contain; user-select: none; display: block; }
.pmpdp-lb__close {
  position: absolute; top: 20px; right: 20px;
  width: 44px; height: 44px; border-radius: 999px;
  background: rgba(255,255,255,0.1); border: 0; color: #fff;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: background 150ms; z-index: 1;
}
.pmpdp-lb__close:hover { background: rgba(255,255,255,0.2); }
.pmpdp-lb__nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(255,255,255,0.15); border: 1.5px solid rgba(255,107,53,0.4); color: #FF6B35;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; z-index: 1; box-shadow: 0 2px 12px rgba(255,107,53,0.15);
  transition: background .15s, transform .15s;
}
.pmpdp-lb__nav:hover { background: rgba(255,107,53,0.18); transform: translateY(-50%) scale(1.08); }
.pmpdp-lb__nav--prev { left: 16px; }
.pmpdp-lb__nav--next { right: 16px; }
@media (max-width: 640px) {
  .pmpdp-lb__nav--prev { left: 8px; }
  .pmpdp-lb__nav--next { right: 8px; }
}

/* ---------- PDP share button ---------- */
.pmpdp__share {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase;
  color: var(--ink-soft); background: transparent; border: 0;
  cursor: pointer; padding: 0; transition: color 150ms;
}
.pmpdp__share:hover { color: var(--ink); }
.pmpdp__share svg { width: 16px; height: 16px; }

/* ---------- PDP size guide ---------- */
.pmpdp__size-guide { margin-top: 4px; }
.pmpdp__size-table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.pmpdp__size-table {
  width: 100%; border-collapse: collapse; font-size: 13px; line-height: 1.4; white-space: nowrap;
}
.pmpdp__size-table th {
  background: var(--bg-soft); font-weight: 700; font-size: 11px; letter-spacing: 0.1em;
  text-transform: uppercase; padding: 10px 14px; text-align: left;
  border-bottom: 1.5px solid var(--line-strong);
}
.pmpdp__size-table td { padding: 10px 14px; border-bottom: 1px solid var(--line); color: var(--ink-soft); }
.pmpdp__size-table tr:last-child td { border-bottom: 0; }
.pmpdp__size-guide-note { font-size: 12px; color: var(--ink-muted); margin: 8px 0 0; line-height: 1.5; }

/* ---------- Additional swatch colours ---------- */
.pmpdp__swatch.sw--blue .pmpdp__swatch-inner { background: radial-gradient(circle at 35% 30%, #a8c8e8 0%, #4a90d9 45%, #1a5fa8 100%); }
.pmpdp__swatch.sw--gray .pmpdp__swatch-inner,
.pmpdp__swatch.sw--grey .pmpdp__swatch-inner { background: radial-gradient(circle at 35% 30%, #d8d8d8 0%, #a0a0a0 45%, #6a6a6a 100%); }
.pmpdp__swatch.sw--pink .pmpdp__swatch-inner { background: radial-gradient(circle at 35% 30%, #ffd6e0 0%, #ff9ab3 45%, #e06080 100%); }
.pmpdp__swatch.sw--rose-red .pmpdp__swatch-inner,
.pmpdp__swatch.sw--rose .pmpdp__swatch-inner { background: radial-gradient(circle at 35% 30%, #ffb3b3 0%, #e85c5c 45%, #b22020 100%); }
.pmpdp__swatch.sw--orange .pmpdp__swatch-inner { background: radial-gradient(circle at 35% 30%, #ffcba8 0%, #FF6B35 45%, #c44a15 100%); }

/* Quick view swatch chips also pick up SW-- classes */
.qv__chip.sw--blue, .qv__chip.sw--gray, .qv__chip.sw--grey,
.qv__chip.sw--pink, .qv__chip.sw--rose-red, .qv__chip.sw--orange,
.qv__chip.sw--green, .qv__chip.sw--purple { position: relative; }

/* ---------- PDP sticky mobile add to cart ---------- */
.pmpdp__sticky-atc {
  display: none;
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 100;
  background: var(--bg); border-top: 1px solid var(--line);
  padding: 12px 20px calc(12px + env(safe-area-inset-bottom));
  box-shadow: 0 -4px 20px rgb(13 13 13 / 0.08);
}
@media (max-width: 767px) { .pmpdp__sticky-atc { display: flex; gap: 12px; align-items: center; } }
.pmpdp__sticky-atc-info { flex: 1; min-width: 0; }
.pmpdp__sticky-atc-title { font-size: 13px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pmpdp__sticky-atc-price { font-size: 13px; color: var(--ink-soft); }
.pmpdp__sticky-atc-btn {
  height: 46px; padding: 0 22px; flex-shrink: 0;
  background: var(--ink); color: #fff; border: 0;
  font: 700 12px var(--font-sans); letter-spacing: 0.08em; text-transform: uppercase;
  border-radius: var(--r-pill); cursor: pointer;
  transition: background 140ms;
}
.pmpdp__sticky-atc-btn:hover { background: #000; }
.pmpdp__sticky-atc-btn:disabled { opacity: 0.45; cursor: not-allowed; }

/* --- UTILITY BAR --- */
.utility-bar{background:#f0ece8;border-bottom:1px solid #e0d8d0;display:flex;align-items:center;justify-content:center;padding:7px 24px;font-family:var(--font-sans);font-size:12px;color:#666;position:relative}
.utility-bar__msg{flex:1;text-align:center;font-weight:500;letter-spacing:.2px}
.utility-bar__links{position:absolute;right:24px;display:flex;gap:20px}
.utility-bar__links a{font-size:11px;color:#888;text-decoration:none;font-weight:500;transition:.15s}
.utility-bar__links a:hover{color:#1a1a1a}
@media(max-width:768px){.utility-bar__links{display:none}.utility-bar__msg{font-size:11px}}

/* --- SALE NAV LINK --- */
.nav-link--sale{color:var(--orange) !important;font-weight:700 !important}
.nav-link--sale:hover{color:var(--orange-deep) !important}
.mobile-nav__link--sale{color:var(--orange) !important;font-weight:700 !important}

/* --- PSST POPUP --- */
.psst-btn{position:fixed;bottom:24px;right:24px;z-index:500;background:#1a1a1a;color:#fff8f4;padding:12px 20px;font-family:var(--font-sans);font-size:13px;font-weight:600;border:none;cursor:pointer;border-radius:30px;box-shadow:0 4px 20px rgba(0,0,0,.25);display:flex;align-items:center;gap:8px;transition:transform .2s,box-shadow .2s;animation:psst-bounce 2s ease-in-out 4s 3}
.psst-btn:hover{transform:translateY(-3px);box-shadow:0 8px 32px rgba(0,0,0,.3)}
@keyframes psst-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.psst-popup{position:fixed;bottom:80px;right:24px;z-index:500;background:#fff;border-radius:12px;box-shadow:0 8px 48px rgba(0,0,0,.18);width:320px;overflow:hidden;transform:translateY(20px) scale(.95);opacity:0;pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1)}
.psst-popup.open{transform:none;opacity:1;pointer-events:all}
.psst-popup__top{background:#1a1a1a;padding:28px 24px 20px;text-align:center;position:relative}
.psst-popup__close{position:absolute;top:10px;right:14px;background:none;border:none;color:#666;font-size:18px;cursor:pointer;line-height:1}
.psst-popup__icon{font-size:36px;margin-bottom:8px;display:block}
.psst-popup__top h3{font-family:var(--font-head);font-size:28px;color:#fff8f4;font-weight:700;line-height:1.1;margin-bottom:6px}
.psst-popup__top h3 em{color:var(--orange);font-style:italic}
.psst-popup__top p{font-family:var(--font-sans);font-size:12px;color:#888;line-height:1.5}
.psst-popup__body{padding:20px 24px 24px}
.psst-popup__body input{width:100%;height:44px;border:1.5px solid #e8e0d6;padding:0 14px;font-size:13px;font-family:var(--font-sans);outline:none;border-radius:4px;transition:.2s;margin-bottom:10px}
.psst-popup__body input:focus{border-color:#1a1a1a}
.psst-popup__body .psst-submit{width:100%;height:46px;background:var(--orange);color:#fff;border:none;font-family:var(--font-sans);font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border-radius:4px;transition:.2s}
.psst-popup__body .psst-submit:hover{background:var(--orange-deep)}
.psst-popup__terms{font-size:10px;color:#bbb;text-align:center;margin-top:10px;line-height:1.4}
.psst-popup__terms a{color:var(--orange)}
.psst-success{display:none;text-align:center;padding:12px 0;font-family:var(--font-sans);font-size:14px;color:var(--orange);font-weight:600}
@media(max-width:768px){.psst-popup{right:12px;left:12px;width:auto;bottom:76px}.psst-btn{right:16px;bottom:20px}}

/* --- BESTSELLERS CAROUSEL --- */
.bs-carousel{padding:0 40px 48px}
.bs-carousel__head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}
.bs-carousel__head h2{font-family:var(--font-head);font-size:36px;font-weight:700;color:var(--ink)}
.bs-carousel__head h2 em{color:var(--orange);font-style:italic}
.bs-carousel__head .eyebrow{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--orange);font-weight:600;margin-bottom:6px}
.bs-carousel__nav{display:flex;align-items:center;gap:8px}
.bs-carousel__btn{width:38px;height:38px;border:1.5px solid #e8e0d6;background:#fff;font-size:16px;cursor:pointer;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:.2s}
.bs-carousel__btn:hover{background:#1a1a1a;color:#fff;border-color:#1a1a1a}
.bs-carousel__all{font-size:11px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:#888;border-bottom:1px solid #888;text-decoration:none;margin-left:8px}
.bs-carousel__track{display:flex;gap:16px;overflow-x:auto;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;padding-bottom:4px}
.bs-carousel__track::-webkit-scrollbar{display:none}
.bs-carousel__card{flex:0 0 240px;min-width:240px}
@media(max-width:768px){.bs-carousel{padding:0 16px 36px}.bs-carousel__card{flex:0 0 200px;min-width:200px}}

/* --- PRODUCT BUNDLE --- */
.paw-bundle{background:#f8f4f0;padding:48px 0}
.paw-bundle__inner{max-width:1100px;margin:0 auto;padding:0 40px}
.paw-bundle__head{text-align:center;margin-bottom:32px}
.paw-bundle__tag{background:var(--orange);color:#fff;padding:4px 16px;font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;display:inline-block;margin-bottom:10px;border-radius:2px}
.paw-bundle__title{font-family:var(--font-head);font-size:34px;font-weight:700;color:var(--ink);margin-bottom:4px}
.paw-bundle__title em{color:var(--orange);font-style:italic}
.paw-bundle__sub{font-size:13px;color:#888}
.paw-bundle__products{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto;gap:14px;align-items:start}
.paw-bundle__plus{font-size:22px;color:#bbb;font-weight:300;display:flex;align-items:center;padding-top:40px}
.paw-bundle__card{background:#fff;border:2px solid #e8e0d6;border-radius:6px;overflow:hidden;position:relative;cursor:pointer;transition:border-color .2s}
.paw-bundle__card.paw-bundle__card--checked{border-color:var(--orange)}
.paw-bundle__card-check{position:absolute;top:10px;right:10px;width:22px;height:22px;border:2px solid #e8e0d6;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;z-index:2;color:transparent;transition:.2s}
.paw-bundle__card--checked .paw-bundle__card-check{background:var(--orange);border-color:var(--orange);color:#fff}
.paw-bundle__card-badge{position:absolute;top:10px;left:10px;background:var(--ink);color:#fff;padding:2px 8px;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;z-index:2;border-radius:2px}
.paw-bundle__card-badge--pop{background:#e8a328}
.paw-bundle__card img{width:100%;aspect-ratio:1;object-fit:cover}
.paw-bundle__card-info{padding:10px 12px}
.paw-bundle__card-name{font-size:13px;font-weight:600;margin-bottom:4px;line-height:1.3;color:var(--ink)}
.paw-bundle__card-price{font-size:14px;font-weight:700;color:var(--ink)}
.paw-bundle__total-col{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 0}
.paw-bundle__total-label{font-size:12px;color:#aaa;text-transform:uppercase;letter-spacing:1px}
.paw-bundle__total-was{font-size:18px;color:#bbb;text-decoration:line-through}
.paw-bundle__total-now{font-size:26px;font-weight:700;color:var(--orange)}
.paw-bundle__total-save{background:#fff0eb;color:var(--orange);padding:3px 10px;font-size:11px;font-weight:700;border-radius:2px}
.paw-bundle__atc{margin-top:8px;padding:13px 24px;background:var(--ink);color:#fff;border:none;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;cursor:pointer;border-radius:2px;transition:background .2s;white-space:nowrap}
.paw-bundle__atc:hover{background:var(--orange)}
@media(max-width:768px){
  .paw-bundle__products{grid-template-columns:1fr;gap:10px}
  .paw-bundle__plus{display:none}
  .paw-bundle__inner{padding:0 16px}
  .paw-bundle{padding:32px 0}
}

/* --- IN STOCK INDICATOR --- */
.pmpdp__instock{display:flex;align-items:center;gap:8px;font-size:13px;color:#2d7a2d;font-weight:500;margin-bottom:14px}
.pmpdp__instock-dot{width:8px;height:8px;border-radius:50%;background:#2d7a2d;flex-shrink:0}

/* --- TRUST BADGES � ModernPet style --- */
.pmpdp__trust-badges{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #e8e0d6;border-radius:4px;overflow:hidden;margin-bottom:16px}
.pmpdp__trust-badge{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:14px 8px;text-align:center;border-right:1px solid #e8e0d6;font-size:11px;color:#555;font-weight:500;line-height:1.4;gap:6px}
.pmpdp__trust-badge:last-child{border-right:none}
.pmpdp__trust-icon{width:40px;height:40px;background:#f8f4f0;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FF6B35}

/* --- CHECK DELIVERY --- */
.pmpdp__check-delivery{border:1px solid #e8e0d6;border-radius:4px;overflow:hidden;margin-bottom:20px}
.pmpdp__check-delivery > summary{list-style:none;padding:13px 16px;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;cursor:pointer;color:var(--ink)}
.pmpdp__check-delivery > summary::-webkit-details-marker{display:none}
.pmpdp__delivery-arrow{margin-left:auto;font-size:12px;color:#888;transition:transform .2s}
.pmpdp__check-delivery[open] .pmpdp__delivery-arrow{transform:rotate(180deg)}
.pmpdp__delivery-body{padding:0 16px 14px}
.pmpdp__delivery-body p{font-size:13px;color:#888;margin-bottom:10px}
.pmpdp__delivery-row{display:flex;gap:8px}
.pmpdp__delivery-row input{flex:1;height:40px;border:1.5px solid #e8e0d6;padding:0 12px;font-size:13px;font-family:inherit;border-radius:2px;outline:none}
.pmpdp__delivery-row button{height:40px;padding:0 16px;background:var(--ink);color:#fff;border:none;font-size:12px;font-weight:600;cursor:pointer;border-radius:2px;font-family:inherit}

/* --- ACCORD�ONS MODERNES avec ic�nes --- */
.pmpdp__acc--modern{border-top:1px solid #e8e0d6}
.pmpdp__acc--modern:last-of-type{border-bottom:1px solid #e8e0d6}
.pmpdp__acc--modern > summary{display:flex;align-items:center;gap:10px;padding:16px 0;font-size:13px;font-weight:600;letter-spacing:.3px;cursor:pointer;list-style:none}
.pmpdp__acc--modern > summary::-webkit-details-marker{display:none}
.pmpdp__acc-icon-left{color:#888;flex-shrink:0;display:flex;align-items:center}
.pmpdp__acc--modern .pmpdp__acc-icon{margin-left:auto;font-size:18px;color:#aaa;transition:transform .25s}
.pmpdp__acc--modern[open] .pmpdp__acc-icon{transform:rotate(45deg)}

/* --- SHOP BY CATEGORY CAROUSEL --- */
.section-head--carousel{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}
.cat-carousel__nav{display:flex;gap:8px}
.cat-carousel{display:flex;gap:16px;overflow-x:auto;scroll-behavior:smooth;-ms-overflow-style:none;scrollbar-width:none;padding-bottom:4px}
.cat-carousel::-webkit-scrollbar{display:none}
.cat-card--carousel{flex:0 0 220px;min-width:220px;text-decoration:none;color:inherit}
.cat-card--carousel .cat-card__media{aspect-ratio:.85;border-radius:8px;overflow:hidden;position:relative}
.cat-card--carousel .cat-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.cat-card--carousel:hover .cat-card__media img{transform:scale(1.05)}
@media(max-width:768px){
  .cat-card--carousel{flex:0 0 160px;min-width:160px}
  .section-head--carousel{flex-wrap:wrap;gap:12px}
}

/* --- HERO 2 CTAS + TRUST STRIP --- */
.hero-full__ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-bottom:16px}
.btn--outline-light{background:rgba(13,13,13,0.85);color:#fff;border:2px solid rgba(13,13,13,0.85);padding:14px 28px;font-family:var(--font-sans);font-size:13px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;text-decoration:none;display:inline-flex;align-items:center;transition:.2s}
.btn--outline-light:hover{background:var(--orange);border-color:var(--orange)}
.hero-full__trust-strip{font-size:12px;color:rgba(255,255,255,.7);text-align:center;letter-spacing:.3px;margin-top:4px}

/* --- COLLECTION PAGE SUB DESC --- */
.coll__sub-desc{font-size:14px;color:#888;margin-top:6px;margin-bottom:0;max-width:560px;line-height:1.6}

/* --- COLLECTION TRUST STRIP --- */
.coll__trust-strip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;font-size:12px;color:#888;font-weight:500}
.coll__trust-dot{color:#ddd}

/* --- NOTIFY ME --- */
.pmpdp__btn--notify{background:#f0ece8;color:var(--ink);border:1.5px solid #e0d8d0}
.pmpdp__btn--notify:hover{background:#e8e0d6}
.pmpdp__notify-form{display:flex;flex-direction:column;gap:8px}
.pmpdp__notify-input{height:44px;border:1.5px solid #e0d8d0;padding:0 14px;font-size:13px;font-family:var(--font-sans);border-radius:2px;outline:none}
.pmpdp__notify-input:focus{border-color:var(--ink)}

/* --- AFTERPAY LOGO STYLE --- */
.pmpdp__afterpay{display:flex;align-items:center;gap:6px;font-size:12px;color:#888;margin-bottom:16px}
.pmpdp__afterpay-logo{background:#b2fce4;color:#000;padding:2px 6px;font-size:10px;font-weight:900;border-radius:2px;letter-spacing:.5px}

/* --- PRODUCT BENEFIT BADGES --- */
.pmpdp__quick-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.pmpdp__quick-badge{background:#f6f4f2;border:1px solid #e8e0d6;padding:5px 10px;font-size:11px;font-weight:500;color:#555;border-radius:20px}

/* --- OLD BESTSELLERS CAROUSEL � no arrows on mobile --- */
@media(max-width:768px){
  .bs-carousel__btn,
  .bs-carousel__all { display:none }
  .bs-carousel__head { justify-content:flex-start }
  .bs-carousel__track {
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x mandatory;
  }
  .bs-carousel__card { scroll-snap-align:start }
}

/* --- COLLECTION � cacher desc et trust strip --- */
.coll__sub-desc { display: none; }
.coll__trust-strip { display: none; }

/* --- ACCORD�ONS PLEINE LARGEUR � style ModernPet --- */
.pmpdp__acc-section{max-width:1100px;margin:0 auto;padding:0 40px 0;}
.pmpdp__acc-full{border-top:1px solid #e8e0d6;}
.pmpdp__acc-full:last-child{border-bottom:1px solid #e8e0d6;}
.pmpdp__acc-full__trigger{
  display:flex;align-items:center;gap:12px;
  padding:18px 0;
  font-family:var(--font-sans);font-size:14px;font-weight:600;
  color:var(--ink);cursor:pointer;
  list-style:none;
  -webkit-appearance:none;
}
.pmpdp__acc-full__trigger::-webkit-details-marker{display:none}
.pmpdp__acc-full__icon{color:#888;flex-shrink:0;display:flex}
.pmpdp__acc-full__chevron{margin-left:auto;color:#aaa;flex-shrink:0;transition:transform .25s}
.pmpdp__acc-full[open] .pmpdp__acc-full__chevron{transform:rotate(180deg)}
.pmpdp__acc-full__body{padding:0 0 20px 30px;font-size:14px;color:#555;line-height:1.75;}
.pmpdp__acc-full__body ul{padding-left:20px;margin-top:8px;}
.pmpdp__acc-full__body li{margin-bottom:6px;}
@media(max-width:768px){
  .pmpdp__acc-section{padding:0 16px 0;}
  .pmpdp__acc-full__trigger{font-size:13px;padding:15px 0;}
}

/* ------------------------------------
   PRODUCT PAGE � Redesign ModernPet style
   ------------------------------------ */

/* 1. Swap gallery : thumbs LEFT, image CENTER */
.pmpdp__grid {
  grid-template-columns: 112px minmax(0, 1fr) 460px !important;
  gap: 0 16px !important;
  max-width: 100% !important;
}
.pmpdp__thumbs {
  grid-column: 1;
  grid-row: 1;
  padding: 0 !important;
}
.pmpdp__hero-wrap {
  grid-column: 2;
  grid-row: 1;
}
.pmpdp__panel {
  grid-column: 3;
  grid-row: 1;
}

/* 2. Thumbs style propre */
.pmpdp__thumb {
  width: 96px !important;
  height: 96px !important;
  border-radius: 6px !important;
  opacity: .6 !important;
  border: 1.5px solid transparent !important;
}
.pmpdp__thumb.is-active, .pmpdp__thumb:hover {
  opacity: 1 !important;
  border-color: #2C1F18 !important;
  box-shadow: none !important;
}

/* 3. ATC + QTY sur m�me ligne */
.pmpdp__buy-row {
  display: flex;
  gap: 10px;
  align-items: stretch;
}
.pmpdp__buy-row .pmpdp__cta {
  flex: 1;
}
.pmpdp__buy-row .pmpdp__cta .pmpdp__btn { 
  width: 100%;
  height: 52px;
  background: var(--ink);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  border-radius: 4px;
}
.pmpdp__buy-row .pmpdp__cta .pmpdp__btn:hover { background: var(--orange); }
.pmpdp__buy-row .pmpdp__qty-wrap {
  flex-shrink: 0;
}
.pmpdp__buy-row .pmpdp__qty {
  height: 52px;
  border-radius: 4px;
  border: 1.5px solid var(--line-strong);
}
.pmpdp__buy-row .pmpdp__opt-label { display: none; } /* Cache label Quantity */

/* 4. Panel � meilleure hierarchy */
.pmpdp__title {
  font-size: 24px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
}
.pmpdp__price {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  margin: 12px 0 6px !important;
}
.pmpdp__price-was {
  font-size: 16px !important;
  color: #aaa !important;
}
.pmpdp__afterpay {
  font-size: 12px !important;
  color: #666 !important;
  margin-bottom: 16px !important;
}

/* 5. Trust badges inline */
.pmpdp__trust-badges {
  border: 1px solid #e8e0d6 !important;
  border-radius: 6px !important;
  margin: 14px 0 !important;
}

/* 6. Bouton dynamique checkout */
.pmpdp__dyn-checkout { display: none !important; } /* plus �pur� */

/* Mobile � stack normal */
@media(max-width: 900px) {
  .pmpdp__grid {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  .pmpdp__thumbs { grid-column: 1; grid-row: 2; flex-direction: row; overflow-x: auto; }
  .pmpdp__hero-wrap { grid-column: 1; grid-row: 1; }
  .pmpdp__panel { grid-column: 1; grid-row: 3; }
  .pmpdp__buy-row { flex-direction: column-reverse; }
}

/* --- Reduire espace blanc Check Delivery ? accordeons --- */
.pmpdp__wrap { padding-bottom: 0 !important; }
.pmpdp__check-delivery { margin-bottom: 0 !important; }
.pmpdp__acc-section { padding-top: 8px !important; margin-top: 0 !important; }

/* ---- PRODUCT PAGE COLONNE ACHAT � Polish Final ---- */

/* Eyebrow PAW & MATE */
.pmpdp__eyebrow {
  font-family: var(--font-sans) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--orange) !important;
  margin-bottom: 6px !important;
}

/* Rating compact */
.pmpdp__rating {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 12px !important;
}
.pmpdp__stars { color: #e8a328 !important; font-size: 14px !important; letter-spacing: 1px !important; }
.pmpdp__rating-link { font-size: 13px !important; color: var(--orange) !important; text-decoration: underline !important; }

/* Prix compact */
.pmpdp__price { margin: 8px 0 4px !important; }

/* Afterpay compact */
.pmpdp__afterpay { margin-bottom: 14px !important; padding: 8px 12px !important; font-size: 12px !important; }
.pmpdp__afterpay-logo { font-size: 10px !important; padding: 2px 6px !important; }

/* Variantes � masquer option label Title (variante par d�faut Shopify) */
.pmpdp__opt-head legend:only-child { display: none; }
.pmpdp__opt[data-option-index=0] .pmpdp__opt-head legend {
  /* Afficher Option: � la place de Title */
}
/* Masquer le fieldset si seule option est Title (pas de variante r�elle) */
.pmpdp__opt-chips .pmpdp__pill[data-option-value=Default Title] { display: none !important; }
.pmpdp__variants:has(.pmpdp__pill[data-option-value=Default Title]) { display: none !important; }

/* Pills variant plus propres */
.pmpdp__pill {
  min-width: 44px !important;
  height: 40px !important;
  padding: 0 14px !important;
  font-size: 13px !important;
  border-radius: 4px !important;
  border: 1.5px solid #e0d8d0 !important;
  font-weight: 500 !important;
}
.pmpdp__pill[aria-pressed=true] {
  background: var(--ink) !important;
  color: #fff !important;
  border-color: var(--ink) !important;
}

/* Bouton ATC � plus visible */
.pmpdp__buy-row .pmpdp__btn--dark {
  height: 54px !important;
  font-size: 14px !important;
  border-radius: 4px !important;
  letter-spacing: .05em !important;
}

/* In stock � compact */
.pmpdp__instock {
  margin-bottom: 12px !important;
  font-size: 13px !important;
}

/* Trust badges � plus compactes */
.pmpdp__trust-badges {
  margin: 10px 0 8px !important;
}
.pmpdp__trust-badge { padding: 10px 6px !important; font-size: 10px !important; }
.pmpdp__trust-icon { width: 34px !important; height: 34px !important; }
.pmpdp__trust-icon svg { width: 22px !important; height: 22px !important; }

/* Supprimer Check Delivery si rest� */
.pmpdp__check-delivery { display: none !important; }

/* R�duire espace vide global apr�s produit */
.pmpdp__grid { padding-bottom: 24px !important; }
.pmpdp__acc-section { padding: 0 40px 0 !important; margin-bottom: 0 !important; }

/* Opt label propre */
.pmpdp__opt-label { font-size: 11px !important; font-weight: 700 !important; letter-spacing: 1.5px !important; text-transform: uppercase !important; color: var(--ink) !important; }
.pmpdp__opt-head { margin-bottom: 8px !important; gap: 6px !important; }
.pmpdp__opt { margin-bottom: 14px !important; }

/* ---- PRODUCT PANEL � COMPACTION MAXIMALE style ModernPet ---- */

/* Reset tous les gaps excessifs dans le panel */
.pmpdp__panel-inner > * { margin-bottom: 0 !important; }
.pmpdp__panel { padding-top: 0 !important; }

/* Eyebrow */
.pmpdp__eyebrow { margin-bottom: 4px !important; }

/* Titre */
.pmpdp__title { margin-bottom: 6px !important; font-size: 22px !important; line-height: 1.25 !important; }

/* Rating */
.pmpdp__rating { margin-bottom: 10px !important; }

/* Prix */
.pmpdp__price { margin: 6px 0 2px !important; }
.pmpdp__price-now { font-size: 24px !important; font-weight: 700 !important; }
.pmpdp__price-was { font-size: 14px !important; }
.pmpdp__price-save { font-size: 11px !important; padding: 2px 8px !important; }

/* Afterpay */
.pmpdp__afterpay { margin: 4px 0 10px !important; padding: 0 !important; background: transparent !important; border: none !important; font-size: 12px !important; }
.pmpdp__afterpay-logo { font-size: 9px !important; padding: 1px 5px !important; }

/* Variants � masquer Title label */
.pmpdp__opt-head legend,
.pmpdp__opt-label { display: none !important; }
.pmpdp__opt-head { display: none !important; }
.pmpdp__opt { margin-bottom: 10px !important; }
.pmpdp__variants { margin-bottom: 8px !important; }
.pmpdp__opt-chips { gap: 6px !important; flex-wrap: wrap !important; }

/* Pills */
.pmpdp__pill { min-width: 40px !important; height: 36px !important; padding: 0 12px !important; font-size: 13px !important; border-radius: 3px !important; }

/* Buy row � ATC + qty */
.pmpdp__buy-row { gap: 8px !important; margin-bottom: 8px !important; }
.pmpdp__buy-row .pmpdp__btn--dark { height: 48px !important; font-size: 13px !important; }
.pmpdp__buy-row .pmpdp__qty { height: 48px !important; }
.pmpdp__buy-row .pmpdp__qty-btn { width: 36px !important; height: 100% !important; font-size: 18px !important; }
.pmpdp__buy-row .pmpdp__qty-input { width: 36px !important; font-size: 14px !important; }

/* In stock */
.pmpdp__instock { margin-bottom: 8px !important; font-size: 12px !important; }

/* Trust badges */
.pmpdp__trust-badges { margin: 8px 0 0 !important; }
.pmpdp__trust-badge { padding: 8px 4px !important; font-size: 9px !important; line-height: 1.3 !important; }
.pmpdp__trust-icon { width: 28px !important; height: 28px !important; margin-bottom: 3px !important; }
.pmpdp__trust-icon svg { width: 18px !important; height: 18px !important; }

/* Grid padding-bottom minimal */
.pmpdp__grid { padding-bottom: 8px !important; }

/* ---- COLLECTION HEADERS � COMPACT toutes pages ---- */

/* Titre compact � au lieu de 72px max */
.coll__title {
  font-size: clamp(22px, 3vw, 34px) !important;
  line-height: 1.2 !important;
  letter-spacing: -.015em !important;
  margin: 0 0 4px !important;
  font-weight: 700 !important;
}

/* Head compact */
.coll__head {
  max-width: 100% !important;
  margin: 0 0 12px !important;
  padding-top: 0 !important;
}

/* Sub description plus petite */
.coll__sub-desc {
  font-size: 13px !important;
  color: var(--ink-soft) !important;
  margin-top: 3px !important;
  margin-bottom: 0 !important;
}

/* Trust strip inline + compact */
.coll__trust-strip {
  margin-top: 8px !important;
  font-size: 11px !important;
}

/* Toolbar coll� au titre */
.coll__toolbar {
  padding: 12px 0 !important;
  margin-bottom: 16px !important;
}

/* Section collection � moins de padding top */
.section-main-coll, .coll, .section-coll {
  padding-top: 20px !important;
}

/* Container padding top r�duit */
.coll .container, section.coll > .container {
  padding-top: 16px !important;
}

/* Pagination et produits � moins d espace */
.coll__grid { margin-top: 0 !important; }

/* Page SALE / BEST SELLERS / ALL PRODUCTS � eyebrow court */
.coll__eyebrow {
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: var(--orange) !important;
  margin-bottom: 4px !important;
  display: block !important;
}

/* Ajout eyebrow sur la page via data-handle */
@media(min-width: 768px) {
  .coll__head h1::before {
    /* G�r� via Liquid, pas CSS */
  }
}
/* AUDIT P3 */ .product-card .card-name{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;font-size:13px!important} .product-card .card-badge{background:rgba(13,13,13,.75)!important;color:#fff!important;font-size:9px!important;padding:2px 7px!important} .bs-card__badge--sale,.bse-card__badge{background:rgba(13,13,13,.75)!important;color:#fff!important;font-size:9px!important} .bs-card__badge--new{background:#2d7a2d!important} .ticker{font-size:11px!important;letter-spacing:.5px!important}

/* ── Discount Toast ── */
.pm-toast {
  position: fixed;
  bottom: 24px;
  left: 24px;
  z-index: 9999;
  background: #0d0d0d;
  color: #FFF8F4;
  padding: 14px 20px;
  border-radius: 10px;
  font-size: 14px;
  line-height: 1.4;
  max-width: 320px;
  box-shadow: 0 4px 20px rgba(0,0,0,.25);
  transform: translateY(12px);
  opacity: 0;
  transition: transform .35s cubic-bezier(.22,1,.36,1), opacity .35s ease;
  pointer-events: none;
}
.pm-toast.is-visible {
  transform: translateY(0);
  opacity: 1;
}
.pm-toast strong { color: #FF6B35; }
.pm-toast--success {
  background: #1a5c2e;
}
@media (max-width: 480px) {
  .pm-toast {
    left: 12px;
    right: 12px;
    max-width: none;
    bottom: 80px;
  }
}

/* ── Cart Discount Progress Bar ── */
.cart-discount-bar {
  background: #FFF8F4;
  border: 1.5px solid #e8ddd6;
  border-radius: 10px;
  padding: 14px 16px;
  margin-bottom: 16px;
}
.cart-discount-bar__msg {
  font-size: 13.5px;
  color: #0d0d0d;
  margin: 0 0 10px;
  text-align: center;
}
.cart-discount-bar__msg strong { color: #FF6B35; }
.cart-discount-bar__msg--unlocked {
  color: #1a5c2e;
  font-weight: 600;
}
.cart-discount-bar__track {
  background: #e8ddd6;
  border-radius: 99px;
  height: 8px;
  overflow: hidden;
  margin-bottom: 8px;
}
.cart-discount-bar__fill {
  height: 100%;
  background: #FF6B35;
  border-radius: 99px;
  transition: width .5s cubic-bezier(.22,1,.36,1);
}
.cart-discount-bar__fill--done {
  background: #1a5c2e;
}
.cart-discount-bar__steps {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: #888;
}
.cart-discount-bar__steps span:last-child {
  color: #FF6B35;
  font-weight: 600;
}

/* ================================================================
   Judge.me Reviews — hide timestamps (dates) on all review widgets
   ================================================================ */
.jm-reviewer-info__details > .jm-cluster:nth-child(2) { display: none !important; }

/* Product card stars (native Liquid) */
.product-card__stars { display: flex; align-items: center; gap: 5px; margin: 0 0 6px; line-height: 1; }
.product-card__stars-fill { font-size: 12px; letter-spacing: 1.5px; color: #c8a857; line-height: 1; }
.product-card__stars-count { font-size: 11px; color: var(--ink-muted, #8a8a8a); }

/* ==========================================================================
   PDP Key Benefits (pdp.key_benefits metafield)
   ========================================================================== */
.pmpdp__benefits {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pmpdp__benefit {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-family: var(--font-sans, 'DM Sans', sans-serif);
  font-size: 14px;
  color: var(--ink, #0d0d0d);
  line-height: 1.45;
}
.pmpdp__benefit-check {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  background: var(--orange, #FF6B35);
  color: #fff;
  border-radius: 50%;
  font-size: 10px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
}

/* ── PDP wrap étendu — prend plus de largeur sur grands écrans ── */
.pmpdp__wrap { max-width: 1700px !important; padding: 0 40px !important; }

/* ── Limiter hauteur image sur desktop — alignée avec le panel ── */
@media (min-width: 1200px) {
  .pmpdp__hero-wrap { max-height: 620px !important; overflow: hidden !important; }
  .pmpdp__hero { height: 620px !important; max-height: 620px !important; }
  .pmpdp__hero img { width: 100% !important; height: 100% !important; object-fit: contain !important; background: #f5f1ec; }
  .pmpdp__thumbs { max-height: 620px !important; overflow-y: auto !important; overflow-x: hidden !important; scrollbar-width: none !important; }
  .pmpdp__thumbs::-webkit-scrollbar { display: none !important; }
}

/* ── PDP compaction finale : panel gap + reviews section ── */
.pmpdp__panel-inner { gap: 8px !important; }
.pmpdp__reviews-section { padding: 16px 0 !important; }
/* "You may also like" — moins d'espace sur PDP */
.section-product-recommendations .product-recommendations { padding: 32px 0 !important; }

/* ══════════════════════════════════════════════════════
   PDP — Komye-inspired reskin
   Fond chaud, texte marron, trust horizontal, radius 8px
   ══════════════════════════════════════════════════════ */

/* 1. Titre produit — plus présent, couleur chaude */
.pmpdp__title {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #2C1F18 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
}

/* 2. Eyebrow — orange PAW accent */
.pmpdp__eyebrow { color: var(--orange, #FF6B35) !important; }

/* 3. Rating — étoiles dorées + lien orange */
.pmpdp__stars { color: #C8A857 !important; }
.pmpdp__rating-link { color: #6B5A4B !important; }

/* 4. Prix — couleur chaude */
.pmpdp__price-now { color: #2C1F18 !important; }
.pmpdp__afterpay { color: #6B5A4B !important; font-size: 12px !important; }

/* 5. Short desc — marron doux */
.pmpdp__short, .pmpdp__short *, .pmpdp__short p { color: #6B5A4B !important; }

/* 6. ATC button — Komye style : radius 8px, 56px, pleine largeur */
.pmpdp__buy-row .pmpdp__btn--dark {
  height: 56px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  letter-spacing: 0.04em !important;
  background: #2C1F18 !important;
}
.pmpdp__buy-row .pmpdp__btn--dark:hover { background: var(--orange, #FF6B35) !important; }
.pmpdp__buy-row .pmpdp__qty { height: 56px !important; border-radius: 8px !important; }

/* 7. Trust badges — redesign Komye style : horizontal, icon inline, bordures verticales */
.pmpdp__trust-badges {
  display: flex !important;
  grid-template-columns: unset !important;
  border: none !important;
  border-radius: 0 !important;
  border-top: 1px solid #e4dbd4 !important;
  border-bottom: 1px solid #e4dbd4 !important;
  padding: 10px 0 !important;
  margin: 10px 0 0 !important;
  overflow: visible !important;
}
.pmpdp__trust-badge {
  flex: 1 !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: left !important;
  padding: 0 8px !important;
  border-right: 1px solid #e4dbd4 !important;
  border-radius: 0 !important;
  gap: 7px !important;
  font-size: 9.5px !important;
  color: #6B5A4B !important;
  line-height: 1.3 !important;
}
.pmpdp__trust-badge:last-child { border-right: none !important; }
.pmpdp__trust-icon {
  background: transparent !important;
  border-radius: 0 !important;
  flex-shrink: 0 !important;
  width: 20px !important;
  height: 20px !important;
  color: #6B5A4B !important;
}
.pmpdp__trust-icon svg { width: 18px !important; height: 18px !important; }
.pmpdp__trust-badge span { color: #6B5A4B !important; }

/* 8. In stock indicator — vert */
.pmpdp__instock { color: #2d7a2d !important; font-size: 12px !important; }
.pmpdp__instock-dot { background: #2d7a2d !important; }

/* 9. Pills variantes — radius 8px, style cohérent */
.pmpdp__pill {
  border-radius: 6px !important;
  border: 1.5px solid #e4dbd4 !important;
  color: #2C1F18 !important;
  font-weight: 500 !important;
}
.pmpdp__pill[aria-pressed="true"] {
  background: #2C1F18 !important;
  border-color: #2C1F18 !important;
  color: #fff !important;
}

/* 10. Qty buttons cohérent */
.pmpdp__qty { border-color: #e4dbd4 !important; }
.pmpdp__qty-btn { color: #2C1F18 !important; }

/* ── PDP Accordéon inline (Product Features dans le panel) ── */
.pmpdp__acc-inline {
  border-top: 1px solid #e8e0d6;
  border-bottom: 1px solid #e8e0d6;
  margin-top: 2px !important;
}
.pmpdp__acc-inline__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding: 10px 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--ink);
  list-style: none;
  user-select: none;
}
.pmpdp__acc-inline__trigger::-webkit-details-marker { display: none; }
.pmpdp__acc-inline__chevron { flex-shrink: 0; color: #aaa; transition: transform .2s; }
.pmpdp__acc-inline[open] .pmpdp__acc-inline__chevron { transform: rotate(180deg); }
.pmpdp__acc-inline__body {
  padding: 0 0 12px;
  font-size: 13px;
  color: #555;
  line-height: 1.65;
}
.pmpdp__acc-inline__body p { margin: 0 0 8px !important; color: #555 !important; }
.pmpdp__acc-inline__body ul { padding-left: 18px; margin: 0 0 8px !important; }
.pmpdp__acc-inline__body li { margin-bottom: 4px !important; color: #555 !important; }
.pmpdp__acc-inline__body * { color: #555 !important; }

/* ── PDP Panel : COMPACTION TOTALE ──
   La form est le vrai flex container (pas panel-inner)
   On met la form en flex-column + on zero tous les margins accumulés
   On réduit aussi le padding-left du panel (72px → 24px)
   pour donner plus de largeur aux variants/badges ── */
.pmpdp__panel { padding-left: 24px !important; }
.pmpdp__form {
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
.pmpdp__form > * { margin: 0 !important; }
/* Short desc compact */
.pmpdp__short { font-size: 13px !important; line-height: 1.45 !important; color: #6B5A4B !important; }
.pmpdp__short p, .pmpdp__short > *, .pmpdp__short * { margin: 0 !important; color: #6B5A4B !important; }
/* Trust badges ultra compact */
.pmpdp__trust-badge { padding: 6px 3px !important; gap: 3px !important; font-size: 9px !important; }
.pmpdp__trust-icon { width: 22px !important; height: 22px !important; margin-bottom: 1px !important; }
.pmpdp__trust-icon svg { width: 14px !important; height: 14px !important; }
/* Variants compact */
.pmpdp__opt { margin-bottom: 4px !important; }
.pmpdp__opt-chips { gap: 5px !important; }
/* Buy row compact */
.pmpdp__buy-row { gap: 6px !important; }
/* Instock compact */
.pmpdp__instock { font-size: 12px !important; }


/* ============================================================
   CART UPSELL — produits complementaires dans le panier
   ============================================================ */
.cart-upsell { margin: 2.4rem 0 0; padding: 2rem; background: #faf7f4; border-radius: 12px; }
.cart-upsell__label { font-size: 1.1rem; font-weight: 700; color: #6B5A4B; text-transform: uppercase; letter-spacing: .08em; margin: 0 0 1.4rem; }
.cart-upsell__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.cart-upsell__item { background: #fff; border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 1px 4px rgba(44,31,24,.06); }
.cart-upsell__img-wrap { display: block; aspect-ratio: 1; overflow: hidden; background: #f5f1ec; }
.cart-upsell__img-wrap img { width: 100%; height: 100%; object-fit: contain; }
.cart-upsell__body { padding: .9rem; display: flex; flex-direction: column; gap: .4rem; flex: 1; }
.cart-upsell__name { font-size: 1.2rem; font-weight: 500; color: #2C1F18; text-decoration: none; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cart-upsell__name:hover { color: #6B5A4B; }
.cart-upsell__price { font-size: 1.3rem; font-weight: 700; color: #2C1F18; }
.cart-upsell__form { margin-top: auto; padding-top: .6rem; }
.cart-upsell__btn { width: 100%; padding: .65rem; background: #2C1F18; color: #fff; border: none; border-radius: 6px; font-size: 1.2rem; font-weight: 600; cursor: pointer; transition: background .15s; }
.cart-upsell__btn:hover { background: #6B5A4B; }
@media (max-width: 640px) {
  .cart-upsell__grid { grid-template-columns: 1fr; gap: .8rem; }
  .cart-upsell { padding: 1.4rem; }
}

/* === JUDGE.ME: hide widget if no reviews === */
#judgeme_product_reviews:has(.jdgm-empty-state) { display: none !important; }


/* ====================================================
   BESTSELLERS CAROUSEL — section--bestsellers
==================================================== */
.section--bestsellers { padding: 32px 0 56px; background: var(--bg); }

.carousel-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 0 48px;
  margin-bottom: 28px;
}

.carousel-viewport {
  overflow: hidden;
  cursor: grab;
  -webkit-user-select: none;
  user-select: none;
  padding: 8px 0 16px;
}
.carousel-viewport.is-dragging { cursor: grabbing; }

.carousel-track {
  display: flex;
  gap: 20px;
  padding-left: 48px;
  will-change: transform;
}

.carousel-track .product-card {
  flex: 0 0 272px !important;
  width: 272px !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  background: #fff;
  border: 1px solid var(--line);
  overflow: hidden;
  transition: transform 0.24s ease, box-shadow 0.24s ease;
  cursor: pointer;
}
.carousel-track .product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 14px 40px rgba(44,31,24,0.11) !important;
}

.card-img-wrap {
  position: relative;
  aspect-ratio: 1;
  background: var(--bg-soft);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  text-decoration: none;
}
.card-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.card-img-wrap .placeholder-paw {
  width: 80px; height: 80px; color: var(--ink-soft); opacity: 0.18;
}
.card-badge {
  position: absolute; top: 12px; left: 12px; background: var(--ink); color: #fff;
  font-size: 9.5px; letter-spacing: 0.12em; text-transform: uppercase; padding: 4px 10px; border-radius: 2px;
}
.card-badge.bestseller { background: var(--orange); }

.card-body { padding: 16px 18px 20px; }
.card-brand { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 5px; }
.card-name { font-size: 14.5px; font-weight: 500; color: var(--ink); line-height: 1.35; margin-bottom: 10px; }
.card-rating { display: flex; align-items: center; gap: 6px; margin-bottom: 12px; }

.stars-outer { position: relative; display: inline-block; font-size: 13px; color: #D8D0C8; letter-spacing: 1px; }
.stars-inner { position: absolute; top: 0; left: 0; overflow: hidden; color: var(--orange); white-space: nowrap; }
.rating-count { font-size: 11.5px; color: var(--ink-muted); }

.card-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.card-footer .card-price { font-size: 17px; font-weight: 600; color: var(--ink); }
.card-atc {
  flex: 1; height: 40px; background: var(--ink); color: #fff; border: none;
  border-radius: 6px; font-family: var(--font-sans); font-size: 11.5px; font-weight: 500;
  letter-spacing: 0.07em; text-transform: uppercase; cursor: pointer; transition: background 0.2s;
  max-width: 140px; text-align: center; text-decoration: none;
  display: inline-flex; align-items: center; justify-content: center;
}
.card-atc:hover { background: var(--ink-soft); color: #fff; }

.btn-outline-dark {
  display: inline-flex; align-items: center; gap: 8px; height: 48px; padding: 0 36px;
  background: transparent; border: 1.5px solid var(--ink); border-radius: 4px;
  font-family: var(--font-sans); font-size: 12px; font-weight: 500; letter-spacing: 0.09em;
  text-transform: uppercase; color: var(--ink); text-decoration: none; cursor: pointer; transition: all 0.2s;
}
.btn-outline-dark:hover { background: var(--ink); color: #fff; }

/* Eyebrow block (class, distinct from --type-eyebrow CSS var) */
.eyebrow-block { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.eyebrow-line { width: 24px; height: 1px; background: var(--orange); flex-shrink: 0; }
.eyebrow-text { font-size: 10.5px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--orange); }

.new-section-title { font-family: var(--font-serif); font-size: clamp(34px, 4vw, 50px); font-weight: 400; color: var(--ink); line-height: 1.12; }
.new-section-title em { font-style: italic; }

/* ====================================================
   SHOP BY CATEGORY
==================================================== */
.categories-section { background: var(--bg-soft); padding: 88px 48px; }
.section-inner { max-width: 1320px; margin: 0 auto; }
.categories-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.category-tile { position: relative; aspect-ratio: 3/4; border-radius: 10px; overflow: hidden; cursor: pointer; display: flex; align-items: flex-end; text-decoration: none; }
.cat-bg { position: absolute; inset: 0; transition: transform 0.45s ease; }
.category-tile:hover .cat-bg { transform: scale(1.05); }
.cat-bg-food { background: linear-gradient(160deg, #2E1A08 0%, #5C3A1A 45%, #8B5E30 100%); }
.cat-bg-toys { background: linear-gradient(160deg, #0C1F2E 0%, #1E3D58 45%, #2E5E7A 100%); }
.cat-bg-beds { background: linear-gradient(160deg, #1E0E26 0%, #3D1E4A 45%, #5E2E6E 100%); }
.cat-bg-acc  { background: linear-gradient(160deg, #0E1E10 0%, #1E3E22 45%, #2E6038 100%); }
.cat-pattern { position: absolute; inset: 0; background-image: radial-gradient(circle, rgba(255,255,255,0.04) 1px, transparent 1px); background-size: 20px 20px; }
.cat-gradient-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.1) 50%, transparent 100%); }
.cat-content { position: relative; padding: 28px 24px; width: 100%; }
.cat-label { font-family: var(--font-serif); font-size: 26px; font-weight: 400; color: #fff; line-height: 1.2; margin-bottom: 8px; }
.cat-count { font-size: 11px; color: rgba(255,255,255,0.60); letter-spacing: 0.08em; }
.cat-arrow { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--orange-deep); opacity: 0; transform: translateY(4px); transition: opacity 0.25s, transform 0.25s; }
.category-tile:hover .cat-arrow { opacity: 1; transform: translateY(0); }

/* ====================================================
   SHOP BY BRAND (dark section)
==================================================== */
.brands-section { background: var(--ink); padding: 80px 48px; }
.brands-inner { max-width: 1320px; margin: 0 auto; }
.brands-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 52px; }
.brands-head-title { font-family: var(--font-serif); font-size: 44px; font-weight: 300; font-style: italic; color: #fff; line-height: 1.1; margin-top: 10px; }
.brands-view-all { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.5); text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.2); padding-bottom: 2px; transition: color 0.2s, border-color 0.2s; white-space: nowrap; }
.brands-view-all:hover { color: var(--orange); border-color: var(--orange); }
.brands-grid { display: grid; grid-template-columns: repeat(5, 1fr); border-top: 1px solid rgba(255,255,255,0.08); border-left: 1px solid rgba(255,255,255,0.08); }
.brand-cell { border-right: 1px solid rgba(255,255,255,0.08); border-bottom: 1px solid rgba(255,255,255,0.08); padding: 36px 20px; text-align: center; cursor: pointer; transition: background 0.22s; text-decoration: none; display: block; }
.brand-cell:hover { background: rgba(255,107,53,0.07); }
.brand-name { font-family: var(--font-serif); font-size: 19px; font-weight: 400; color: rgba(255,255,255,0.65); transition: color 0.22s; letter-spacing: 0.03em; }
.brand-cell:hover .brand-name { color: var(--orange-deep); }

/* ====================================================
   OUR STORY
==================================================== */
.story-section { display: grid; grid-template-columns: 1fr 1fr; min-height: 560px; }
.story-img { position: relative; overflow: hidden; }
.story-img img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; filter: saturate(1.1) brightness(0.97); transition: transform 6s ease; }
.story-section:hover .story-img img { transform: scale(1.03); }
.story-body { background: var(--ink); color: #fff; padding: 72px 64px; display: flex; flex-direction: column; justify-content: center; gap: 0; }
.story-label { font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: var(--orange); margin-bottom: 18px; }
.story-heading { font-family: var(--font-serif); font-size: clamp(32px, 3.2vw, 46px); font-weight: 400; color: #fff; line-height: 1.08; margin-bottom: 28px; }
.story-heading em { font-style: italic; color: var(--orange); }
.story-quote { border-left: 3px solid var(--orange); padding-left: 18px; margin: 0 0 24px; font-size: 15px; font-style: italic; color: rgba(255,255,255,0.7); line-height: 1.65; }
.story-text { font-size: 14.5px; line-height: 1.85; color: rgba(255,255,255,0.58); margin-bottom: 40px; max-width: 420px; }
.story-stats { display: flex; gap: 36px; margin-bottom: 40px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,0.12); }
.story-stat { display: flex; flex-direction: column; gap: 4px; }
.story-stat__num { font-family: var(--font-serif); font-size: 28px; color: #fff; font-weight: 400; }
.story-stat__label { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.4); }

/* ====================================================
   RESPONSIVE — new sections
==================================================== */
@media (max-width: 900px) {
  .categories-grid { grid-template-columns: repeat(2, 1fr); }
  .brands-grid { grid-template-columns: repeat(3, 1fr); }
  .story-section { grid-template-columns: 1fr; }
  .story-img { min-height: 320px; }
  .story-body { padding: 48px 28px; }
  .carousel-header { padding: 0 24px; }
  .carousel-track { padding-left: 24px; }
}
@media (max-width: 600px) {
  .categories-section { padding: 60px 24px; }
  .brands-section { padding: 60px 24px; }
  .categories-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .brands-grid { grid-template-columns: 1fr 1fr; }
  .carousel-header { padding: 0 16px; }
  .carousel-track { padding-left: 16px; }
}


/* ── PAW PDP v28 (product page redesign) ──────────────────────────────── */
.paw-breadcrumb{max-width:1400px;margin:0 auto;padding:16px 48px;display:flex;align-items:center;gap:8px;font-size:12px;color:#8a8a8a}
.paw-breadcrumb a{color:#8a8a8a;text-decoration:none;transition:color .18s}
.paw-breadcrumb a:hover{color:#0d0d0d}
.paw-breadcrumb__sep{color:rgba(13,13,13,.15)}
.paw-product-page{max-width:1400px;margin:0 auto;padding:0 48px 80px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.paw-gallery-col{position:sticky;top:80px}
.paw-gallery-layout{display:grid;grid-template-columns:80px 1fr;gap:10px}
.paw-gallery-thumbs{display:flex;flex-direction:column;gap:8px;max-height:560px;overflow-y:auto}
.paw-gallery-thumb{width:80px;height:80px;border-radius:6px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .2s;background:#F4E4D6;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0}
.paw-gallery-thumb.active{border-color:#0d0d0d}
.paw-gallery-thumb:hover:not(.active){border-color:rgba(13,13,13,.25)}
.paw-gallery-thumb img{width:100%;height:100%;object-fit:contain}
.paw-gallery-main{aspect-ratio:1;border-radius:10px;overflow:hidden;background:#F4E4D6;display:flex;align-items:center;justify-content:center;position:relative;cursor:zoom-in}
.paw-gallery-main img{width:100%;height:100%;object-fit:contain}
.paw-zoom-hint{position:absolute;bottom:16px;right:16px;background:rgba(255,255,255,.88);border-radius:4px;padding:6px 12px;font-size:11px;color:#8a8a8a;letter-spacing:.06em;display:flex;align-items:center;gap:6px;pointer-events:none}
.paw-info-col{padding-top:8px}
.paw-pdp-form{display:contents}
.paw-product-vendor{display:inline-block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#4a4a4a;text-decoration:none;margin-bottom:10px;transition:color .18s}
.paw-product-vendor:hover{color:#0d0d0d}
.paw-product-title{font-family:'DM Serif Display',serif;font-size:clamp(26px,3vw,38px);font-weight:400;color:#0d0d0d;line-height:1.15;margin-bottom:16px}
.paw-product-rating{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.paw-stars-outer{position:relative;font-size:16px;color:#D8D0C8;letter-spacing:2px;line-height:1;flex-shrink:0}
.paw-stars-inner{position:absolute;top:0;left:0;overflow:hidden;color:var(--orange);white-space:nowrap}
.paw-rating-score{font-size:14px;font-weight:600;color:#0d0d0d}
.paw-rating-link{font-size:13px;color:#8a8a8a;text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .18s}
.paw-rating-link:hover{color:#0d0d0d}
.paw-price-row{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}
.paw-price-now{font-family:'DM Serif Display',serif;font-size:32px;font-weight:500;color:#0d0d0d}
.paw-price-compare{font-size:18px;color:#8a8a8a;text-decoration:line-through}
.paw-price-save{font-size:13px;background:#F0F8F0;color:#2A6B2A;padding:3px 10px;border-radius:20px;font-weight:500}
.paw-short-desc{font-size:14.5px;color:#8a8a8a;line-height:1.75;margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid rgba(13,13,13,.10)}
.paw-variants{margin-bottom:4px}
.paw-variant-section{border:none;padding:0;margin:0 0 22px}
.paw-variant-label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#0d0d0d;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.paw-variant-selected{font-weight:400;font-size:12px;text-transform:none;letter-spacing:0;color:#8a8a8a}
.paw-colour-swatches{display:flex;gap:8px;flex-wrap:wrap}
.paw-colour-swatch{width:40px;height:40px;border-radius:4px;border:2px solid transparent;cursor:pointer;transition:border-color .18s,transform .18s;position:relative;overflow:hidden;padding:0;background:#F4E4D6}
.paw-colour-swatch:hover{transform:scale(1.08)}
.paw-colour-swatch.active,[aria-pressed="true"].paw-colour-swatch{border-color:#0d0d0d}
.paw-colour-swatch[data-soldout]{opacity:.45;cursor:not-allowed}
.paw-swatch-inner{display:block;width:100%;height:100%}
.paw-size-buttons{display:flex;gap:8px;flex-wrap:wrap}
.paw-size-btn{height:40px;padding:0 20px;border:1.5px solid rgba(13,13,13,.12);border-radius:4px;background:#fff;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:400;color:#0d0d0d;cursor:pointer;transition:border-color .18s,background .18s,color .18s}
.paw-size-btn:hover{border-color:#4a4a4a}
.paw-size-btn.active,[aria-pressed="true"].paw-size-btn{border-color:#0d0d0d;background:#0d0d0d;color:#fff}
.paw-size-btn:disabled{color:#8a8a8a;background:#F4E4D6;cursor:not-allowed}
.paw-buy-row{display:grid;grid-template-columns:120px 1fr;gap:12px;margin-top:28px;margin-bottom:16px}
.paw-qty-selector{display:flex;align-items:center;border:1.5px solid rgba(13,13,13,.12);border-radius:8px;overflow:hidden;background:#fff}
.paw-qty-btn{width:38px;flex-shrink:0;background:none;border:none;cursor:pointer;font-size:18px;color:#0d0d0d;display:flex;align-items:center;justify-content:center;height:56px;transition:background .15s}
.paw-qty-btn:hover{background:#F4E4D6}
.paw-qty-input{flex:1;text-align:center;font-size:15px;font-weight:500;color:#0d0d0d;border:none;outline:none;min-width:0;background:transparent}
.paw-atc-btn{height:56px;background:#0d0d0d;color:#fff;border:none;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:13.5px;font-weight:500;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:background .22s;display:flex;align-items:center;justify-content:center;gap:10px;width:100%}
.paw-atc-btn:hover{background:#4a4a4a}
.paw-atc-btn:active{transform:scale(.99)}
.paw-atc-btn.is-added{background:#2A6B2A}
.paw-atc-btn:disabled{background:#8a8a8a;cursor:not-allowed}
.paw-afterpay-line{display:flex;align-items:center;gap:8px;font-size:13px;color:#8a8a8a;margin-bottom:24px;flex-wrap:wrap}
.paw-afterpay-badge{background:#B2FCE4;color:#000;font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 8px;border-radius:3px;flex-shrink:0}
.paw-trust-badges{display:flex;gap:0;border:1px solid rgba(13,13,13,.10);border-radius:8px;overflow:hidden;margin-bottom:28px}
.paw-trust-badge{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:12px 8px;font-size:11px;color:#8a8a8a;border-right:1px solid rgba(13,13,13,.10);text-align:center;line-height:1.3}
.paw-trust-badge:last-child{border-right:none}
.paw-trust-badge svg{flex-shrink:0}
.paw-accordions{border-top:1px solid rgba(13,13,13,.10)}
.paw-acc-item{border-bottom:1px solid rgba(13,13,13,.10)}
.paw-acc-trigger{width:100%;background:none;border:none;padding:16px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left}
.paw-acc-label{font-size:13.5px;font-weight:500;color:#0d0d0d;letter-spacing:.02em}
.paw-acc-icon{width:20px;height:20px;flex-shrink:0;color:#8a8a8a;transition:transform .25s;display:flex;align-items:center;justify-content:center}
.paw-acc-item--open .paw-acc-icon{transform:rotate(45deg)}
.paw-acc-content{max-height:0;overflow:hidden;transition:max-height .35s ease}
.paw-acc-item--open .paw-acc-content{max-height:2000px}
.paw-acc-body{padding:0 0 20px;font-size:14px;color:#8a8a8a;line-height:1.8}
.paw-acc-body p{margin-bottom:12px}
.paw-acc-body p:last-child{margin-bottom:0}
.paw-acc-body ul,.paw-acc-body ol{padding-left:20px}
.paw-benefits-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}
.paw-benefits-list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;color:#8a8a8a}
.paw-benefit-dot{width:6px;height:6px;background:var(--orange);border-radius:50%;margin-top:8px;flex-shrink:0}
.paw-reviews-section{background:#F4E4D6;padding:72px 48px 80px}
.paw-reviews-inner{max-width:1400px;margin:0 auto}
.paw-reviews-head{display:grid;grid-template-columns:260px 1fr;gap:60px;align-items:start;margin-bottom:48px}
.paw-reviews-summary{text-align:center;padding:28px;background:#fff;border-radius:10px;border:1px solid rgba(13,13,13,.10)}
.paw-reviews-score{font-family:'DM Serif Display',serif;font-size:64px;font-weight:300;color:#0d0d0d;line-height:1;margin-bottom:8px}
.paw-reviews-stars{font-size:20px;color:var(--orange);letter-spacing:3px;margin-bottom:8px}
.paw-reviews-total{font-size:13px;color:#8a8a8a}
.paw-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:12px}
.paw-eyebrow-line{width:24px;height:1px;background:var(--orange)}
.paw-eyebrow-text{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange)}
.paw-reviews-title{font-family:'DM Serif Display',serif;font-size:clamp(24px,2.5vw,36px);font-weight:400;color:#0d0d0d;line-height:1.15;margin-bottom:10px}
.paw-reviews-title em{font-style:italic}
.paw-reviews-sub{font-size:14px;color:#8a8a8a;line-height:1.7}
.paw-reviews-section .pmpdp__reviews-inner{padding-top:0}
@media(max-width:1100px){
  .paw-product-page{grid-template-columns:1fr;padding:0 24px 60px;gap:32px}
  .paw-gallery-col{position:static}
  .paw-reviews-head{grid-template-columns:1fr}
  .paw-breadcrumb{padding:12px 24px}
}
@media(max-width:600px){
  .paw-breadcrumb{padding:10px 16px}
  .paw-product-page{padding:0 16px 60px;gap:24px}
  .paw-gallery-layout{grid-template-columns:60px 1fr;gap:8px}
  .paw-gallery-thumb{width:60px;height:60px}
  .paw-gallery-thumbs{max-height:400px}
  .paw-buy-row{grid-template-columns:100px 1fr}
  .paw-reviews-section{padding:40px 16px}
  .paw-reviews-head{gap:24px}
}


/* ── PAW Collection v30 ──────────────────────────────────────── */
.paw-coll-section { background: #FFF8F4; }
.paw-coll-container { max-width: 1400px; margin: 0 auto; padding: 0 48px; }

/* Breadcrumb */
.paw-coll-breadcrumb { padding: 14px 0; font-size: 12px; color: #8a8a8a; }
.paw-coll-breadcrumb .paw-coll-container { display: flex; align-items: center; gap: 8px; }
.paw-coll-breadcrumb a { color: #8a8a8a; text-decoration: none; transition: color 0.18s; }
.paw-coll-breadcrumb a:hover { color: #0d0d0d; }
.paw-coll-bc-sep { color: rgba(13,13,13,0.20); }
.paw-coll-bc-current { color: #0d0d0d; }

/* Collection header */
.paw-coll-header { background: #F4E4D6; border-bottom: 1px solid rgba(13,13,13,0.10); padding: 40px 0; }
.paw-coll-header-inner { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 24px; }
.paw-coll-eyebrow { font-size: 10.5px; letter-spacing: 0.20em; text-transform: uppercase; color: #FF6B35; margin-bottom: 10px; font-weight: 500; }
.paw-coll-title { font-family: 'DM Serif Display', serif; font-size: clamp(28px, 4vw, 48px); font-weight: 400; color: #0d0d0d; line-height: 1.1; margin-bottom: 10px; }
.paw-coll-desc { font-size: 14px; color: #8a8a8a; max-width: 540px; line-height: 1.7; }
.paw-coll-count { font-size: 13px; color: #8a8a8a; white-space: nowrap; text-align: right; }
.paw-coll-count strong { display: block; font-family: 'DM Serif Display', serif; font-size: 22px; font-weight: 400; color: #0d0d0d; line-height: 1.2; }

/* Toolbar */
.paw-coll-toolbar { background: #FFF8F4; border-bottom: 1px solid rgba(13,13,13,0.10); }
.paw-coll-toolbar-inner { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 14px; padding-bottom: 14px; }
.paw-coll-active-filters { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; flex: 1; min-height: 34px; }
.paw-coll-chip { display: inline-flex; align-items: center; gap: 6px; background: #0d0d0d; color: #fff; border-radius: 20px; padding: 4px 12px; font-size: 11.5px; text-decoration: none; transition: background 0.18s; line-height: 1.4; }
.paw-coll-chip:hover { background: #4a4a4a; }
.paw-coll-chip-x { width: 14px; height: 14px; background: rgba(255,255,255,0.25); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; flex-shrink: 0; }
.paw-coll-clear-all { font-size: 12px; color: #8a8a8a; text-decoration: underline; text-underline-offset: 2px; transition: color 0.18s; white-space: nowrap; }
.paw-coll-clear-all:hover { color: #0d0d0d; }
.paw-coll-toolbar-right { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.paw-coll-filter-toggle { display: none; align-items: center; gap: 8px; height: 34px; padding: 0 14px; border: 1px solid rgba(13,13,13,0.10); border-radius: 6px; background: none; font-family: 'DM Sans', sans-serif; font-size: 12.5px; color: #0d0d0d; cursor: pointer; transition: border-color 0.18s; }
.paw-coll-filter-toggle:hover { border-color: #4a4a4a; }
.paw-coll-sort-label { font-size: 12px; color: #8a8a8a; white-space: nowrap; }
.paw-coll-sort-select { -webkit-appearance: none; appearance: none; background: #FFF8F4; border: 1px solid rgba(13,13,13,0.10); border-radius: 6px; padding: 8px 34px 8px 14px; font-family: 'DM Sans', sans-serif; font-size: 13px; color: #0d0d0d; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238B7B6E' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; outline: none; transition: border-color 0.18s; }
.paw-coll-sort-select:focus { border-color: #4a4a4a; }
.paw-coll-view-toggle { display: flex; gap: 4px; }
.paw-coll-view-btn { width: 34px; height: 34px; border: 1px solid rgba(13,13,13,0.10); border-radius: 6px; background: none; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #8a8a8a; transition: all 0.18s; padding: 0; }
.paw-coll-view-btn--active { background: #0d0d0d; border-color: #0d0d0d; color: #fff; }
.paw-coll-view-btn:hover:not(.paw-coll-view-btn--active) { border-color: #4a4a4a; color: #0d0d0d; }

/* Body layout */
.paw-coll-body { max-width: 1400px; margin: 0 auto; padding: 32px 48px 80px; display: grid; grid-template-columns: 240px 1fr; gap: 48px; align-items: start; }

/* Sidebar */
.paw-coll-sidebar { position: sticky; top: 104px; }
.paw-coll-filter-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid rgba(13,13,13,0.10); margin-bottom: 8px; }
.paw-coll-filter-heading { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: #0d0d0d; font-weight: 600; }
.paw-coll-filter-reset { font-size: 11.5px; color: #8a8a8a; background: none; border: none; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; font-family: 'DM Sans', sans-serif; transition: color 0.18s; padding: 0; }
.paw-coll-filter-reset:hover { color: #0d0d0d; }

/* Filter groups */
.paw-coll-fg { border-bottom: 1px solid rgba(13,13,13,0.10); }
.paw-coll-fg-trigger { width: 100%; background: none; border: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; padding: 14px 0; font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 500; color: #0d0d0d; text-align: left; gap: 8px; }
.paw-coll-fg-trigger svg { transition: transform 0.22s; flex-shrink: 0; }
.paw-coll-fg--open .paw-coll-fg-trigger svg { transform: rotate(180deg); }
.paw-coll-fg-body { max-height: 0; overflow: hidden; transition: max-height 0.28s ease; }

/* Filter options */
.paw-coll-filter-opts { padding-bottom: 14px; display: flex; flex-direction: column; gap: 8px; }
.paw-coll-filter-opt { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.paw-coll-filter-opt input[type="checkbox"] { width: 15px; height: 15px; accent-color: #0d0d0d; cursor: pointer; flex-shrink: 0; margin: 0; }
.paw-coll-filter-opt input:disabled { opacity: 0.35; cursor: not-allowed; }
.paw-coll-filter-opt input:disabled + .paw-coll-filter-label { color: #8a8a8a; cursor: not-allowed; }
.paw-coll-filter-label { flex: 1; font-size: 13px; color: #0d0d0d; cursor: pointer; transition: color 0.15s; }
.paw-coll-filter-count { font-size: 11px; color: #8a8a8a; }

/* Price range filter */
.paw-coll-price-range { padding-bottom: 14px; }
.paw-coll-price-display { display: flex; justify-content: space-between; font-size: 12.5px; color: #0d0d0d; margin-bottom: 10px; }
.paw-coll-price-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.paw-coll-price-input { width: 100%; height: 34px; padding: 0 10px; border: 1px solid rgba(13,13,13,0.10); border-radius: 4px; font-family: 'DM Sans', sans-serif; font-size: 12.5px; color: #0d0d0d; outline: none; background: #FFF8F4; transition: border-color 0.18s; }
.paw-coll-price-input:focus { border-color: #4a4a4a; }
.paw-coll-price-apply { width: 100%; height: 34px; background: #0d0d0d; color: #fff; border: none; border-radius: 4px; font-family: 'DM Sans', sans-serif; font-size: 12px; cursor: pointer; transition: background 0.18s; }
.paw-coll-price-apply:hover { background: #4a4a4a; }

/* Apply filters button */
.paw-coll-filter-apply { width: 100%; height: 40px; margin-top: 16px; background: #FF6B35; color: #fff; border: none; border-radius: 6px; font-family: 'DM Sans', sans-serif; font-size: 12.5px; font-weight: 600; cursor: pointer; transition: background 0.18s; letter-spacing: 0.04em; }
.paw-coll-filter-apply:hover { background: #E54E1A; }

/* Products area */
.paw-coll-products-area { min-width: 0; }
.paw-coll-results-bar { font-size: 12.5px; color: #8a8a8a; margin-bottom: 20px; }
.paw-coll-results-bar strong { color: #0d0d0d; }

/* Products grid */
.paw-coll-products-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

/* List view */
.paw-coll-products-grid--list { grid-template-columns: 1fr; }
.paw-coll-products-grid--list .product-card { display: grid; grid-template-columns: 160px 1fr; grid-template-rows: auto auto; }
.paw-coll-products-grid--list .product-card__media { height: 160px; aspect-ratio: auto; }
.paw-coll-products-grid--list .product-card__actions { grid-column: 2; }

/* Empty state */
.paw-coll-empty { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 60px 24px; }
.paw-coll-empty h3 { font-family: 'DM Serif Display', serif; font-size: 24px; font-weight: 400; color: #0d0d0d; margin-bottom: 8px; }
.paw-coll-empty p { font-size: 14px; color: #8a8a8a; margin-bottom: 20px; }
.paw-coll-empty-btn { display: inline-flex; height: 44px; padding: 0 24px; background: #0d0d0d; color: #fff; border-radius: 6px; font-size: 13px; font-weight: 500; align-items: center; text-decoration: none; transition: background 0.18s; }
.paw-coll-empty-btn:hover { background: #4a4a4a; }

/* Responsive */
@media (max-width: 1100px) {
  .paw-coll-body { grid-template-columns: 1fr; padding: 24px; gap: 24px; }
  .paw-coll-sidebar { position: static; display: none; border: 1px solid rgba(13,13,13,0.10); border-radius: 8px; padding: 20px; background: #fff; }
  .paw-coll-sidebar.paw-coll-sidebar--open { display: block; }
  .paw-coll-filter-toggle { display: flex !important; }
  .paw-coll-container { padding: 0 24px; }
  .paw-coll-sort-label { display: none; }
}
@media (max-width: 900px) {
  .paw-coll-products-grid { grid-template-columns: repeat(2, 1fr); }
  .paw-coll-header { padding: 28px 0; }
  .paw-coll-header-inner { grid-template-columns: 1fr; gap: 8px; }
  .paw-coll-count { text-align: left; }
  .paw-coll-count strong { display: inline; font-size: 16px; }
  .paw-coll-toolbar-inner { flex-wrap: wrap; gap: 10px; padding-top: 10px; padding-bottom: 10px; }
  .paw-coll-active-filters { order: 2; width: 100%; }
  .paw-coll-toolbar-right { order: 1; width: 100%; justify-content: flex-end; }
}
@media (max-width: 600px) {
  .paw-coll-products-grid { gap: 12px; }
}
/* ── end PAW Collection v30 ──────────────────────────────────── */

/* PAW Collection v30 */
.paw-coll-section { background: #FFF8F4; }
.paw-coll-container { max-width: 1400px; margin: 0 auto; padding: 0 48px; }
.paw-coll-breadcrumb { padding: 14px 0; font-size: 12px; color: #8a8a8a; }
.paw-coll-breadcrumb .paw-coll-container { display: flex; align-items: center; gap: 8px; }
.paw-coll-breadcrumb a { color: #8a8a8a; text-decoration: none; transition: color 0.18s; }
.paw-coll-breadcrumb a:hover { color: #0d0d0d; }
.paw-coll-bc-sep { color: rgba(13,13,13,0.20); }
.paw-coll-bc-current { color: #0d0d0d; }
.paw-coll-header { background: #F4E4D6; border-bottom: 1px solid rgba(13,13,13,0.10); padding: 40px 0; }
.paw-coll-header-inner { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 24px; }
.paw-coll-eyebrow { font-size: 10.5px; letter-spacing: 0.20em; text-transform: uppercase; color: #FF6B35; margin-bottom: 10px; font-weight: 500; }
.paw-coll-title { font-family: 'DM Serif Display', serif; font-size: clamp(28px, 4vw, 48px); font-weight: 400; color: #0d0d0d; line-height: 1.1; margin-bottom: 10px; }
.paw-coll-desc { font-size: 14px; color: #8a8a8a; max-width: 540px; line-height: 1.7; }
.paw-coll-count { font-size: 13px; color: #8a8a8a; white-space: nowrap; text-align: right; }
.paw-coll-count strong { display: block; font-family: 'DM Serif Display', serif; font-size: 22px; font-weight: 400; color: #0d0d0d; line-height: 1.2; }
.paw-coll-toolbar { background: #FFF8F4; border-bottom: 1px solid rgba(13,13,13,0.10); }
.paw-coll-toolbar-inner { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 14px; padding-bottom: 14px; }
.paw-coll-active-filters { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; flex: 1; min-height: 34px; }
.paw-coll-chip { display: inline-flex; align-items: center; gap: 6px; background: #0d0d0d; color: #fff; border-radius: 20px; padding: 4px 12px; font-size: 11.5px; text-decoration: none; transition: background 0.18s; line-height: 1.4; }
.paw-coll-chip:hover { background: #4a4a4a; }
.paw-coll-chip-x { width: 14px; height: 14px; background: rgba(255,255,255,0.25); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; flex-shrink: 0; }
.paw-coll-clear-all { font-size: 12px; color: #8a8a8a; text-decoration: underline; text-underline-offset: 2px; transition: color 0.18s; white-space: nowrap; }
.paw-coll-clear-all:hover { color: #0d0d0d; }
.paw-coll-toolbar-right { display: flex; align-items: center; gap: 14px; flex-shrink: 0; }
.paw-coll-filter-toggle { display: none; align-items: center; gap: 8px; height: 34px; padding: 0 14px; border: 1px solid rgba(13,13,13,0.10); border-radius: 6px; background: none; font-family: 'DM Sans', sans-serif; font-size: 12.5px; color: #0d0d0d; cursor: pointer; transition: border-color 0.18s; }
.paw-coll-filter-toggle:hover { border-color: #4a4a4a; }
.paw-coll-sort-label { font-size: 12px; color: #8a8a8a; white-space: nowrap; }
.paw-coll-sort-select { -webkit-appearance: none; appearance: none; background: #FFF8F4; border: 1px solid rgba(13,13,13,0.10); border-radius: 6px; padding: 8px 34px 8px 14px; font-family: 'DM Sans', sans-serif; font-size: 13px; color: #0d0d0d; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%238B7B6E' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; outline: none; transition: border-color 0.18s; }
.paw-coll-sort-select:focus { border-color: #4a4a4a; }
.paw-coll-view-toggle { display: flex; gap: 4px; }
.paw-coll-view-btn { width: 34px; height: 34px; border: 1px solid rgba(13,13,13,0.10); border-radius: 6px; background: none; cursor: pointer; display: flex; align-items: center; justify-content: center; color: #8a8a8a; transition: all 0.18s; padding: 0; }
.paw-coll-view-btn--active { background: #0d0d0d; border-color: #0d0d0d; color: #fff; }
.paw-coll-view-btn:hover:not(.paw-coll-view-btn--active) { border-color: #4a4a4a; color: #0d0d0d; }
.paw-coll-body { max-width: 1400px; margin: 0 auto; padding: 32px 48px 80px; display: grid; grid-template-columns: 240px 1fr; gap: 48px; align-items: start; }
.paw-coll-sidebar { position: sticky; top: 104px; }
.paw-coll-filter-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 16px; border-bottom: 1px solid rgba(13,13,13,0.10); margin-bottom: 8px; }
.paw-coll-filter-heading { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: #0d0d0d; font-weight: 600; }
.paw-coll-filter-reset { font-size: 11.5px; color: #8a8a8a; background: none; border: none; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; font-family: 'DM Sans', sans-serif; transition: color 0.18s; padding: 0; }
.paw-coll-filter-reset:hover { color: #0d0d0d; }
.paw-coll-fg { border-bottom: 1px solid rgba(13,13,13,0.10); }
.paw-coll-fg-trigger { width: 100%; background: none; border: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; padding: 14px 0; font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 500; color: #0d0d0d; text-align: left; gap: 8px; }
.paw-coll-fg-trigger svg { transition: transform 0.22s; flex-shrink: 0; }
.paw-coll-fg--open .paw-coll-fg-trigger svg { transform: rotate(180deg); }
.paw-coll-fg-body { max-height: 0; overflow: hidden; transition: max-height 0.28s ease; }
.paw-coll-filter-opts { padding-bottom: 14px; display: flex; flex-direction: column; gap: 8px; }
.paw-coll-filter-opt { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.paw-coll-filter-opt input[type="checkbox"] { width: 15px; height: 15px; accent-color: #0d0d0d; cursor: pointer; flex-shrink: 0; margin: 0; }
.paw-coll-filter-opt input:disabled { opacity: 0.35; cursor: not-allowed; }
.paw-coll-filter-opt input:disabled + .paw-coll-filter-label { color: #8a8a8a; cursor: not-allowed; }
.paw-coll-filter-label { flex: 1; font-size: 13px; color: #0d0d0d; cursor: pointer; transition: color 0.15s; }
.paw-coll-filter-count { font-size: 11px; color: #8a8a8a; }
.paw-coll-price-range { padding-bottom: 14px; }
.paw-coll-price-display { display: flex; justify-content: space-between; font-size: 12.5px; color: #0d0d0d; margin-bottom: 10px; }
.paw-coll-price-inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.paw-coll-price-input { width: 100%; height: 34px; padding: 0 10px; border: 1px solid rgba(13,13,13,0.10); border-radius: 4px; font-family: 'DM Sans', sans-serif; font-size: 12.5px; color: #0d0d0d; outline: none; background: #FFF8F4; transition: border-color 0.18s; }
.paw-coll-price-input:focus { border-color: #4a4a4a; }
.paw-coll-price-apply { width: 100%; height: 34px; background: #0d0d0d; color: #fff; border: none; border-radius: 4px; font-family: 'DM Sans', sans-serif; font-size: 12px; cursor: pointer; transition: background 0.18s; }
.paw-coll-price-apply:hover { background: #4a4a4a; }
.paw-coll-filter-apply { width: 100%; height: 40px; margin-top: 16px; background: #FF6B35; color: #fff; border: none; border-radius: 6px; font-family: 'DM Sans', sans-serif; font-size: 12.5px; font-weight: 600; cursor: pointer; transition: background 0.18s; letter-spacing: 0.04em; }
.paw-coll-filter-apply:hover { background: #E54E1A; }
.paw-coll-products-area { min-width: 0; }
.paw-coll-results-bar { font-size: 12.5px; color: #8a8a8a; margin-bottom: 20px; }
.paw-coll-results-bar strong { color: #0d0d0d; }
.paw-coll-products-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.paw-coll-products-grid--list { grid-template-columns: 1fr; }
.paw-coll-products-grid--list .product-card { display: grid; grid-template-columns: 160px 1fr; grid-template-rows: auto auto; }
.paw-coll-products-grid--list .product-card__media { height: 160px; aspect-ratio: auto; }
.paw-coll-products-grid--list .product-card__actions { grid-column: 2; }
.paw-coll-empty { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 60px 24px; }
.paw-coll-empty h3 { font-family: 'DM Serif Display', serif; font-size: 24px; font-weight: 400; color: #0d0d0d; margin-bottom: 8px; }
.paw-coll-empty p { font-size: 14px; color: #8a8a8a; margin-bottom: 20px; }
.paw-coll-empty-btn { display: inline-flex; height: 44px; padding: 0 24px; background: #0d0d0d; color: #fff; border-radius: 6px; font-size: 13px; font-weight: 500; align-items: center; text-decoration: none; transition: background 0.18s; }
.paw-coll-empty-btn:hover { background: #4a4a4a; }
@media (max-width: 1100px) {
  .paw-coll-body { grid-template-columns: 1fr; padding: 24px; gap: 24px; }
  .paw-coll-sidebar { position: static; display: none; border: 1px solid rgba(13,13,13,0.10); border-radius: 8px; padding: 20px; background: #fff; }
  .paw-coll-sidebar.paw-coll-sidebar--open { display: block; }
  .paw-coll-filter-toggle { display: flex !important; }
  .paw-coll-container { padding: 0 24px; }
  .paw-coll-sort-label { display: none; }
}
@media (max-width: 900px) {
  .paw-coll-products-grid { grid-template-columns: repeat(2, 1fr); }
  .paw-coll-header { padding: 28px 0; }
  .paw-coll-header-inner { grid-template-columns: 1fr; gap: 8px; }
  .paw-coll-count { text-align: left; }
  .paw-coll-count strong { display: inline; font-size: 16px; }
  .paw-coll-toolbar-inner { flex-wrap: wrap; gap: 10px; padding-top: 10px; padding-bottom: 10px; }
  .paw-coll-active-filters { order: 2; width: 100%; }
  .paw-coll-toolbar-right { order: 1; width: 100%; justify-content: flex-end; }
}
@media (max-width: 600px) {
  .paw-coll-products-grid { gap: 12px; }
}
/* end PAW Collection v30 */

/* PAW Category Tiles v31 */
.paw-cat-section { padding: 64px 0 72px; background: #fff; }
.paw-cat-container { max-width: 1400px; margin: 0 auto; padding: 0 48px; }
.paw-cat-header { margin-bottom: 36px; }
.paw-cat-eyebrow { font-size: 10.5px; letter-spacing: 0.20em; text-transform: uppercase; color: #FF6B35; margin-bottom: 8px; font-weight: 500; }
.paw-cat-title { font-family: 'DM Serif Display', serif; font-size: clamp(26px, 3vw, 40px); font-weight: 400; color: #0d0d0d; line-height: 1.15; }
.paw-cat-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.paw-cat-tile { text-decoration: none; display: flex; flex-direction: column; border-radius: 12px; overflow: hidden; background: #f5f0ec; transition: transform 0.22s ease, box-shadow 0.22s ease; }
.paw-cat-tile:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(13,13,13,0.10); }
.paw-cat-img-wrap { position: relative; aspect-ratio: 1 / 1; overflow: hidden; }
.paw-cat-img-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform 0.36s ease; display: block; }
.paw-cat-tile:hover .paw-cat-img-wrap img { transform: scale(1.05); }
.paw-cat-fallback { width: 100%; height: 100%; background: linear-gradient(135deg, #f5e6d8 0%, #e8d5c4 100%); }
.paw-cat-overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 40%, rgba(13,13,13,0.22) 100%); pointer-events: none; }
.paw-cat-info { padding: 12px 14px 14px; display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.paw-cat-name { font-family: 'DM Sans', sans-serif; font-size: 13.5px; font-weight: 600; color: #0d0d0d; line-height: 1.3; }
.paw-cat-cnt { font-size: 11.5px; color: #8a8a8a; white-space: nowrap; flex-shrink: 0; }
@media (max-width: 1100px) {
  .paw-cat-container { padding: 0 24px; }
  .paw-cat-grid { grid-template-columns: repeat(4, 1fr); gap: 12px; }
}
@media (max-width: 760px) {
  .paw-cat-section { padding: 48px 0 56px; }
  .paw-cat-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .paw-cat-container { padding: 0 16px; }
}
/* end PAW Category Tiles v31 */

/* PAW Bestsellers Redesign v31 */
.section--bestsellers { background: #FFF8F4 !important; padding: 56px 0 64px !important; }
.bs-header { display: flex; align-items: flex-end; justify-content: space-between; max-width: 1400px; margin: 0 auto; padding: 0 48px 32px; }
.bs-header-left { display: flex; flex-direction: column; }
.bs-eyebrow { font-size: 10.5px; letter-spacing: 0.22em; text-transform: uppercase; color: #FF6B35; margin-bottom: 8px; font-weight: 500; font-family: 'DM Sans', sans-serif; }
.bs-title { font-family: 'DM Serif Display', serif; font-size: clamp(28px, 3.5vw, 44px); font-weight: 400; color: #0d0d0d; line-height: 1.1; margin: 0; }
.bs-view-all { display: inline-flex; align-items: center; gap: 7px; font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 500; color: #FF6B35; text-decoration: none; padding-bottom: 3px; border-bottom: 1.5px solid rgba(255,107,53,0.35); transition: border-color 0.18s, gap 0.18s; margin-bottom: 6px; }
.bs-view-all:hover { border-color: #FF6B35; gap: 10px; }
.card-badge.bs-badge { background: rgba(255,107,53,0.09) !important; color: #FF6B35 !important; border: 1px solid rgba(255,107,53,0.45) !important; font-size: 8.5px !important; letter-spacing: 0.13em !important; padding: 3px 9px !important; border-radius: 3px !important; font-weight: 500 !important; }
.carousel-track .product-card { background: #fff !important; }
@media (max-width: 768px) {
  .bs-header { padding: 0 20px 24px; }
  .bs-title { font-size: clamp(24px, 6vw, 32px); }
}
/* end PAW Bestsellers Redesign v31 */

/* PAW Category Mosaic v31 */
.paw-cat-mosaic { display: grid; grid-template-columns: 60% 40%; grid-template-rows: 1fr 1fr; gap: 2px; width: 100%; height: 100%; }
.pcm-hero { grid-column: 1; grid-row: 1 / 3; overflow: hidden; }
.pcm-top  { grid-column: 2; grid-row: 1; overflow: hidden; }
.pcm-bot  { grid-column: 2; grid-row: 2; overflow: hidden; }
.pcm-hero img, .pcm-top img, .pcm-bot img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; transition: transform 0.38s ease; }
.paw-cat-tile:hover .pcm-hero img,
.paw-cat-tile:hover .pcm-top img,
.paw-cat-tile:hover .pcm-bot img { transform: scale(1.07); }
/* end PAW Category Mosaic v31 */

/* Product size tag — shows in PDP title, QV title, and product cards */
.paw-size-tag {
  font-size: 0.72em;
  font-weight: 500;
  color: #9A8577;
  letter-spacing: 0.02em;
  vertical-align: middle;
}
.product-card__sizes {
  font-size: 11px;
  color: #9A8577;
  margin: 2px 0 0;
  letter-spacing: 0.01em;
}
