/* Christmas page theme — loaded by the Page Studio `page-theme` block
 * (inc-pb-blocks-seasonal.php). EVERY rule is scoped under
 * body:has(.pb-theme-christmas), which only matches pages that placed the block,
 * so nothing here can leak onto other pages. Cream + rubric red + holly green,
 * dressed in the knit-sweater art set in images/themes/christmas-knit/. */
@import url('https://fonts.googleapis.com/css2?family=Silkscreen:wght@400;700&display=swap');

/* The site accent is blue; Christmas pages swap to the store's red palette (same values as [data-theme="red"] in mw.css). */
body:has(.pb-theme-christmas){--xm-cream:#f7f1e6;--xm-green:#1f5e34;--xm-red:#b3201c;background:var(--xm-cream);
  --rubric:#9E2B22;--rubric-dark:#85221b;--footer-bg:#7E211A;--accent-on-dark:#E7A79F;--accent-creed:#D98A82;--accent-pale:#F3CFCB;--rubric-rgb:158,43,34;
  --xm-pixel:'Silkscreen',ui-monospace,monospace}
body:has(.pb-theme-christmas) .section.alt,
body:has(.pb-theme-christmas) .pb-imgtext,
body:has(.pb-theme-christmas) .pb-rich{background:transparent;}

/* Knit trim under the header (page-theme "band") */
body:has(.pb-theme-christmas) .pb-theme-band{height:30px;background:url("../images/themes/christmas-knit/trim-holly.webp") center/auto 100% repeat-x;}

/* ---- Section labels: eyebrows become knit ribbon banners ---------------- */
body:has(.pb-theme-christmas) .pb-rich .rubric,
body:has(.pb-theme-christmas) .pb-shop .rubric,
body:has(.pb-theme-christmas) .pb-cta .rubric{
  font:700 1rem/1 var(--xm-pixel);letter-spacing:.06em;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.35);
  padding:20px 72px 22px;min-width:14em;justify-content:center;
  background:url("../images/themes/christmas-knit/ribbon-red.webp") center/100% 100% no-repeat;}
body:has(.pb-theme-christmas) .pb-rich .rubric::before,
body:has(.pb-theme-christmas) .pb-shop .rubric::before,
body:has(.pb-theme-christmas) .pb-cta .rubric::before{display:none;}
/* Alternate: green ribbons on the shoppable photos */
body:has(.pb-theme-christmas) .pb-shop .rubric{background-image:url("../images/themes/christmas-knit/ribbon-green.webp");}
body:has(.pb-theme-christmas) .pb-rich h2 em,
body:has(.pb-theme-christmas) .pb-shop h2 em{font-style:italic;color:var(--rubric);}
body:has(.pb-theme-christmas) .pb-rich .rubric+h2{margin-top:.55em;}

/* ---- Dividers: knit trim strips instead of the drawn garland/holly ------- */
body:has(.pb-theme-christmas) .pb-divider-garland,
body:has(.pb-theme-christmas) .pb-divider-holly{height:auto;padding:14px 0;}
body:has(.pb-theme-christmas) .pb-divider-garland svg,
body:has(.pb-theme-christmas) .pb-divider-holly svg{display:none;}
body:has(.pb-theme-christmas) .pb-divider-garland::before,
body:has(.pb-theme-christmas) .pb-divider-holly::before{content:"";display:block;width:min(100%,1400px);margin:0 auto;
  background:url("../images/themes/christmas-knit/trim-icons.webp") center/auto 100% repeat-x;height:46px;
  -webkit-mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}
body:has(.pb-theme-christmas) .pb-divider-holly::before{background-image:url("../images/themes/christmas-knit/trim-holly.webp");height:34px;width:min(100%,560px);}

