/* A quieter storefront: warm ivory, charcoal and restrained champagne gold. */
:root{--paper:#f7f4ee;--ink:#202523;--gold:#c6aa76;--muted:#635f56}
body{line-height:1.5;-webkit-font-smoothing:antialiased}
header{background:var(--paper)}
.hero{background:#192320;background-image:radial-gradient(ellipse at 80% 35%,#30403788,transparent 65%)}
.hero-copy{padding-right:24px}.hero-copy .eyebrow{color:#d2bb8b}
.hero-copy>p:not(.eyebrow){color:#d5d8d0;max-width:420px}
.hero .hero-note{font-size:12px!important;letter-spacing:.2px}
.button{min-height:48px;border-radius:3px;font-weight:600;transition:background .18s,box-shadow .18s}
.gold:hover{background:#d8bf91;box-shadow:0 4px 16px #1b241c16}
.preview-banner{background:#eae4d6;color:#494638;font-size:12px;line-height:1.6;padding:12px 5%;border-bottom:1px solid #d8cdb6}
.product-art{background:#ece7de;background-image:none;border:1px solid #e0d9cc;border-radius:4px}
.product-card .category{font-size:10px;color:#6c5d43;letter-spacing:1.2px}
.product-card .prices{color:#4e524b!important;font-size:12px;gap:12px}
.product-card h3{line-height:1.3}.products{row-gap:38px}
.choose-print{min-height:44px}
.search{border:1px solid #c9c0b0;background:#fffdf9;border-radius:4px;padding:0 12px;width:230px}
.search input{width:100%;min-width:0;font-size:14px;padding:12px 0}.search>span:last-child{font-size:24px;color:#736247}
.filter{border-radius:3px;min-height:40px}.filter:hover{background:#e8e1d4}.filter.active:hover{background:var(--ink)}
.offers{background:#202e27}.offers .eyebrow{color:#cbb17e}.offer strong{color:#ead5ad}
.request-panel{border:1px solid #d6cdbd;border-radius:5px}.request-kind label{border-radius:3px}
footer{background:#192320}.footer-links a{padding:5px 0}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}
#bagDialog .checkout:not(:disabled){background:var(--gold);color:#1b241e;cursor:pointer;font-weight:600;border-radius:3px;min-height:50px}
#bagDialog .checkout:disabled{opacity:.65}#bagDialog .notice{border-left:3px solid #ad905d;background:#eee8dc}
#bagDialog .qty button{min-width:40px;min-height:40px}.remove{min-height:36px}
#bagDialog .fulfilment label{border-radius:3px}.small-note{line-height:1.65}
@media(min-width:1100px){.hero{min-height:570px;padding-top:58px;padding-bottom:48px}.hero h1{font-size:clamp(54px,4.5vw,72px)}.hero-gallery{max-width:630px;width:100%;justify-self:end}}
@media(max-width:760px){.hero-copy{padding-right:0}.hero .hero-note{font-size:11px!important}.shop-tools .search{width:100%;margin-top:16px}.search input{font-size:16px}.products{gap:30px 14px}.product-card h3{font-size:19px}.product-card .prices{font-size:12px;line-height:1.7}.filter{min-height:42px;padding:10px}.preview-banner{font-size:11px;padding:10px 5%}.hero .button{width:100%;max-width:360px}.header-actions button{min-height:44px}.announcement{line-height:1.7}.offer strong{font-size:42px}.request-fields input,.request-fields select{min-height:48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
/* Small-screen audit: readable gold, wrapping headings, and reachable controls. */
.section:not(.offers) h2 em{color:#87662f}
.close{min-width:44px;min-height:44px;display:grid;place-items:center}
.mobile-menu{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
.product-purchase{padding-bottom:max(12px,env(safe-area-inset-bottom))}
@media(max-width:760px){header{gap:10px}.brand{min-width:0}.header-actions{flex-shrink:0}.mobile-menu{display:block}.mobile-menu a{min-height:46px}.request-email{font-size:14px;overflow-wrap:anywhere}#bagDialog input,#bagDialog select{font-size:16px}.save-print{width:44px;height:44px}.sort-label select{min-height:44px}}
@media(max-width:600px){.hero h1{font-size:clamp(37px,10.8vw,49px);letter-spacing:-1.2px}.hero-copy{min-width:0}.hero-gallery{max-width:100%}.product-card h3{font-size:clamp(16px,4.7vw,19px)}#bagDialog{width:96%;padding:42px 16px 22px;max-height:94dvh}.bag-info .qty button{min-width:44px;min-height:44px}.bag-info .remove{min-height:44px}.footer-links a{min-height:44px;display:inline-flex;align-items:center}.request-panel{min-width:0}.size-options{gap:8px}}

#bagDialog .delivery-warning{border-left-color:#8e442b;background:#f4e5d8;color:#492b1e}#bagDialog .delivery-warning p{margin:8px 0 0}#bagDialog .delivery-warning a{color:inherit;text-decoration:underline}

/* Keep long names and customer controls within narrow layouts. */
.bag-info{min-width:0}.bag-info h3,.product-card h3{overflow-wrap:anywhere}
@media(max-width:380px){header{padding-left:4%;padding-right:4%}.brand{gap:8px}.brand span{font-size:12px;letter-spacing:1px}.brand small{font-size:7px;letter-spacing:1px}.header-actions{gap:2px}.bag{padding-left:4px;padding-right:4px}.bag span{margin-left:4px}.saved-nav{padding-left:4px;padding-right:4px}.menu-toggle{padding-left:5px;padding-right:5px}}

.hero .delivery-note{font-size:12px!important;line-height:1.7!important;color:#e5d4b4!important;margin-top:8px}.purchase-delivery{font-size:13px;line-height:1.7;color:#66502c}.offer-saving{display:inline-block;background:#ead5ad;color:#26342b;padding:3px 9px;border-radius:3px;margin-top:7px}
