/* Editorial artwork only; checkout and product styling stay untouched. */
/* Final storefront presentation pass; no order-state rules are changed. */
.category-title,.story-title,.reviews-title,.order-title { font-family:var(--font-body,sans-serif); font-weight:900; letter-spacing:-.04em; }
.category-header { border-bottom:2px solid #172e4b; padding-bottom:18px; }
.product-card { border:2px solid #172e4b; border-radius:18px; background:#fffcf7; overflow:hidden; box-shadow:3px 4px 0 #172e4b; }
.product-card:hover { border-color:#172e4b; box-shadow:3px 6px 0 #172e4b; }
.product-info { padding:18px; }
.product-name { font-family:var(--font-body,sans-serif); font-size:21px; font-weight:800; line-height:1.25; }
.product-img-wrap { background:#fff4dc; }
.add-btn,.buy-again-add { min-height:44px; border:2px solid #172e4b; border-radius:8px; background:#ffd75b; color:#172e4b; font-weight:800; }
.add-btn:hover,.buy-again-add:hover { background:#eec044; color:#172e4b; }
.add-btn.soldout,.add-btn:disabled { background:#e7e5df; color:#526073; }
.story-section { background:#d9c7ef; border-block:2px solid #172e4b; }
.order-section { background:#d7e6b9; border-block:2px solid #172e4b; }
.order-card { border:2px solid #172e4b; border-radius:18px; background:#fff4dc; color:#172e4b; }
.order-card-title { color:#172e4b; font-weight:800; }
.order-card-desc { color:#43546a; }
.review-card { border:2px solid #172e4b; border-radius:18px; background:#fff4dc; }
.cart-header { background:#ffd75b; border-bottom:2px solid #172e4b; }
.cart-header h3 { font-family:var(--font-body,sans-serif); font-weight:900; }
.checkout-btn,.checkout-btn:hover { border-radius:10px; min-height:52px; }
.cart-drawer input,.cart-drawer select { border-radius:8px; }
.popup-content { border:2px solid #172e4b; border-radius:20px; }
/* Cookie choices must remain clickable when an update banner also appears. */
.analytics-consent { z-index:100000; background:#fff4dc; border:2px solid #172e4b; color:#172e4b; }
.analytics-consent h2,.analytics-consent p,.analytics-consent p a,.analytics-consent button { color:#172e4b; }
.analytics-consent button { border:2px solid #172e4b; }
.analytics-consent .analytics-allow { background:#ffd75b; }
@media(max-width:480px) {
  .product-info { padding:12px; }
  .product-name { font-size:18px; }
  .shop-paths { grid-template-columns:1fr; gap:16px; }
  .shop-paths a { display:grid; grid-template-columns:38% 1fr; align-items:center; }
  .shop-paths img { aspect-ratio:1; }
  .shop-paths span { font-size:19px; padding:14px; }
  .family-table h2 { font-size:clamp(28px,8vw,38px); letter-spacing:-1px; }
}
.brand-masthead { background:#fff4dc; }
.hero { background:linear-gradient(90deg,#fff4dc 50%,#ffd75b 50%); border-block:2px solid #172e4b; gap:42px; }
.hero h1 { font-family:var(--font-body,sans-serif); font-weight:900; text-transform:uppercase; font-size:clamp(48px,6vw,82px); line-height:.98; letter-spacing:-.06em; }
.hero h1 em { color:#a8331c; font-style:normal; }
.hero .hero-cta { background:#ffd75b; color:#172e4b; border:2px solid #172e4b; box-shadow:3px 3px 0 #172e4b; border-radius:8px; }
.hero .hero-cta.secondary { background:#fff4dc; }
.hero>.hero-photo { border:8px solid #fff4dc; background:#fff4dc; box-shadow:5px 5px 0 #172e4b; transform:rotate(2deg); }
.hero-photo figcaption { padding:12px 8px; }
.table-ritual { background:#d7e6b9; font-weight:800; border-block:2px solid #172e4b; }
.shop-introduction h2 { font-family:var(--font-body,sans-serif); font-weight:900; text-transform:uppercase; }
.shop-paths a { border:2px solid #172e4b; border-radius:16px; overflow:hidden; background:#ffd75b; box-shadow:3px 4px 0 #172e4b; transition:transform .2s; }
.shop-paths a:nth-child(2) { background:#d7e6b9; }
.shop-paths a:nth-child(3) { background:#d9c7ef; }
.shop-paths a:hover { transform:translateY(-4px) rotate(-1deg); }
.shop-paths span { padding:16px; border:0; font-family:var(--font-body,sans-serif); font-size:21px; font-weight:800; }
.hero-photo { position: relative; }
.family-table-sticker { position:absolute; right:16px; bottom:62px; width:122px; padding:7px; background:#fff4dc; color:#172e4b; border:2px solid #172e4b; border-radius:18px; transform:rotate(5deg); text-align:center; box-shadow:4px 4px 0 #172e4b; text-decoration:none; }
.hero-photo .family-table-sticker img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; }
.family-table-sticker span { display:block; font:800 11px/1.3 var(--font-body,sans-serif); padding:4px; }
.family-table { max-width:1180px; margin:64px auto; padding:36px; background:#fff4dc; color:#172e4b; border:2px solid #172e4b; border-radius:28px; scroll-margin-top:100px; }
.family-table-intro { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:32px; }
.family-table-eyebrow { font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:1.5px; margin:0 0 16px; }
.family-table h2 { font-family:var(--font-body,sans-serif); font-weight:900; font-size:clamp(34px,4.5vw,62px); line-height:1; letter-spacing:-2px; margin:0 0 20px; }
.family-table-intro p:not(.family-table-eyebrow) { font-size:16px; line-height:1.6; max-width:450px; }
.family-table-intro>img { width:100%; height:auto; border-radius:20px; }
.family-table a { color:inherit; text-underline-offset:4px; }
.family-table-shop { display:inline-block; padding:14px 0; font-weight:800; }
.family-table-cards { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; margin-top:32px; align-items:start; }
.family-table-card { min-width:0; border:2px solid #172e4b; border-radius:18px; overflow:hidden; background:#ffd75b; box-shadow:3px 4px 0 #172e4b; }
.family-table-card:nth-child(2) { background:#d7e6b9; }
.family-table-card:nth-child(3) { background:#d9c7ef; }
.family-table-card:nth-child(4) { background:#ffc7a4; }
.family-table-card summary { display:block; cursor:pointer; list-style:none; }
.family-table-card summary::-webkit-details-marker { display:none; }
.family-table-card summary img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:contain; transition:transform .2s ease; }
.family-table-card summary span { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:15px; min-height:82px; font-weight:900; font-size:18px; line-height:1.2; }
.family-table-card summary b { font-size:25px; transition:transform .2s ease; }
.family-table-card[open] summary b { transform:rotate(45deg); }
.family-table-card summary:hover img { transform:scale(.97) rotate(-2deg); }
.family-table-card summary:focus-visible,.family-table a:focus-visible,.family-table-sticker:focus-visible { outline:3px solid #172e4b; outline-offset:-5px; }
.family-table-answer { padding:0 16px 20px; font-size:14px; line-height:1.6; }
.family-table-answer p { margin:0 0 10px; }
.family-table-answer a { font-weight:800; }
.family-table-note { margin:26px 0 0; font-size:12px; line-height:1.5; }
.family-table { overflow:hidden; }
.family-motion-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin-bottom:18px; font-size:11px; font-weight:800; letter-spacing:1px; }
.family-motion-toggle { min-height:44px; padding:8px 14px; background:#fff4dc; color:#172e4b; border:2px solid #172e4b; border-radius:30px; font:700 12px var(--font-body,sans-serif); cursor:pointer; }
.family-motion-toggle:disabled { cursor:default; opacity:.65; }
.family-motion-toggle:focus-visible { outline:3px solid #a8331c; outline-offset:3px; }
.family-motion-ribbon { margin:0 -36px 32px; overflow:hidden; padding:17px 0; border-block:2px solid #172e4b; background:#ffd75b; transform:rotate(-2deg); }
.family-motion-ribbon span { display:block; width:max-content; white-space:nowrap; font:900 clamp(28px,4vw,52px)/1 var(--font-body,sans-serif); letter-spacing:-1px; }
.family-table[data-motion=active] .family-motion-ribbon span { transform:translateX(var(--family-slide,0px)); }
.family-table[data-motion=active] .family-table-intro>img { transform:scale(var(--family-scale,1)) rotate(var(--family-turn,0deg)); }
.family-table[data-motion=active] .family-table-card summary img { transform:translateY(var(--family-drift,0px)) scale(.94) rotate(var(--family-turn,0deg)); }
.family-table[data-motion=active] .family-table-card:nth-child(even) summary img { transform:translateY(calc(-1 * var(--family-drift,0px))) scale(.94) rotate(calc(-1 * var(--family-turn,0deg))); }
.family-table[data-motion=paused] .family-table-intro>img,
.family-table[data-motion=paused] .family-table-card summary img,
.family-table[data-motion=paused] .family-motion-ribbon span { transform:none; transition:none; }
@media(max-width:760px) {
  .hero { background:#fff4dc; gap:24px; overflow:hidden; }
  .hero>.hero-photo { transform:none; border-color:#ffd75b; }
  .family-table { margin:32px 14px; padding:22px 16px; border-radius:20px; }
  .family-table-intro { grid-template-columns:1fr; gap:18px; }
  .family-table-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .family-table-card summary span { padding:12px; font-size:15px; min-height:82px; }
  .family-table-answer { padding:0 12px 16px; }
  .family-table-sticker { width:90px; right:12px; bottom:48px; }
}
@media(prefers-reduced-motion:reduce) {
  .family-table *, .family-table-sticker, .shop-paths a { animation:none!important; transition:none!important; }
  .family-table .family-table-intro>img, .family-table .family-table-card summary img, .family-table .family-motion-ribbon span { transform:none!important; }
  .family-table-card summary:hover img { transform:none; }
  .shop-paths a:hover { transform:none; }
}
