/* Existing palette, fonts and composition are retained. */
.visually-hidden {position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.skip-link {position:fixed;left:16px;top:-100px;z-index:30;background:#fff;color:#3b3028;padding:12px 20px;border:2px solid #3b3028;border-radius:8px}
.skip-link:focus {top:16px}
:focus-visible {outline:3px solid #3b3028;outline-offset:4px}
.contact-box :focus-visible {outline-color:#fff}
.brand-reference {text-decoration:none;color:inherit}
.brand-reference:hover {text-decoration:underline;text-underline-offset:.15em}
.card .gift-copy {margin-top:16px}
.gift-button {margin-top:22px;text-align:center;height:auto;padding-top:10px;padding-bottom:10px}
.legal-links {display:flex;justify-content:center;gap:12px 24px;flex-wrap:wrap;padding:18px 20px 0;font-size:.875rem}
.text-button {font:inherit;color:inherit;background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}
.cookie-banner,.cookie-dialog {font-family:"DM Sans",sans-serif;color:#3b3028;background:#fbf8f3;border:1px solid rgba(59,48,40,.2);box-shadow:0 8px 40px #3b302825;border-radius:20px;font-size:1rem;line-height:1.5}
.cookie-banner {position:fixed;z-index:20;bottom:16px;left:16px;width:min(640px,calc(100% - 32px));padding:22px;max-height:calc(100dvh - 32px);overflow:auto}
.cookie-banner[hidden] {display:none}
.cookie-banner p,.cookie-dialog p {margin:8px 0 16px}
.cookie-banner h2,.cookie-dialog h2 {font-size:1.25rem;margin:0;font-weight:600;line-height:1.3}
.cookie-actions {display:flex;flex-wrap:wrap;gap:10px}
.cookie-button {font:inherit;font-weight:600;min-height:44px;padding:10px 16px;border:1px solid #3b3028;border-radius:999px;background:#fbf8f3;color:#3b3028;cursor:pointer;flex:1 1 140px;text-align:center}
.cookie-button:hover {background:#f1e6d8}
.cookie-dialog {width:min(580px,calc(100% - 32px));padding:24px;max-height:calc(100dvh - 32px);overflow:auto}
.cookie-dialog::backdrop {background:#3b302870}
.cookie-option {display:flex;align-items:center;gap:12px;margin:16px 0;font-weight:600}
.cookie-option input {width:22px;height:22px;accent-color:#3b3028;flex-shrink:0}
.cookie-close {float:right;min-width:44px;min-height:44px;margin:-12px -12px 0 8px;border:0;background:none;color:#3b3028;font:inherit;cursor:pointer}
.cookie-footnote {font-size:.875rem}
.legal-page {max-width:800px;margin:auto;padding:40px 20px 70px;font-size:1rem;line-height:1.7}
.legal-page h1 {font-family:"Italiana",serif;font-size:clamp(2.5rem,7vw,4rem);font-weight:400;line-height:1.15}
.legal-page h2 {font-size:1.25rem;margin-top:32px;line-height:1.4}
.legal-page table {width:100%;border-collapse:collapse;font-size:.95rem}
.legal-page th,.legal-page td {padding:10px;text-align:left;border:1px solid #ded3c6;overflow-wrap:anywhere}
.legal-page a {overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce) {html{scroll-behavior:auto!important}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Existing dark palette improves small text contrast without recolouring the site. */
.price-row small {color:var(--muted)}
.top-social a {position:relative}
.top-social a::after {content:"";position:absolute;inset:-8px}
@media(max-width:400px) {.hero h1 {font-size:clamp(2.65rem,13.6vw,3.6rem)} .hero-brand{font-size:clamp(3.8rem,20vw,5rem)} .nav-link{font-size:.875rem}}
