/* ============================================================
   SLF brand overrides — loaded AFTER style.css on every page.
   Palette:  black #151515  ·  amber #f0a73c  ·  deep gold #c4881c
   Keeps the amber accent readable (dark text on amber fills) and
   unifies buttons around the black + amber identity.
   ============================================================ */

/* Primary buttons: amber fill needs DARK text for contrast.
   Hover flips to black for a strong, on-brand interaction. */
.button-primary,
.button-primary:focus {
  color: #151515;
  background-color: #f0a73c;
  border-color: #f0a73c;
}
.button-primary:hover,
.button-primary:active {
  color: #ffffff;
  background-color: #151515;
  border-color: #151515;
}

/* Outline buttons: amber border/text, fill amber (dark text) on hover. */
.button-default-outline:hover,
.button-default-outline:active {
  color: #151515;
  background-color: #f0a73c;
  border-color: #f0a73c;
}

/* Secondary (nav "TIMETABLE") stays black; make its hover amber. */
.button-secondary:hover,
.button-secondary:active {
  color: #151515;
  background-color: #f0a73c;
  border-color: #f0a73c;
}

/* Links / inline accents in amber read poorly on white — use deep gold. */
a.text-opacity-80:hover {
  color: #c4881c;
}

/* Instructor photos: crop portraits cleanly into the card figure
   (faces stay in view) instead of stretching to the old landscape size. */
.team-classic-figure {
  overflow: hidden;
  border-radius: 10px;
}
.team-classic-figure img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  object-position: center top;
}

/* Compact page headers (Pricing / Instructors / Contacts / Partners):
   style.css gives them 260px/180px padding on desktop, pushing the real
   content below the fold. Tighten so content is visible on load, and
   scale the corner blob to match the shorter section. */
@media (min-width: 1200px) {
  .breadcrumbs-custom {
    padding-top: 130px;
    padding-bottom: 50px;
  }
  .decorated-section-6:before {
    width: 380px;
    height: 262px;
    background-size: contain;
  }
  .decorated-section-6:after {
    transform: none;
    bottom: 10px;
  }
}

/* First content section after a page header: style.css gives sections
   up to 135px top padding on desktop, which stacked on the header's
   bottom padding pushes the real content down. Tighten the gap. */
@media (min-width: 768px) {
  .parallax-container + .section {
    padding-top: 45px;
  }
}

/* ============================================================
   DARK THEME — whole site on the SLF black (#151515).
   Flips the page chrome to dark; sections that were already
   dark (pricing, footer, hero) are untouched.
   ============================================================ */
body {
  background-color: #151515;
  color: rgba(255, 255, 255, 0.75);
}
h1, h2, h3, h4, h5, h6 {
  color: #ffffff;
}
.bg-default {
  background-color: #151515;
}
.bg-gray-1 {
  background-color: #1e1e1e;
}
.breadcrumbs-custom {
  background: #151515;
}
.preloader {
  background: #151515;
}

/* Navbar: transparent over the dark body, light links */
.rd-navbar-modern.rd-navbar-static .rd-navbar-main {
  border-bottom-color: rgba(255, 255, 255, 0.12);
}
.rd-navbar-static .rd-nav-link {
  color: #ffffff;
}
.rd-navbar-static .rd-nav-link:hover {
  color: #f0a73c;
}
.rd-navbar-static.rd-navbar--is-stuck,
.rd-navbar-static.rd-navbar--is-clone {
  background: #151515;
}
.rd-navbar-fixed .rd-navbar-nav-wrap {
  background: #1e1e1e;
  border-color: #1e1e1e;
}

/* Contact icons were black-on-white; amber pops on dark */
.icon-xl-color {
  color: #f0a73c;
}
.box-icon-caption h4 a {
  color: #ffffff;
}
.box-icon-caption h4 a:hover {
  color: #f0a73c;
}

/* Partner logo tiles keep a white card so dark logos stay legible */
.box-sponsor {
  background: #ffffff;
}

/* Timetable grid on dark (outranks the inline page styles) */
table.timetable-grid th {
  background: #242424;
}
table.timetable-grid td {
  background: #1e1e1e;
  border-color: #333333;
  box-shadow: none;
}
table.timetable-grid td .tt-time {
  color: #f0a73c;
}
table.timetable-grid td .tt-class {
  color: #eeeeee;
}
table.timetable-grid td.tt-empty {
  background: transparent;
  border: 1px dashed #3a3a3a;
}
table.timetable-grid td.tt-party {
  background: rgba(240, 167, 60, 0.14);
  border-color: rgba(240, 167, 60, 0.35);
}
table.timetable-grid td.tt-party .tt-time,
table.timetable-grid td.tt-party .tt-class {
  color: #f0c87e;
}
table.timetable-grid td.tt-linked:hover {
  background: #2a2316;
  box-shadow: 0 6px 16px rgba(240, 167, 60, 0.25),
    inset 0 0 0 1px rgba(240, 167, 60, 0.4);
}
table.timetable-grid td.tt-linked:hover .tt-class {
  color: #f0a73c;
}

