/* Oopsie Mahj! storefront finish. Loaded after the shared base styles. */
:root {
  --ink: #5a1f30;
  --brand-red: #c70a3c;
  --soft-red: #fff0f3;
  --paper: #fffefa;
  --line: #f6d4db;
  --muted-ink: #8a5963;
}



body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; }
.announcement { font-size: 10px; line-height: 1.5; padding: 9px 18px; }
header { max-width: 1560px; margin: auto; padding-top: 15px; }
.header-logo { width: 98px; height: 98px; }
.header-note { font-size: 9px; max-width: 210px; }
header nav { gap: 30px; padding: 20px 0; }
header nav a { padding: 3px 0; text-underline-offset: 6px; }
.bag { font-size: 12px; }
.button, .secondary-button, .quick-add { transition: background-color 150ms, border-color 150ms; }
.button { min-height: 47px; }
.eyebrow { line-height: 1.7; }
.hero { max-width: 1440px; margin-inline: auto; min-height: 520px; border-radius: 0; background: #f9f6ed; }
.hero-copy { padding: 66px 12% 48px; justify-content: center; }
.hero-copy h1 { font-size: clamp(48px, 5.2vw, 76px); line-height: 1.06; margin-block: 18px 24px; }
.hero-copy > p:not(.eyebrow) { max-width: 355px; line-height: 1.85; }
.hero-copy .button { margin: 0 0 20px; }
.hero-copy small { line-height: 1.7; max-width: 310px; font-size: 10px; color: #8a5963; }
.hero-art.hero-photo { min-height: 520px; background: #f9e5e9; display: block; }
.hero-art.hero-photo::before { display: none; }
.hero-product-image { width: 100%; height: 100%; position: absolute; inset: 0; display: block; object-fit: cover; object-position: center; }
.hero-image-note { position: absolute; bottom: 16px; right: 17px; z-index: 1; background: #fffefae8; color: #5c353d; border: 1px solid #ffffff9c; border-radius: 3px; padding: 6px 10px; font-size: 9px; line-height: 1.5; letter-spacing: .25px; max-width: calc(100% - 34px); }
.category-strip { max-width: 1320px; margin: 27px auto 0; padding: 0 0 27px; gap: 18px; }
.category-strip a { min-height: 79px; border-radius: 5px; transition: transform 150ms, background-color 150ms; }
.category-strip a:hover { transform: translateY(-2px); }
.category-strip span { line-height: 1; }
.section { max-width: 1440px; margin-inline: auto; padding-inline: 5%; padding-block: 64px; }
.section-heading { margin-bottom: 34px; }
.section-heading h2 { font-size: clamp(30px, 3vw, 42px); line-height: 1.2; }
.section-heading .eyebrow { margin-block: 0 9px; }
.section-heading h2 { margin-top: 0; }
.product-grid { align-items: start; gap: 35px 22px; }
.product-card { min-width: 0; }
.product-card .image-button { overflow: hidden; border-radius: 7px; }
.product-art.product-photo { height: auto; aspect-ratio: 1; width: 100%; border-radius: 7px; display: block; background: #fae6ea; }
.product-photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: var(--image-position, center); transition: transform 350ms ease; }
.product-card .image-button:hover .product-photo img { transform: scale(1.035); }
.product-card .image-button:focus-visible { outline-offset: 5px; }
.product-tag { z-index: 1; left: 11px; top: 11px; padding: 6px 8px; border-radius: 2px; background: #fffefaeb; color: #59333b; letter-spacing: .8px; font-size: 8px; line-height: 1.3; }
.virtual-badge { display: inline-block; padding: 5px 8px; background: #faf7ee; border: 1px solid #e9e5d9; border-radius: 3px; color: #716c5a; font-size: 9px; line-height: 1.5; letter-spacing: .3px; }
.product-card .virtual-badge { margin-top: 8px; }
.product-info { gap: 9px; margin-top: 15px; align-items: baseline; }
.product-info h3 { font-size: 13px; line-height: 1.5; }
.product-info h3 a:hover { text-decoration: underline; text-underline-offset: 4px; }
.product-info .price { font-size: 12px; }
.product-card .description { font-size: 11px; margin-block: 5px 12px; line-height: 1.6; }
.quick-add { background: #fffefa; padding: 11px 10px; font-size: 11px; border-color: #dfced1; border-radius: 3px; min-height: 39px; }
.quick-add:disabled { opacity: 1; border-color: #f5d2d9; color: #af818a; background: #fcf0f2; }
.section-action { margin-top: 34px; }
.story { max-width: none; padding-inline: max(7%, calc((100% - 1150px) / 2)); padding-block: 65px; gap: 0 10%; }
.story .eyebrow { margin-top: 0; }
.story h2 { margin-bottom: 0; font-size: clamp(35px, 3.5vw, 47px); }
.story > div p { line-height: 1.9; }
.home-new-section { background: #fffefa; }
.home-help-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.home-help-card { display: flex; flex-direction: column; align-items: flex-start; padding: 29px; background: #fbeaee; border: 1px solid #f7dbe0; border-radius: 6px; min-height: 210px; }
.home-help-card:nth-child(2) { background: #fff2e9; border-color: #f5e8dc; }
.home-help-card:nth-child(3) { background: #fff8e4; border-color: #f0ead7; }
.home-help-card h3 { font-size: 25px; margin: 12px 0 10px; letter-spacing: -.5px; }
.home-help-card p { font-size: 12px; color: #8a5963; line-height: 1.8; margin: 0 0 22px; }
.home-help-card .text-link, .home-help-card > a { font-size: 12px; margin: auto 0 0; }
.home-help-card > span { color: #96606b; font-size: 21px; }
.collection-intro { margin: 0 auto 25px; max-width: 640px; font-size: 13px; line-height: 1.8; text-align: center; color: #8a5963; }
.collection-intro .virtual-badge { margin-top: 9px; }
.contact-band { max-width: none; padding-inline: max(7%, calc((100% - 1150px) / 2)); }
.contact-band h2 { font-size: 36px; }
footer { padding-top: 43px; }
.footer-brand img { width: 132px; height: 132px; }
footer > p { margin: 10px 0 0; font-size: 13px; }
.footer-links { gap: 24px; }
footer .manage-link { color: #9e6873; font-size: 10px; }
footer .manage-link:hover { color: #4e212a; }
/* Shared order presentation for customer, email-access and staff views. */
.order-product-items{display:grid;gap:12px;margin:18px 0;min-width:0}.order-product-items .co-product-line{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid #f1d7de;min-width:0}.order-product-items .cart-item-thumbnail{width:64px;height:64px;display:block}.order-product-items .co-product-copy{display:grid;gap:6px;min-width:0;overflow-wrap:anywhere}.order-product-items .co-product-copy small{font-size:12px}.order-product-items .co-product-total{white-space:nowrap}.order-product-items .cart-item-thumbnail img{width:100%;height:100%;object-fit:cover}.order-estimates{padding:16px;background:#fff4f7;border:1px solid #f1ccd7;border-radius:8px;margin:16px 0}.order-estimates dl{display:grid;grid-template-columns:minmax(100px,1fr) 2fr;gap:8px 16px;margin:0;font-size:13px}.order-estimates dd{margin:0}.order-estimates dt{font-weight:600}.order-estimates .muted{font-size:11px;line-height:1.6;margin-bottom:0}.order-dispatch-countdown{font-size:13px;color:#a10a39;margin-bottom:0}.be-admin td>.cart-item-thumbnail{float:left;width:56px;height:56px;display:block;margin-right:12px}.be-admin td>.cart-item-thumbnail img{width:100%;height:100%;object-fit:cover}.be-fulfillment-items .cart-item-thumbnail{width:56px;height:56px;flex-shrink:0}.be-fulfillment-items .cart-item-thumbnail img{width:100%;height:100%;object-fit:cover}
@media(max-width:540px){.order-estimates dl{grid-template-columns:1fr;gap:5px}.order-estimates dd{margin-bottom:8px}.order-product-items .co-product-line{grid-template-columns:56px minmax(0,1fr)}.order-product-items .co-product-total{grid-column:2}.order-product-items .cart-item-thumbnail{width:56px;height:56px}}
footer small { line-height: 1.8; }

/* Product pages: generous imagery with a compact, usable gallery. */
.product-page { align-items: start; gap: 6%; grid-template-columns: minmax(0, 1.07fr) minmax(0, 1fr); }
.product-page > div { min-width: 0; }
.product-gallery { position: sticky; top: 24px; align-self: start; }
.product-main-image { display: block; position: relative; overflow: hidden; background: #fae8ec; border-radius: 8px; aspect-ratio: 1; }
.product-main-image > img, .product-main-image .gallery-image { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--image-position, center); }
.product-main-image[data-gallery-viewport] { touch-action: pan-y pinch-zoom; }
.product-main-image > img[hidden], .gallery-image-error[hidden] { display: none; }
.gallery-image-error { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; padding: 38px; color: #714850; font-size: 14px; line-height: 1.7; }
.gallery-controls { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 12px; }
.gallery-controls button { width: 44px; height: 44px; flex: 0 0 44px; border: 1px solid #dfced1; border-radius: 50%; background: #fffefa; color: #4e212a; font-size: 21px; line-height: 1; cursor: pointer; }
.gallery-controls button:hover { background: #fbeaee; border-color: #a06a75; }
.gallery-controls p { margin: 0; color: #714850; font-size: 12px; line-height: 1.5; }
.product-main-image > .virtual-badge { position: absolute; left: 14px; bottom: 14px; background: #fffefaed; }
.product-gallery > .virtual-badge { margin-top: 13px; }
.product-gallery > p { font-size: 10px; line-height: 1.65; color: #945e69; margin: 10px 0 0; }
.gallery-thumbnails { display: flex; gap: 10px; margin-top: 12px; flex-wrap: nowrap; max-width: 100%; overflow-x: auto; padding: 4px 3px 9px; overscroll-behavior-x: contain; scroll-padding-inline: 3px; }
.gallery-thumbnails button { flex: 0 0 73px; border: 1px solid #f4cad3; border-radius: 4px; width: 73px; height: 73px; background: #fae9ec; padding: 3px; overflow: hidden; cursor: pointer; }
.gallery-thumbnails button:focus-visible, .gallery-controls button:focus-visible, [data-gallery-viewport]:focus-visible { outline: 2px solid #692835; outline-offset: 2px; }
.gallery-thumbnails button:hover { border-color: #a06a75; }
.gallery-thumbnails button[aria-pressed=true], .gallery-thumbnails button.active { border: 2px solid #692835; padding: 2px; }
.gallery-thumbnails img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: var(--image-position, center); border-radius: 2px; }
.product-page h1 { font-size: clamp(32px, 3.25vw, 46px); margin-top: 13px; line-height: 1.15; }
.product-page > div > .eyebrow { font-size: 9px; margin-top: 4px; }
.product-page .detail-price { margin-block: 20px 15px; }
.product-page .availability { margin-block: 13px; }
.product-page .detail-actions { gap: 10px; }
.product-page .detail-actions .button { flex: 1; justify-content: center; gap: 10px; min-width: 145px; }
.product-page .detail-actions .secondary-button { justify-content: center; min-width: 120px; }
.product-page dl { border-top: 1px solid #f6d4db; margin-top: 26px; padding-top: 8px; }
.product-page dt { font-size: 11px; letter-spacing: .3px; margin-top: 19px; }
.product-page dd { color: #8a5963; line-height: 1.75; font-size: 12px; }
.product-page .detail-help { flex-wrap: wrap; gap: 14px 22px; line-height: 1.7; }
.product-contact p { margin-top: 5px; }
.related { padding-top: 38px; border-top: 1px solid #f6d4db; }
.related .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.related .product-art.product-photo { aspect-ratio: 1.12; }
.page-heading > p:last-child { max-width: 560px; }
.page-heading { padding-block: 24px 29px; }
.shop-tools .filters { padding-block: 15px; }
.shop-tools input[type=search] { min-width: 220px; }
.prose-page > p { color: #81525c; }

@media (max-width: 1450px) {
  .hero { margin-inline: 3%; border-radius: 8px; }
  .category-strip { margin-inline: 5%; }
}
@media (min-width: 1550px) {
  .hero { min-height: 570px; }
  .hero-art.hero-photo { min-height: 570px; }
}
@media (max-width: 1100px) {
  .hero, .hero-art.hero-photo { min-height: 475px; }
  .hero-copy { padding: 48px 9%; }
  .hero-copy h1 { font-size: 53px; }
  .product-grid { gap: 30px 18px; }
  .product-info { display: block; }
  .product-info .price { display: block; margin-top: 5px; }
  .home-help-card { padding: 24px; }
  .product-page { gap: 4%; }
}
@media (max-width: 850px) {
  header nav { gap: 20px; }
  .hero-copy h1 { font-size: 45px; }
  .hero-copy { padding-inline: 9%; }
  .hero-copy > p:not(.eyebrow) { font-size: 13px; }
  .hero, .hero-art.hero-photo { min-height: 450px; }
  .product-page h1 { font-size: 34px; }
  .home-help-grid { gap: 12px; }
  .home-help-card { padding: 20px; }
  .home-help-card h3 { font-size: 23px; }
}
@media (max-width: 720px) {
  .announcement { font-size: 8px; letter-spacing: .6px; padding-block: 8px; }
  header { padding-top: 8px; }
  .header-logo { width: 82px; height: 82px; }
  header nav { padding: 13px 0 15px; gap: 23px; scrollbar-width: thin; }
  .hero { margin-inline: 4%; min-height: 0; grid-template-columns: 1fr; border-radius: 6px; }
  .hero-copy { padding: 34px 8% 29px; }
  .hero-copy h1 { font-size: clamp(43px, 10.5vw, 59px); letter-spacing: -1.6px; margin-block: 13px 19px; }
  .hero-copy > p:not(.eyebrow) { max-width: 380px; font-size: 13px; margin-bottom: 21px; }
  .hero-copy .button { margin-bottom: 12px; }
  .hero-copy small { max-width: 100%; font-size: 9px; }
  .hero-art.hero-photo { min-height: 0; aspect-ratio: 1.14; width: 100%; }
  .hero-image-note { font-size: 8px; right: 11px; bottom: 11px; padding: 5px 8px; }
  .category-strip { margin-top: 17px; padding-bottom: 20px; margin-inline: 5%; gap: 8px; }
  .category-strip a { min-height: 76px; gap: 9px; padding-block: 14px; border-radius: 4px; font-size: 10px; }
  .category-strip span { font-size: 23px; }
  .section { padding: 40px 6%; }
  .section-heading { margin-bottom: 25px; }
  .section-heading h2 { font-size: 31px; letter-spacing: -1.1px; }
  .section-heading .eyebrow { font-size: 9px; letter-spacing: 1.6px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
  .product-info { margin-top: 11px; }
  .product-info h3 { font-size: 12px; }
  .product-info .price { font-size: 11px; }
  .product-card .description { font-size: 10px; line-height: 1.6; margin-bottom: 11px; }
  .product-tag { font-size: 7px; padding: 5px 6px; top: 7px; left: 7px; letter-spacing: .5px; }
  .quick-add { font-size: 10px; min-height: 37px; padding-inline: 5px; }
  .story { padding-inline: 7%; gap: 0; }
  .story h2 { font-size: 36px; margin: 8px 0 15px; }
  .story > div p { margin-top: 0; }
  .story .text-link { margin-bottom: 0; }
  .home-help-grid { grid-template-columns: 1fr; gap: 12px; }
  .home-help-card { padding: 25px; min-height: 0; }
  .home-help-card p { margin-bottom: 14px; }
  .home-help-card h3 { margin-top: 9px; font-size: 25px; }
  .contact-band { padding-inline: 7%; gap: 23px; }
  .contact-band h2 { font-size: 33px; }
  .contact-band .eyebrow { margin-top: 0; }
  .collection-intro { font-size: 12px; margin-bottom: 20px; }
  .product-page { grid-template-columns: 1fr; gap: 29px; }
  .product-gallery { position: static; }
  .product-main-image { max-width: 100%; border-radius: 6px; }
  .gallery-thumbnails { margin-top: 10px; gap: 9px; }
  .gallery-thumbnails button { flex-basis: 60px; width: 60px; height: 60px; }
  .product-main-image > .virtual-badge { bottom: 10px; left: 10px; }
  .product-page h1 { font-size: 36px; }
  .product-page .detail-actions .button, .product-page .detail-actions .secondary-button { padding: 15px 14px; font-size: 12px; }
  .product-page .detail-actions .button { min-width: 130px; }
  .product-page .detail-actions .secondary-button { min-width: 110px; }
  .related { margin-top: 42px; padding-top: 29px; }
  .related .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .related .product-art.product-photo { aspect-ratio: 1; }
  .shop-tools .filters { gap: 10px; }
  .shop-tools .filters label:first-child { flex: 1; min-width: 0; }
  .shop-tools input[type=search] { min-width: 0; width: 100%; }
  .shop-tools .filters select { width: 146px; }
  .shop-tools .filters .stock-filter { flex-basis: 55%; }
  .tabs { gap: 7px; }
  .tabs a { font-size: 10px; padding: 9px 11px; }
  .page-heading { padding-top: 9px; }
  .page-heading h1 { font-size: 36px; }
  footer { padding: 35px 6% 25px; }
  .footer-brand img { width: 123px; height: 123px; }
  footer .footer-links { gap: 15px 20px; font-size: 11px; }
}
@media (max-width: 380px) {
  .hero-copy h1 { font-size: 42px; }
  .hero-copy { padding-inline: 7%; }
  .product-info h3 { font-size: 11px; }
  .product-card .description { font-size: 9px; }
  .shop-tools .filters select { width: 132px; }
  .tabs a { padding-inline: 9px; }
  .product-page h1 { font-size: 33px; }
  .detail-help { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .button, .secondary-button, .quick-add, .category-strip a, .product-photo img { transition: none; }
}
.product-card a.quick-add{display:block;text-align:center}.cart-page .order-summary .co-error{font-size:12px;line-height:1.8;margin:18px 0}.co-summary .co-totals>div>span:first-child{max-width:72%;overflow-wrap:anywhere}

/* Keep the navigation inside its grid track and preserve room for phone controls. */
header nav { min-width: 0; max-width: 100%; }
header nav a { flex-shrink: 0; display: inline-flex; align-items: center; min-height: 44px; }
.bag { display: inline-flex; align-items: center; min-height: 44px; }
.cart-layout > *, .cart-line > * { min-width: 0; }
.cart-product-name { overflow-wrap: anywhere; }
.quantity { flex-wrap: wrap; gap: 10px; }
.quantity button { width: 44px; height: 44px; }
.quantity .remove { min-width: 64px; min-height: 44px; }
@media (max-width: 850px) {
  .shop-tools input[type=search], .shop-tools select, .product-quantity input { font-size: 16px; }
}
@media (max-width: 720px) {
  .quick-add, .tabs a { min-height: 44px; }
  .tabs a { display: inline-flex; align-items: center; }
  header nav { padding-block: 6px; }
  .stock-filter { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; }
  .footer-links a, .footer-contact a { display: inline-flex; align-items: center; min-height: 44px; }
  footer .footer-links { gap: 2px 20px; }
}
.cart-updates[hidden] { display: none; }
.cart-updates { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; max-width: 1180px; margin: 20px auto; padding: 18px 24px; background: #fff4d8; border: 1px solid #e8d3a2; border-radius: 12px; font-size: 14px; line-height: 1.6; }
.cart-updates ul { margin: 6px 0; padding-left: 20px; }
.cart-updates a { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; }
.cart-updates button { background: transparent; border: 1px solid #b8a47c; border-radius: 6px; padding: 10px 14px; min-height: 44px; cursor: pointer; font: inherit; color: inherit; }
@media (max-width: 720px) { .cart-updates { margin: 15px 6%; padding: 16px; flex-direction: column; gap: 8px; overflow-wrap: anywhere; } }
/* Compact brand header. The supplied PNG is unchanged; its transparent padding
   is framed by the logo link so the artwork does not create extra header space. */
header { max-width: 1440px; grid-template-columns: 128px minmax(0,1fr) auto; gap: 24px; padding: 10px 32px; align-items: center; }
header .header-note { display: none; }
header > .brand-lockup { grid-column: 1; grid-row: 1; width: 128px; height: 90px; position: relative; overflow: hidden; justify-self: start; }
header .header-logo { position: absolute; width: 142px; height: 142px; max-width: none; left: -7px; top: -27px; }
header nav { grid-column: 2; grid-row: 1; justify-content: center; gap: clamp(14px,1.7vw,25px); padding: 0; font-size: 16px; font-weight: 600; }
header nav a { min-height: 44px; }
header > .bag { grid-column: 3; grid-row: 1; font-size: 15px; }
.category-strip a { font-size: 18px; font-weight: 600; }
.tabs a { font-size: 14px; }
.footer-brand { position: relative; width: 180px; height: 130px; overflow: hidden; }
.footer-brand img { position: absolute; width: 200px; height: 200px; max-width: none; left: -10px; top: -38px; margin: 0; }
@media (max-width: 1100px) {
  header { grid-template-columns: 1fr auto; gap: 0 18px; padding: 8px 5% 0; }
  header > .brand-lockup { grid-column: 1; }
  header > .bag { grid-column: 2; }
  header nav { grid-column: 1/-1; grid-row: 2; justify-content: flex-start; padding-block: 5px; gap: 25px; }
}
@media (max-width: 720px) {
  header > .brand-lockup { width: 110px; height: 78px; }
  header .header-logo { width: 123px; height: 123px; left: -6px; top: -23px; }
  header nav { font-size: 15px; padding-block: 2px; gap: 22px; }
  header > .bag { font-size: 14px; }
  .category-strip a { font-size: 14px; }
}

/* Oopsie Mahj! red, blush and ivory palette across the store. */
body { accent-color: var(--brand-red); }
.hero-copy .button, .button, .tabs a.active, .tabs button.active { background: var(--brand-red); border-color: var(--brand-red); color: #fff; }
.hero-copy .button:hover, .button:hover { background: #9f092f; border-color: #9f092f; }
.category-strip a:nth-child(2) { background: #fff0f3; }
.category-strip a:nth-child(3) { background: #ffe6ed; }
.category-strip a span, .category-strip a:nth-child(2) span, .category-strip a:nth-child(3) span { color: var(--brand-red); }
.home-help-card:nth-child(2) { background: #fff4f5; border-color: #f3dbe1; }
.home-help-card:nth-child(3) { background: #ffeaf0; border-color: #f3d5df; }

/* Separate shopping and customer support without turning the header into a list. */
header { grid-template-columns: 116px minmax(0,1fr) auto; gap: 18px; padding-inline: 24px; }
header .store-nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; padding: 0; overflow: visible; font-size: 14px; }
.store-nav-group { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; padding: 5px; border: 1px solid #f1cbd5; border-radius: 12px; min-width: 0; max-width: 100%; }
.store-nav-shop { background: #fff0f4; }
.store-nav-help { background: #fffafb; border-color: #eedee3; }
header .store-nav a { display: inline-flex; justify-content: center; padding: 9px 11px; min-height: 44px; line-height: 1.35; border: 1px solid transparent; border-radius: 8px; text-align: center; text-decoration: none; transition: background-color 150ms, color 150ms, border-color 150ms; }
header .store-nav a:hover { background: #ffe0e9; border-color: #f0bac9; text-decoration: none; }
header .store-nav a[aria-current=page] { background: var(--brand-red); color: #fff; border-color: var(--brand-red); text-decoration: none; }
header .store-nav a:focus-visible { outline: 2px solid var(--brand-red); outline-offset: 2px; }
.header-tools { grid-column: 3; grid-row: 1; display: flex; align-items: center; justify-content: flex-end; gap: 14px; min-width: 0; }
.header-tools .bag { margin: 0; font-size: 14px; white-space: nowrap; }
.store-language { display: block; min-width: 0; }
.store-language select { border: 1px solid #e9c5d0; border-radius: 8px; background: #fff; min-height: 44px; max-width: 118px; padding: 9px 22px 9px 9px; font-size: 13px; color: var(--ink); cursor: pointer; }
@media (max-width: 1279px) {
  header { grid-template-columns: minmax(0,1fr) auto; gap: 4px 16px; padding: 8px 5% 14px; }
  .header-tools { grid-column: 2; }
  header .store-nav { grid-column: 1/-1; grid-row: 2; justify-content: flex-start; }
}
@media (max-width: 720px) {
  header .store-nav { flex-direction: column; align-items: stretch; gap: 8px; font-size: 14px; }
  .store-nav-shop { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .store-nav-help { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
  header .store-nav a { min-width: 0; padding: 9px 6px; white-space: normal; overflow-wrap: anywhere; }
  .header-tools { gap: 10px; }
  .store-language select { max-width: 105px; font-size: 16px; }
  .header-tools .bag { font-size: 13px; }
}
@media (max-width: 380px) {
  header { column-gap: 8px; padding-inline: 4%; }
  header > .brand-lockup { width: 94px; height: 69px; }
  header .header-logo { width: 105px; height: 105px; left: -5px; top: -20px; }
  header .store-nav { font-size: 13px; }
  .header-tools { gap: 7px; }
  .store-language select { max-width: 99px; padding-right: 15px; }
  .bag span { margin-left: 3px; width: 22px; height: 22px; }
}
/* Shop controls share one type scale and touch target across collections. */
.shop-tools{display:block;border:1px solid #f1cbd5;border-radius:14px;background:#fff7f9;padding:18px;margin:24px 0}
.shop-tools .tabs{display:flex;gap:10px;flex-wrap:wrap;border:0;padding:0 0 16px}
.shop-tools .tabs a{font-size:16px;line-height:1.5;min-height:44px;padding:10px 15px;display:inline-flex;align-items:center;justify-content:center;letter-spacing:0;white-space:normal;text-align:center}
.shop-tools .filters{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(150px,1fr) minmax(170px,1fr) auto auto;align-items:center;gap:12px;border-top:1px solid #f0d5dd;padding:16px 0 0}
.shop-tools .filters>label{min-width:0}.shop-tools input[type=search],.shop-tools select{font:inherit;font-size:16px;line-height:1.5;min-height:44px;min-width:0;width:100%;max-width:100%;padding:10px 12px}
.shop-tools .filters .stock-filter,.shop-tools .reset-filters{font-size:16px;line-height:1.5;min-height:44px;display:flex;align-items:center;gap:8px;white-space:normal}
.shop-tools .stock-filter input{width:19px;height:19px;accent-color:#c70a3c;flex-shrink:0}.shop-curation-note{font-size:12px;color:#925667;margin:13px 0 0;line-height:1.7}
.product-badges{position:absolute;top:13px;left:13px;right:13px;display:flex;align-items:flex-start;flex-wrap:wrap;gap:7px;pointer-events:none}
.product-badges .product-tag,.product-new-badge{position:static;display:inline-block;max-width:100%;font-size:11px;line-height:1.4;letter-spacing:.06em;padding:6px 9px;border-radius:4px;overflow-wrap:anywhere}
.product-new-badge{background:#c70a3c;color:#fff;font-weight:700}.product-badges .product-tag{background:#fff8f9;color:#7b2441}
.product-delivery{margin:24px 0;padding:20px;border:1px solid #f2d0da;border-radius:10px;background:#fff7fa}.product-delivery h2{font-family:inherit;font-size:17px;margin:0 0 13px}.product-delivery dl{display:grid;grid-template-columns:minmax(115px,.8fr) minmax(0,1.3fr);gap:10px;margin:0}.product-delivery dt,.product-delivery dd{font-size:13px;line-height:1.7;margin:0;overflow-wrap:anywhere}.product-delivery p{font-size:12px;line-height:1.8;color:#8f5c66;margin:14px 0 0}
.product-destination{display:grid;gap:8px;margin-top:16px;font-size:13px}.product-destination select{width:100%;min-width:0;max-width:100%;min-height:44px;border:1px solid #e5b7c5;border-radius:6px;background:#fff;color:#5a1f30;font:inherit;font-size:16px;padding:10px}.product-destination select:focus-visible{outline:2px solid #c70a3c;outline-offset:3px}.product-transit-methods{list-style:none;padding:0;margin:15px 0 0;display:grid;gap:12px}.product-transit-methods li{padding:13px;border:1px solid #f2d0da;border-radius:7px;background:#fff;min-width:0;overflow-wrap:anywhere}.product-transit-methods strong{font-size:13px}.product-transit-methods p{margin:6px 0}.product-transit-methods small{font-size:12px;line-height:1.7;display:block}
@media(max-width:1100px){.shop-tools .filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}.shop-tools .shop-search{grid-column:1/-1}.shop-tools .reset-filters{justify-content:flex-end}}
@media(max-width:600px){.shop-tools{padding:13px}.shop-tools .tabs{gap:8px}.shop-tools .tabs a{flex:1 1 calc(50% - 8px);padding:9px 10px}.shop-tools .filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.shop-tools .filters>label:first-child{grid-column:1/-1;flex:auto}.shop-tools .filters select{width:100%;min-width:0}.shop-tools .filters .stock-filter{flex-basis:auto}.shop-tools .reset-filters{justify-content:flex-end}.product-delivery{padding:15px}.product-delivery dl{grid-template-columns:1fr;gap:6px}.product-delivery dd{margin-bottom:8px}}

/* Footer destinations stay visible as distinct groups on every page. */
footer .footer-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:880px;margin:30px auto;text-align:left;gap:32px;padding:26px 0;border-block:1px solid #ebcad3}
.footer-groups section{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:4px}
.footer-groups h2{font-family:inherit;font-size:14px;font-weight:700;line-height:1.5;letter-spacing:0;margin:0 0 10px;color:#9e1039}
.footer-groups a{display:flex;align-items:center;min-height:40px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.footer-groups a:hover{text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){footer .footer-groups{grid-template-columns:1fr 1fr;gap:22px;padding-inline:6px}.footer-groups section:last-child{grid-column:1/-1}.footer-groups section:last-child{display:grid;grid-template-columns:1fr 1fr}.footer-groups section:last-child h2{grid-column:1/-1}.footer-groups a{min-height:44px}}
/* Keep a recognizable product photo beside every shopping-bag item. */
.cart-item-thumbnail{position:relative;display:grid;place-items:center;width:96px;height:96px;flex-shrink:0;overflow:hidden;border:1px solid #f1d9df;border-radius:12px;background:#fff0f3;color:#bd5d75;align-self:start}.cart-item-thumbnail img{display:block;width:100%;height:100%;object-fit:cover}.cart-item-thumbnail img[hidden],.cart-item-thumbnail [data-cart-image-placeholder][hidden]{display:none}.cart-image-placeholder{display:grid;place-items:center;position:absolute;inset:0;background:linear-gradient(135deg,#fff5f6,#f8dfe5);font-family:Georgia,serif;font-size:38px;line-height:1}.cart-line{grid-template-columns:96px minmax(0,1fr) auto;gap:18px;align-items:start}.cart-line-details{min-width:0}.cart-line-details .cart-product-name{display:inline-block;font-size:15px;line-height:1.6;overflow-wrap:anywhere}.cart-line-details>p{font-size:12px;line-height:1.7;margin:5px 0 12px}.cart-line-total{padding-top:5px;white-space:nowrap}.cart-line-details .quantity{flex-wrap:wrap;row-gap:8px}.cart-item-thumbnail:focus-visible,.co-product-name:focus-visible{outline:3px solid #c70a3c;outline-offset:3px}
@media(max-width:720px){.cart-line{grid-template-columns:80px minmax(0,1fr) auto;gap:14px}.cart-line>.cart-item-thumbnail{width:80px;height:80px}.cart-line-details .cart-product-name{font-size:14px}.cart-line-details .quantity .remove{margin-left:0}.cart-line-total{font-size:13px!important}}@media(max-width:420px){.cart-line{grid-template-columns:68px minmax(0,1fr);column-gap:12px;row-gap:0}.cart-line>.cart-item-thumbnail{width:68px;height:68px;grid-row:1 / span 2}.cart-line>.cart-line-total{grid-column:2;justify-self:start;margin-top:10px}.cart-line-details .quantity{gap:5px}}
.brand-story-copy{max-width:68ch;margin-inline:auto}.brand-story-copy p{line-height:1.85}.brand-story-copy .brand-story-oopsie{font-family:Georgia,serif;font-size:1.65rem;font-weight:700;color:var(--brand,#b72245);margin-bottom:.25rem}
.footer-community{max-width:880px;margin:32px auto;padding:28px 24px;border:1px solid #ecc5d0;border-radius:18px;background:#fff0f4;text-align:center}.footer-community h2{font-family:inherit;font-size:19px;color:#9e1039;margin:0 0 10px}.footer-community p{font-size:14px;line-height:1.7;margin:0 0 20px}.footer-social-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}.footer-social-links a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 18px;border:1px solid #d98ca3;border-radius:10px;background:#fff;color:#84132f;font-size:14px;line-height:1.6;text-decoration:none}.footer-social-links a:hover{background:#ffe0e9;border-color:#b30c3c}.footer-social-links a:focus-visible{outline:3px solid #c70a3c;outline-offset:4px}.social-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:#a60835;color:#fff;font-size:21px;font-weight:bold;flex-shrink:0}@media(max-width:480px){.footer-community{padding:24px 16px}.footer-social-links{flex-direction:column}.footer-social-links a{width:100%;box-sizing:border-box}.footer-community h2{font-size:17px}}
