/* ── 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. */

/* Thornwood footer credit — wordmark standard (green #72816A attribution bar → white SVG) */
.foot-credit { text-align: center; margin: 14px 0 4px; }
.foot-credit-label { display: block; font-size: 11px; letter-spacing: .18em; text-transform: uppercase; color: rgba(255, 255, 255, .8); }
.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 #fff; outline-offset: 3px; }
.foot-credit-logo { display: block; height: clamp(24px, 2vw, 30px); width: auto; margin: 0 auto; }

/* 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; }
.form-status.ok { display: block; border-color: #46b450; color: #2C3A2C; background: #fff; }
.form-status.err { display: block; border-color: #dc3232; color: #dc3232; background: #fff; }
form.msl-form.sending .wpcf7-submit { opacity: .5; }

/* Music playlist — vanilla replacement for WP mediaelement wp-playlist */
.msl-playlist { border: 1px solid #ccc; padding: 16px; background: #fff; max-width: 640px; margin: 0 auto; text-align: left; }
.msl-now-playing { font-weight: 700; margin-bottom: 10px; min-height: 1.4em; }
.msl-audio { width: 100%; margin-bottom: 12px; }
.msl-tracks { list-style: none; margin: 0; padding: 0; max-height: 360px; overflow-y: auto; }
.msl-track-btn { display: flex; width: 100%; gap: 8px; align-items: baseline; background: none; border: 0; border-bottom: 1px solid #eee; padding: 7px 4px; font: inherit; font-size: 15px; cursor: pointer; text-align: left; }
.msl-track-btn:hover, .msl-track-btn:focus-visible { background: #f4f4f0; }
.msl-track-btn:focus-visible { outline: 2px solid #72816A; outline-offset: -2px; }
.msl-track-num { color: #888; min-width: 1.6em; }
.msl-track-title { flex: 1; }
.msl-track-artist { color: #888; font-size: 13px; }
.msl-track-len { color: #888; font-size: 13px; }
.msl-track.msl-playing .msl-track-btn { font-weight: 700; background: #eef1ea; }

/* Widescreen frame: constrain fixed chrome to the 1920px canvas */
@media (min-width: 1921px) {
  .header,
  .mobile-wrap { left: calc((100vw - 1920px) / 2); right: calc((100vw - 1920px) / 2); }
}

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

/* Heading-level fixes (port): modal title was h4, reviewer names were h3 —
   now h2s styled exactly like the old rules */
.modal-content h2.modal-title { font-size: 22px; line-height: 1.5; color: #fff; font-family: 'Montserrat', sans-serif; font-weight: 700; text-transform: none; text-align: center; margin: 0 0 5px; letter-spacing: normal; }
.review-item h2.review-name { font-size: 25px; margin-bottom: 10px; color: #72816a; font-weight: inherit; font-family: inherit; }
@media (max-width: 767px) { .review-item h2.review-name { font-size: 20px; margin-bottom: 10px; } }
