/* Shared mobile and keyboard access, preserving the site's white/pink palette. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
main,section,article,.panel,.hero-copy,.cart-item,.cart-summary{min-width:0}
img,video,canvas{max-width:100%}
input,select,textarea{max-width:100%;font-size:16px!important}
fieldset{min-inline-size:0}
button,.button,nav a,nav summary{min-height:44px}
nav a,nav summary{display:inline-flex;align-items:center}
.home-dropdown a{display:flex!important;align-items:center;min-height:44px}
a,button,input,select,textarea,summary{-webkit-tap-highlight-color:#F8E3E8}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid #000;outline-offset:4px}
.skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:14px 20px;background:#fff;color:#000;border:2px solid #000;transform:translateY(-180%)}
.skip-link:focus{transform:translateY(0)}
main{scroll-margin-top:16px}
.newsletter-signup{max-height:calc(100dvh - 32px);overflow-y:auto}
.newsletter-signup .newsletter-close{min-width:44px;min-height:44px}
.policy-links a,.footer-socials a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:600px){
 header nav{font-size:14px;gap:8px 16px}
 nav .home-menu>summary{font-size:14px}
 .section .panel{padding:22px 18px}
 .button{white-space:normal;text-align:center;justify-content:center;max-width:100%;line-height:1.45}
 h1{font-size:clamp(42px,11vw,66px);overflow-wrap:anywhere}
 h2{overflow-wrap:anywhere}
 .graphic{max-width:100%}
 .day{padding:6px 3px;min-height:72px}
 .day small{font-size:10px;line-height:1.35;overflow-wrap:anywhere}
 .calendar-controls{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
 .calendar-controls h3{grid-column:1/-1;grid-row:1;text-align:center;font-size:22px;margin:8px 0}
 .calendar-controls .button{font-size:12px;min-height:44px}
 .cart-item{flex-wrap:wrap}
 .checkout-wrap input,.account-wrap input{min-width:0}
 .sky-table{font-size:12px;table-layout:fixed}
 .sky-table th,.sky-table td{padding:10px 4px;overflow-wrap:anywhere}
 .policy-agreement label{padding-block:6px}
 footer{gap:16px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Promote existing page headings semantically while preserving their design. */
h1.seo-page-heading{font-size:clamp(38px,4.7vw,70px);line-height:1.08;letter-spacing:-3px;margin:20px 0}
@media(max-width:750px){h1.seo-page-heading{letter-spacing:-2px}}
