/* Whole-product framing, with the existing card widths and mobile columns. */
img{height:auto}
.hero-image,.product-photo img,.finder-image img,.dialog-product-layout>img,.gallery-stage img,.gallery-option img,.related-card img,.wishlist-item img{object-fit:contain;object-position:center}
.hero-image,.product-photo img,.related-card img{height:auto}
.image-button:hover img{transform:none}
.gallery-option.close img{transform:none}
.hero-image{background:var(--cream)}
.product-photo{background:var(--paper);border:1px solid #e8d8c9;border-radius:18px}
.finder-image{background:var(--cream)}
.dialog-product-layout>img{background:var(--cream)}
.gallery-stage{background:var(--cream)}
.related-card img{background:var(--paper)}

/* A little playfulness, anchored by the existing warm palette and serif type. */
:root{--paper:#fffdf7;--rose-paper:#fce9ed;--soft-line:#e8d8c9}
.hero-image{border-radius:22px;border:1px solid var(--soft-line)}
.hero-copy h1 em{position:relative;text-decoration:underline;text-decoration-color:#edafc0;text-decoration-thickness:2px;text-underline-offset:9px;text-decoration-skip-ink:none}
.hero-sticker{transform:rotate(-9deg);font-family:Georgia,'Times New Roman',serif;font-size:17px;font-weight:400;line-height:1.25;box-shadow:0 0 0 4px var(--pink)}
.hero-sticker strong{font-family:Arial,Helvetica,sans-serif;font-size:12px;letter-spacing:1.2px;margin-top:5px}
.photo-caption{border-radius:20px;padding:7px 11px}
.button{border-radius:30px}
.button-pink{box-shadow:0 3px 0 #9d1541}
.button-pink:active{transform:translateY(2px);box-shadow:0 1px 0 #9d1541}
.hero-tab{background:var(--paper);padding:8px 14px}
.hero-tab.active{background:var(--rose-paper);border-color:#b96f85}
.ticker{border-color:#d5ba70;background:#ffe074}
.product-tag{border-radius:18px;background:#fffdf4ef;color:var(--ink);box-shadow:0 1px 3px #29232d0a}
.save-button{border:1px solid #e4c9cf;background:#fffdf7f2}
#catalog-grid .product-info h3{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:27px;letter-spacing:-.8px}
#catalog-grid .product-info p:not(.eyebrow){line-height:1.7}
.round-arrow{border-color:#b892a0;background:#fce9ed;transition:background .2s,transform .2s}
.round-arrow:hover{border-color:var(--pink);background:var(--pink);transform:rotate(6deg)}
.category-filter{background:var(--paper);border-color:var(--soft-line)}
.category-filter[data-category=Food]:not(.active){background:#fff0b8}
.category-filter[data-category=Animals]:not(.active){background:#fce2e9}
.category-filter[data-category=Desk]:not(.active){background:#eae5f6}
.category-filter.active{background:var(--ink)}
.ritual-section{background:#f8e7de;border-color:#e8cfc2}
.step-number{font-style:italic;color:#bc2458}
.finder-result{border-radius:20px;border-color:#e9c5ce}
.mood-button.selected{background:#7b3454;border-color:#7b3454}
.statement{background:#d91f59}
.statement-flower{opacity:.1}
.gallery-stage,.gallery-option,.related-card img{border-radius:18px}
.gallery-option{border-color:var(--soft-line)}
.gallery-option.selected{border-color:#a94d6c}
.wishlist-item img{border-radius:12px}
.header-controls{display:flex;align-items:center;gap:20px;flex-shrink:0}
.market-picker select{font:inherit;font-size:11px;font-weight:600;color:var(--ink);background:var(--paper);border:1px solid var(--soft-line);border-radius:24px;padding:9px 9px;max-width:108px;cursor:pointer}
.market-picker select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.market-context{font-size:11px;color:var(--muted);margin:-7px 0 18px}
@media(hover:hover){.product-photo{transition:box-shadow .2s}.product-card:hover .product-photo{box-shadow:0 6px 20px #65433612}}
@media(max-width:1000px){.header-controls{gap:12px}.desktop-nav{gap:20px}}
@media(max-width:760px){
  .header{gap:8px}
  .header-controls{gap:7px}
  .market-picker select{font-size:10px;max-width:92px;padding:8px 6px}
  .wishlist-toggle{gap:5px;padding-left:4px;padding-right:0}
  .hero-image{aspect-ratio:1.08}
  .hero-sticker{font-size:13px}
  .hero-sticker strong{font-size:10px;letter-spacing:.7px}
  .photo-caption{font-size:7px;letter-spacing:1px;padding:6px 8px}
  #catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #catalog-grid .product-photo img{height:auto;aspect-ratio:.95;object-fit:contain}
  #catalog-grid .product-info h3{font-size:21px;line-height:1.12}
  #catalog-grid .product-info p:not(.eyebrow){font-size:11px}
  #catalog-grid .product-info .eyebrow{font-size:8px}
  #catalog-grid .product-tag{font-size:7px;letter-spacing:.5px}
  #catalog-grid .product-footer{font-size:9px}
  .dialog-product-layout>img{width:100%;height:auto;min-height:0;max-height:44dvh;aspect-ratio:1.25;object-fit:contain}
  .gallery-stage img,.gallery-option img,.related-card img,.finder-image img{object-fit:contain}
  .related-card img{height:auto}
  .market-context{font-size:10px}
}
@media(max-width:360px){.wishlist-label{display:none}.header-controls{gap:9px}}
