/* ── Static-port additions (Cloudflare rebuild, 2026-09) ──────────────
   Everything visual still comes from the original zeus stylesheets;
   this file only covers what the WP → static port changed:
   inline SVG icons replacing Font Awesome, the vanilla modal, the
   fetch()-based form status line, the Thornwood wordmark credit, and
   the widescreen-frame constraint for fixed chrome. */

/* Inline SVG icons stand in for the old Font Awesome <i> glyphs */
svg.icon { display: inline-block; vertical-align: -0.125em; }
.btn-arrow svg.icon { vertical-align: middle; }

/* The modal is driven by site.js using Bootstrap 3's own .in/.modal-open
   classes (bootstrap.min.css ships; Bootstrap JS does not) */
body.modal-open { overflow: hidden; }
.menu-btn { background: none; border: 0; padding: 0; }

/* Modal title is an h2 now (was h4 — caused a heading-level skip);
   style matches the old h4.modal-title rule exactly */
.modal-content h2.modal-title { font-size: 28px; line-height: 1.5; color: #2D1E0F; font-family: 'Oswald', sans-serif; font-weight: 700; margin-bottom: 5px; text-transform: none; }

/* Rules-acceptance row: label wraps checkbox + text so they sit on one line
   (the zeus width:100% input rules otherwise stretch a bare checkbox) */
.consent-label { display: flex; align-items: center; justify-content: flex-start; gap: 10px; cursor: pointer; text-align: left; margin: 0; font-weight: normal; }
.consent-label input[type="checkbox"] { width: 18px !important; min-width: 18px !important; height: 18px !important; max-width: 18px !important; flex: none; margin: 0 !important; padding: 0 !important; accent-color: #F7B506; }
.consent-label .consent { margin-left: 0; display: inline; }

/* Form status line (replaces the CF7 response output) */
.form-status { display: none; margin-top: 20px; padding: 10px 14px; border: 2px solid; font-family: 'Open Sans', sans-serif; font-size: 16px; }
.form-status.ok { display: block; border-color: #46b450; color: #2D1E0F; }
.form-status.err { display: block; border-color: #dc3232; color: #dc3232; }
form.qmf-form.sending .wpcf7-submit { opacity: .5; }

/* Privacy policy subheads were h3 under an h1 (level skip) — now h2,
   styled exactly like the old generic h3 */
.post_content h2 { font-size: 50px; font-weight: 500; }
@media (max-width: 767px) { .post_content h2 { font-size: 34px; } }

/* Thornwood footer credit — wordmark standard (light footer → purple SVG) */
.foot-credit { text-align: center; margin-top: 28px; }
.foot-credit-label { display: block; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: rgba(45, 30, 15, .78); font-family: 'Open Sans', sans-serif; }
.foot-credit a { display: inline-block; margin-top: 10px; opacity: .85; transition: opacity .25s ease, transform .25s ease; }
.foot-credit a:hover, .foot-credit a:focus-visible { opacity: 1; transform: translateY(-1px); }
.foot-credit a:focus-visible { outline: 2px solid #2D1E0F; outline-offset: 3px; }
.foot-credit-logo { display: block; height: clamp(26px, 2vw, 32px); width: auto; margin: 0 auto; }

/* Footer phone stays footer-colored, clickable */
a.footer-phone { color: inherit; text-decoration: underline; }

/* Widescreen frame: constrain fixed chrome to the 1920px canvas */
@media (min-width: 1921px) {
  #back-to-top { right: calc((100vw - 1920px) / 2 + 15px); }
}

/* Reduced motion — kill the marquee scroll and reveal animations */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .animate { opacity: 1 !important; transform: none !important; }
  .marquee-inner { animation: none !important; }
}
