/** Shopify CDN: Minification failed

Line 278:79 Expected identifier but found "translateY("
Line 281:0 Unexpected "@keyframes"
Line 283:0 Unexpected "@keyframes"
Line 283:15 Unexpected "0%"
Line 283:37 Unexpected "38%"
Line 283:63 Unexpected "100%"
Line 284:0 Unexpected "@keyframes"
Line 284:17 Unexpected "0%"
Line 284:39 Unexpected "45%"
Line 284:66 Unexpected "100%"
... and 10 more hidden warnings

**/
/* NOTE: all rem units are converted to px. This theme sets a root
   font-size of 11px, so rem-based sizing rendered at ~69% scale. */
/* Bhaddie PDP draft — ported from the standalone draft.
   Scoped under .bhaddie-pdp so it cannot leak into the rest of the theme. */

@property --active{ syntax:'<color>'; inherits:true; initial-value:var(--pink); }
@property --on-active{ syntax:'<color>'; inherits:true; initial-value:#FFFFFF; }.bhaddie-pdp{
  --pink:#E98188;        /* client-specified pink (colour meter) — black text */
  --pink-soft:color-mix(in srgb, #E98188 22%, #FFFFFF);   /* palest — washes, chips, borders */
  --pink-deep:#E98188;   /* deeper — small text, links, hover */
  --pink-wash:color-mix(in srgb, #E98188 12%, var(--cream));   /* pink tint, warmed to sit on cream */
  --ink:#111111;         /* black accents */
  --brew:#111111;        /* display type */
  --pop:#E98188;         /* highlighted words — reads at small sizes */
  --cream:#FBF6F0;      /* warm cream page */
  --paper:#FFFFFF;
  --rule:rgba(17,17,17,.14);
  /* one accent, used consistently — no spectrum */
  --c1:#E98188; --c2:#E98188; --c3:#E98188; --c4:#E98188;
  --c5:#E98188; --c6:#E98188; --c7:#E98188;
  --rainbow:#E98188;
  --display:'Montserrat',system-ui,sans-serif;
  --body:'Poppins',system-ui,sans-serif;
  --label:'Permanent Marker',var(--display);
  --pill:999px;
  /* floating elevation — replaces the hard offset shadows */
  --sh-1:0 1px 2px rgba(17,17,17,.04), 0 6px 16px -6px rgba(17,17,17,.10);
  --sh-2:0 2px 6px rgba(17,17,17,.06), 0 16px 34px -12px rgba(17,17,17,.16);
  --sh-pink:0 2px 6px rgba(233,129,136,.10), 0 14px 28px -10px rgba(233,129,136,.30);
  --hair:1px solid rgba(17,17,17,.07);
}.bhaddie-pdp *{box-sizing:border-box}.bhaddie-pdp{scroll-behavior:smooth}.bhaddie-pdp{
  margin:0;color:var(--ink);background:var(--cream);
  font-weight:300;letter-spacing:.012em;
  font-family:var(--body);font-size:15px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}.bhaddie-pdp img{max-width:100%;height:auto;display:block}.bhaddie-pdp h1, .bhaddie-pdp h2, .bhaddie-pdp h3{font-family:var(--display);line-height:1.1;margin:0;letter-spacing:-.012em}.bhaddie-pdp a{color:var(--pink-deep)}.bhaddie-pdp /* grain + dot atmosphere */
/* ── the fold: the ONLY place the spectrum lives ─────────────── */
.fold{position:relative;z-index:2;
  background-color:var(--cream);
  transition:--active .55s ease}.bhaddie-pdp .fold::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;
  background:
    radial-gradient(70ch 60ch at 84% -10%, rgba(233,129,136,.12), transparent 66%),
    radial-gradient(50ch 45ch at 2% 30%, rgba(17,17,17,.05), transparent 70%);
}.bhaddie-pdp::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.5;
  background-image:radial-gradient(rgba(17,17,17,.06) 1px,transparent 1px);
  background-size:22px 22px;
  mask-image:linear-gradient(to bottom,#000,transparent 40%);
}.bhaddie-pdp /* ── header ──────────────────────────── */
header{position:sticky;top:0;z-index:20;background:rgba(251,246,240,.93);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--rule)}.bhaddie-pdp header::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:3px;background:var(--rainbow)}.bhaddie-pdp .hdr{max-width:1240px;margin:0 auto;padding:13.6px 24px;
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.bhaddie-pdp .hdr .logochip{grid-column:2;justify-self:center}.bhaddie-pdp .logochip{display:inline-flex;align-items:center;line-height:0;transition:transform .16s ease}.bhaddie-pdp footer .logochip img{filter:none}.bhaddie-pdp .logochip:hover{transform:translateY(-1px)}.bhaddie-pdp /* the wordmark's lower half is WHITE artwork — invisible on cream.
   A tight 4-way dark outline makes it read without boxing the logo in. */
.hdr .logochip img{
  height:46px;width:auto;
  filter:
    none;
}.bhaddie-pdp footer .logochip img{height:34px}.bhaddie-pdp .nav{display:flex;gap:22.4px;font-size:11.52px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.bhaddie-pdp .nav--l{grid-column:1;justify-self:start}.bhaddie-pdp .nav--r{grid-column:3;justify-self:end}.bhaddie-pdp .nav a{color:var(--ink);text-decoration:none;padding-bottom:2px;border-bottom:2px solid transparent;transition:.2s}.bhaddie-pdp .nav a:hover{border-color:var(--pink);color:var(--pink-deep)}
@media(max-width:900px){.bhaddie-pdp .nav{display:none}.bhaddie-pdp .hdr .burger{display:inline-flex}.bhaddie-pdp .hdr{grid-template-columns:1fr auto 1fr}.bhaddie-pdp .hdr .logochip{grid-column:2}
}.bhaddie-pdp /* ── buy box ─────────────────────────── */
.wrap{max-width:1240px;margin:0 auto;padding:0 24px;position:relative;z-index:2}.bhaddie-pdp .buy{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;padding:56px 0 64px;align-items:start}
@media(max-width:960px){.bhaddie-pdp .buy{grid-template-columns:1fr;gap:40px}}.bhaddie-pdp .gallery{position:sticky;top:92px}
@media(max-width:960px){.bhaddie-pdp .gallery{position:static}}.bhaddie-pdp .gal__main{position:relative;border-radius:26px;overflow:hidden;background:var(--paper);isolation:isolate;
  box-shadow:var(--sh-2);aspect-ratio:4/5}.bhaddie-pdp .gal__main img{width:100%;height:100%;object-fit:cover}.bhaddie-pdp .gal__badge{position:absolute;top:17.6px;left:17.6px;z-index:2;
  background:var(--pink);color:var(--ink);font-family:var(--display);font-weight:800;
  font-size:11.2px;letter-spacing:.12em;text-transform:uppercase;padding:7.2px 14.4px;border-radius:var(--pill)}.bhaddie-pdp .gal__frame{position:relative}
@media(max-width:760px){.bhaddie-pdp .gal__ship{position:static !important;margin-top:11.2px;background:var(--paper);
    border:var(--hair);box-shadow:var(--sh-1)}
}.bhaddie-pdp .gal__ship{position:absolute;bottom:17.6px;left:17.6px;right:17.6px;z-index:2;
  background:rgba(255,255,255,.94);border-radius:18px;padding:11.2px 15.2px;
  font-size:12.48px;font-weight:500;display:flex;gap:9.6px;align-items:center}.bhaddie-pdp .gal__ship b{font-family:var(--display);font-weight:800}.bhaddie-pdp .gal__thumbs{display:grid;grid-template-columns:repeat(6,1fr);gap:9.6px;margin-top:12.8px}.bhaddie-pdp .gal__thumbs button{padding:0;border:2px solid transparent;border-radius:12px;overflow:hidden;
  background:none;cursor:pointer;aspect-ratio:1;transition:.18s}.bhaddie-pdp .gal__thumbs img{width:100%;height:100%;object-fit:cover}.bhaddie-pdp .gal__thumbs button[aria-current="true"]{box-shadow:0 0 0 2px var(--pink-deep)}.bhaddie-pdp .gal__thumbs button:hover{transform:translateY(-3px);box-shadow:var(--sh-1)}.bhaddie-pdp .eyebrow{font-family:var(--display);font-weight:700;font-size:11.52px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--pink-deep);margin-bottom:11.2px}.bhaddie-pdp h1{font-size:clamp(38.4px,4.6vw,56px);font-weight:800;line-height:1.08;color:var(--brew)}.bhaddie-pdp h1 em{font-style:normal;color:var(--pop);
  /* same continuous underline as the section headings */
  text-decoration:underline;
  text-decoration-color:var(--pop);
  text-decoration-thickness:.075em;
  text-underline-offset:.14em;
  text-decoration-skip-ink:none;}.bhaddie-pdp .sub{margin:16px 0 25.6px;font-size:16.48px;max-width:46ch;color:#4A4A4A;
  font-weight:300;letter-spacing:.015em;line-height:1.7}.bhaddie-pdp .glance{list-style:none;display:flex;flex-wrap:wrap;gap:7.2px;padding:0;margin:0 0 25.6px}.bhaddie-pdp .glance li{display:inline-flex;align-items:center;gap:5.6px;background:var(--paper);
  border:var(--hair);border-radius:var(--pill);padding:5.6px 12.8px;
  font-size:12.48px;font-weight:500}.bhaddie-pdp .glance b{font-family:var(--display);font-weight:800;font-size:14.4px}.bhaddie-pdp .pricerow{display:flex;align-items:baseline;gap:11.2px;margin-bottom:6.4px}.bhaddie-pdp .price{font-family:var(--display);font-weight:800;font-size:40px;line-height:1}.bhaddie-pdp .per{font-size:14.4px;font-weight:500;color:#666666}.bhaddie-pdp .pricenote{font-size:12.48px;color:#666666;margin-bottom:30.4px}.bhaddie-pdp fieldset{border:0;padding:0;margin:0 0 27.2px}.bhaddie-pdp legend{font-family:var(--display);font-weight:700;font-size:16.8px;margin-bottom:2.4px;padding:0;
  letter-spacing:-.005em;
  display:flex;align-items:center;gap:8.8px}.bhaddie-pdp .step{display:grid;place-items:center;width:23px;height:23px;flex:none;border-radius:50%;
  background:var(--pink);color:var(--ink);font-size:12.16px;font-weight:800}.bhaddie-pdp .hint{font-size:12.48px;color:#666666;margin-bottom:12.8px}.bhaddie-pdp .vibes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 14.4px}
@media(max-width:520px){.bhaddie-pdp .vibes{grid-template-columns:repeat(2,1fr)}}.bhaddie-pdp .vibe{position:relative}.bhaddie-pdp .vibe input{position:absolute;opacity:0;pointer-events:none}.bhaddie-pdp .vibe > span{display:flex;flex-direction:column;gap:1.6px;cursor:pointer;position:relative;
  border:var(--hair);border-radius:26px;padding:13.6px 13.6px 12.8px;background:var(--paper);
  font-weight:700;font-size:14.08px;height:100%;
  box-shadow:var(--sh-1);
  transition:transform .16s cubic-bezier(.2,.7,.3,1),box-shadow .16s,background .18s}.bhaddie-pdp .vibe small{font-weight:400;font-size:10.88px;color:#6E6E6E;line-height:1.35}.bhaddie-pdp .vibe .ico{display:flex;align-items:center;gap:4.8px;margin-bottom:6.4px;height:28px}.bhaddie-pdp .vibe .ico svg{display:block;flex:none;fill:var(--c);stroke:var(--ink);stroke-width:1.1;
  stroke-linejoin:round;transition:.18s}.bhaddie-pdp .vibe > span:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}.bhaddie-pdp .vibe input:checked + span{background:var(--pink);color:var(--ink);
  box-shadow:0 0 0 2px var(--pink-deep), var(--sh-2)}.bhaddie-pdp .vibe input:checked + span .ico svg{fill:var(--paper);stroke:var(--ink)}.bhaddie-pdp .vibe input:checked + span small{color:currentColor;opacity:.85}.bhaddie-pdp /* little stamp on the chosen one */
.vibe input:checked + span::after{content:"✓";position:absolute;top:-11px;right:-9px;
  width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  background:var(--pink-deep);color:#FFFFFF;border:0;box-shadow:var(--sh-1);
  font-size:12.48px;font-weight:800;font-family:var(--display)}.bhaddie-pdp .vibe input:focus-visible + span{outline:2.5px solid var(--ink);outline-offset:3px}.bhaddie-pdp .vibe input:focus-visible + span{outline:2px solid var(--pink-deep);outline-offset:2px}.bhaddie-pdp .vibe--wide{grid-column:span 3}
@media(max-width:520px){.bhaddie-pdp .vibe--wide{grid-column:span 2}}.bhaddie-pdp .sizes{display:flex;flex-wrap:wrap;gap:12px}.bhaddie-pdp .size{position:relative}.bhaddie-pdp .size input{position:absolute;opacity:0;pointer-events:none}.bhaddie-pdp .size span{display:block;cursor:pointer;min-width:56px;text-align:center;position:relative;
  border:var(--hair);border-radius:var(--pill);padding:8.8px 15.2px;
  background:var(--paper);font-weight:700;font-size:14.4px;
  box-shadow:var(--sh-1);
  transition:transform .16s cubic-bezier(.2,.7,.3,1),box-shadow .16s,background .18s}.bhaddie-pdp .size span:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}.bhaddie-pdp .size input:checked + span{background:var(--pink);color:var(--ink);
  box-shadow:0 0 0 2px var(--pink-deep), var(--sh-1);transform:none}.bhaddie-pdp .size input:focus-visible + span{outline:2px solid var(--pink-deep);outline-offset:2px}.bhaddie-pdp .size input:disabled + span{opacity:.4;cursor:not-allowed;text-decoration:line-through;
  box-shadow:none;background:#EFE7E9}.bhaddie-pdp .size input:disabled + span:hover{transform:none;box-shadow:none}.bhaddie-pdp .size span sup{font-size:9.92px;color:var(--pink-deep);font-weight:800}.bhaddie-pdp .size input:checked + span sup{color:currentColor;opacity:.85}.bhaddie-pdp .plan{border:1.5px dashed var(--active,var(--pink));background:color-mix(in srgb,var(--active,var(--pink)) 9%,transparent);
  border-radius:26px;padding:16px 17.6px;margin-bottom:22.4px}.bhaddie-pdp .plan h3{font-size:16.32px;margin-bottom:9.6px}.bhaddie-pdp .sumlist{margin:0;display:grid;gap:4.8px}.bhaddie-pdp .sumlist > div{display:grid;grid-template-columns:89.6px 1fr;gap:9.6px;font-size:13.44px;
  padding-bottom:4.8px;border-bottom:1px dotted rgba(17,17,17,.16)}.bhaddie-pdp .sumlist > div:last-child{border-bottom:0;padding-bottom:0}.bhaddie-pdp .sumlist dt{color:#666666;font-size:12.16px;padding-top:1.6px}.bhaddie-pdp .sumlist dd{margin:0;font-weight:600}.bhaddie-pdp .sum-eg{display:block;font-weight:400;font-size:11.68px;color:#666666;margin-top:1.6px}.bhaddie-pdp .sumnote{margin:12px 0 0;font-size:12.16px;color:#555555}.bhaddie-pdp .cta{display:block;width:100%;border:0;cursor:pointer;
  background:var(--pink);color:var(--ink);font-family:var(--display);font-weight:800;
  font-size:17.92px;letter-spacing:.01em;padding:18.4px;border-radius:var(--pill);
  border:var(--hair);
  box-shadow:var(--sh-pink);transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .18s;
  position:relative;overflow:hidden}.bhaddie-pdp .cta::after{content:"";position:absolute;inset:0;z-index:0;background:var(--pink-deep);opacity:0;transition:.3s}.bhaddie-pdp .cta:hover::after{opacity:1}.bhaddie-pdp .cta:hover{transform:translateY(-3px);box-shadow:var(--sh-2);color:#FFFFFF}.bhaddie-pdp .cta > *{position:relative;z-index:1;display:block}.bhaddie-pdp .cta:disabled, .bhaddie-pdp .is-rainbow .cta:disabled{background:#E4DCDE;color:#6b6b6b;box-shadow:none;
  cursor:not-allowed;transform:none}.bhaddie-pdp .cta:disabled::after{display:none}.bhaddie-pdp .cta__sub{display:block;font-family:var(--body);font-weight:500;font-size:11.52px;opacity:.75;margin-top:2.4px}.bhaddie-pdp .legal{font-size:10.56px;color:#888888;line-height:1.5;margin:14.4px 0 0}.bhaddie-pdp .trust{display:flex;flex-wrap:wrap;gap:18.4px 21.6px;margin-top:35.2px;padding-top:28.8px;
  border-top:2px dashed var(--rule)}.bhaddie-pdp .tpill{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--paper);color:var(--ink);
  border:var(--hair);border-radius:var(--pill);
  padding:9.6px 16.8px 9.6px 12.8px;
  font-family:var(--display);font-weight:700;font-size:13.44px;letter-spacing:.005em;
  /* stacked hard-offset shadow = cartoon rainbow depth */
  box-shadow:var(--sh-1);
  transition:transform .16s cubic-bezier(.2,.7,.3,1), box-shadow .16s cubic-bezier(.2,.7,.3,1);
  cursor:default;
}.bhaddie-pdp .tpill:hover{
  transform:translateY(-4px);
  box-shadow:var(--sh-1);
}.bhaddie-pdp .tpill svg{width:19px;height:19px;flex:none;stroke:var(--ink);stroke-width:2.2;
  fill:none;stroke-linecap:round;stroke-linejoin:round}.bhaddie-pdp .tpill b{font-weight:800}.bhaddie-pdp .tpill--1{--s1:var(--pink);--s2:var(--pink);--s3:var(--pink)}.bhaddie-pdp .tpill--2{--s1:var(--ink);--s2:var(--ink);--s3:var(--ink)}.bhaddie-pdp .tpill--3{--s1:var(--pink);--s2:var(--pink);--s3:var(--pink)}.bhaddie-pdp .tpill--4{--s1:var(--ink);--s2:var(--ink);--s3:var(--ink)}
