/* Bison Bathroom Trailers - accessibility, legal, cookie, contrast (loaded last) */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100000;background:#222;color:#fff;padding:12px 20px;font-weight:700;text-decoration:none}
.skip-link:focus{left:0;outline:3px solid #fdc236}
a:focus,button:focus,input:focus,textarea:focus,select:focus,[tabindex]:focus{outline:3px solid #8a6200!important;outline-offset:2px}
/* theme gold #fdc236 is 1.62:1 on white - only safe as a background behind dark text */
.legal-page a,.footer-links a,.content a{color:#8a6200}
.legal-page a:hover,.legal-page a:focus{color:#6b4c00}
.legal-page{max-width:900px;margin:40px auto 60px;padding:0 20px;color:#333;line-height:1.7;font-size:16px}
.legal-page h1{font-size:32px;margin-bottom:10px;color:#222}
.legal-page h2{font-size:24px;margin-top:34px;color:#6b4c00}
.legal-page ul{margin:12px 0 12px 22px;list-style:disc outside}
.legal-page li{margin-bottom:8px;list-style:disc outside;display:list-item}
.legal-page a{text-decoration:underline}
.legal-updated{color:#666;font-style:italic;margin-bottom:24px}
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:99999;background:#1c1c1c;color:#fff;padding:16px 20px;box-shadow:0 -2px 10px rgba(0,0,0,.35);display:none}
.cookie-banner.is-visible{display:block}
.cookie-banner__inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px}
.cookie-banner__text{font-size:14px;line-height:1.5;margin:0;flex:1 1 420px;color:#fff}
.cookie-banner__text a{color:#fdc236;text-decoration:underline}
.cookie-btn{border:0;padding:10px 18px;margin-left:8px;font-size:14px;font-weight:700;cursor:pointer}
.cookie-btn--accept{background:#fdc236;color:#222}
.cookie-btn--accept:hover,.cookie-btn--accept:focus{background:#e0aa22}
.cookie-btn--decline{background:#e6e6e6;color:#222}
@media(max-width:600px){.cookie-banner__actions{margin-top:8px}.cookie-btn{margin:6px 8px 0 0}}
.bv-top{position:fixed;bottom:22px;right:22px;z-index:100040;width:48px;height:48px;border:none;border-radius:50%;background:#222;color:#fff;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.3);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s;display:flex;align-items:center;justify-content:center;padding:0}
.bv-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.bv-top:hover,.bv-top:focus{background:#000;outline:3px solid #fdc236}
.bv-top svg{width:22px;height:22px;fill:#fdc236}
.footer-legal{list-style:none;padding:0;margin:10px 0 0;font-size:13px}
.footer-legal li{display:inline-block;margin:0 10px 4px 0}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* ---------- WCAG AA contrast fixes (measured with axe) ---------- */
.topbar-note{color:#fff}                       /* was #333 on the black top bar (1.66:1) */
.video h2,.parallax h2,.gold-bg h2{color:#222} /* white on gold #fdc236 was 2.26:1; dark on gold = 9.8:1 */
h2 + span,.section-title span,.heading span{color:#8a6200} /* gold text on white was 1.62:1 */
.content p,.about-text p,p.grey,.service-text p{color:#595959} /* was #878787 (3.59:1) */

/* ---------- Measured AA contrast fixes (axe) ---------- */
.topbar-note{color:#fff}                              /* #333 on black bar = 1.66:1 */
                            /* white on gold #fdc236 = 2.26:1 -> 9.8:1 */
h1 span,h2 span,h3 span{color:#8a6200}                /* gold eyebrow text on white = 1.62:1 -> 5.49:1 */
.quote-wrap h2 span{color:#222}                       /* keep dark inside the gold band */
.content p,.about-text p,.aboutTxt,.service-text p,p.grey{color:#595959}  /* #878787 = 3.59:1 */
   /* theme #878787 = 3.59:1 */
.field-long,.field-select,textarea{color:#222;background:#fff;border:1px solid #767676}
input.field-long,textarea.field-long,.field-long,select{color:#333!important;background:#fff}
input.field-long::placeholder,textarea::placeholder{color:#6b6b6b}
.thanks-wrap a,.grey-bg a{color:#1f5c8b}   /* #337ab7 on #eee = 3.92:1 */
a{color:#1f5c8b}
.embed-full{width:100%;max-width:100%;border:0}
/* WCAG AA: theme button link contrast */
.theme-btn.btn-style-three{background:#1f1f1f;color:#fff;border-color:#1f1f1f}
.theme-btn.btn-style-three:hover,.theme-btn.btn-style-three:focus{background:#000;color:#fff}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ---------- WCAG AA contrast overrides (theme uses deep compound selectors) ----------
   The purchased theme sets body text to #888/#999/#777 on white (2.8-4.5:1) via selectors
   like `.sec-title .sub-title`. These are accessibility corrections, hence !important.   */
.sub-title,
.text, .text p, .text li,
.lower-content .text, .lower-box .text,
.inner-column .text p, .content-column .text p,
.legal-page p, .legal-page li,
.faqs-title .text { color: #595959 !important; }

/* accordion panel text on the #e4e0db panel was 3.4:1 */
#accordion .panel-body, #accordion .panel-body p, .panel-collapse p { color: #4f4f4f !important; }

/* tan #c8b499 text on white was 2.01:1 ; white on the tan bar was 2.01:1 */
h2 span.tan, .accent-text { color: #7d6845 !important; }
#accordion .panel-heading a, #accordion a[data-toggle="collapse"] { color: #222 !important; }

/* submit button: white on #4b99ad was 3.25:1 -> 5.83:1 */
input[type="submit"], button[type="submit"] { background: #2f6d7d !important; color: #fff !important; border-color: #2f6d7d !important; }
input[type="submit"]:hover, input[type="submit"]:focus,
button[type="submit"]:hover, button[type="submit"]:focus { background: #245663 !important; color: #fff !important; }

/* never darken text that sits on a dark background */
footer .text, footer p, footer li, .main-footer .text, .main-footer p, .main-footer li,
.services-section-two .sub-title { color: inherit !important; }

/* tan #c8b499 heading span on white was 2.01:1 */
h2 span, h3 span { color: #7d6845 !important; }
.services-section-two h2 span, footer h2 span, .main-footer h2 span { color: inherit !important; }
/* WCAG 1.4.1: in-text links need a non-colour cue */
.legal-page p a, .legal-page li a, .text p a { text-decoration: underline; }

/* ---------- FAQ accordions (native <details>, no JS) ---------- */
.faq-block { max-width: 900px; margin: 40px auto; padding: 0 15px; }
.faq-block > h2 { text-align: center; margin-bottom: 24px; }
.faq-item { border: 1px solid #ddd; margin-bottom: 12px; background: #fafafa; border-radius: 3px; }
.faq-item > summary {
    cursor: pointer; padding: 16px 46px 16px 18px; font-weight: 700; font-size: 17px;
    color: #222; list-style: none; position: relative; line-height: 1.4;
}
.faq-item > summary::-webkit-details-marker { display: none; }
.faq-item > summary::after {
    content: "+"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%);
    font-size: 24px; line-height: 1; color: #7d6845; font-weight: 700;
}
.faq-item[open] > summary::after { content: "\2212"; }
.faq-item > summary:hover { background: #f2f2f2; }
.faq-item > summary:focus { outline: 3px solid #c8b499; outline-offset: -3px; }
.faq-item .faq-a { padding: 0 18px 18px; font-size: 15.5px; color: #4f4f4f; line-height: 1.7; }
.faq-item .faq-a p { color: #4f4f4f; margin: 0; }
/* constrain logo display so the 2x source satisfies DPR */
.logo img, .main-header .logo img{width:142px;height:auto}

/* honeypot fields for the contact-form spam guard: present in the DOM, never visible */
.cf-hp { position: absolute !important; left: -9999px !important; top: auto; width: 1px; height: 1px; overflow: hidden; }
