/* Functional refinements shared by the existing day and night layouts. */
.toast-stack { z-index: 200; max-width: min(420px, calc(100vw - 32px)); pointer-events: none; }
.toast { background: #fff9f1; color: #5e4559; border: 1px solid #b98ca0; box-shadow: 0 8px 24px #27192d30; }
:root[data-theme='night'] .toast { background: #242b40; color: #fff2e4; border-color: #7f879e; }
.field input, .field textarea, .field select { min-height: 44px; font-size: max(16px, 1rem); }
.field input[type='email'] { direction: ltr; text-align: start; unicode-bidi: plaintext; }
.form-message, [data-form-message] { overflow-wrap: anywhere; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #a66191; outline-offset: 3px; }
:root[data-theme='night'] :focus-visible { outline-color: #efb7d3; }
body[data-page='account'] .utility-hero-aside, body[data-page='cart'] .utility-hero-aside { display: none; }
body[data-page='account'] .utility-hero-shell, body[data-page='cart'] .utility-hero-shell { display: block; padding: 24px 32px; }
body[data-page='account'] .utility-hero-copy h1, body[data-page='cart'] .utility-hero-copy h1 { font-size: clamp(2rem, 4vw, 3.4rem); }
.checkout-section .helper-text { overflow-wrap: anywhere; }
.newsletter-consent { display: flex; align-items: flex-start; gap: 10px; font-size: .9rem; line-height: 1.5; grid-column: 1 / -1; }
.newsletter-consent input { width: 20px; height: 20px; flex: 0 0 auto; }
.account-entry-links { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
.account-panel { scroll-margin-top: 140px; }
.season-nav-menu { position: relative; }
.season-nav-menu summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; }
.season-nav-menu > div { position: absolute; z-index: 90; background: #fff9f1; color: #5e4559; border: 1px solid #d7afbf; border-radius: 12px; padding: 12px; min-width: 140px; display: grid; gap: 8px; }
:root[data-theme='night'] .season-nav-menu > div { background: #242b40; color: #fff2e4; }
.season-nav-menu a { min-height: 44px; }
.policy-page { max-width: 1080px; padding-bottom: 48px; }
.policy-heading { padding-block: 32px 16px; }
.policy-heading h1 { font-size: clamp(2rem, 4vw, 3.5rem); margin: 12px 0; }
.policy-navigation { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-bottom: 24px; }
.policy-navigation a { padding-block: 12px; text-underline-offset: 5px; }
.policy-navigation a[aria-current] { font-weight: 800; text-decoration: underline; }
.policy-content { padding: clamp(20px, 4vw, 48px); }
.policy-content section + section { border-top: 1px solid currentColor; padding-top: 24px; margin-top: 28px; }
.policy-content h2 { font-size: clamp(1.25rem, 3vw, 1.65rem); margin: 0 0 12px; }
.policy-content p { line-height: 1.8; max-width: 75ch; }
.policy-content a, .policy-contact a { text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.policy-contact { padding: 20px 0; }
@media (max-width: 650px) {
  body[data-page='shop'] .shop-hero-shell { padding: 20px; }
  body[data-page='shop'] .shop-hero-shell h1 { font-size: 2rem; margin: 0 0 8px; }
  body[data-page='shop'] .shop-hero-shell > p, body[data-page='shop'] .shop-hero-meta { display: none; }
  body[data-page='shop'] .page-hero { margin-block: 12px; }
  body[data-page='account'] .utility-hero-shell, body[data-page='cart'] .utility-hero-shell { padding: 20px; }
  .pill-button, .header-icon-link, .filter-trigger, .quantity-stepper button { min-width: 44px; min-height: 44px; }
  .toast-stack { bottom: 80px; }
  .sound-toggle, .audio-toggle { position: static !important; display: flex; margin: 16px auto 24px; width: max-content; min-height: 44px; transform: none !important; }
  body[data-page='account'] .utility-hero-copy p { display: none; }
}