/* Nav TIMETABLE button: black fill disappears on the dark site —
   use the amber fill (dark text) as the standing CTA. */
.button-secondary,
.button-secondary:focus {
  color: #151515;
  background-color: #f0a73c;
  border-color: #f0a73c;
}
.button-secondary:hover,
.button-secondary:active {
  color: #151515;
  background-color: #ffffff;
  border-color: #ffffff;
}

/* Sticky/cloned navbar: theme forces white — keep it dark */
.rd-navbar-modern.rd-navbar-static.rd-navbar--is-stuck,
.rd-navbar-modern.rd-navbar-static.rd-navbar--is-clone {
  background: #151515;
  border-bottom-color: rgba(255, 255, 255, 0.12);
}
.rd-navbar-modern.rd-navbar-static.rd-navbar--is-stuck .rd-nav-item .rd-nav-link:hover,
.rd-navbar-modern.rd-navbar-static.rd-navbar--is-stuck .rd-nav-item.active .rd-nav-link,
.rd-navbar-modern.rd-navbar-static.rd-navbar--is-clone .rd-nav-item .rd-nav-link:hover,
.rd-navbar-modern.rd-navbar-static.rd-navbar--is-clone .rd-nav-item.active .rd-nav-link {
  color: #f0a73c;
}

/* Icon-box body text (services on home, contact details) was dark gray */
.box-icon-classic .box-icon-caption p {
  color: rgba(255, 255, 255, 0.7);
}

/* Desktop navbar: theme paints hovered/active links near-black — amber on dark */
.rd-navbar-modern.rd-navbar-static .rd-nav-item .rd-nav-link:hover,
.rd-navbar-modern.rd-navbar-static .rd-nav-item.active .rd-nav-link {
  color: #f0a73c;
}

/* Instructor cards: caption stays a white card, so names need dark text
   (the global white-heading rule made them invisible) */
.team-classic-caption h4 a {
  color: #151515;
}
.team-classic-caption h4 a:hover {
  color: #c4881c;
}

/* Footer: pure SLF black instead of the theme's dark gray */
.footer-classic {
  background: #151515;
}

/* Footer: amber section headings */
.footer-classic .footer-title {
  color: #f0a73c;
}

/* Footer contact list: location/phone icons and the "School Location"
   label in brand amber */
.list-contact-info .icon-secondary,
.list-contact-info .text-primary-light {
  color: #f0a73c;
}

/* Instructor cards: dark caption, white name, amber role */
.team-classic-caption {
  background: #1e1e1e;
}
.team-classic:hover .team-classic-caption {
  background: #1e1e1e;
}
.team-classic-caption h4 a {
  color: #ffffff;
}
.team-classic-caption h4 a:hover {
  color: #f0a73c;
}
.team-classic-caption p {
  color: #f0a73c;
}

/* Mobile fixed navbar: black bar instead of amber */
.rd-navbar-fixed .rd-navbar-panel {
  background: #151515;
  color: #ffffff;
}

/* Home "Location" section */
.slf-location-list {
  list-style: none;
  padding: 0;
  margin: 22px 0 0;
}
.slf-location-list li {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 10px;
  font-size: 16px;
  margin-top: 12px;
  text-align: left;
}
.slf-location-list .icon {
  color: #f0a73c;
  flex: 0 0 auto;
}
.slf-location-list strong {
  color: #ffffff;
  font-weight: 600;
}

/* Hens Party banner */
.slf-hens-banner {
  display: block;
  border-radius: 14px;
  overflow: hidden;
  transition: filter 0.25s ease, transform 0.25s ease;
}
.slf-hens-banner img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 14px 30px rgba(0, 0, 0, 0.4));
  transition: filter 0.25s ease;
}
.slf-hens-banner:hover {
  transform: translateY(-4px);
}
.slf-hens-banner:hover img {
  filter: brightness(1.1)
    drop-shadow(0 0 26px rgba(240, 167, 60, 0.55));
}
.slf-hens-cta {
  margin-top: 26px;
}
.slf-hens-lead {
  max-width: 640px;
  margin: 0 auto 28px;
}
