/* Palette values are supplied by the server's fixed theme catalogue. */
body[data-theme]{background:var(--paper);color:var(--ink);accent-color:var(--accent);color-scheme:light}
body[data-theme="midnight"],body[data-theme="atelier"]{color-scheme:dark}
body[data-theme] :is(h1,.home-discover>h2,.home-invitation h2){font-family:var(--theme-heading);letter-spacing:-.04em}
body[data-theme] :is(.panel,.product,.home-feature,.home-banner,.hero,.home-invitation){border-radius:var(--theme-radius);box-shadow:var(--theme-shadow);border-color:var(--line)}
body[data-theme] :is(.panel,.product,.home-feature,.account-menu-panel,.recipient-results,.home-shop-menu li>ul){background:var(--surface)}
body[data-theme] :is(input,textarea,select){background:var(--surface);color:var(--ink);border-color:var(--line)}
body[data-theme] :is(input,textarea)::placeholder{color:var(--muted);opacity:1}
body[data-theme] :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--accent);outline-offset:3px}
body[data-theme] :is(button,.button,.mark,.home-art-mark){background:var(--accent);color:var(--accent-contrast)}
body[data-theme] :is(button,.button):hover{background:var(--accent);color:var(--accent-contrast);filter:brightness(1.08)}
body[data-theme] :is(button,.button){border-radius:clamp(4px,var(--theme-radius),12px)}
body[data-theme] :is(.secondary,.account-menu-trigger,.header-navigation>a){background:var(--sage);color:var(--ink);border-color:var(--line)}
body[data-theme] :is(.text-button,.gallery-thumbnails button){background:transparent;color:var(--ink)}
body[data-theme] .text-button:hover{background:var(--sage);color:var(--ink);filter:none}
body[data-theme] :is(.menu-panel,.home-shop-menu,.home-banner,.hero,.report-table th,.home-invitation,.product-image,.basket-thumbnail,.variant-choice-image,.gallery-stage){background:var(--sage);border-color:var(--line)}
body[data-theme] :is(.menu-panel h2,.submenu-list .submenu-list){border-color:var(--line)}
body[data-theme] :is(.home-shop-menu>ul>li>a,.menu-links .menu-category,.menu-links summary){background:var(--surface);border-color:var(--line)}
body[data-theme] :is(.header-navigation>a:hover,.home-shop-menu a:hover,.home-shop-menu>ul>li:focus-within>a,.menu-links a:hover,.menu-links summary:hover){background:var(--line);color:var(--ink)}
body[data-theme] :is(.header-navigation>a[aria-current=page],.home-shop-menu a[aria-current=page],.menu-links .menu-category[aria-current=page],.menu-links summary:has(a[aria-current=page])){background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}
body[data-theme] .menu-links summary a[aria-current=page]{background:transparent;color:inherit}
body[data-theme] :is(.home-intro,.home-feature-number){color:var(--muted)}
body[data-theme] .home-art-mark{box-shadow:20px 25px 0 var(--line)}
body[data-theme] .home-art-ring{border-color:var(--accent)}
body[data-theme] .menu-links .muted{background:var(--sage);color:var(--ink)}
body[data-theme] .menu-links :is([aria-current=page],summary:has(a[aria-current=page])) .muted{background:transparent;color:inherit}
body[data-theme] .product-info{padding:var(--theme-spacing)}
body[data-theme] .shop-catalog .products .product{border-radius:var(--theme-radius);box-shadow:var(--theme-shadow)}
body[data-theme] .shop-catalog .products .product-info{padding:calc(var(--theme-spacing) / 2)}
body[data-theme] .shop-catalog .products .product:hover{border-color:var(--accent)}
body[data-theme] .variant-choice{background:var(--surface);color:var(--ink);border-color:var(--line)}
body[data-theme] .variant-choice:is(:hover,[aria-pressed=true]){background:var(--sage);color:var(--ink);border-color:var(--accent);filter:none}
body[data-theme] .variant-choice[aria-pressed=true]{box-shadow:0 0 0 2px var(--accent)}
body[data-theme] .variant-choice:disabled{background:var(--paper);color:var(--muted);border-color:var(--line)}
body[data-theme] .recipient-results button{background:var(--surface);color:var(--ink)}
body[data-theme] .recipient-results button:is(:hover,[aria-selected=true]){background:var(--sage);filter:none}
/* Text controls and account names stay legible in hover, focus and expanded states. */
body[data-theme] .shop-cart .cart-title-toggle{background:transparent;color:var(--ink)}
body[data-theme] .shop-cart .cart-title-toggle:is(:hover,:focus-visible){background:var(--sage);color:var(--ink);filter:none}
body[data-theme] .shop-cart .cart-title-toggle:is(:hover,:focus-visible) .muted{color:inherit}
body[data-theme] .account-menu .account-menu-trigger:is(:hover,:focus-visible,[aria-expanded="true"]){background:var(--accent);color:var(--accent-contrast);filter:none}
body[data-theme] .account-menu-trigger:is(:hover,:focus-visible,[aria-expanded="true"]) :is(span,strong){color:inherit}
body[data-theme] .account-menu-panel :is(a,button){display:block;width:100%;padding:10px 12px;border-radius:6px;text-align:left;background:var(--surface);color:var(--ink);font-size:14px;font-weight:600;text-decoration:none}
body[data-theme] .account-menu-panel :is(a,button):is(:hover,:focus-visible,[aria-current="page"]){background:var(--sage);color:var(--ink);filter:none;text-decoration:underline}
.account-menu-panel{min-width:180px;padding:8px;left:auto}
.personal-details{max-width:620px}.personal-details h1{letter-spacing:-1px}.personal-address{margin:28px 0 0;padding:20px;border:1px solid var(--line);border-radius:8px}.personal-address legend{font-weight:650;padding:0 6px}.personal-address p{margin-top:0}.personal-cancel{display:block;text-align:center;margin-top:18px}.personal-details .input-validation-error{border:2px solid #a53628}.personal-details .field-validation-error{display:block;color:#a53628;font-size:13px}
body:is([data-theme="midnight"],[data-theme="atelier"]) :is(.stock-unavailable,.sale-price,.field-validation-error,.checkout-field-error){color:#ffb6a6}
body[data-theme] .errors{background:#fff0ec;color:#922b1f;color-scheme:light}
body[data-theme] :is(.checkout-back,.checkout-login>form,.report-navigation a){background:var(--surface);color:var(--ink)}
body[data-theme] .checkout-back:hover{background:var(--sage)}
body[data-theme] :is(.checkout-account:not(:has(.checkout-login[open])) .checkout-login>summary,.checkout-login[open]>summary,.report-navigation a[aria-current=page]){background:var(--accent);color:var(--accent-contrast)}
@media(max-width:540px){body[data-theme] .shop-catalog .products .product-info{padding:8px}}

/* Original website retains its original home typography and banner shape. */
body[data-design="original"] h1{letter-spacing:-2px}body[data-design="original"] .home-banner{border-radius:22px}body[data-design="original"] .home-invitation{border-radius:12px}
