/* Shared accessibility controls and site-wide preference styles. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body{font-size:1rem}input,select,textarea{font-size:1rem}.brand small{font-size:.625rem}.summary-top .eyebrow{font-size:.75rem}.hero-inset span{font-size:.8125rem}
.accessibility-open{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));inset-inline-start:18px;z-index:15;display:grid;place-items:center;width:52px;height:52px;border:2px solid #73566c;border-radius:50%;background:#fffdfb;color:#513b4d;box-shadow:0 4px 18px #41374526}.accessibility-open svg{width:30px;height:30px}
.accessibility-panel{position:fixed;inset:0;width:min(32rem,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;margin:auto;padding:24px;border:2px solid var(--wine);border-radius:12px;background:var(--cream);color:var(--ink);text-align:start}.accessibility-panel::backdrop{background:#221726a6}.accessibility-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.accessibility-heading h2{font-family:var(--body);font-size:1.4rem;font-weight:600}.accessibility-panel button,.accessibility-jumps a{border:1px solid #a58ea8;border-radius:5px;padding:10px 14px;min-width:44px;min-height:44px;background:#eee3ee;color:#49354b;line-height:1.5;font-size:1rem}.accessibility-panel button:disabled{opacity:.45;cursor:default}.accessibility-size{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.accessibility-size>div{display:flex;gap:10px;align-items:center;direction:ltr}.accessibility-size output{min-width:4ch;text-align:center}.accessibility-toggle{display:flex;flex-direction:row;align-items:flex-start;gap:12px;padding-block:13px;border-top:1px solid var(--line);font-size:1rem;cursor:pointer}.accessibility-toggle input{width:24px;height:24px;min-height:24px;flex-shrink:0;margin:5px 0;accent-color:#73566c}.accessibility-note{font-size:.875rem;line-height:1.8;margin:12px 0 20px;color:var(--muted)}.accessibility-jumps{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.accessibility-jumps h3{font-family:var(--body);font-size:1rem;font-weight:600;flex-basis:100%;margin-bottom:4px}.accessibility-jumps a{font-size:.875rem;text-decoration:underline;text-underline-offset:3px}.accessibility-panel #accessibility-reset{width:100%}
:focus-visible{outline:3px solid #65399b!important;outline-offset:4px!important}html[data-enhanced-focus=true] :focus{outline:4px solid #65399b!important;outline-offset:5px!important}.skip{font-size:1rem;inset-inline-start:12px;max-width:calc(100vw - 24px)}.skip:focus{top:12px;z-index:100}
html[data-reduced-motion=true]{scroll-behavior:auto!important}html[data-reduced-motion=true] *,html[data-reduced-motion=true] *::before,html[data-reduced-motion=true] *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}html[data-reduced-motion=true] .button:hover,html[data-reduced-motion=true] .category-card:hover img,html[data-reduced-motion=true] .gallery-item:hover img{transform:none!important}
/* Text enlargement also reflows layouts rather than clipping enlarged words. */
html:not([data-text-size="100"]) .header{position:relative;flex-wrap:wrap;padding-inline:20px}html:not([data-text-size="100"]) .desktop-nav{flex-wrap:wrap;white-space:normal;gap:14px}html:not([data-text-size="100"]) .header-actions{flex-wrap:wrap}html:not([data-text-size="100"]) .brand>span{font-size:2.25rem}html:not([data-text-size="100"]) .hero{grid-template-columns:1fr;gap:24px}html:not([data-text-size="100"]) .hero h1{font-size:2.5rem!important;overflow-wrap:anywhere}html:not([data-text-size="100"]) .hero-art{max-width:500px;width:100%;margin:auto}html:not([data-text-size="100"]) .section-heading{display:block}html:not([data-text-size="100"]) .section-heading>p{max-width:none;white-space:normal;margin-top:16px}html:not([data-text-size="100"]) .custom-layout{grid-template-columns:1fr}html:not([data-text-size="100"]) .order-summary{position:static}html:not([data-text-size="100"]) .category-grid,html:not([data-text-size="100"]) .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}html:not([data-text-size="100"]) .contact-inner{grid-template-columns:1fr;text-align:center}html:not([data-text-size="100"]) .contact-logo{margin:auto}html:not([data-text-size="100"]) .contact-actions{grid-column:auto;align-items:center}html:not([data-text-size="100"]) .floating-contact span{display:none}html:not([data-text-size="100"]) .footer{flex-wrap:wrap}html:not([data-text-size="100"]) .languages button{width:auto;min-width:44px;height:44px;font-size:.875rem}html:not([data-text-size="100"]) h2{font-size:2rem!important;overflow-wrap:anywhere}html:not([data-text-size="100"]) h3{font-size:1.5rem!important;overflow-wrap:anywhere}
html[data-high-contrast=true]{--cream:#fff;--pink:#fff;--ink:#000;--muted:#222;--wine:#000;--wine-dark:#000;--line:#333}html[data-high-contrast=true] body,html[data-high-contrast=true] .header,html[data-high-contrast=true] .announcement,html[data-high-contrast=true] .category-ribbon,html[data-high-contrast=true] .custom-section,html[data-high-contrast=true] .contact-section,html[data-high-contrast=true] .order-summary,html[data-high-contrast=true] .home-visual,html[data-high-contrast=true] .allergy-field,html[data-high-contrast=true] dialog{background:#fff!important;color:#000!important}html[data-high-contrast=true] :is(h1,h2,h3,p,span,small,strong,i,em,legend,label,figcaption,a,output){color:#000!important}html[data-high-contrast=true] :is(button,input,textarea,select,.button,.choice,.floating-contact,.accessibility-jumps a){background:#fff!important;color:#000!important;border:2px solid #000!important}html[data-high-contrast=true] [aria-pressed=true],html[data-high-contrast=true] .button,html[data-high-contrast=true] .floating-contact{background:#000!important;color:#fff!important}html[data-high-contrast=true] :is(.button,.floating-contact,[aria-pressed=true]) :is(span,svg){color:#fff!important}html[data-high-contrast=true] a{text-decoration:underline!important}html[data-high-contrast=true] .summary-row,html[data-high-contrast=true] .allergy-note{border-color:#333}html[data-high-contrast=true] :focus-visible,html[data-high-contrast=true][data-enhanced-focus=true] :focus{outline-color:#003cff!important}html[data-high-contrast=true] .zoom-icon{background:#fff!important}html[data-high-contrast=true] .accessibility-toggle input{accent-color:#000}
@media(max-width:780px){.languages button{min-width:38px;min-height:38px}.floating-contact span{display:none}.floating-contact{padding:13px;width:52px;height:52px;justify-content:center}.gallery-item:focus-visible{outline-offset:2px!important}}
@media(max-width:600px){html:not([data-text-size="100"]) .category-grid,html:not([data-text-size="100"]) .gallery-grid,html:not([data-text-size="100"]) .field-grid{grid-template-columns:1fr}html:not([data-text-size="100"]) .full{grid-column:auto}html:not([data-text-size="100"]) .summary-row{flex-direction:column;gap:5px}html:not([data-text-size="100"]) .summary-row strong{max-width:100%;text-align:start}.accessibility-panel{padding:18px}.accessibility-heading{flex-wrap:wrap}.wrap{min-width:0}.hero-buttons>*{max-width:100%;overflow-wrap:anywhere}.contact-actions .button{max-width:100%;overflow-wrap:anywhere}.section-heading>p{flex-shrink:1}.accessibility-open{inset-inline-start:14px}}
