/* Visual update v3: raster banners keep a stable aspect ratio at every width. */
.storefront-v2{--blue:#83334f;--blue-deep:#64283e;--ink:#4e3540;--muted:#796570;--coral:#de635c;--line:#efdfd7;--surface:#fff4e8;background:#fffcf9;color:var(--ink)}
.storefront-v2 .site-header{padding-block:17px;min-height:104px}
.storefront-v2 .brand .brand-logo{width:272px;height:auto;max-width:100%}
.storefront-v2 .header-cart{background:#f8e6e6;color:#83334f}
.storefront-v2 .primary-button{background:#83334f;border-radius:16px;box-shadow:0 6px 18px #83334f16}
.storefront-v2 .primary-button:hover:not(:disabled){background:#64283e}
.storefront-v2 .primary-button:disabled{background:#eee5df;color:#796570;box-shadow:none}
.storefront-v2 .magnet-hero{width:100%;margin:0 0 42px;padding:0;background:#fff7eb;position:relative}
.storefront-v2 .magnet-banner-link{display:block;width:100%;aspect-ratio:2048/683;overflow:hidden;background:#fff1d7}
.storefront-v2 .magnet-banner-link img{width:100%;height:100%;object-fit:contain;max-width:none}
.storefront-v2 .hero-controls{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:4px 16px;margin:0;border-bottom:1px solid #efdfd7;background:#fffaf5}
.storefront-v2 .carousel-step{width:32px;height:34px;min-width:32px;border:0;background:transparent;color:#83334f;font-size:1.3rem;border-radius:8px}
.storefront-v2 .banner-dots{display:flex;gap:0;align-items:center}
.storefront-v2 .banner-dot{width:28px;height:34px;padding:0;border:0;display:grid;place-items:center;min-width:28px;background:transparent!important}
.storefront-v2 .banner-dot::after{content:"";display:block;width:6px;height:6px;border-radius:50%;background:#d4b7b6}
.storefront-v2 .banner-dot[aria-current=true]::after{background:#83334f;width:6px;height:6px}
.storefront-v2 .carousel-pause{background:transparent;color:#76535f;border-radius:8px;min-height:34px;padding:6px 8px;font-size:.73rem}
.storefront-v2 .mobile-banner-cta{display:none}
.storefront-v2 .catalog-section{background:linear-gradient(180deg,#fff5ec,#fff9f3);padding-block:42px 54px;border-block:1px solid #f4e3d9}
.storefront-v2 .catalog-heading h1{font-size:clamp(1.85rem,3.4vw,2.8rem);line-height:1.18;margin-top:8px}
.storefront-v2 .heading-dot,.storefront-v2 .product-index{color:#d45c5e}
.storefront-v2 .sample-note{color:#796570;max-width:950px}
.storefront-v2 .product-list{gap:22px}
.storefront-v2 .product-row{grid-template-columns:230px minmax(0,1fr) 24px 76px 132px;gap:22px;padding:24px;border:1px solid #efdfd7;border-radius:24px;background:#fffdfb;box-shadow:0 7px 22px #81544107}
.storefront-v2 .product-row.is-selected{border-color:#b45b73;background:#fff8f7;box-shadow:0 0 0 1px #b45b73,0 8px 24px #b45b730b}
.storefront-v2 .product-image{width:230px;height:230px;padding:6px;border:0;border-radius:20px;overflow:visible;position:relative;background:radial-gradient(ellipse at 50% 42%,#fff8e5 0%,#fff2e9 48%,#fbe4dc 100%);display:flex;align-items:center;justify-content:center}
.storefront-v2 .product-image img{display:block;width:100%;height:100%;object-fit:contain;filter:none;border-radius:0;transition:transform .2s ease}
.storefront-v2 .product-image:hover img{transform:translateY(-3px) scale(1.035)}
.storefront-v2 .product-info h3{color:#5e3448;font-size:1.5rem}
.storefront-v2 .product-message{color:#796570}
.storefront-v2 .product-theme{color:#925463;background:#f9e7e3}
.storefront-v2 .unit-price{color:#83334f}
.storefront-v2 .selection-check input{accent-color:#83334f}
.storefront-v2 .quantity-control{border-color:#e3c6c8}
.storefront-v2 .quantity-control button{color:#83334f}
.storefront-v2 .stock-status{color:#55704e}
.storefront-v2 .stock-status.is-sold-out{color:#796570}
.storefront-v2 .gift-card{border-color:#efdcd2;background:#fff4e8}
.storefront-v2 .gift-peach{background:#fff0e9}.storefront-v2 .gift-mint{background:#fff6df}.storefront-v2 .gift-lilac{background:#fceef1}
.storefront-v2 .gift-icon{color:#d25d62}
.storefront-v2 .order-note{background:#fff1e4;color:#85535d}
.storefront-v2 .order-intro h2,.storefront-v2 .grand-total,.storefront-v2 .footer-brand{color:#83334f}
.storefront-v2 .order-card{background:#fffdfb;border-color:#efdfd7;box-shadow:0 10px 32px #81544108}
.storefront-v2 .basket-bar,.storefront-v2 .cookie-banner{background:#fffdfb;border-color:#efdfd7}
.storefront-v2 .cookie-action{background:#f8e6e6;color:#83334f}
.storefront-v2 .cookie-copy p,.storefront-v2 .faq-section details p,.storefront-v2 .faq-contact,.storefront-v2 .site-footer{color:#796570}
.storefront-v2 .payment-option:has(input:checked){background:#fff1ef;border-color:#b15b73}
.storefront-v2 .payment-option input,.storefront-v2 .terms-check input{accent-color:#83334f}
@media(max-width:1100px){.storefront-v2 .product-row{grid-template-columns:190px minmax(0,1fr) 24px 70px 118px;gap:15px;padding:20px}.storefront-v2 .product-image{width:190px;height:190px}.storefront-v2 .product-info h3{font-size:1.35rem}}
@media(max-width:800px) and (min-width:701px){.storefront-v2 .product-row{grid-template-columns:160px minmax(0,1fr) 24px 65px 108px;gap:12px;padding:16px}.storefront-v2 .product-image{width:160px;height:180px}.storefront-v2 .quantity-control input{width:38px}.storefront-v2 .quantity-control button{min-width:32px}}
@media(max-width:700px){.storefront-v2 .site-header{min-height:80px;padding-block:11px;gap:10px}.storefront-v2 .brand .brand-logo{width:200px;height:auto}.storefront-v2 .site-header nav{gap:9px}.storefront-v2 .site-header nav>a{display:none}.storefront-v2 .magnet-hero{margin-bottom:24px}.storefront-v2 .hero-controls{gap:4px;padding-inline:8px;flex-wrap:wrap;min-height:48px}.storefront-v2 .carousel-pause{font-size:.65rem;max-width:104px;line-height:1.2}.storefront-v2 .mobile-banner-cta{display:flex;width:calc(100% - 40px);max-width:340px;margin:12px auto 16px;padding:12px 20px;justify-content:center;align-items:center;gap:18px}.storefront-v2 .hero-accessible-copy{position:static!important;width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;white-space:normal!important;margin:0!important;overflow:visible!important;padding:18px 20px 0!important;text-align:center;display:block}.storefront-v2 .hero-accessible-copy h2{font-size:1.7rem;line-height:1.1}.storefront-v2 .hero-accessible-copy h2 span{display:block}.storefront-v2 #hero-accent{color:#d45c5e}.storefront-v2 #hero-description{font-size:.9rem;line-height:1.45;margin-top:8px}.storefront-v2 #hero-small{font-size:.75rem;margin-top:7px;color:#796570}.storefront-v2 .magnet-hero{display:flex;flex-direction:column}.storefront-v2 .magnet-banner-link{order:-2}.storefront-v2 .hero-controls{order:-1}.storefront-v2 .catalog-section{padding-block:30px}.storefront-v2 .product-row{grid-template-columns:24px minmax(0,1fr) 128px;gap:14px;padding:20px;border-radius:22px}.storefront-v2 .product-image{grid-column:1/-1;width:min(100%,270px);height:auto;aspect-ratio:1;margin-inline:auto;padding:4px}.storefront-v2 .product-info{grid-column:1/-1}.storefront-v2 .product-info h3{font-size:1.4rem}.storefront-v2 .product-message{font-size:.95rem}.storefront-v2 .selection-check{grid-column:1}.storefront-v2 .unit-price{grid-column:2}.storefront-v2 .product-quantity{grid-column:3}.storefront-v2 .row-total{grid-column:2/-1}.storefront-v2 .quantity-control input{width:48px}.storefront-v2 .quantity-control button{min-width:36px}}
@media(prefers-reduced-motion:reduce){.storefront-v2 .product-image img{transition:none}.storefront-v2 .product-image:hover img{transform:none}}

/* Large, faithful studio photograph; depth comes from the scene, not a thick edge. */
.storefront-v2 .product-image{padding:0;overflow:hidden;background:#ffe7cc;border-radius:20px;box-shadow:0 9px 24px #9b61351c}
.storefront-v2 .product-image img{border-radius:20px}
@media(max-width:700px){.storefront-v2 .product-image{width:min(100%,300px);padding:0}}
