/* ── Static-port additions (Cloudflare rebuild, 2026-09-11) ─────────
   Everything visual still comes from the original zeus stylesheets;
   this file only covers what the WP → static port changed. */

/* Thornwood footer credit — wordmark standard (page bg #F4EEE6 → purple wordmark) */
.foot-credit { text-align: center; margin: 4px 0 8px; }
.foot-credit-label { display: block; font-family: Roboto, sans-serif; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: #7B6954; }
.foot-credit a { display: inline-block; margin-top: 8px; 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 #7B6954; outline-offset: 3px; }
.foot-credit-logo { display: block; height: clamp(24px, 2vw, 30px); width: auto; margin: 0 auto; max-width: none; }

/* Mobile menu button: the theme styled a <div>; keep the button unstyled */
button.menu-btn { background: none; border: 0; padding: 0; -webkit-appearance: none; appearance: none; font: inherit; color: inherit; }
button.menu-btn:focus-visible { outline: 2px solid #7B6954; outline-offset: 3px; }

/* Form status line (replaces the CF7 response output) */
.form-status { display: none; margin-top: 16px; padding: 10px 14px; border: 2px solid; font-size: 16px; text-align: center; font-family: Roboto, sans-serif; }
.form-status.ok { display: block; border-color: #629B00; color: #1B1B1B; background: #fff; }
.form-status.err { display: block; border-color: #DC3232; color: #AD3B32; background: #fff; }
form.sending .wpcf7-submit { opacity: .5; }
.fld-label { display: block; }

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

/* Screen-reader-only utility (zeus never defines one) */
.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; }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .slide-up-on-scroll, .slideUp, .animate-item { opacity: 1 !important; transform: none !important; }
}

/* a11y: color-only links inside text blocks get an underline */
.post_content p a:not(.main-btn), .attribution a, .main-wrap p a:not(.main-btn) { text-decoration: underline; }
/* a11y: focus ring for keyboard users on nav, buttons, gallery images */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, .lightbox-img:focus-visible { outline: 2px solid #7B6954; outline-offset: 2px; }
.modal a:focus-visible, .modal button:focus-visible, .modal input:focus-visible, .modal textarea:focus-visible { outline-color: #fff; }
.lightbox-img { cursor: pointer; }
/* slick clones/off-screen slides are aria-hidden — keep them out of the tab order */
.slick-slide[aria-hidden="true"] a { visibility: inherit; }

/* Accessibility page shares the FAQ/general banner */
.page-accessibility .banner { background-image: url(/images/general2-banner.webp); }

/* Instagram feed tiles (latest public posts via JaxHQ /api/public/ig-feed; section falls back to heading + button) */
.ig-feed { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; max-width: 1100px; margin: 30px auto 10px; }
.ig-feed:empty { display: none; }
.ig-feed a { display: block; position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: #6a5a48; border-radius: 2px; }
.ig-feed img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease, opacity .6s ease; }
.ig-feed a:hover img, .ig-feed a:focus-visible img { transform: scale(1.04); }
.ig-feed a:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.ig-feed a::after { content: ""; position: absolute; inset: 0; background: rgba(27,27,27,0); transition: background .3s ease; }
.ig-feed a:hover::after { background: rgba(27,27,27,.18); }
.ig-feed .ig-video { position: absolute; top: 10px; right: 10px; color: #fff; font-size: 18px; text-shadow: 0 1px 4px rgba(0,0,0,.5); }
@media (max-width: 767px) { .ig-feed { grid-template-columns: repeat(2, 1fr); gap: 10px; } }

/* Lightbox "close" pill (theme drew it as an unstyled white box) — brand it */
div#customLightbox::before { content: "Close"; font-family: Roboto, sans-serif; font-size: 13px; font-weight: 400; letter-spacing: .18em; text-transform: uppercase; color: #fff; background: rgba(123, 105, 84, .92); border: 1px solid rgba(255, 255, 255, .7); border-radius: 2px; padding: 11px 26px; bottom: 22px; box-shadow: 0 4px 18px rgba(0, 0, 0, .35); }
