.ageBadge{display:inline-flex;align-items:center;gap:.3rem;margin:.35rem 0 .1rem;padding:.25rem .55rem;border:1px solid #ecd2d7;border-radius:6px;background:#fff5f6;color:#8b182a;font-size:.75rem;font-weight:700;line-height:1.4}
.ageNotice{margin:1rem 0;padding:.75rem 1rem;border-left:3px solid #bb1831;border-radius:4px;background:#fff5f6;color:#8b182a;font-size:.95rem;line-height:1.5}
.cartRow .cartAge{display:block;color:#8b182a;font-weight:700;margin:.35rem 0;font-size:.8rem}
.featuredSphere .ageNotice{margin:.75rem 0 0;text-align:center}

/* V19: editorial controls preserve the existing layout and brand. */
.textLines{white-space:pre-line;overflow-wrap:anywhere}
.storeLogo{display:block;width:170px;height:65px;object-fit:contain}
.cardImage,.galleryFrame,.featuredPhoto{position:relative}
.promoLabel{position:absolute;z-index:2;top:12px;right:12px;max-width:calc(100% - 24px);padding:8px 13px;border-radius:8px;background:#bd1232;color:#fff;box-shadow:0 2px 8px #0002;font:700 13px/1.35 Arial,sans-serif;text-align:center;overflow-wrap:anywhere;pointer-events:none}
.galleryFrame .promoLabel{font-size:15px;max-width:75%;top:16px;right:16px}
.galleryFrame{min-width:0;overflow:hidden;border-radius:6px}
.featuredPhoto .promoLabel{font-size:14px}
.footerSocials{display:flex;flex-wrap:wrap;gap:18px}
.promoBanners{padding-top:24px;padding-bottom:8px}
.bannerTrack{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:12px;background:#faf9f8;overscroll-behavior-x:contain}
.bannerTrack::-webkit-scrollbar{display:none}
.bannerSlide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center}
.campaignImage{display:block;width:100%}
.campaignImage picture{display:block}
.bannerSlide img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain}
.bannerControls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:12px;color:#656565;font-size:14px}
.bannerControls button{width:44px;height:44px;border:1px solid #ddd;background:white;border-radius:50%;cursor:pointer;font:20px Arial}
.bannerControls button:disabled{opacity:.35;cursor:default}
.promoDialog{padding:0;border:0;border-radius:14px;width:fit-content;max-width:min(880px,calc(100vw - 32px));max-height:calc(100dvh - 32px);background:#fff;overflow:auto;box-shadow:0 18px 90px #0005}
.promoDialog::backdrop{background:#171717a6}
.promoDialogBar{display:flex;justify-content:flex-end;align-items:center;height:52px;padding:4px 8px;background:#fff;position:sticky;top:0;z-index:2}
.promoDialog .promoClose{display:grid;place-items:center;width:44px;height:44px;border:0;background:#f4f4f4;border-radius:50%;font:30px/1 Arial;color:#222;cursor:pointer}
.promoDialog .campaignImage img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 100px);object-fit:contain;margin:auto}
.promoDialog a:focus-visible,.bannerSlide a:focus-visible{outline:3px solid #bd1232;outline-offset:-3px}
.maintenancePage{margin:0;min-height:100dvh;display:grid;place-items:center;box-sizing:border-box;padding:32px 20px;background:#faf9f8;color:#202020;font-family:Arial,sans-serif;border-top:6px solid #bd1232}
.maintenanceCard{width:min(100%,650px);text-align:center}
.maintenanceCard>img{width:130px;height:130px;object-fit:contain}
.maintenanceBrand{font-weight:700;letter-spacing:.08em}
.maintenanceCard h1{font-size:clamp(30px,6vw,48px);line-height:1.15;margin:24px 0}
.maintenanceCard>p{line-height:1.7;color:#606060}
.maintenanceCard>a{display:inline-flex;align-items:center;gap:22px;background:#bd1232;color:#fff;text-decoration:none;padding:18px 24px;border-radius:6px;font-weight:700;margin-top:16px;overflow-wrap:anywhere}
.maintenanceCard a:focus-visible{outline:3px solid #222;outline-offset:4px}
@media(max-width:700px){.storeLogo{width:120px;height:48px}.promoBanners{padding-top:16px}.bannerSlide img{max-height:70dvh}.promoLabel{top:8px;right:8px;padding:6px 9px;font-size:12px}.galleryFrame .promoLabel{font-size:13px;top:12px;right:12px}.promoDialog{max-width:calc(100vw - 24px)}.promoDialog .campaignImage img{max-height:calc(100dvh - 100px)}}
