/**
 * RIAK Fitness — site-wide brand layer (Path 1)
 * Single source for colours; HTML blocks can use var(--riak-navy) etc.
 */
:root {
  --riak-navy: #000b3b;
  --riak-cyan: #15bfe9;
  --riak-text: #ffffff;
  --riak-font: "Roboto", sans-serif;
}

body.riak-native-shell {
  margin: 0;
  font-family: var(--riak-font);
  color: var(--riak-text);
  --e-global-color-primary: var(--riak-navy);
  --e-global-color-secondary: var(--riak-cyan);
  --e-global-color-text: var(--riak-text);
  --e-global-color-accent: var(--riak-cyan);
  background-color: var(--riak-navy);
  background-image: linear-gradient(
    180deg,
    var(--riak-navy) 0%,
    var(--riak-navy) 61%,
    var(--riak-cyan) 100%
  );
  background-repeat: no-repeat;
  background-attachment: scroll;
}

/*
 * Elementor page CSS (post-14429.css etc.) targets body.elementor-page-* with
 * higher specificity and old Secondary→Text gradients — override while migrating.
 */
html body.riak-native-shell[class*="elementor-page-"]:not(.elementor-motion-effects-element-type-background),
html body.riak-native-shell[class*="elementor-page-"]
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer {
  background-color: var(--riak-navy) !important;
  background-image: linear-gradient(
    180deg,
    var(--riak-navy) 0%,
    var(--riak-navy) 61%,
    var(--riak-cyan) 100%
  ) !important;
}

/* Service / HTML-in-Elementor: keep sections clear so body gradient shows through */
body.riak-native-shell .elementor-section,
body.riak-native-shell .elementor-container,
body.riak-native-shell .elementor-column,
body.riak-native-shell .elementor-widget-wrap,
body.riak-native-shell .elementor-widget-container,
body.riak-native-shell #content,
body.riak-native-shell .elementor[data-elementor-type="wp-page"] {
  background-color: transparent !important;
  background-image: none !important;
}

body.riak-native-shell .riak-site-header {
  background-color: var(--riak-navy);
  position: relative;
  z-index: 100000;
}

body.riak-native-shell .riak-site-header__logo {
  display: none;
}

/* Simply Schedule Appointments — book-a-call + consultation-booked */
body.riak-native-shell.riak-booking-flow .ssa_booking_iframe {
  display: block;
  width: 100%;
  min-height: min(720px, 85vh);
  border: 0;
  background: transparent;
}

body.riak-native-shell.riak-booking-flow.page-slug-consultation-booked .ssa_booking_iframe,
body.riak-native-shell.riak-booking-flow.page-id-20102 .ssa_booking_iframe {
  min-height: min(520px, 70vh);
}

body.riak-native-shell.riak-booking-flow .entry-content {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding: 16px 12px 48px;
  background: transparent !important;
}

body.riak-native-shell.riak-booking-flow .site-main,
body.riak-native-shell.riak-booking-flow #content {
  background: transparent !important;
}

/* Thank-you copy below [ssa_confirmation] — plain text on brand gradient, not a second panel */
body.riak-native-shell.riak-booking-flow.page-slug-consultation-booked .entry-content > p,
body.riak-native-shell.riak-booking-flow.page-id-20102 .entry-content > p {
  color: rgba(255, 255, 255, 0.92);
  background: none !important;
  max-width: 36rem;
  margin: 1.25rem auto 0;
  padding: 0 12px;
  line-height: 1.6;
  text-align: center;
}

/* SSA card shortcodes (if rendered outside the iframe) */
body.riak-native-shell.riak-booking-flow .entry-content .ssa-upcoming-appointments {
  color: #858585;
}

body.riak-native-shell.riak-booking-flow .entry-content .ssa-upcoming-appointments .appointment-card {
  color: #858585;
  background-color: #ffffff;
}

body.riak-native-shell.riak-booking-flow
  .entry-content
  .ssa-upcoming-appointments
  .appointment-card
  .appointment-staff,
body.riak-native-shell.riak-booking-flow
  .entry-content
  .ssa-upcoming-appointments
  .appointment-card
  .appointment-header
  p {
  color: #242424;
}

body.riak-native-shell .site-main.riak-full-width {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
}

body.riak-native-shell .entry-content {
  max-width: none;
  margin: 0;
  padding: 0;
}

body.riak-native-shell .entry-content > *:first-child {
  margin-top: 0;
}

/* During migration: hide Elementor Theme Builder header/footer when native shell is on */
body.riak-native-shell .elementor-location-header,
body.riak-native-shell .elementor-location-footer {
  display: none !important;
}

/* Calculator / library pages paint their own gradient (.riak-cal etc.) */
body.riak-native-shell.riak-page-own-background {
  background: transparent;
  background-image: none;
}

html:has(body.riak-page-own-background) {
  background-color: var(--riak-navy);
}

