/* Southfork Lakes — accessibility tool + the display modes it switches on. */

/* ---------- The button and panel ---------- */
body:not(#sfl-x) .sfl-a11y{position:fixed;bottom:20px;z-index:9990;font-family:var(--sfl-sans,'Manrope',system-ui,sans-serif)}
body:not(#sfl-x) .sfl-a11y--left{left:20px}
body:not(#sfl-x) .sfl-a11y--right{right:20px}
body:not(#sfl-x) .sfl-a11y__toggle{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;border:2px solid var(--sfl-gold,#D4B47E);background:var(--sfl-ink,#12272A);color:#fff;cursor:pointer;box-shadow:0 10px 26px rgba(0,0,0,.28);padding:0;transition:transform .2s ease}
body:not(#sfl-x) .sfl-a11y__toggle:hover{transform:scale(1.06)}
body:not(#sfl-x) .sfl-a11y__toggle:focus-visible{outline:3px solid var(--sfl-gold,#D4B47E);outline-offset:3px}
body:not(#sfl-x) .sfl-a11y__label{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}
body:not(#sfl-x) .sfl-a11y__panel{position:absolute;bottom:70px;width:360px;max-width:calc(100vw - 40px);max-height:calc(100vh - 120px);overflow-y:auto;background:#fff;color:#1A2224;border-radius:20px;box-shadow:0 24px 60px rgba(0,0,0,.3);padding:22px;display:flex;flex-direction:column;gap:16px;border-top:4px solid var(--sfl-gold,#D4B47E)}
body:not(#sfl-x) .sfl-a11y--left .sfl-a11y__panel{left:0}
body:not(#sfl-x) .sfl-a11y--right .sfl-a11y__panel{right:0}
body:not(#sfl-x) .sfl-a11y__panel[hidden]{display:none}
body:not(#sfl-x) .sfl-a11y__head{display:flex;justify-content:space-between;align-items:center}
body:not(#sfl-x) .sfl-a11y__head h2{margin:0;font-family:var(--sfl-serif,Georgia,serif);font-size:28px;font-weight:600;color:var(--sfl-ink,#12272A);line-height:1.1}
body:not(#sfl-x) .sfl-a11y__close{width:44px;height:44px;border-radius:50%;border:1px solid #CBD1CD;background:#fff;color:#1A2224;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
body:not(#sfl-x) .sfl-a11y__close:hover{background:#F5F6F4}
body:not(#sfl-x) .sfl-a11y__intro{margin:0;font-size:14px;line-height:1.5;color:#3A4547}
body:not(#sfl-x) .sfl-a11y__group{display:flex;justify-content:space-between;align-items:center;gap:12px}
body:not(#sfl-x) .sfl-a11y__group-label{font-size:15px;font-weight:700}
body:not(#sfl-x) .sfl-a11y__stepper{display:flex;align-items:center;gap:6px;background:#F5F6F4;border-radius:999px;padding:4px}
body:not(#sfl-x) .sfl-a11y__stepper button{width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:var(--sfl-ink,#12272A);font:700 16px/1 var(--sfl-sans,system-ui,sans-serif);cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.12);padding:0}
body:not(#sfl-x) .sfl-a11y__stepper button:hover{background:var(--sfl-ink,#12272A);color:#fff}
body:not(#sfl-x) .sfl-a11y__value{min-width:64px;text-align:center;font-size:14px;font-weight:700}
body:not(#sfl-x) .sfl-a11y__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body:not(#sfl-x) .sfl-a11y__opt{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:64px;padding:10px 12px;border:1px solid #CBD1CD;border-radius:14px;background:#fff;color:#1A2224;font:600 14px/1.25 var(--sfl-sans,system-ui,sans-serif);text-align:left;cursor:pointer;transition:background .15s,border-color .15s}
body:not(#sfl-x) .sfl-a11y__opt:hover{border-color:var(--sfl-ink,#12272A)}
body:not(#sfl-x) .sfl-a11y__opt svg{color:#78613C}
body:not(#sfl-x) .sfl-a11y__opt[aria-pressed="true"]{background:var(--sfl-ink,#12272A);border-color:var(--sfl-ink,#12272A);color:#fff}
body:not(#sfl-x) .sfl-a11y__opt[aria-pressed="true"] svg{color:var(--sfl-gold,#D4B47E)}
body:not(#sfl-x) .sfl-a11y__opt[aria-pressed="true"]::after{content:"On";font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sfl-gold,#D4B47E)}
body:not(#sfl-x) .sfl-a11y button:focus-visible,body:not(#sfl-x) .sfl-a11y a:focus-visible{outline:3px solid #78613C;outline-offset:2px}
body:not(#sfl-x) .sfl-a11y__foot{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #E2E4E0;padding-top:14px}
body:not(#sfl-x) .sfl-a11y__reset{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid #CBD1CD;background:#fff;color:#1A2224;font:700 14px var(--sfl-sans,system-ui,sans-serif);cursor:pointer}
body:not(#sfl-x) .sfl-a11y__reset:hover{background:#F5F6F4}
body:not(#sfl-x) .sfl-a11y__foot a{color:#78613C;font-weight:600;font-size:14px}
body:not(#sfl-x) .sfl-a11y__guide{position:fixed;left:0;right:0;top:0;height:44px;pointer-events:none;z-index:9989;border-top:3px solid #FFB000;border-bottom:3px solid #FFB000;background:rgba(255,176,0,.08);box-shadow:0 0 0 9999px rgba(0,0,0,.35)}
body:not(#sfl-x) .sfl-a11y__guide[hidden]{display:none}
@media (max-width:480px){
  body:not(#sfl-x) .sfl-a11y{bottom:14px}
  body:not(#sfl-x) .sfl-a11y--left{left:14px}body:not(#sfl-x) .sfl-a11y--right{right:14px}
  body:not(#sfl-x) .sfl-a11y__panel{position:fixed;left:10px!important;right:10px!important;bottom:84px;width:auto;max-width:none}
}
@media print{body:not(#sfl-x) .sfl-a11y{display:none}}

/* The tool always keeps its own look, whatever mode is on. */
html[class*="a11y-"] .sfl-a11y,html[class*="a11y-"] .sfl-a11y *{filter:none!important;letter-spacing:normal!important;word-spacing:normal!important;line-height:1.25!important}

/* ---------- Display modes ---------- */
/* High contrast (dark): white text on black, yellow links. */
html.a11y-contrast body,html.a11y-contrast body *:not(.sfl-a11y):not(.sfl-a11y *):not(img):not(video):not(svg):not(svg *):not(iframe){background-color:#000!important;color:#fff!important;border-color:#fff!important;text-shadow:none!important;box-shadow:none!important}
html.a11y-contrast body *:not(.sfl-a11y *):not(img):not(video){background-image:none!important}
html.a11y-contrast body a:not(.sfl-a11y *),html.a11y-contrast body a:not(.sfl-a11y *) *{color:#FFE14D!important}
html.a11y-contrast body :is(button,input,select,textarea):not(.sfl-a11y *){border:2px solid #fff!important}
html.a11y-contrast .sfl-hero__shade,html.a11y-contrast .sfl-page-hero__bg,html.a11y-contrast .sfl-hero__bg,html.a11y-contrast .sfl-cta__bg{display:none!important}

/* Light background: black text on white, blue links. */
html.a11y-light body,html.a11y-light body *:not(.sfl-a11y):not(.sfl-a11y *):not(img):not(video):not(svg):not(svg *):not(iframe){background-color:#fff!important;color:#000!important;border-color:#000!important;text-shadow:none!important}
html.a11y-light body *:not(.sfl-a11y *):not(img):not(video){background-image:none!important}
html.a11y-light body a:not(.sfl-a11y *),html.a11y-light body a:not(.sfl-a11y *) *{color:#0645AD!important}
html.a11y-light .sfl-hero__shade,html.a11y-light .sfl-page-hero__bg,html.a11y-light .sfl-hero__bg,html.a11y-light .sfl-cta__bg{display:none!important}
html.a11y-light .sfl-header{box-shadow:0 1px 0 #000!important}

/* Grayscale (applied per region so the fixed header and tool keep working). */
html.a11y-gray .sfl-header,html.a11y-gray #content,html.a11y-gray .sfl-footer{filter:grayscale(1)}

/* Highlight links and headings. */
html.a11y-links body a:not(.sfl-a11y *){text-decoration:underline!important;text-underline-offset:3px!important;outline:2px solid #FFB000!important;outline-offset:2px}
html.a11y-headings body :is(h1,h2,h3,h4,h5,h6,[role="heading"]):not(.sfl-a11y *){outline:2px dashed #FFB000!important;outline-offset:6px}

/* Readable font (Atkinson Hyperlegible, designed for low vision). Icons keep their fonts. */
html.a11y-font body *:not(.sfl-a11y *):not(i):not([class*="icon"]):not([class*="fa-"]):not(.dashicons):not(code):not(pre){font-family:'Atkinson Hyperlegible',Verdana,Tahoma,sans-serif!important}

/* Text spacing (WCAG 1.4.12 values). */
html.a11y-spacing body *:not(.sfl-a11y *){letter-spacing:.12em!important;word-spacing:.16em!important}
html.a11y-spacing body p:not(.sfl-a11y *){margin-bottom:2em!important}

/* Line height. */
html.a11y-lh-1 body *:not(.sfl-a11y *){line-height:1.5!important}
html.a11y-lh-2 body *:not(.sfl-a11y *){line-height:1.8!important}
html.a11y-lh-3 body *:not(.sfl-a11y *){line-height:2!important}

/* Pause animations and motion. */
html.a11y-pause *,html.a11y-pause *::before,html.a11y-pause *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-pause .sfl-reveal,html.a11y-pause .elementor-invisible{opacity:1!important;visibility:visible!important;transform:none!important}

/* Large cursor. */
html.a11y-cursor,html.a11y-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'%3E%3Cpath d='M4 2l15 8.5-6.5 1.6L9.6 19z' fill='%23000' stroke='%23fff' stroke-width='1.3' stroke-linejoin='round'/%3E%3C/svg%3E") 6 3,auto!important}
html.a11y-cursor a,html.a11y-cursor a *,html.a11y-cursor button,html.a11y-cursor button *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'%3E%3Cpath d='M9 11V4.5a1.5 1.5 0 0 1 3 0V10h.5V8.5a1.5 1.5 0 0 1 3 0V10h.5v-.5a1.5 1.5 0 0 1 3 0V15a6 6 0 0 1-6 6h-1a6 6 0 0 1-5-2.7L4 14.5a1.5 1.5 0 0 1 2.4-1.8L9 15z' fill='%23000' stroke='%23fff' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E") 14 4,pointer!important}

/* Elementor Site Settings style every <button>; the tool keeps its own look. */
body:not(#sfl-x) .sfl-a11y :is(button,a,output,span,p,h2){font-family:var(--sfl-sans,'Manrope',system-ui,sans-serif);text-transform:none;letter-spacing:normal;text-shadow:none}
body:not(#sfl-x) .sfl-a11y__head h2{font-family:var(--sfl-serif,Georgia,serif)}
body:not(#sfl-x) .sfl-a11y button{box-shadow:none;line-height:1.25;min-width:0}
body:not(#sfl-x) .sfl-a11y__toggle:is(:hover,:focus,:active){background:var(--sfl-ink,#12272A);color:#fff;border-color:var(--sfl-gold,#D4B47E)}
body:not(#sfl-x) .sfl-a11y__close:is(:focus,:active){background:#fff;color:#1A2224}
body:not(#sfl-x) .sfl-a11y__stepper button:is(:focus,:active):not(:hover){background:#fff;color:var(--sfl-ink,#12272A)}
body:not(#sfl-x) .sfl-a11y__opt:is(:hover,:focus,:active):not([aria-pressed="true"]){background:#fff;color:#1A2224}
body:not(#sfl-x) .sfl-a11y__opt[aria-pressed="true"]:is(:hover,:focus,:active){background:var(--sfl-ink,#12272A);color:#fff}
body:not(#sfl-x) .sfl-a11y__reset:is(:focus,:active):not(:hover){background:#fff;color:#1A2224}