/* ---- Ovals become knit ornaments (photo sits in the ring's hole) -------- */
/* Ring art: red = images/themes/christmas-knit/ring-red.webp (1414x1726 crop, hole at 13.9/27.6% · 72.3x60.8%). */
body:has(.pb-theme-christmas) .pb-oval-img{position:relative;width:96%;aspect-ratio:1414/1726;border-radius:0;overflow:visible;background:none;box-shadow:none;margin:0 0 8px;}
body:has(.pb-theme-christmas) .pb-oval-img img{position:absolute;left:13.9%;top:27.6%;width:72.3%;height:60.8%;border-radius:50%;object-fit:cover;background:#fff;}
body:has(.pb-theme-christmas) .pb-oval-img::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:url("../images/themes/christmas-knit/ring-red.webp") center/100% 100% no-repeat;}
body:has(.pb-theme-christmas) .pb-oval:hover .pb-oval-img{transform:rotate(-3deg);transition:transform .25s;}
body:has(.pb-theme-christmas) .pb-oval-t{font-size:1.05rem;}

/* ---- Knit buttons + small CTAs ------------------------------------------- */
body:has(.pb-theme-christmas) .pb-oval-cta,
body:has(.pb-theme-christmas) .pb-pair-go,
body:has(.pb-theme-christmas) .pb-shop-go{
  font:700 .62rem/1 var(--xm-pixel);letter-spacing:.06em;color:#fff;text-decoration:none;
  padding:7px 11px 8px;border-radius:3px;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--xm-green);
  background:var(--xm-green) url("../images/themes/christmas-knit/tex-green.webp") center/220px repeat;}
body:has(.pb-theme-christmas) .pb-shop-go{display:inline-block;margin-top:4px;}
body:has(.pb-theme-christmas) .pb-pair-go{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--xm-red);
  background:var(--xm-red) url("../images/themes/christmas-knit/tex-red.webp") center/220px repeat;}
body:has(.pb-theme-christmas) .pb-cta .btn,
body:has(.pb-theme-christmas) .pb-hero .btn-solid{
  font:700 .8rem/1 var(--xm-pixel);letter-spacing:.06em;color:#fff;border:0;border-radius:4px;padding:16px 26px;
  box-shadow:0 0 0 3px #fff,0 0 0 5px var(--xm-green);
  background:var(--xm-green) url("../images/themes/christmas-knit/tex-green.webp") center/260px repeat;}
body:has(.pb-theme-christmas) .pb-cta .btn:hover,
body:has(.pb-theme-christmas) .pb-hero .btn-solid:hover{filter:brightness(1.12);}

/* ---- Knit backgrounds behind a few bands -------------------------------- */
/* Intro + recipient ornaments: tossed icons, washed back so text stays readable */
body:has(.pb-theme-christmas) #shop-by,
body:has(.pb-theme-christmas) #shop-by + .pb-ovals{
  background:linear-gradient(rgba(247,241,230,.86),rgba(247,241,230,.86)),url("../images/themes/christmas-knit/tossed.webp") center/1000px auto repeat;}
/* Shop by budget: full green field-stitch band, light text */
body:has(.pb-theme-christmas) #by-price,
body:has(.pb-theme-christmas) #by-price + .pb-ovals{background:var(--xm-green) url("../images/themes/christmas-knit/field-green.webp") center/1000px auto repeat;}
body:has(.pb-theme-christmas) #by-price h2,
body:has(.pb-theme-christmas) #by-price .pb-rich-body,
body:has(.pb-theme-christmas) #by-price + .pb-ovals .pb-oval-t{color:#fff;}
body:has(.pb-theme-christmas) #by-price h2 em{color:#ffd9a8;}
body:has(.pb-theme-christmas) #by-price h2,
body:has(.pb-theme-christmas) #by-price .pb-rich-body,
body:has(.pb-theme-christmas) #by-price + .pb-ovals .pb-oval-t{text-shadow:0 2px 3px rgba(0,0,0,.7),0 0 14px rgba(10,40,20,.9);}
body:has(.pb-theme-christmas) #by-price + .pb-ovals{padding-bottom:64px;}
body:has(.pb-theme-christmas) #by-price + .pb-ovals .pb-oval-cta{box-shadow:0 0 0 2px #fff,0 0 0 3px var(--xm-red);
  background:var(--xm-red) url("../images/themes/christmas-knit/tex-red.webp") center/220px repeat;}