@media(max-width:520px){.bhaddie-pdp .tpill{font-size:12.48px;padding:8px 13.6px 8px 11.2px}}.bhaddie-pdp /* ── sticky buy bar ──────────────────── */
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:40;
  background:rgba(251,246,240,.97);backdrop-filter:blur(12px);
  border-top:var(--hair);box-shadow:0 -8px 24px -14px rgba(17,17,17,.12);
  transform:translateY(115%);transition:transform .28s cubic-bezier(.2,.7,.3,1);
  padding:11.2px 17.6px calc(11.2px + env(safe-area-inset-bottom))}.bhaddie-pdp .buybar.is-on{transform:none}.bhaddie-pdp .buybar__in{max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:16px}.bhaddie-pdp .buybar__txt{min-width:0;flex:1}.bhaddie-pdp .buybar__price{display:block;font-family:var(--display);font-weight:800;font-size:18.4px;
  line-height:1.15;color:var(--brew)}.bhaddie-pdp .buybar__meta{font-size:11.52px;color:#666666;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;display:block}.bhaddie-pdp .buybar__btn{flex:none;border:0;cursor:pointer;background:var(--pink);color:var(--ink);
  font-family:var(--display);font-weight:800;font-size:15.2px;padding:12.8px 24px;
  border-radius:var(--pill);box-shadow:var(--sh-pink);
  transition:transform .16s,box-shadow .16s}.bhaddie-pdp .buybar__btn:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}.bhaddie-pdp .buybar__btn:disabled{background:#E4DCDE;color:#6b6b6b;box-shadow:none;cursor:not-allowed;transform:none}
@media(max-width:520px){.bhaddie-pdp .buybar__btn{padding:12px 17.6px;font-size:13.92px}.bhaddie-pdp .buybar__price{font-size:16.32px}}.bhaddie-pdp /* ── mobile nav ──────────────────────── */
.burger{display:none;align-items:center;gap:7.2px;grid-column:1;justify-self:start;
  background:var(--paper);border:var(--hair);border-radius:var(--pill);
  padding:7.2px 13.6px;cursor:pointer;font-family:var(--display);font-weight:800;
  font-size:12.48px;color:var(--ink);box-shadow:var(--sh-1)}.bhaddie-pdp .burger i{display:block;width:15px;height:2.5px;background:var(--ink);border-radius:2px;position:relative}.bhaddie-pdp .burger i::before, .bhaddie-pdp .burger i::after{content:"";position:absolute;left:0;width:15px;height:2.5px;
  background:var(--ink);border-radius:2px}.bhaddie-pdp .burger i::before{top:-5px}.bhaddie-pdp .burger i::after{top:5px}.bhaddie-pdp .menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);
  border-bottom:var(--hair);padding:8px 24px 16px;
  box-shadow:var(--sh-2)}.bhaddie-pdp .menu.is-open{display:block}.bhaddie-pdp .menu a{display:block;padding:12px 0;border-bottom:1px dashed var(--rule);
  color:var(--brew);text-decoration:none;font-family:var(--display);font-weight:700;font-size:15.2px}.bhaddie-pdp .menu a:last-child{border-bottom:0;color:var(--pop)}.bhaddie-pdp /* ── ships-now band ──────────────────── */
