/* Coffee and Bible Time Accessibility Widget — styles (v1.1.0)
   Loaded in <head> so saved visitor settings apply before first paint. */

/* OpenDyslexic (SIL Open Font License — see fonts/OpenDyslexic-LICENSE.txt) */
@font-face{font-family:'OpenDyslexic';src:url('fonts/opendyslexic-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'OpenDyslexic';src:url('fonts/opendyslexic-latin-700-normal.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

/* Skip link (injected only if the page has none; visible only when focused) */
#cbt-skip{position:absolute;left:-9999px;top:0;z-index:100001;background:#a81747;color:#fff;padding:12px 18px;font:600 15px system-ui,Arial,sans-serif;border-radius:0 0 10px 0}
#cbt-skip:focus{left:0;outline:3px solid #ffb400}

/* Launcher button — bottom LEFT (the help chat is bottom-right).
   Move it without editing this file by adding to Appearance > Customize > Additional CSS:
   :root{--cbt-bottom:140px;--cbt-left:8px;}  */
#cbt-btn{position:fixed!important;left:var(--cbt-left,8px)!important;bottom:var(--cbt-bottom,70px)!important;top:auto!important;right:auto!important;z-index:99980;width:54px;height:54px;border-radius:50%;background:#a81747;color:#fff;border:2px solid #fff;box-shadow:0 6px 20px rgba(0,0,0,.30);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
#cbt-btn:hover{background:#8a1740}
#cbt-btn:focus-visible{outline:3px solid #ffb400;outline-offset:2px}
#cbt-btn svg{width:30px;height:30px;fill:#fff}

/* Panel */
#cbt-panel{position:fixed!important;left:var(--cbt-left,8px)!important;bottom:calc(var(--cbt-bottom,70px) + 64px)!important;top:auto!important;right:auto!important;z-index:99981;width:min(360px,calc(100vw - 24px));max-height:min(620px,calc(100vh - var(--cbt-bottom,70px) - 90px));overflow-y:auto;background:#fff;border-radius:16px;box-shadow:0 14px 44px rgba(0,0,0,.32);display:none;font:15px/1.45 'Plus Jakarta Sans',system-ui,Arial,sans-serif;color:#a81747}
#cbt-panel.cbt-open{display:block}
#cbt-head{background:#a81747;color:#fff;padding:10px 12px 10px 16px;display:flex;align-items:center;justify-content:space-between}
#cbt-head strong{font-size:16px}
#cbt-close{background:none;border:none;color:#fff;font-size:26px;line-height:1;cursor:pointer;min-width:44px;min-height:44px;padding:0}
#cbt-close:focus-visible{outline:3px solid #ffb400}
#cbt-body{padding:12px}
.cbt-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cbt-tool{background:#fdf3f4;border:1.5px solid #e9dce1;border-radius:10px;padding:10px 8px;font:600 14px system-ui,Arial,sans-serif;color:#a81747;cursor:pointer;text-align:center;min-height:52px}
.cbt-tool:hover{border-color:#a81747}
.cbt-tool[aria-pressed='true']{background:#a81747;color:#fff;border-color:#a81747}
.cbt-tool:focus-visible{outline:3px solid #ffb400;outline-offset:1px}
.cbt-tool small{display:block;font-weight:400;font-size:12px;margin-top:2px}
.cbt-wide{grid-column:1/-1}
#cbt-actions{display:flex;gap:8px;margin-top:10px}
#cbt-reset{flex:1;background:#fff;border:1.5px solid #b3261e;color:#b3261e;border-radius:10px;padding:10px;min-height:44px;font:600 14px system-ui,Arial,sans-serif;cursor:pointer}
#cbt-statement{flex:1;display:flex;align-items:center;justify-content:center;background:#fff;border:1.5px solid #a81747;color:#a81747;border-radius:10px;padding:10px;min-height:44px;font:600 14px system-ui,Arial,sans-serif;text-decoration:none}
#cbt-msg{margin:10px 2px 0;padding:8px 10px;border-radius:8px;background:#fff3cd;color:#3d2a00;font-size:13px}
#cbt-msg:empty{display:none}
#cbt-note{font-size:13px;color:#493140;margin:10px 2px 2px}
#cbt-structure{display:none;margin-top:10px;border-top:1px solid #e9dce1;padding-top:8px;max-height:220px;overflow-y:auto}
#cbt-structure.cbt-open{display:block}
#cbt-structure h4{margin:6px 0 4px;font-size:14px}
#cbt-structure ul{margin:0 0 6px 18px;padding:0}
#cbt-structure li{margin:4px 0}
#cbt-structure a{color:#a81747}

/* Big Cursor does nothing on touch screens, so hide that button there */
@media (hover:none){#cbt-t-cursor{display:none}}

/* Reading guide bar */
#cbt-guide{position:fixed;left:0;right:0;height:34px;top:0;z-index:99970;background:rgba(255,180,0,.28);border-top:2px solid #ffb400;border-bottom:2px solid #ffb400;pointer-events:none;display:none}

/* ---- Page adjustments (classes on <html>) ---- */
html.cbt-text-1{font-size:112.5%!important}
html.cbt-text-2{font-size:125%!important}
html.cbt-text-3{font-size:140%!important}

/* Grayscale goes on <html>, NOT <body>: a filter on <body> turns it into the
   containing block for every position:fixed element (this button, sticky
   headers, the help chat) and they would jump to the bottom of the page. */
html.cbt-grayscale{filter:grayscale(100%)}

/* Contrast Boost is mostly done by the script (it measures real contrast and
   only adjusts text that fails WCAG AA). This is just the placeholder rule. */
html.cbt-contrast-l ::placeholder{color:#444!important;opacity:1}

html.cbt-dyslexia body,html.cbt-dyslexia body *{font-family:'OpenDyslexic',Verdana,Tahoma,sans-serif!important;letter-spacing:.02em}
html.cbt-readable body,html.cbt-readable body *{font-family:Verdana,Tahoma,Arial,sans-serif!important}
html.cbt-links body a{outline:2px solid #ffb400!important;outline-offset:1px;background:#fff3cd!important;color:#a81747!important}
html.cbt-links body #cbt-panel a{background:none!important}
html.cbt-spacing body,html.cbt-spacing body *{line-height:1.9!important;letter-spacing:.06em!important;word-spacing:.12em!important}
html.cbt-spacing body p{margin-bottom:1.2em!important}

/* Pause animations: finish instantly at the END state (like prefers-reduced-motion)
   rather than freezing on frame 0, which can leave fade-in content invisible. */
html.cbt-pause *,html.cbt-pause *::before,html.cbt-pause *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}

html.cbt-cursor body,html.cbt-cursor body a,html.cbt-cursor body button,html.cbt-cursor body input,html.cbt-cursor body textarea,html.cbt-cursor body select,html.cbt-cursor body label,html.cbt-cursor body summary,html.cbt-cursor body [role='button']{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpath d='M10 2 L10 38 L19 30 L24 44 L30 41 L25 28 L36 28 Z' fill='black' stroke='white' stroke-width='2'/%3E%3C/svg%3E") 10 2,auto!important}

/* Hide images: content images/video only. SVGs are left alone because themes
   draw the menu, cart and search icons with SVG — hiding them removes navigation. */
html.cbt-hideimg body img,html.cbt-hideimg body picture,html.cbt-hideimg body video{visibility:hidden!important}

html.cbt-focus *:focus{outline:3px solid #ffb400!important;outline-offset:2px!important}