body:has(.pb-theme-christmas) #by-price + .pb-ovals .pb-oval-img::after{background-image:url("../images/themes/christmas-knit/ring-green.webp");}
/* green ring crop (1430x1778) has its hole at 16.2/29.4% · 67.6x55.8% */
body:has(.pb-theme-christmas) #by-price + .pb-ovals .pb-oval-img{aspect-ratio:1430/1778;}
body:has(.pb-theme-christmas) #by-price + .pb-ovals .pb-oval-img img{left:16.2%;top:29.4%;width:67.6%;height:55.8%;}
/* For Mom: tulip repeat behind her heading */
body:has(.pb-theme-christmas) #mom{background:linear-gradient(rgba(247,241,230,.8),rgba(247,241,230,.8)),url("../images/themes/christmas-knit/tulips.webp") center/900px auto repeat;padding-bottom:56px;}
body:has(.pb-theme-christmas) #mom{background-image:linear-gradient(rgba(247,241,230,.87),rgba(247,241,230,.87)),url("../images/themes/christmas-knit/tulips.webp");}

/* ---- Gift-certificate band: knit trees-and-snow banner ------------------ */
body:has(.pb-theme-christmas) .pb-cta-rubric{background:var(--xm-red) url("../images/themes/christmas-knit/cta-band.webp") center/cover no-repeat;color:#fff;padding:72px 0;}
body:has(.pb-theme-christmas) .pb-cta-rubric .pb-cta-inner{max-width:760px;}
body:has(.pb-theme-christmas) .pb-cta-rubric h2 em{color:#ffd9a8;}
body:has(.pb-theme-christmas) .pb-cta-rubric .rubric{background-image:url("../images/themes/christmas-knit/ribbon-green.webp");}

/* Product cards: soft warm border on the image box */
body:has(.pb-theme-christmas) .fp-bs-products img{border:1px solid rgba(158,43,34,.18);border-radius:6px;}

@media (max-width:720px){
  body:has(.pb-theme-christmas) .pb-rich .rubric,
  body:has(.pb-theme-christmas) .pb-shop .rubric,
  body:has(.pb-theme-christmas) .pb-cta .rubric{font-size:.78rem;padding:16px 50px 18px;min-width:0;}
  body:has(.pb-theme-christmas) .pb-divider-garland::before{height:34px;}
  body:has(.pb-theme-christmas) .pb-cta-rubric{background-size:auto 100%;padding:56px 0;}
}
@media (prefers-reduced-motion:reduce){body:has(.pb-theme-christmas) .pb-oval:hover .pb-oval-img{transform:none;}}

/* ---- 12 Days of Deals: knit dressing ------------------------------------ */
body:has(.pb-theme-christmas) .pb-deals{background:linear-gradient(rgba(247,241,230,.88),rgba(247,241,230,.88)),url("../images/themes/christmas-knit/tossed.webp") center/1000px auto repeat;}
body:has(.pb-theme-christmas) .pb-deals .rubric{font:700 1rem/1 var(--xm-pixel);letter-spacing:.06em;color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.35);padding:20px 72px 22px;min-width:14em;justify-content:center;
  background:url("../images/themes/christmas-knit/ribbon-red.webp") center/100% 100% no-repeat;}
body:has(.pb-theme-christmas) .pb-deals .rubric::before{display:none;}
body:has(.pb-theme-christmas) .pb-deals .rubric+h2{margin-top:.55em;}
body:has(.pb-theme-christmas) .pb-deal-card{border:3px solid var(--xm-red);box-shadow:0 0 0 6px #fff,0 0 0 9px var(--xm-green),0 18px 44px rgba(23,20,14,.16);}
body:has(.pb-theme-christmas) .pb-deal-badge{font:700 .95rem/1 var(--xm-pixel);border:2px solid #fff;outline:2px solid var(--xm-red);
  background:var(--xm-red) url("../images/themes/christmas-knit/tex-red.webp") center/220px repeat;}
body:has(.pb-theme-christmas) .pb-deal-num,
body:has(.pb-theme-christmas) .pb-deals-caption{font-family:var(--xm-pixel);font-weight:700;letter-spacing:.06em;color:var(--xm-green);}
body:has(.pb-theme-christmas) .pb-deal-go{font:700 .8rem/1 var(--xm-pixel);letter-spacing:.06em;color:#fff;border:0;border-radius:4px;padding:16px 26px;
  box-shadow:0 0 0 3px #fff,0 0 0 5px var(--xm-green);background:var(--xm-green) url("../images/themes/christmas-knit/tex-green.webp") center/260px repeat;}
body:has(.pb-theme-christmas) .pb-deals-digits .pb-cd-seg{border:2px solid #fff;outline:2px solid var(--xm-red);
  background:var(--xm-red) url("../images/themes/christmas-knit/tex-red.webp") center/240px repeat;}
body:has(.pb-theme-christmas) .pb-deals-digits .pb-cd-num{font-family:var(--xm-pixel);text-shadow:0 2px 0 rgba(0,0,0,.3);}
body:has(.pb-theme-christmas) .pb-deals-digits .pb-cd-lbl{font-family:var(--xm-pixel);opacity:.9;}
/* wrapped mystery boxes: green knit with a gold ribbon cross */
body:has(.pb-theme-christmas) .pb-deal-box.is-wrapped{border:2px solid #fff;outline:2px solid var(--xm-green);
  background:linear-gradient(90deg,transparent 43%,#d9a441 43% 57%,transparent 57%),linear-gradient(transparent 43%,#d9a441 43% 57%,transparent 57%),
    var(--xm-green) url("../images/themes/christmas-knit/tex-green.webp") center/160px repeat;}
body:has(.pb-theme-christmas) .pb-deal-day:nth-child(even) .pb-deal-box.is-wrapped{outline-color:var(--xm-red);
  background:linear-gradient(90deg,transparent 43%,#d9a441 43% 57%,transparent 57%),linear-gradient(transparent 43%,#d9a441 43% 57%,transparent 57%),
    var(--xm-red) url("../images/themes/christmas-knit/tex-red.webp") center/160px repeat;}
body:has(.pb-theme-christmas) .pb-deal-n{font-family:var(--xm-pixel);}
body:has(.pb-theme-christmas) .pb-deal-stamp{font-family:var(--xm-pixel);}
body:has(.pb-theme-christmas) .pb-deal-date{font-family:var(--xm-pixel);font-weight:400;font-size:.6rem;}
@media (max-width:720px){body:has(.pb-theme-christmas) .pb-deals .rubric{font-size:.78rem;padding:16px 50px 18px;min-width:0;}}

/* =========================================================================
 * Toned-down layer (Jeff's pick, 2026-10-29). Keeps the knit banner, ribbon
 * labels, ornament rings and wrapped deal boxes as the accents; overrides the
 * busy knit backgrounds, pixel fonts on body UI and knit textures on buttons
 * and digits with calm solid colours. Delete this block to return to full knit.
 * ========================================================================= */
body:has(.pb-theme-christmas){--xm-cream:#faf6ee;}

/* Backgrounds: calm cream everywhere; the budget band becomes solid deep green */
body:has(.pb-theme-christmas) #shop-by,
body:has(.pb-theme-christmas) #shop-by + .pb-ovals,
body:has(.pb-theme-christmas) .pb-deals,
body:has(.pb-theme-christmas) #mom{background:transparent;}
body:has(.pb-theme-christmas) #by-price,
body:has(.pb-theme-christmas) #by-price + .pb-ovals{background:#1f4d2e;}
body:has(.pb-theme-christmas) #by-price h2,
body:has(.pb-theme-christmas) #by-price .pb-rich-body,
body:has(.pb-theme-christmas) #by-price + .pb-ovals .pb-oval-t{text-shadow:none;}

/* Dividers: one thin holly trim, softened, instead of the full icon strip */
body:has(.pb-theme-christmas) .pb-divider-garland::before,
body:has(.pb-theme-christmas) .pb-divider-holly::before{background-image:url("../images/themes/christmas-knit/trim-holly.webp");height:22px;width:min(100%,420px);opacity:.75;}

/* Ribbons: smaller */
body:has(.pb-theme-christmas) .pb-rich .rubric,
body:has(.pb-theme-christmas) .pb-shop .rubric,
body:has(.pb-theme-christmas) .pb-cta .rubric,
body:has(.pb-theme-christmas) .pb-deals .rubric{font-size:.78rem;padding:15px 54px 17px;min-width:12em;}

/* Buttons + small labels: solid colours, normal type */
body:has(.pb-theme-christmas) .pb-oval-cta,
body:has(.pb-theme-christmas) .pb-pair-go,
body:has(.pb-theme-christmas) .pb-shop-go{font:600 .68rem/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:0;box-shadow:none;background:none;color:var(--rubric);text-decoration:underline;text-underline-offset:4px;}
body:has(.pb-theme-christmas) #by-price + .pb-ovals .pb-oval-cta{background:none;box-shadow:none;color:#f3d9a6;}
body:has(.pb-theme-christmas) .pb-cta .btn,
body:has(.pb-theme-christmas) .pb-hero .btn-solid,
body:has(.pb-theme-christmas) .pb-deal-go{font:600 .78rem/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:16px 26px;box-shadow:none;border-radius:4px;background:var(--xm-green);}

/* Deal block: quieter card + clock */
body:has(.pb-theme-christmas) .pb-deal-card{border:1px solid rgba(158,43,34,.25);box-shadow:0 14px 40px rgba(23,20,14,.10);}
body:has(.pb-theme-christmas) .pb-deal-badge{font:700 .9rem/1 Inter,sans-serif;outline:0;border:0;background:var(--rubric);}
body:has(.pb-theme-christmas) .pb-deal-num,
body:has(.pb-theme-christmas) .pb-deals-caption{font:600 .72rem/1 Inter,sans-serif;letter-spacing:.2em;color:var(--muted);}
body:has(.pb-theme-christmas) .pb-deals-digits .pb-cd-seg{outline:0;border:0;background:var(--rubric);}
body:has(.pb-theme-christmas) .pb-deals-digits .pb-cd-num,
body:has(.pb-theme-christmas) .pb-deals-digits .pb-cd-lbl{font-family:Inter,sans-serif;text-shadow:none;}
body:has(.pb-theme-christmas) .pb-deal-box.is-wrapped,
body:has(.pb-theme-christmas) .pb-deal-day:nth-child(even) .pb-deal-box.is-wrapped{outline:0;border:0;
  background:linear-gradient(90deg,transparent 44%,#e2c07a 44% 56%,transparent 56%),linear-gradient(transparent 44%,#e2c07a 44% 56%,transparent 56%),#1f4d2e;}
body:has(.pb-theme-christmas) .pb-deal-day:nth-child(even) .pb-deal-box.is-wrapped{background-color:var(--rubric);
  background-image:linear-gradient(90deg,transparent 44%,#e2c07a 44% 56%,transparent 56%),linear-gradient(transparent 44%,#e2c07a 44% 56%,transparent 56%);}
body:has(.pb-theme-christmas) .pb-deal-n,
body:has(.pb-theme-christmas) .pb-deal-stamp,
body:has(.pb-theme-christmas) .pb-deal-date{font-family:Inter,sans-serif;}
body:has(.pb-theme-christmas) .pb-deal-date{font-size:.66rem;font-weight:600;}

/* Gift-certificate band: solid red with a thin knit trim top and bottom instead of the full knit scene */
body:has(.pb-theme-christmas) .pb-cta-rubric{background:var(--xm-red);position:relative;padding:76px 0;}
body:has(.pb-theme-christmas) .pb-cta-rubric::before,
body:has(.pb-theme-christmas) .pb-cta-rubric::after{content:"";position:absolute;left:0;right:0;height:22px;opacity:1;inset:auto 0;
  background:url("../images/themes/christmas-knit/trim-holly.webp") center/auto 100% repeat-x;}
body:has(.pb-theme-christmas) .pb-cta-rubric::before{top:0;}
body:has(.pb-theme-christmas) .pb-cta-rubric::after{bottom:0;}

