/* SkyFit v16 — unified background/style fixes for all pages */
:root {
  --v16-sky-blue: #0086d7;
  --v16-navy: #06295a;
  --v16-panel: rgba(232, 247, 255, .88);
  --v16-panel-strong: rgba(238, 249, 255, .94);
  --v16-line: rgba(255, 255, 255, .80);
  --v16-shadow: 0 22px 55px rgba(0, 72, 140, .24);
}

html { scroll-padding-top: 178px; }
body {
  background:
    linear-gradient(180deg, rgba(0, 121, 204, 0.12), rgba(0, 121, 204, 0.08)),
    url("assets/images/sky-bg.jpg") center top / cover repeat-y !important;
  color: var(--v16-navy);
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 8%, rgba(255,255,255,.18), transparent 38%),
    linear-gradient(180deg, rgba(0,49,112,.04), rgba(0,49,112,.02));
}

/* Keep every page on the same transparent page canvas */
.inner-page,
.placeholder-page,
.prices-page-section,
.schedule-page-section,
.contact-section,
.cloud-section,
.cloud-section-soft,
.site-footer {
  background: transparent !important;
}
.cloud-section::before,
.cloud-section::after,
.cloud-section-soft::before,
.cloud-section-soft::after,
.page-hero-card::before {
  opacity: 0 !important;
}

/* Shared inner-page rhythm matching the home/trainer pages */
.inner-page {
  width: min(1688px, calc(100% - 64px));
  margin: 0 auto;
  padding: 0 0 46px;
}
.inner-page > .page-hero,
.inner-page > section {
  width: 100%;
}
.page-hero {
  padding: 0 0 18px !important;
}
.page-hero .shell,
.schedule-page-section .shell,
.prices-page-section .shell,
.contact-section .shell {
  width: 100% !important;
  max-width: none !important;
}
.page-hero-card,
.schedule-matrix-block,
.price-panel,
.list-panel,
.contact-layout,
.full-workout-card,
.video-workout-card,
.format-details-grid details {
  border: 1px solid var(--v16-line) !important;
  background:
    linear-gradient(135deg, rgba(244,251,255,.94), rgba(215,238,254,.88)) !important;
  border-radius: 28px !important;
  box-shadow: var(--v16-shadow) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}
.page-hero-card {
  min-height: 360px;
  padding: clamp(44px, 5.2vw, 80px) clamp(42px, 5.4vw, 86px) !important;
  display: grid;
  align-content: center;
  overflow: hidden;
}
.page-hero-card h1 {
  color: var(--v16-navy) !important;
  font-size: clamp(58px, 7vw, 116px) !important;
  letter-spacing: -.045em;
  line-height: .98;
}
.page-hero-card p:not(.eyebrow) {
  max-width: 620px;
  color: #143967 !important;
  font-size: clamp(18px, 1.2vw, 21px) !important;
  line-height: 1.6;
  font-weight: 560;
}
.page-meta {
  margin-top: 26px;
}
.page-meta span {
  background: rgba(255,255,255,.68) !important;
  border: 1px solid rgba(255,255,255,.80) !important;
  color: var(--v16-navy) !important;
}

.schedule-page-section,
.prices-page-section {
  padding: 0 0 28px !important;
}
.schedule-matrix-block,
.price-panel,
.list-panel {
  overflow: hidden;
}
.schedule-matrix-block { padding: 28px 28px 32px; }
.schedule-matrix-wrap {
  margin-top: 0 !important;
  border-radius: 20px !important;
  background: rgba(244,251,255,.74) !important;
  box-shadow: none !important;
}
.schedule-matrix caption {
  color: transparent;
  height: 1px;
  overflow: hidden;
}
.matrix-time-head,
.matrix-day-head {
  background: linear-gradient(135deg,#052b5f,#0976c5) !important;
}
.matrix-hall-head {
  background: rgba(233,247,255,.92) !important;
}
.matrix-cell,
.matrix-time {
  background: rgba(255,255,255,.68) !important;
}
.matrix-cell.is-empty {
  background: rgba(240,250,255,.40) !important;
}
.matrix-cell.is-empty::after {
  background: rgba(255,255,255,.08) !important;
}
.matrix-event {
  background: linear-gradient(135deg, rgba(230,246,255,.98), rgba(255,255,255,.96)) !important;
}
.queens-event {
  background: linear-gradient(145deg, rgba(225,249,255,.96), rgba(255,255,255,.98)) !important;
}

.prices-topline {
  margin-bottom: 18px !important;
}
.prices-topline .section-title,
.schedule-topline .section-title {
  font-family: "Playfair Display", Georgia, serif;
  color: var(--v16-navy);
}
.price-panel-head,
.price-card,
.list-panel {
  background: linear-gradient(135deg, rgba(244,251,255,.94), rgba(226,242,253,.86)) !important;
}
.price-table th {
  background: rgba(232,247,255,.86) !important;
}
.price-table td {
  background: rgba(255,255,255,.50) !important;
}
.price-cards,
.price-columns,
.price-groups {
  gap: 18px !important;
}

/* Remove old helper / internal / service notes from the public pages. HTML is also cleaned, this is a safety net. */
.schedule-topline,
.schedule-matrix-intro,
.schedule-scroll-note,
.schedule-note,
.schedule-source-note,
.workout-guide-note,
.disclaimer,
.prices-topline p {
  display: none !important;
}

/* Let the schedule/prices content breathe on top of the shared background. */
.workout-guide-section,
.format-details-section,
.contact-section {
  padding-top: 34px !important;
}
.site-footer {
  color: rgba(255,255,255,.92) !important;
}
.site-footer .footer-inner {
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(4, 33, 74, .38);
  backdrop-filter: blur(10px);
  border-radius: 20px;
  padding: 18px 22px;
}

@media (max-width: 860px) {
  body { background-size: auto 900px !important; }
  .inner-page { width: min(100% - 24px, 1688px); padding-bottom: 24px; }
  .page-hero-card { min-height: auto; padding: 34px 22px !important; border-radius: 22px !important; }
  .page-hero-card h1 { font-size: clamp(48px, 15vw, 70px) !important; }
  .schedule-matrix-block { padding: 18px; border-radius: 22px !important; }
}