.band{background:#F5EDE3;color:var(--ink);padding:70.4px 0 64px;position:relative;z-index:2;overflow:hidden}.bhaddie-pdp /* soft polka texture, .bhaddie-pdp because cute */
.band::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(233,129,136,.09) 2px,transparent 2px);
  background-size:26px 26px}.bhaddie-pdp .band__in{max-width:1240px;margin:0 auto;padding:0 24px;display:grid;
  grid-template-columns:repeat(3,1fr);gap:30.4px;position:relative;z-index:1}
@media(max-width:820px){.bhaddie-pdp .band__in{grid-template-columns:1fr;gap:35.2px}}.bhaddie-pdp .band__in > div{position:relative;background:var(--paper);
  border:var(--hair);border-radius:26px;padding:33.6px 24px 24px;
  box-shadow:var(--sh-1);
  transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .18s}.bhaddie-pdp .band__in > div:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}.bhaddie-pdp .band__in > div:nth-child(1){}.bhaddie-pdp .band__in > div:nth-child(2){}.bhaddie-pdp .band__in > div:nth-child(3){}.bhaddie-pdp .band__in > div:nth-child(1):hover, .bhaddie-pdp .band__in > div:nth-child(2):hover, .bhaddie-pdp .band__in > div:nth-child(3):hover{transform:translateY(-4px)}.bhaddie-pdp /* little sparkle in the corner */
.band__in > div::after{content:"✦";position:absolute;top:11.2px;right:16px;
  color:var(--pink-soft);font-size:17.6px;line-height:1}.bhaddie-pdp .band h3{font-size:21.44px;margin-bottom:6.4px;color:var(--ink)}.bhaddie-pdp .band p{margin:0;font-size:14.24px;color:#555555;font-weight:300;letter-spacing:.012em}.bhaddie-pdp .band .num{position:absolute;top:-19px;left:20.8px;
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:var(--pink);border:var(--hair);color:var(--ink);
  font-family:var(--display);font-weight:800;font-size:16.8px;letter-spacing:0}.bhaddie-pdp /* ── inside ──────────────────────────── */