body.riak-native-shell.riak-page-own-background #content,
body.riak-native-shell.riak-page-own-background .site-main,
body.riak-native-shell.riak-page-own-background .site-main.riak-full-width,
body.riak-native-shell.riak-page-own-background article.page,
body.riak-native-shell.riak-page-own-background .entry-content {
  background: transparent !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.riak-native-shell.riak-page-own-background .entry-content > .wp-block-html,
body.riak-native-shell.riak-page-own-background .entry-content .is-layout-flow > .wp-block-html {
  margin-block-start: 0 !important;
}

/*
 * Legacy Toolset / theme wrappers sometimes remain above pasted HTML blocks.
 * Hide empty hero strips; keep the calculator block only.
 */
body.riak-native-shell.riak-page-own-background:has(.riak-cal) .section-top-single,
body.riak-native-shell.riak-page-own-background:has(.riak-swim) .section-top-single,
body.riak-native-shell.riak-page-own-background:has(.riak-cal) .section-coaches-single .img-wrap,
body.riak-native-shell.riak-page-own-background:has(.riak-swim) .section-coaches-single .img-wrap,
body.riak-native-shell.riak-page-own-background:has(.riak-cal) .section-coaches-single ._header,
body.riak-native-shell.riak-page-own-background:has(.riak-swim) .section-coaches-single ._header {
  display: none !important;
}

body.riak-native-shell.riak-page-own-background:has(.riak-cal) .entry-content > main.main,
body.riak-native-shell.riak-page-own-background:has(.riak-swim) .entry-content > main.main,
body.riak-native-shell.riak-page-own-background:has(.riak-cal) .section-coaches-single,
body.riak-native-shell.riak-page-own-background:has(.riak-swim) .section-coaches-single,
body.riak-native-shell.riak-page-own-background:has(.riak-cal) .section-coaches-single .container-fluid,
body.riak-native-shell.riak-page-own-background:has(.riak-swim) .section-coaches-single .container-fluid,
body.riak-native-shell.riak-page-own-background:has(.riak-cal) .classes-single-item,
body.riak-native-shell.riak-page-own-background:has(.riak-swim) .classes-single-item,
body.riak-native-shell.riak-page-own-background:has(.riak-cal) .item-description,
body.riak-native-shell.riak-page-own-background:has(.riak-swim) .item-description,
body.riak-native-shell.riak-page-own-background:has(.riak-cal) .item-description ._body,
body.riak-native-shell.riak-page-own-background:has(.riak-swim) .item-description ._body {
  margin-top: 0 !important;
  padding-top: 0 !important;
  background: transparent !important;
}

/*
 * Training library page — legacy Toolset strips above Custom HTML.
 */
body.riak-native-shell.riak-page-own-background:has(.riak-library) .section-top-single,
body.riak-native-shell.riak-page-own-background:has(.riak-library) .section-coaches-single .img-wrap,
body.riak-native-shell.riak-page-own-background:has(.riak-library) .section-coaches-single ._header {
  display: none !important;
}

body.riak-native-shell.riak-page-own-background:has(.riak-library) .entry-content > main.main,
body.riak-native-shell.riak-page-own-background:has(.riak-library) .section-coaches-single,
body.riak-native-shell.riak-page-own-background:has(.riak-library) .section-coaches-single .container-fluid,
body.riak-native-shell.riak-page-own-background:has(.riak-library) .classes-single-item,
body.riak-native-shell.riak-page-own-background:has(.riak-library) .item-description,
body.riak-native-shell.riak-page-own-background:has(.riak-library) .item-description ._body {
  margin-top: 0 !important;
  padding-top: 0 !important;
  background: transparent !important;
}

/*
 * Training articles (single posts with .riak-article Custom HTML).
 */
body.riak-native-shell.riak-single-article .entry-header,
body.riak-native-shell.riak-single-article .page-header,
body.riak-native-shell.riak-single-article header.page-header,
body.riak-native-shell.riak-single-article .post-header {
  display: none !important;
}

body.riak-native-shell.riak-single-article .section-top-single,
body.riak-native-shell.riak-single-article .section-coaches-single .img-wrap,
body.riak-native-shell.riak-single-article .section-coaches-single ._header {
  display: none !important;
}

body.riak-native-shell.riak-single-article .site-main,
body.riak-native-shell.riak-single-article .site-main.riak-full-width,
body.riak-native-shell.riak-single-article article.post,
body.riak-native-shell.riak-single-article .entry-content {
  max-width: none;
  margin: 0;
  padding: 0;
  background: transparent !important;
}

body.riak-native-shell.riak-single-article .entry-content > .wp-block-html,
body.riak-native-shell.riak-single-article .entry-content .is-layout-flow > .wp-block-html {
  margin-block-start: 0 !important;
}

body.riak-native-shell.riak-single-article .entry-content > main.main,
body.riak-native-shell.riak-single-article .section-coaches-single,
body.riak-native-shell.riak-single-article .section-coaches-single .container-fluid,
body.riak-native-shell.riak-single-article .classes-single-item,
body.riak-native-shell.riak-single-article .item-description,
body.riak-native-shell.riak-single-article .item-description ._body {
  margin-top: 0 !important;
  padding-top: 0 !important;
  background: transparent !important;
}
