/* Accessibility (WCAG 2.2 AA): shared by Stargazer Farm, Fishing, Fellowship and the admin.
   1. Text styles the editor can add (readable fonts, larger sizes, colors that pass contrast)
   2. The visitor's Display options (bigger text, easy-to-read font, stop animations, underline links)
   3. Focus rings that show on light and dark backgrounds, and room for the sticky header */

/* ---------- 1. Editor text styles ---------- */
.ff-atkinson{font-family:'Atkinson Hyperlegible',Verdana,Tahoma,sans-serif}
.ff-lexend{font-family:'Lexend',Verdana,Tahoma,sans-serif}
.ff-sourcesans{font-family:'Source Sans 3','Segoe UI',Arial,sans-serif}
.ff-lora{font-family:'Lora',Georgia,serif}
.ff-merriweather{font-family:'Merriweather',Georgia,serif}
.ts-lg{font-size:1.25em;line-height:1.45}
.ts-xl{font-size:1.5em;line-height:1.35}
.tc-navy{color:#1c2340}
.tc-red{color:#8c2e21}
.tc-green{color:#2f5a2e}
.tc-plum{color:#5b3f8c}
.tc-blue{color:#1b4f86}
.tc-brown{color:#6b4a12}
.tc-cream{color:#f4ecdc}
.tc-gold{color:#f2d27a}
.tc-white{color:#fff}
.tc-sky{color:#cfe3f7}
.tc-mint{color:#d4ecc4}

/* ---------- 3. Focus you can always see ---------- */
/* Keep a focused link or field out from under the sticky header when tabbing (WCAG 2.4.11) */
:where(a[href],button,input,select,textarea,summary,[tabindex]){scroll-margin-top:120px;scroll-margin-bottom:24px}
@media (max-width:900px){:where(a[href],button,input,select,textarea,summary,[tabindex]){scroll-margin-top:96px}}
:focus-visible{outline:3px solid #121833;outline-offset:2px;box-shadow:0 0 0 6px #fffaf0;border-radius:3px}
.sub :focus-visible{outline-color:#0b1a2e}
.site-fellowship :focus-visible{outline-color:#1d2f1a}
input:focus,input:focus-within,select:focus,textarea:focus{outline:3px solid #121833;outline-offset:1px;box-shadow:0 0 0 5px #fffaf0}

/* ---------- 2. Display options (the visitor's choice, kept on their device) ---------- */
html.a11y-text-lg body{zoom:1.15}
html.a11y-text-xl body{zoom:1.3}
html.a11y-font body,html.a11y-font body :is(h1,h2,h3,h4,h5,p,a,li,span,strong,em,b,i,small,label,button,input,select,textarea,figcaption,blockquote,dt,dd,td,th,summary,legend){font-family:'Atkinson Hyperlegible',Verdana,Tahoma,sans-serif!important;letter-spacing:normal!important}
html.a11y-font body :is(h1,h2,h3,.h1,.h2){font-weight:700!important}
html.a11y-still *,html.a11y-still *::before,html.a11y-still *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-still .tw,html.a11y-still .spark{opacity:.7}
html.a11y-links a:not(.btn):not(.nav-cta):not(.brand):not(.site-item):not(.cart-btn){text-decoration:underline!important;text-underline-offset:3px}
html.a11y-space body{line-height:1.9!important}
html.a11y-space body :is(p,li,dd,blockquote){line-height:1.9!important;letter-spacing:.04em!important;word-spacing:.12em!important;margin-bottom:1.2em}

.a11y-foot .a11y-open{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;border-radius:999px;border:1.5px solid currentColor;background:transparent;color:inherit;font:600 15px/1.2 system-ui,-apple-system,'Segoe UI',Arial,sans-serif;cursor:pointer}
.a11y-open svg{width:20px;height:20px;flex:none}
.a11y-foot .a11y-open:hover{background:rgba(255,255,255,.12)}
.a11y-foot{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:18px}
.a11y-foot a{font-size:15px}
.a11y-panel{position:fixed;inset:0;z-index:200;display:flex;align-items:flex-end;justify-content:center;background:rgba(10,14,30,.55);padding:16px}
@media (min-width:640px){.a11y-panel{align-items:center}}
.a11y-box{width:min(460px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#fff;color:#1c2340;border-radius:16px;padding:22px 22px 18px;box-shadow:0 24px 60px rgba(0,0,0,.35);font:17px/1.5 system-ui,-apple-system,'Segoe UI',Arial,sans-serif}
.a11y-box h2{font:700 22px/1.2 system-ui,-apple-system,'Segoe UI',Arial,sans-serif!important;margin:0 0 4px;color:#1c2340}
.a11y-box p{margin:0 0 14px;color:#3d4256}
.a11y-box fieldset{border:0;margin:0 0 14px;padding:0}
.a11y-box legend{font-weight:700;margin-bottom:6px}
.a11y-seg{display:flex;gap:6px}
.a11y-seg label{flex:1}
.a11y-seg input{position:absolute;opacity:0;pointer-events:none}
.a11y-seg span{display:flex;align-items:center;justify-content:center;min-height:48px;border:2px solid #b9b3a4;border-radius:10px;font-weight:700;cursor:pointer;background:#fff}
.a11y-seg input:checked+span{background:#1c2340;border-color:#1c2340;color:#fff}
.a11y-seg input:focus-visible+span{outline:3px solid #121833;outline-offset:2px;box-shadow:0 0 0 6px #fffaf0}
.a11y-sw{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:52px;padding:8px 0;border-top:1px solid #e4dfd3;cursor:pointer}
.a11y-sw span small{display:block;color:#5d6273;font-size:14px}
.a11y-sw input{width:24px;height:24px;flex:none;accent-color:#1c2340}
.a11y-row{display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;margin-top:14px}
.a11y-row button{min-height:48px;padding:0 20px;border-radius:10px;font:700 16px system-ui,-apple-system,'Segoe UI',Arial,sans-serif;cursor:pointer;border:2px solid #1c2340;background:#1c2340;color:#fff}
.a11y-row button.ghost{background:#fff;color:#1c2340}
.a11y-row a{color:#1c2340;font-weight:600}
.skip-link.a11y-open{position:absolute;left:12px;top:-80px;z-index:100;background:#fffaf0;color:#121833;border:2px solid #121833;border-radius:6px;padding:10px 16px;font-weight:700}
.skip-link.a11y-open:focus{top:64px}
.adm .skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:#fffaf0;color:#121833;padding:10px 16px;border-radius:6px;font-weight:700;text-decoration:none}
.adm .skip-link:focus{top:12px}