.section{padding:80px 0;position:relative;z-index:2}.bhaddie-pdp .section h2{font-size:clamp(32px,4vw,46.4px);font-weight:800;max-width:16ch;color:var(--brew)}.bhaddie-pdp .section h2 em, .bhaddie-pdp .final h2 em{
  font-style:normal;color:var(--pop);
  /* one continuous stroke — no tiling, so it can never seam */
  text-decoration:underline;
  text-decoration-color:var(--pop);
  text-decoration-thickness:.085em;
  text-underline-offset:.14em;
  text-decoration-skip-ink:none;
}.bhaddie-pdp .lede{max-width:54ch;margin:16px 0 0;color:#4A4A4A;font-weight:300;
  letter-spacing:.015em;line-height:1.7}.bhaddie-pdp .inside{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
@media(max-width:880px){.bhaddie-pdp .inside{grid-template-columns:1fr}}.bhaddie-pdp .inside figure{margin:0;border-radius:26px;overflow:hidden;
  box-shadow:var(--sh-2)}.bhaddie-pdp .kit{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:28.8px 0 20.8px}
@media(max-width:560px){.bhaddie-pdp .kit{grid-template-columns:1fr}}.bhaddie-pdp .kit__card{position:relative;background:var(--paper);border:var(--hair);
  border-radius:26px;padding:27.2px 19.2px 17.6px;box-shadow:var(--sh-1)}.bhaddie-pdp .kit__n{position:absolute;top:-16px;left:17.6px;background:var(--pink);
  border:var(--hair);border-radius:var(--pill);padding:2.4px 11.2px;
  font-family:var(--display);font-weight:800;font-size:14.72px;color:var(--ink)}.bhaddie-pdp .kit__card h3{font-size:16.8px;margin-bottom:4.8px}.bhaddie-pdp .kit__card p{margin:0;font-size:13.28px;color:#555555;font-weight:300;letter-spacing:.012em}.bhaddie-pdp .kit__rule{font-size:13.76px;color:#333333;background:rgba(233,129,136,.13);
  border-radius:16px;padding:13.6px 16px;margin:0 0 24px}.bhaddie-pdp .kit__rule em{font-style:normal;font-weight:700;color:var(--pink-deep)}.bhaddie-pdp .kit__eglabel{font-family:var(--display);font-weight:700;font-size:14.4px;margin:0 0 9.6px}.bhaddie-pdp .egs{list-style:none;display:flex;flex-wrap:wrap;gap:6.4px;padding:0;margin:0}.bhaddie-pdp .egs li{background:var(--paper);border:var(--hair);border-radius:var(--pill);
  padding:4.8px 12px;font-size:12.16px;color:#555555}.bhaddie-pdp .list{list-style:none;padding:0;margin:28.8px 0 0}.bhaddie-pdp .list li{display:flex;gap:16px;padding:16px 0;border-top:1px solid var(--rule)}.bhaddie-pdp .list b{font-family:var(--display);font-weight:800;font-size:24px;
  line-height:1;min-width:35.2px}.bhaddie-pdp .list b{color:var(--pink)}.bhaddie-pdp .list p{margin:2.4px 0 0;font-size:13.76px;color:#555555}.bhaddie-pdp .list strong{font-weight:600;display:block;font-size:15.2px}.bhaddie-pdp /* ── big pull quote ──────────────────── */
.quote{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center}
@media(max-width:880px){.bhaddie-pdp .quote{grid-template-columns:1fr;gap:28.8px}}.bhaddie-pdp .quote figure{margin:0;border-radius:26px;overflow:hidden;
  box-shadow:var(--sh-2)}.bhaddie-pdp .quote blockquote{margin:0;font-family:var(--display);font-weight:700;
  font-size:clamp(21.6px,2.5vw,29.6px);line-height:1.28;color:var(--brew)}.bhaddie-pdp .quote .stars{margin-bottom:14.4px;font-size:18.4px}.bhaddie-pdp .quote cite{display:block;font-style:normal;font-family:var(--body);font-weight:600;
  font-size:13.76px;color:#4A4A4A;margin-top:17.6px}.bhaddie-pdp /* ── recent bags ─────────────────────── */
.bags{display:grid;grid-template-columns:repeat(2,1fr);gap:25.6px 27.2px;margin-top:38.4px}
@media(max-width:760px){.bhaddie-pdp .bags{grid-template-columns:1fr}}.bhaddie-pdp .bag{position:relative;background:var(--paper);border:var(--hair);border-radius:26px;
  padding:30.4px 22.4px 20.8px;box-shadow:var(--sh-1)}.bhaddie-pdp .bag:nth-child(1){--bc:var(--pink)}.bhaddie-pdp .bag:nth-child(2){--bc:var(--ink)}.bhaddie-pdp .bag:nth-child(3){--bc:var(--ink)}.bhaddie-pdp .bag:nth-child(4){--bc:var(--pink)}.bhaddie-pdp .bag__tag{position:absolute;top:-15px;left:19.2px;background:var(--pink);
  border:var(--hair);border-radius:var(--pill);padding:3.2px 13.6px;
  font-family:var(--display);font-weight:800;font-size:12.16px;color:var(--ink)}.bhaddie-pdp .bag ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6.4px}.bhaddie-pdp .bag li{background:var(--pink-wash);border:var(--hair);border-radius:var(--pill);
  padding:4.48px 11.2px;font-size:12.48px;color:#4A4A4A}.bhaddie-pdp .bag q{display:block;font-size:13.28px;color:#666666;margin-top:12px;font-style:italic}.bhaddie-pdp /* ── drops ───────────────────────────── */
.drops{display:grid;grid-template-columns:1fr 1fr;gap:25.6px;margin-top:36.8px}
@media(max-width:760px){.bhaddie-pdp .drops{grid-template-columns:1fr}}.bhaddie-pdp .drop{background:var(--paper);border:var(--hair);border-radius:26px;padding:24px;
  box-shadow:var(--sh-1)}.bhaddie-pdp .drop h3{font-size:17.6px;margin-bottom:5.6px;color:var(--brew)}.bhaddie-pdp .drop p{margin:0;font-size:14.08px;color:#4A4A4A;font-weight:300;letter-spacing:.012em}.bhaddie-pdp /* ── payments ────────────────────────── */
.pay{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:9.6px;margin-top:25.6px}.bhaddie-pdp .pay li{list-style:none;line-height:0}.bhaddie-pdp .pay img{width:46px;height:46px;border-radius:10px;display:block;
  transition:transform .16s cubic-bezier(.2,.7,.3,1)}.bhaddie-pdp .pay li:hover img{transform:translateY(-3px)}.bhaddie-pdp /* section labels — the marker face, .bhaddie-pdp used ONLY here (never on controls) */
.seclabel{font-family:var(--label);font-weight:400;font-size:16.32px;
  letter-spacing:.06em;color:var(--pink-deep);text-transform:uppercase;
  margin:0 0 8.8px;line-height:1;display:block}
@media(max-width:560px){.bhaddie-pdp .seclabel{font-size:14.72px}}.bhaddie-pdp /* ── sizing ──────────────────────────── */
.sizeband{background:#F5EDE3}.bhaddie-pdp .sizerun{display:flex;flex-wrap:wrap;gap:11.2px;margin:25.6px 0 22.4px;padding:0;list-style:none}.bhaddie-pdp .sizerun li{background:var(--paper);border:var(--hair);border-radius:var(--pill);
  padding:8.8px 18.4px;font-family:var(--display);font-weight:800;font-size:16px;
  box-shadow:var(--sh-1)}.bhaddie-pdp .sizerun li span{font-family:var(--body);font-weight:700;font-size:9.92px;color:var(--pop);
  vertical-align:super;margin-left:2.4px}.bhaddie-pdp .sizenote{display:grid;gap:8.8px;margin:0;padding:0;list-style:none;max-width:54ch}.bhaddie-pdp .sizenote li{display:flex;gap:8.8px;font-size:14.08px;color:#4A4A4A}.bhaddie-pdp .sizenote b{color:var(--brew)}.bhaddie-pdp /* ── perks ───────────────────────────── */
.perks{display:grid;grid-template-columns:repeat(3,1fr);gap:27.2px 28.8px;margin-top:41.6px}
@media(max-width:880px){.bhaddie-pdp .perks{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.bhaddie-pdp .perks{grid-template-columns:1fr}}.bhaddie-pdp .perk{position:relative;background:var(--paper);border:var(--hair);border-radius:26px;
  padding:32px 22.4px 22.4px;box-shadow:var(--sh-1);
  transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .18s}.bhaddie-pdp .perk:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}.bhaddie-pdp .perk:nth-child(1){--pc:var(--pink)}.bhaddie-pdp .perk:nth-child(2){--pc:var(--ink)}.bhaddie-pdp .perk:nth-child(3){--pc:var(--pink)}.bhaddie-pdp .perk__tag{position:absolute;top:-15px;left:19.2px;background:var(--pink);
  border:var(--hair);border-radius:var(--pill);padding:3.2px 12.8px;
  font-family:var(--display);font-weight:800;font-size:12.48px;color:var(--ink)}.bhaddie-pdp .perk h3{font-size:17.92px;margin-bottom:5.6px;color:var(--brew)}.bhaddie-pdp .perk p{margin:0;font-size:13.92px;color:#4A4A4A;font-weight:300;letter-spacing:.012em}.bhaddie-pdp /* ── support ─────────────────────────── */
.support{background:#F5EDE3}.bhaddie-pdp .contacts{display:grid;grid-template-columns:repeat(3,1fr);gap:20.8px;margin-top:35.2px}
@media(max-width:820px){.bhaddie-pdp .contacts{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.bhaddie-pdp .contacts{grid-template-columns:1fr}}.bhaddie-pdp .contact{background:var(--paper);border:var(--hair);border-radius:26px;padding:20.8px;
  box-shadow:var(--sh-1)}.bhaddie-pdp .contact h3{font-size:15.68px;margin-bottom:4px;color:var(--brew)}.bhaddie-pdp .contact a{font-weight:700;color:var(--pop);text-decoration:none;word-break:break-word}.bhaddie-pdp .contact a:hover{text-decoration:underline}.bhaddie-pdp .contact small{display:block;font-size:11.52px;color:#666666;margin-top:6.4px;line-height:1.45}.bhaddie-pdp .mailer{
  /* a footnote, not a fourth contact card: centred, wider, and visually
     distinct from the white cards above it */
  margin:40px auto 0;max-width:70ch;
  display:flex;gap:14px;align-items:flex-start;
  background:transparent;border:0;border-top:1px dashed rgba(17,17,17,.16);
  border-radius:0;padding:22px 4px 0;
  font-size:14px;line-height:1.65;color:#5A5A5A}
.bhaddie-pdp .mailer::before{
  content:"";flex:none;width:22px;height:22px;margin-top:1px;border-radius:50%;
  background:var(--pink);
  -webkit-mask:no-repeat center/13px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 15h-2v-2h2Zm0-4h-2V7h2Z'/%3E%3C/svg%3E");
  mask:no-repeat center/13px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20Zm1 15h-2v-2h2Zm0-4h-2V7h2Z'/%3E%3C/svg%3E");
  background-color:var(--pink-deep)}
@media(max-width:560px){.bhaddie-pdp .mailer{padding-left:0}}.bhaddie-pdp .mailer b{color:var(--brew)}.bhaddie-pdp /* ── faq ─────────────────────────────── */
/* full-width sections: centre the heading + lede, .bhaddie-pdp keep card content left */
#faq, .bhaddie-pdp #sizing, .bhaddie-pdp #bags, .bhaddie-pdp #reviews, .bhaddie-pdp #perks, .bhaddie-pdp #drops, .bhaddie-pdp #help{text-align:center}.bhaddie-pdp #faq h2, .bhaddie-pdp #sizing h2, .bhaddie-pdp #bags h2, .bhaddie-pdp #reviews h2, .bhaddie-pdp #perks h2, .bhaddie-pdp #drops h2, .bhaddie-pdp #help h2, .bhaddie-pdp #faq .lede, .bhaddie-pdp #sizing .lede, .bhaddie-pdp #bags .lede, .bhaddie-pdp #reviews .lede, .bhaddie-pdp #perks .lede, .bhaddie-pdp #drops .lede, .bhaddie-pdp #help .lede{
  margin-left:auto;margin-right:auto}.bhaddie-pdp /* h2 is capped at 16ch — release it so centring reads deliberately */
#sizing h2, .bhaddie-pdp #bags h2, .bhaddie-pdp #reviews h2, .bhaddie-pdp #perks h2, .bhaddie-pdp #drops h2, .bhaddie-pdp #help h2, .bhaddie-pdp #faq h2{max-width:22ch}.bhaddie-pdp /* anything with its own internal layout stays left-aligned */
.bag, .bhaddie-pdp .perk, .bhaddie-pdp .contact, .bhaddie-pdp .rev, .bhaddie-pdp .drop, .bhaddie-pdp .sizenote, .bhaddie-pdp .mailer, .bhaddie-pdp .rsum, .bhaddie-pdp .faq{text-align:left}.bhaddie-pdp .sizerun{justify-content:center}.bhaddie-pdp .sizenote{margin-left:auto;margin-right:auto}.bhaddie-pdp .faq{max-width:760px;margin:40px auto 0;text-align:left}.bhaddie-pdp details{border-bottom:1px solid var(--rule);padding:18.4px 0}.bhaddie-pdp summary{cursor:pointer;list-style:none;font-family:var(--display);font-weight:700;
  font-size:17.28px;display:flex;justify-content:space-between;gap:16px;align-items:center;
  min-height:44px;padding:5.6px 0}.bhaddie-pdp summary::-webkit-details-marker{display:none}.bhaddie-pdp summary::after{content:"+";color:var(--pink-deep);font-size:24px;transition:.25s;line-height:1}.bhaddie-pdp details[open] summary::after{transform:rotate(45deg)}.bhaddie-pdp details p{margin:11.2px 0 0;color:#555555;font-size:14.4px;max-width:60ch}.bhaddie-pdp /* ── reviews ─────────────────────────── */
.reviews{background:var(--paper);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.bhaddie-pdp .rsum{display:flex;flex-wrap:wrap;align-items:center;gap:25.6px 35.2px;margin-top:32px;
  background:var(--paper);border:var(--hair);border-radius:26px;padding:22.4px 27.2px;
  box-shadow:var(--sh-1)}.bhaddie-pdp .rsum__score{font-family:var(--display);font-weight:800;font-size:51.2px;line-height:.9}.bhaddie-pdp .rsum__meta{font-size:12.8px;color:#555555;margin-top:4px}.bhaddie-pdp .rsum__bars{flex:1;min-width:230px;display:grid;gap:5.44px}.bhaddie-pdp .rbar{display:grid;grid-template-columns:30.4px 1fr 35.2px;align-items:center;gap:9.6px;
  font-size:11.2px;color:#666666}.bhaddie-pdp .rbar i{font-style:normal;height:9px;border-radius:999px;background:rgba(17,17,17,.09);
  position:relative;overflow:hidden}.bhaddie-pdp .rbar i::after{content:"";position:absolute;top:0;bottom:0;left:0;width:var(--w);
  background:var(--pink-deep);border-radius:999px}.bhaddie-pdp .rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:27.2px 28.8px;margin-top:41.6px}
@media(max-width:880px){.bhaddie-pdp .rgrid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.bhaddie-pdp .rgrid{grid-template-columns:1fr}}.bhaddie-pdp .rev{background:var(--paper);border:var(--hair);border-radius:26px;
  padding:21.6px 23.2px;display:flex;flex-direction:column;gap:12px;
  box-shadow:var(--sh-1);
  transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .18s}.bhaddie-pdp .rev:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}.bhaddie-pdp .rev{--rc:var(--pink-soft)}.bhaddie-pdp .stars{color:var(--pink-deep);letter-spacing:.1em;font-size:15.2px;line-height:1}.bhaddie-pdp .rev p{font-size:14.4px;margin:0;flex:1;color:#333333;font-weight:300;letter-spacing:.012em;line-height:1.65}.bhaddie-pdp .rev__by{display:flex;align-items:center;gap:10.4px;border-top:2px dashed var(--rule);padding-top:13.6px}.bhaddie-pdp .rev__av{width:44px;height:44px;flex:none;border-radius:50%;overflow:hidden;
  box-shadow:var(--sh-1);background:var(--pink-soft)}.bhaddie-pdp .rev__av img{display:block;width:100%;height:100%;object-fit:cover}.bhaddie-pdp .rev cite{font-style:normal;font-family:var(--display);font-weight:700;font-size:13.92px;display:block}.bhaddie-pdp .rev__vf{font-size:10.56px;color:#666666;display:inline-flex;align-items:center;gap:4.48px}.bhaddie-pdp .rev__vf svg{width:12px;height:12px;flex:none;display:block;
  stroke:var(--pink);stroke-width:3.2;fill:none;stroke-linecap:round;stroke-linejoin:round}.bhaddie-pdp /* ── final cta ───────────────────────── */
.final{text-align:center;padding:88px 0}.bhaddie-pdp .final h2{margin:0 auto;max-width:16ch;color:var(--brew)}.bhaddie-pdp .btn{display:inline-block;margin-top:28.8px;text-decoration:none;
  background:var(--pink);color:var(--ink);font-family:var(--display);font-weight:800;
  font-size:16.8px;padding:17.6px 41.6px;border-radius:var(--pill);
  border:0;box-shadow:var(--sh-pink);transition:transform .18s,box-shadow .18s}.bhaddie-pdp .btn:hover{background:var(--pink-deep);color:#FFFFFF;transform:translateY(-4px);box-shadow:var(--sh-2)}.bhaddie-pdp footer{background:#F5EDE4;color:#666666;padding:48px 0;font-size:12.48px;position:relative;z-index:2}.bhaddie-pdp footer .wrap{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;align-items:center}.bhaddie-pdp footer img{height:34px;width:auto}.bhaddie-pdp footer a{color:#666666;text-decoration:none;margin-right:6.4px;
  display:inline-block;padding:9.6px 12.8px 9.6px 0}.bhaddie-pdp footer a:hover{color:var(--pink)}.bhaddie-pdp /* ═══ motion ═══════════════════════════════════════════════
   Everything here is opacity/transform only, .bhaddie-pdp and the whole block is
   disabled under prefers-reduced-motion at the end of this stylesheet. */

/* scroll reveal — one base, .bhaddie-pdp several characters, .bhaddie-pdp so folds don't all
   arrive the same way. .in always resolves to no transform. */
.r{opacity:0;
  transition:opacity .55s cubic-bezier(.2,.7,.3,1), transform .6s cubic-bezier(.2,.7,.3,1);
  transition-delay:var(--d,0ms)}.bhaddie-pdp .r.in{opacity:1;transform:none}.bhaddie-pdp .r--up{transform:translateY(24px)}.bhaddie-pdp .r--left{transform:translateX(-34px)}.bhaddie-pdp .r--right{transform:translateX(34px)}.bhaddie-pdp .r--pop{transform:scale(.9);transition-timing-function:cubic-bezier(.2,1.5,.4,1)}.bhaddie-pdp .r--drop{transform:translateY(-26px)}.bhaddie-pdp .r--tilt{transform:rotate(-4deg) translateY(20px) scale(.96);
  transition-timing-function:cubic-bezier(.2,1.3,.4,1)}.bhaddie-pdp .r--tiltR{ translateY(20px) scale(.96);
  transition-timing-function:cubic-bezier(.2,1.3,.4,1)}.bhaddie-pdp /* headings get a quieter, .bhaddie-pdp shorter move so they don't compete */
.r--head{transform:translateY(14px);transition-duration:.45s}.bhaddie-pdp /* hero entrance, .bhaddie-pdp staggered */
@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.bhaddie-pdp .hero-in{opacity:0;animation:rise .65s cubic-bezier(.2,.7,.3,1) forwards;
  animation-delay:var(--d,0ms)}.bhaddie-pdp /* price pop when the selection changes it */
@keyframes pop{0%{transform:scale(1)}38%{transform:scale(1.14)}100%{transform:scale(1)}}.bhaddie-pdp .pop{animation:pop .38s cubic-bezier(.2,.7,.3,1)}.bhaddie-pdp /* chosen vibe card gives a little nod */
@keyframes nudge{0%{transform:scale(1)}45%{transform:scale(1.045)}100%{transform:scale(1)}}.bhaddie-pdp .vibe > span.picked{animation:nudge .34s cubic-bezier(.2,.7,.3,1)}.bhaddie-pdp /* the ✓ stamp lands */
@keyframes stamp{0%{transform:scale(0) rotate(-25deg);opacity:0}
  60%{transform:scale(1.18) rotate(6deg);opacity:1}100%{transform:scale(1) rotate(0);opacity:1}}.bhaddie-pdp .vibe input:checked + span::after{animation:stamp .34s cubic-bezier(.2,.7,.3,1) backwards}.bhaddie-pdp /* surprise card twinkles */
@keyframes twinkle{0%,100%{transform:scale(1) rotate(0);opacity:1}
  50%{transform:scale(1.16) rotate(9deg);opacity:.82}}.bhaddie-pdp .vibe--wide .ico svg{animation:twinkle 2.8s ease-in-out infinite}.bhaddie-pdp /* hero image crossfade when a thumbnail is chosen */
#hero{transition:opacity .28s ease}.bhaddie-pdp #hero.swapping{opacity:0}.bhaddie-pdp /* gentle float on the sticky bar's button so it reads as live */
@keyframes breathe{0%,100%{transform:none}50%{transform:translateY(-2px)}}.bhaddie-pdp .buybar.is-on .buybar__btn{animation:breathe 2.6s ease-in-out infinite}.bhaddie-pdp .buybar.is-on .buybar__btn:hover{animation:none}.bhaddie-pdp .reveal{opacity:0;transform:translateY(18px);animation:up .7s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes up{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.bhaddie-pdp .reveal, .bhaddie-pdp .hero-in{animation:none;opacity:1;transform:none}.bhaddie-pdp .r, .bhaddie-pdp .r--up, .bhaddie-pdp .r--left, .bhaddie-pdp .r--right, .bhaddie-pdp .r--pop, .bhaddie-pdp .r--drop, .bhaddie-pdp .r--tilt, .bhaddie-pdp .r--tiltR, .bhaddie-pdp .r--head{
    opacity:1;transform:none;transition:none}.bhaddie-pdp .pop, .bhaddie-pdp .vibe > span.picked, .bhaddie-pdp .vibe input:checked + span::after, .bhaddie-pdp .vibe--wide .ico svg, .bhaddie-pdp .buybar.is-on .buybar__btn{animation:none}.bhaddie-pdp, .bhaddie-pdp::after, .bhaddie-pdp #hero{transition:none}.bhaddie-pdp *{scroll-behavior:auto}
}.bhaddie-pdp /* full-spectrum state: chosen when the shopper picks "Rotate all themes" */
.is-rainbow .vibe--wide input:checked + span{background:var(--rainbow);border-color:transparent}.bhaddie-pdp .is-rainbow .plan{border-style:solid;border-color:transparent;
  background:linear-gradient(var(--paper),var(--paper)) padding-box,var(--rainbow) border-box;
  border-width:2px}


/* ---- Dawn controls, restyled to match ---- */
.bhaddie-pdp .product-form__submit{
  background:var(--pink) !important;color:var(--ink) !important;
  border:0 !important;border-radius:var(--pill) !important;
  font-family:var(--display) !important;font-weight:800 !important;
  font-size:16.8px !important;padding:16.8px 22.4px !important;
  box-shadow:var(--sh-pink) !important;min-height:auto !important;
  transition:transform .18s cubic-bezier(.2,.7,.3,1),box-shadow .18s !important;
}
.bhaddie-pdp .product-form__submit:hover{transform:translateY(-3px);box-shadow:var(--sh-2) !important}
.bhaddie-pdp .product-form__submit::after,
.bhaddie-pdp .product-form__submit::before{display:none !important}
.bhaddie-pdp .product-form__input legend.form__label,
.bhaddie-pdp fieldset.product-form__input legend{
  font-family:var(--display);font-weight:700;font-size:16.32px;color:var(--ink);
  letter-spacing:-.005em;margin-bottom:9.6px}
.bhaddie-pdp .product-form__input input[type=radio]+label{
  border:0 !important;border-radius:var(--pill) !important;background:var(--paper) !important;
  box-shadow:var(--sh-1) !important;font-family:var(--display) !important;
  font-weight:700 !important;font-size:14.4px !important;padding:9.6px 16.8px !important;
  transition:transform .16s,box-shadow .16s !important}
.bhaddie-pdp .product-form__input input[type=radio]:checked+label{
  background:var(--pink) !important;color:var(--ink) !important;
  box-shadow:0 0 0 2px var(--pink-deep), var(--sh-1) !important}
.bhaddie-pdp .product-form__input input[type=radio]+label:hover{transform:translateY(-2px)}

/* ---- typography override ----
   The theme injects an inline rule forcing font-family:"Roca Two" !important
   on every heading, so matching it requires !important here. Scoped to the
   section, so the rest of the store keeps its brand font untouched. */
.bhaddie-pdp h1, .bhaddie-pdp h2, .bhaddie-pdp h3,
.bhaddie-pdp h4, .bhaddie-pdp h5, .bhaddie-pdp h6,
.bhaddie-pdp .price, .bhaddie-pdp legend,
.bhaddie-pdp .product-form__submit{
  font-family: var(--display) !important;
}
.bhaddie-pdp .seclabel{ font-family: var(--label) !important; }
.bhaddie-pdp, .bhaddie-pdp p, .bhaddie-pdp li,
.bhaddie-pdp .sub, .bhaddie-pdp .lede{
  font-family: var(--body) !important;
}

/* ---- Liquid picker: sizing + the accent the JS used to set ----
   In the standalone draft, JS set --c per card. Liquid renders one accent,
   so set it here or the icons fall back to black. */
.bhaddie-pdp .vibe{ --c: var(--pink); --on-c: var(--ink); }
.bhaddie-pdp .vibe > span{
  padding:16px 16px 15.2px;
  font-size:16px;
  gap:2.4px;
}
.bhaddie-pdp .vibe > span small{ font-size:12.48px; line-height:1.45; }
.bhaddie-pdp .vibe .ico{ height:34px; margin-bottom:8px; }
.bhaddie-pdp .vibe .ico svg{ width:32px; height:32px; }
.bhaddie-pdp .vibe .ico svg:nth-child(2){ width:26px; height:26px; }
.bhaddie-pdp .vibes{ gap:17.6px 16px; }

.bhaddie-pdp .size span{ font-size:16px; padding:11.2px 19.2px; min-width:64px; }
.bhaddie-pdp .sizes{ gap:13.6px; }

.bhaddie-pdp .bhaddie-fieldset legend{ font-size:17.92px; }
.bhaddie-pdp .hint{ font-size:13.6px; margin-bottom:16px; }
.bhaddie-pdp .step{ width:26px; height:26px; font-size:13.12px; }

/* the buy column reads small against the theme's base size */
.bhaddie-pdp .sub{ font-size:17.28px; }
.bhaddie-pdp .glance li{ font-size:13.6px; padding:7.2px 15.2px; }
.bhaddie-pdp .product-form__submit{ font-size:18.4px !important; padding:18.4px 22.4px !important; }

/* ---- Seal Subscriptions ----
   The app injects its own plan card, which repeats what the order summary
   already says. Hidden visually only: the selling_plan input it adds stays
   in the DOM and still submits. */
.bhaddie-pdp.hide-seal .sls-widget,
.bhaddie-pdp.hide-seal .seal-subscriptions-widget,
.bhaddie-pdp.hide-seal [class*="sealsubs"],
.bhaddie-pdp.hide-seal [id*="sealsubs"]{
  position:absolute !important;
  width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;
}

/* ---- price + per-size breakdown ---- */
.bhaddie-pdp .pricebox{margin:4px 0 26px}
.bhaddie-pdp .pricerow{display:flex;align-items:baseline;gap:10px}
.bhaddie-pdp .price{font-family:var(--display) !important;font-weight:800;
  font-size:44px;line-height:1;color:var(--ink)}
.bhaddie-pdp .per{font-size:15px;font-weight:500;color:#666666}
.bhaddie-pdp .pricetiers{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:12px 0 0}
.bhaddie-pdp .pricetiers li{background:var(--pink-wash);border:var(--hair);
  border-radius:999px;padding:5px 12px;font-size:12.5px;color:#4A4A4A}
.bhaddie-pdp .pricetiers b{font-family:var(--display);font-weight:800;color:var(--ink);margin-left:2px}
.bhaddie-pdp .pricenote{margin:11px 0 0;font-size:12.5px;color:#666666}

/* ================= contrast pass — the pink is fixed at #E98188 =========
   It measures 7.16:1 on dark and as a fill with ink text, but only 2.45:1
   as text on cream. So pink keeps every role where it already passes, and
   the roles where it failed are re-coloured instead of re-tinting the pink. */

/* section labels: pink type on a dark pill — 7.16:1, and it echoes the
   black header on the live site */
.bhaddie-pdp .seclabel{
  display:inline-block;background:var(--ink);color:var(--pink) !important;
  padding:6px 14px 5px;border-radius:999px;margin-bottom:14px;
  font-size:14px;letter-spacing:.08em;
}

/* heading accents stay PINK — client direction. The pink is #E98188 and is
   not to be altered, so the words are pink with a pink underline. */
.bhaddie-pdp h1 em,
.bhaddie-pdp h2 em,
.bhaddie-pdp .section h2 em,
.bhaddie-pdp .final h2 em{
  color:var(--pink) !important;
  text-decoration-color:var(--pink) !important;
  text-decoration-thickness:.09em !important;
}

/* eyebrow + links stay pink */
.bhaddie-pdp .eyebrow{color:var(--pink) !important}
.bhaddie-pdp .contact a,
.bhaddie-pdp .menu a:last-child{
  color:var(--pink) !important;
  text-decoration:underline;
  text-decoration-color:var(--pink);
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}
/* stars and rating bars stay pink — they are graphics, not text */

/* legal line was #888 at ~10.5px — too light and too small to read.
   Darkened and enlarged; the pink is untouched. */
.bhaddie-pdp .legal{color:#5A5A5A !important;font-size:12px !important;line-height:1.6}

/* vibe cards: the actual bag that matches each theme */
.bhaddie-pdp .vibe .pics{display:flex;gap:5px;margin-bottom:9px}
.bhaddie-pdp .vibe .pics img{flex:1;min-width:0;width:100%;height:118px;object-fit:cover;display:block;border-radius:10px;border:2px solid var(--ink);background:var(--paper)}
.bhaddie-pdp .vibe input:checked + span .pics img{border-color:var(--ink)}
/* the surprise card spans three columns, so cap its thumbs or they shout
   louder than the three single-theme cards above them */
.bhaddie-pdp .vibe .txt{display:flex;flex-direction:column;gap:1.6px;min-width:0}
/* the surprise card spans all three columns, so lay it out as a banner:
   photos on the left, text on the right, instead of leaving half of it empty */
.bhaddie-pdp .vibe--wide > span{flex-flow:row wrap;align-items:center;gap:14px 18px}
.bhaddie-pdp .vibe--wide .pics{margin-bottom:0;flex:1 1 240px;min-width:0;gap:6px;max-width:100%}
/* 0 1 lets the thumbs shrink rather than overflow once the card is narrow */
.bhaddie-pdp .vibe--wide .pics img{flex:0 1 96px;width:96px;max-width:96px;height:110px}
.bhaddie-pdp .vibe--wide .txt{flex:1 1 160px}

/* reveal animations start 10px off to the side, which gave the page a
   10px horizontal scroll on mobile until they finished. clip, not hidden,
   so the sticky buy bar is unaffected. */
.bhaddie-pdp{overflow-x:clip}

/* The theme colours bare headings white from a stylesheet we can't override
   per-rule (it's cross-origin). `inherit` makes every heading take its own
   container's colour, so it's right on cream AND on pink, instead of us
   hardcoding one colour and breaking the other. */
.bhaddie-pdp :is(h1,h2,h3,h4,h5,h6){color:inherit}

/* Judge.me's carousel ships its own title, which repeats the fold heading
   directly above it. Hide the title, keep the star rating and review count. */
/* the app block is a sibling of the reviews fold, so it needs the fold's
   background too, otherwise the page cream shows through and one fold
   reads as two. tied to the reviews fold being white. */
.bhaddie-pdp .revapp{padding-top:0;background:#FFFFFF}
/* the fold's divider would otherwise cut between our heading and the carousel */
.bhaddie-pdp #reviews:has(+ .revapp){border-bottom:0}
.bhaddie-pdp .revapp .jdgm-carousel-title{display:none}
.bhaddie-pdp .revapp .jdgm-carousel-title-and-link{margin-top:0}

/* Every review links to the same product (the shop sells one thing), so the
   carousel repeats one product photo under every reviewer's name. Different
   names + identical photo reads as fake. Drop the thumbnail, keep the words. */
.bhaddie-pdp .revapp .jdgm-carousel-item__product-image{display:none}
.bhaddie-pdp .revapp .jdgm-carousel-item__product{margin-top:0}

/* with no star distribution, the summary card is just the score, so centre it
   instead of leaving a wide empty column where the bars were */
.bhaddie-pdp .rmini{display:flex;align-items:center;justify-content:center;gap:9px;
  margin:22px 0 4px;font-size:14.5px;color:#4A4A4A}
.bhaddie-pdp .rmini b{font-family:var(--display);font-weight:800;font-size:19px;color:var(--ink)}
.bhaddie-pdp .rmini .stars{font-size:15px;letter-spacing:1px}

/* ── cart page ───────────────────────────────── */
.bhaddie-pdp .cartpage{background:var(--cream)}
.bhaddie-pdp .cartpage h1{margin:6px 0 26px;text-align:center}
.bhaddie-pdp .cartform{display:grid;grid-template-columns:1fr 340px;gap:26px;align-items:start}
@media(max-width:860px){.bhaddie-pdp .cartform{grid-template-columns:1fr}}

.bhaddie-pdp .cartlines{display:flex;flex-direction:column;gap:14px}
.bhaddie-pdp .cline{display:grid;grid-template-columns:96px 1fr auto;gap:16px;align-items:start;
  background:#FFFFFF;border-radius:16px;padding:16px;box-shadow:var(--sh-1)}
.bhaddie-pdp .cline__img img{width:96px;height:96px;object-fit:cover;border-radius:11px;
  border:2px solid var(--ink);display:block;background:var(--paper)}
.bhaddie-pdp .cline__title{font-family:var(--display);font-weight:800;font-size:15.5px;
  line-height:1.25;margin:0 0 6px;color:var(--ink)}
.bhaddie-pdp .cline__opts{list-style:none;margin:0 0 7px;padding:0;display:flex;flex-wrap:wrap;gap:4px 14px}
.bhaddie-pdp .cline__opts li{font-size:13px;color:#4A4A4A}
.bhaddie-pdp .cline__opts span{color:#6E6E6E}
.bhaddie-pdp .cline__plan{display:flex;align-items:center;gap:6px;margin:0 0 10px;
  font-size:12.5px;font-weight:700;color:var(--ink)}
.bhaddie-pdp .cline__plan svg{width:14px;height:14px;flex:none;fill:none;stroke:var(--pink-deep);stroke-width:3;
  stroke-linecap:round;stroke-linejoin:round}
.bhaddie-pdp .cline__qty{display:flex;align-items:center;gap:8px}
.bhaddie-pdp .qbtn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;
  border-radius:999px;border:2px solid var(--ink);background:#FFFFFF;color:var(--ink);
  text-decoration:none;font-weight:800;line-height:1;transition:.15s}
.bhaddie-pdp .qbtn:hover{background:var(--pink);color:var(--ink)}
.bhaddie-pdp .qbtn.is-off{opacity:.32;pointer-events:none}
.bhaddie-pdp .qnum{min-width:22px;text-align:center;font-weight:800;font-family:var(--display)}
.bhaddie-pdp .cline__rm{margin-left:8px;font-size:12.5px;color:#6E6E6E;text-underline-offset:3px}
.bhaddie-pdp .cline__rm:hover{color:var(--ink)}
.bhaddie-pdp .cline__price{font-family:var(--display);font-weight:800;font-size:16px;margin:0;
  white-space:nowrap;color:var(--ink)}

.bhaddie-pdp .cartsum{background:#FFFFFF;border-radius:18px;padding:20px;box-shadow:var(--sh-2);
  position:sticky;top:18px}
@media(max-width:860px){.bhaddie-pdp .cartsum{position:static}}
.bhaddie-pdp .cartsum__row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.bhaddie-pdp .cartsum__row span{font-size:14px;color:#4A4A4A}
.bhaddie-pdp .cartsum__row b{font-family:var(--display);font-weight:800;font-size:23px;color:var(--ink)}
.bhaddie-pdp .cartsum__note{font-size:12px;color:#6E6E6E;margin:6px 0 16px;line-height:1.45}
.bhaddie-pdp .cta--full{width:100%;justify-content:center;text-align:center}
.bhaddie-pdp .cartsum__dyn{margin-top:10px;display:flex;flex-direction:column;gap:8px}
.bhaddie-pdp .cartsum__trust{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:7px}
.bhaddie-pdp .cartsum__trust li{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;
  color:#4A4A4A;line-height:1.4}
.bhaddie-pdp .cartsum__trust svg{width:13px;height:13px;margin-top:2px;flex:none;fill:none;
  stroke:var(--pink-deep);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}

.bhaddie-pdp .cartempty{text-align:center;padding:22px 0 8px}
.bhaddie-pdp .cartempty .lede{margin-bottom:22px}

/* ── third-party widget stacking ──────────────
   UNSCOPED ON PURPOSE. These belong to apps (BixGrow referral, Seal Loyalty)
   and the theme's back-to-top, so they render outside .bhaddie-pdp. All three
   were piled into the same corner. We can't change app settings, so we stack
   them from the theme instead.
     bottom  20px  BixGrow "Get $10" (widest, left where the app puts it)
     bottom  88px  Seal Loyalty "Rewards"
     left    24px  back-to-top, moved out of the corner entirely
*/
#seal-loyalty-main-button{bottom:88px !important}
.js-scroll-top--bottom_right{right:auto !important;left:24px !important}

/* When the PDP's sticky buy bar is up, the referral widget sat ON TOP of the
   Subscribe button (z-index 2147483647, so it also swallowed the clicks).
   Lift both widgets clear of the bar while it's showing. */
body:has(.buybar.is-on) #bixgrow_referral_widget_container{bottom:96px !important}
body:has(.buybar.is-on) #seal-loyalty-main-button{bottom:164px !important}

/* ── footer ──────────────────────────────────── */
.bhaddie-pdp .bfoot{background:var(--pink-wash);border-top:2px solid var(--ink);padding:44px 0 22px;color:var(--ink)}
.bhaddie-pdp .bfoot__top{display:grid;grid-template-columns:1.1fr 1fr;gap:34px;align-items:start}
@media(max-width:760px){.bhaddie-pdp .bfoot__top{grid-template-columns:1fr;gap:26px}}
.bhaddie-pdp .bfoot__logo{display:block;max-width:230px;height:auto}
.bhaddie-pdp .bfoot__name{font-family:var(--display);font-weight:800;font-size:22px;margin:0}
.bhaddie-pdp .bfoot__tag{margin:10px 0 0;font-size:15px;line-height:1.5;max-width:34ch;color:var(--ink)}
.bhaddie-pdp .bfoot__tag em{font-style:normal;color:var(--pink-deep);font-weight:700}

.bhaddie-pdp .bfoot__news{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}
.bhaddie-pdp .bfoot__news input{flex:1 1 190px;min-width:0;padding:11px 14px;border-radius:999px;
  border:2px solid var(--ink);background:#FFFFFF;color:var(--ink);font:inherit;font-size:14px}
.bhaddie-pdp .bfoot__news input::placeholder{color:#6E6E6E}
.bhaddie-pdp .bfoot__news button{flex:none;padding:11px 20px;border-radius:999px;border:2px solid var(--ink);
  background:var(--pink);color:var(--ink);font-family:var(--display);font-weight:800;font-size:14px;
  cursor:pointer;transition:.15s}
.bhaddie-pdp .bfoot__news button:hover{background:var(--ink);color:#FFFFFF}
.bhaddie-pdp .bfoot__ok{flex:1 0 100%;margin:6px 0 0;font-size:13px;font-weight:700;color:var(--ink)}

.bhaddie-pdp .bfoot__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:22px}
.bhaddie-pdp .bfoot__col h3{font-family:var(--display);font-weight:800;font-size:13px;letter-spacing:.06em;
  text-transform:uppercase;margin:0 0 10px;color:var(--ink)}
.bhaddie-pdp .bfoot__col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.bhaddie-pdp .bfoot__col a{color:#3A3A3A;font-size:14px;text-decoration:none;text-underline-offset:3px}
.bhaddie-pdp .bfoot__col a:hover{color:var(--ink);text-decoration:underline}

.bhaddie-pdp .bfoot__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;
  flex-wrap:wrap;margin-top:30px;padding-top:16px;border-top:1px solid rgba(17,17,17,.14)}
.bhaddie-pdp .bfoot__copy{margin:0;font-size:12.5px;color:#4A4A4A}
.bhaddie-pdp .bfoot__pay{list-style:none;display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0}
.bhaddie-pdp .bfoot__pay svg{height:22px;width:auto;display:block}

/* ── content pages (how it works, faq, about, contact, reviews) ── */
.bhaddie-pdp .bpage{background:var(--cream)}
.bhaddie-pdp .bpage h1{text-align:center;margin:6px 0 22px}
.bhaddie-pdp .bpage__body{max-width:70ch;margin:0 auto;font-size:16px;line-height:1.65;color:#2B2B2B}
.bhaddie-pdp .bpage__body > *:first-child{margin-top:0}
.bhaddie-pdp .bpage__body h2{font-family:var(--display);font-weight:800;font-size:24px;margin:30px 0 10px;color:var(--ink)}
.bhaddie-pdp .bpage__body h3{font-family:var(--display);font-weight:800;font-size:18px;margin:24px 0 8px;color:var(--ink)}
.bhaddie-pdp .bpage__body p{margin:0 0 14px}
.bhaddie-pdp .bpage__body a{color:var(--pink-deep);text-underline-offset:3px}
.bhaddie-pdp .bpage__body a:hover{color:var(--ink)}
.bhaddie-pdp .bpage__body ul,.bhaddie-pdp .bpage__body ol{margin:0 0 16px;padding-left:20px}
.bhaddie-pdp .bpage__body li{margin:0 0 7px}
.bhaddie-pdp .bpage__body img{max-width:100%;height:auto;border-radius:14px;border:2px solid var(--ink)}
.bhaddie-pdp .bpage__body table{width:100%;border-collapse:collapse;font-size:14.5px}
.bhaddie-pdp .bpage__body td,.bhaddie-pdp .bpage__body th{border-bottom:1px solid rgba(17,17,17,.14);padding:9px 6px;text-align:left}

.bhaddie-pdp .bpage__form{max-width:520px;margin:26px auto 0;display:flex;flex-direction:column;gap:13px}
.bhaddie-pdp .bpage__row{display:flex;flex-direction:column;gap:5px}
.bhaddie-pdp .bpage__row label{font-size:13px;font-weight:700;color:var(--ink)}
.bhaddie-pdp .bpage__row input,.bhaddie-pdp .bpage__row textarea{padding:11px 14px;border-radius:12px;
  border:2px solid var(--ink);background:#FFFFFF;color:var(--ink);font:inherit;font-size:15px;width:100%}
.bhaddie-pdp .bpage__row textarea{resize:vertical}
.bhaddie-pdp .bpage__ok{background:var(--pink-soft);border:2px solid var(--ink);border-radius:12px;
  padding:11px 14px;font-weight:700;margin:0}

.bhaddie-pdp .bpage__cta{margin:38px auto 0;max-width:560px;text-align:center;background:#FFFFFF;
  border-radius:18px;padding:24px;box-shadow:var(--sh-2)}
.bhaddie-pdp .bpage__cta p{font-family:var(--display);font-weight:800;font-size:21px;margin:0 0 14px;color:var(--ink)}
.bhaddie-pdp .bpage__cta em{font-style:normal;color:var(--pink-deep)}

/* ── 404 + search ────────────────────────────── */
.bhaddie-pdp .bpage__lede{text-align:center;max-width:52ch;margin-left:auto;margin-right:auto}
.bhaddie-pdp .bsearch{display:flex;gap:9px;max-width:520px;margin:0 auto 22px;flex-wrap:wrap}
.bhaddie-pdp .bsearch input{flex:1 1 220px;min-width:0;padding:12px 16px;border-radius:999px;
  border:2px solid var(--ink);background:#FFFFFF;color:var(--ink);font:inherit;font-size:15px}
.bhaddie-pdp .bsearch .cta{flex:0 0 auto}
.bhaddie-pdp .bsearch__count{text-align:center;margin-bottom:18px}
.bhaddie-pdp .bresults{list-style:none;margin:0 auto;padding:0;max-width:640px;
  display:flex;flex-direction:column;gap:11px}
.bhaddie-pdp .bresults a{display:flex;align-items:center;gap:14px;background:#FFFFFF;border-radius:15px;
  padding:12px;box-shadow:var(--sh-1);text-decoration:none;color:var(--ink);transition:transform .15s}
.bhaddie-pdp .bresults a:hover{transform:translateY(-2px);box-shadow:var(--sh-2)}
.bhaddie-pdp .bresults img{width:88px;height:88px;object-fit:cover;border-radius:11px;
  border:2px solid var(--ink);flex:none}
.bhaddie-pdp .bresults span{display:flex;flex-direction:column;gap:3px;min-width:0}
.bhaddie-pdp .bresults b{font-family:var(--display);font-weight:800;font-size:15.5px}
.bhaddie-pdp .bresults i{font-style:normal;font-size:14px;color:var(--pink-deep);font-weight:700}

/* proof photos in the reviews fold */
.bhaddie-pdp .rphotos{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:26px auto 0;max-width:760px}
.bhaddie-pdp .rphotos img{width:100%;height:230px;object-fit:cover;display:block;
  border-radius:16px;border:2px solid var(--ink);background:var(--paper)}
@media(max-width:560px){.bhaddie-pdp .rphotos{gap:10px}.bhaddie-pdp .rphotos img{height:150px;border-radius:12px}}

/* size uplift on the selector, replacing the separate per-size price list */
.bhaddie-pdp .size span{display:inline-flex;align-items:baseline;gap:5px}
.bhaddie-pdp .size .up{font-style:normal;font-size:11px;font-weight:700;color:var(--pink-deep);
  letter-spacing:0;line-height:1}
.bhaddie-pdp .size input:checked + span .up{color:var(--ink);opacity:.75}

/* Uniform size pills. Adding "+$3" made two of the six wider than the rest,
   so the row read as two different shapes. A 6-column grid makes every pill
   identical and guarantees the row fits. */
.bhaddie-pdp .sizes{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}
.bhaddie-pdp .size span{min-width:0;width:100%;padding-left:4px;padding-right:4px;
  justify-content:center;gap:4px}
@media(max-width:600px){
  .bhaddie-pdp .sizes{grid-template-columns:repeat(3,1fr)}
}

/* The library photos are portrait; a short landscape box beheaded them.
   Taller box, and bias the crop upward so faces stay in frame. */
.bhaddie-pdp .rphotos img{height:320px;object-position:center 28%}
.bhaddie-pdp .rphotos img:last-child{object-position:center}
@media(max-width:560px){.bhaddie-pdp .rphotos img{height:190px}}

/* anchor targets stop flush against the viewport edge, and stay clear of the
   header if it's ever made to stick */
.bhaddie-pdp [id]{scroll-margin-top:20px}

/* ── extra bags (one-off leftovers) ──────────── */
.bhaddie-pdp .extras{background:var(--cream)}
.bhaddie-pdp .exgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:26px}
@media(max-width:900px){.bhaddie-pdp .exgrid{grid-template-columns:repeat(2,1fr);gap:14px}}
.bhaddie-pdp .excard{display:block;text-decoration:none;color:inherit;background:#FFFFFF;
  border-radius:18px;overflow:hidden;box-shadow:var(--sh-1);
  transition:transform .2s cubic-bezier(.2,.7,.3,1),box-shadow .2s}
.bhaddie-pdp .excard:hover{transform:translateY(-4px);box-shadow:var(--sh-2)}
.bhaddie-pdp .excard__media{display:block;position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--paper)}
.bhaddie-pdp .excard__media img{width:100%;height:100%;object-fit:cover;display:block}
.bhaddie-pdp .excard__gone{position:absolute;top:10px;right:10px;background:var(--ink);color:#FFFFFF;
  font-family:var(--display);font-weight:800;font-size:11px;letter-spacing:.08em;text-transform:uppercase;
  padding:5px 10px;border-radius:999px}
.bhaddie-pdp .excard__body{display:block;padding:13px 15px 16px}
.bhaddie-pdp .excard__body strong{display:block;font-family:var(--display);font-weight:800;
  font-size:14.5px;line-height:1.25;color:var(--ink);margin-bottom:4px}
.bhaddie-pdp .excard__price{font-size:14px;font-weight:700;color:var(--pink-deep)}
.bhaddie-pdp .extras__more{margin-top:24px;text-align:center}
.bhaddie-pdp .extras__empty{margin:26px auto 0;max-width:560px;text-align:center;background:#FFFFFF;
  border-radius:18px;padding:26px 24px;box-shadow:var(--sh-1)}
.bhaddie-pdp .extras__empty p{margin:0 0 16px;color:#4A4A4A;line-height:1.6}

/* extras as a slim banner on the home page (pink wash, never a black bar) */
.bhaddie-pdp .exbanner{background:var(--pink-wash);border-top:var(--hair);border-bottom:var(--hair);
  position:relative;z-index:2}
.bhaddie-pdp .exbanner__in{max-width:1240px;margin:0 auto;padding:26px 24px;display:flex;
  align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}
.bhaddie-pdp .exbanner__text{min-width:0;flex:1 1 340px}
.bhaddie-pdp .exbanner__kicker{margin:0 0 4px;font-family:var(--label);font-size:13px;
  letter-spacing:.04em;color:var(--pink-deep)}
.bhaddie-pdp .exbanner__head{margin:0;font-family:var(--display);font-weight:800;
  font-size:clamp(20px,2.4vw,27px);line-height:1.15;color:var(--ink)}
.bhaddie-pdp .exbanner__head em{font-style:normal;color:var(--pink-deep)}
.bhaddie-pdp .exbanner__sub{margin:7px 0 0;font-size:14px;color:#4A4A4A;max-width:56ch;line-height:1.5}
.bhaddie-pdp .exbanner__sub b{color:var(--ink);font-weight:700}
.bhaddie-pdp .exbanner .cta{flex:0 0 auto;width:max-content;align-self:center}
@media(max-width:700px){
  .bhaddie-pdp .exbanner__in{flex-direction:column;align-items:flex-start;gap:16px;padding:22px 24px}
  .bhaddie-pdp .exbanner .exbanner__text{flex:0 1 auto !important}
  .bhaddie-pdp .exbanner .cta{width:100%;max-width:none;text-align:center;justify-content:center}
}

/* extras with nothing in stock: centre the header so it agrees with the card */
.bhaddie-pdp .extras--empty .seclabel,
.bhaddie-pdp .extras--empty h2,
.bhaddie-pdp .extras--empty .lede{text-align:center}
.bhaddie-pdp .extras--empty .seclabel{display:inline-block}
.bhaddie-pdp .extras--empty .wrap{text-align:center}
.bhaddie-pdp .extras--empty .lede,
.bhaddie-pdp .extras--empty h2{margin-left:auto;margin-right:auto}

/* extras card with no product photo yet */
.bhaddie-pdp .excard__nopic{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  text-align:center;padding:14px;background:var(--pink-wash);color:#6E6E6E;font-size:12.5px;font-weight:600}

/* extras banner: stack text, then a scrollable row of bags, then the button */
.bhaddie-pdp .exbanner__in{flex-direction:column;align-items:stretch}
.bhaddie-pdp .exbanner__text{flex:0 1 auto}
.bhaddie-pdp .exscroll{list-style:none;margin:16px 0 0;padding:0 0 6px;display:flex;gap:12px;
  overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
  scrollbar-width:thin;scrollbar-color:var(--pink) transparent}
.bhaddie-pdp .exscroll::-webkit-scrollbar{height:6px}
.bhaddie-pdp .exscroll::-webkit-scrollbar-thumb{background:var(--pink);border-radius:999px}
.bhaddie-pdp .exscroll::-webkit-scrollbar-track{background:transparent}
.bhaddie-pdp .exscroll{align-self:stretch;width:100%;max-width:100%;min-width:0}
.bhaddie-pdp .exscroll li{flex:0 0 148px;scroll-snap-align:start}
.bhaddie-pdp .exscroll a{display:block;text-decoration:none;color:inherit;background:#FFFFFF;
  border-radius:14px;overflow:hidden;box-shadow:var(--sh-1);transition:transform .18s,box-shadow .18s}
.bhaddie-pdp .exscroll a:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}
.bhaddie-pdp .exscroll__pic{display:block;position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--paper)}
.bhaddie-pdp .exscroll__pic img{width:100%;height:100%;object-fit:cover;display:block}
.bhaddie-pdp .exscroll__name{display:block;padding:9px 11px 0;font-family:var(--display);font-weight:800;
  font-size:12.5px;line-height:1.25;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bhaddie-pdp .exscroll__price{display:block;padding:2px 11px 11px;font-size:12.5px;font-weight:700;color:var(--pink-deep)}
.bhaddie-pdp .exbanner__cta{align-self:flex-start;margin-top:16px}
@media(max-width:700px){
  .bhaddie-pdp .exscroll{margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}
  .bhaddie-pdp .exscroll li{flex:0 0 132px}
  .bhaddie-pdp .exbanner__cta{align-self:stretch}
}
