/* Readable ink on light surfaces; retain coral for fills and dark surfaces. */
.landing-fitness-trainer { color: #222; }
.demo-index, .demo-card .for, .portfolio-text.text-orange,
#testimonials .text-red { color: #a83a20; }
.bg-black .demo-index, .demo-card.featured .for { color: #ff997c; }
.demo-card, .demo-card h3, .demo-hours h4 { color: #111; }
.demo-card.featured, .demo-card.featured h3 { color: #fff; }
.demo-card .price small { color: #555; opacity: 1; }
.demo-card.featured .price small { color: #ccc; }
.features-content p { color: #595959; }
.demo-stat p, .demo-role { color: #ccc; opacity: 1; }
.btn.btn-orange { color: #111; font-weight: 600; }
.btn.btn-orange:focus { color: #111; }
.quote-area .quote-btn p, .quote-area .quote-btn h4,
.bg-orange .booking-heading { color: #111; }
.feature-item .icon { color: #111; }
.demo-faq summary .plus { color: #a83a20; }

/* Each slide gets the same directional scrim, below the animated layers.
   Keep faces at the top bright; concentrate shade behind the central copy. */
#banner-main .slotholder::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(0,0,0,.18) 0%, rgba(0,0,0,.24) 22%, rgba(0,0,0,.55) 42%, rgba(0,0,0,.55) 76%, rgba(0,0,0,.16) 100%);
}
#banner-main .layer-overlay { background: transparent; }
.demo-kicker { color: #fff !important; text-shadow: 0 1px 4px #000; }
.demo-sub { color: #fff; }
.btn.btn-ghost-light { background: rgba(0,0,0,.45); }
.top-banner { background: rgba(12,12,12,.76); }
.navbar.navbar-top-default { background: rgba(12,12,12,.86); }
.demo-logo small { color: #fff; }
.side-menu .bg-overlay-banner { background: rgba(0,0,0,.78); }
.navbar .nav-link, .side-menu .nav-link { color: #fff; }
.navbar .nav-link:hover, .side-menu .nav-link:hover { color: #ffb39b; }

/* Preserve the table and all three columns without clipping the trainer. */
.demo-table { color: #222; }
.demo-table th { color: #fff; background: #111; }
.demo-table .tag { color: #111; }
@media (max-width: 575px) {
  .demo-table { table-layout: fixed; }
  .demo-table th, .demo-table td { padding: 12px 7px; }
  .demo-table th { letter-spacing: .06em; }
  .demo-table th:first-child { width: 27%; }
  .demo-table th:nth-child(2) { width: 47%; }
  .demo-table th:last-child { width: 26%; }
  .demo-table td.day { font-size: 11px; letter-spacing: 0; }
  .demo-table td:last-child { font-size: 13px; overflow-wrap: anywhere; }
  .demo-table .tag { display: block; padding: 6px; margin: 3px 0; letter-spacing: .04em; overflow-wrap: anywhere; }
}
.contact-form .form-control, .contact-form .form-control:focus { color: #222; }
.contact-form .form-control::placeholder { color: #595959; opacity: 1; }
.landing-fitness-trainer a:focus-visible,
.landing-fitness-trainer summary:focus-visible,
.landing-fitness-trainer input:focus-visible,
.landing-fitness-trainer textarea:focus-visible {
  outline: 3px solid #a83a20;
  outline-offset: 4px;
}
