/* Blue ocean palette override: cool blue-to-cyan gradients without green tints. */
:root {
  --ink: #f5f9ff;
  --muted: #a7b9d2;
  --dim: #7891b2;
  --night: #06142f;
  --night-2: #0a2045;
  --panel: rgba(13, 43, 84, .76);
  --line: rgba(151, 199, 255, .18);
  --aqua: #66b5ff;
  --cyan: #55ddff;
  --blue: #3977ff;
  --coral: #89a8ff;
  --shadow: 0 24px 80px rgba(0, 18, 55, .34);
  --ocean-0: #04102a;
  --ocean-1: #06142f;
  --ocean-2: #0a2045;
  --ocean-3: #10376a;
  --ocean-line: rgba(151, 199, 255, .18);
  --ocean-muted: #a7b9d2;
  --ocean-aqua: #66b5ff;
  --ocean-cyan: #55ddff;
}

body {
  background: var(--night);
}

.site-header {
  border-bottom-color: rgba(139, 202, 255, .18);
  background: rgba(4, 17, 43, .78);
}

.brand-mark,
.btn-primary,
.schedule-shell .aquatic-gradient,
.swim-menu-icon,
.swim-pillar-icon,
.admin-brand > span,
.admin-save,
.admin-add {
  background: linear-gradient(125deg, #3d78ff 0%, #58c6ff 52%, #62e7ff 100%) !important;
}

.brand-mark.logo-image {
  background: transparent !important;
  box-shadow: none !important;
}

.page-section::before {
  background: radial-gradient(circle at 12% 20%, rgba(85, 221, 255, .13), transparent 28%), radial-gradient(circle at 90% 80%, rgba(57, 119, 255, .14), transparent 30%);
}

.surface,
.swim-lane-panel {
  background: linear-gradient(135deg, rgba(11, 47, 101, .84), rgba(8, 29, 69, .9) 55%, rgba(7, 85, 142, .68));
}

.course-card,
.schedule-shell,
.doc-card,
.contact-form {
  background: linear-gradient(145deg, rgba(10, 35, 76, .9), rgba(6, 22, 53, .96));
}

.certificate-panel {
  background: linear-gradient(120deg, #102e72 0%, #0b4d91 56%, #0789c7 100%);
}

.hero-modern {
  background: #061632;
}

.hero-modern::before {
  background: linear-gradient(90deg, rgba(3, 13, 39, .97) 4%, rgba(5, 25, 66, .8) 42%, rgba(8, 72, 125, .32) 78%);
}

.offcanvas-menu {
  border-left-color: rgba(120, 205, 255, .22);
  background: linear-gradient(155deg, #0a2c70 0%, #061d4b 48%, #04112f 100%);
}

.swimming-section,
.schedule-section {
  background: radial-gradient(circle at 80% 10%, rgba(85, 221, 255, .13), transparent 30%), #06142f !important;
}

.swim-pillar {
  background: rgba(8, 35, 78, .82);
}

.swim-pillar:hover {
  background: rgba(10, 58, 113, .9);
}

.light-section,
.schedule-overview {
  color: #17345f;
  background: linear-gradient(180deg, #f8fbff 0%, #edf5ff 100%) !important;
}

.light-section::before,
.schedule-overview::before {
  background: radial-gradient(circle at 8% 12%, rgba(85, 221, 255, .12), transparent 25%), radial-gradient(circle at 94% 88%, rgba(57, 119, 255, .13), transparent 28%);
}

.light-section .section-title,
.light-section h3,
.schedule-overview .section-title,
.schedule-campus-card h3 {
  color: #102b55;
}

.light-section .section-copy,
.light-section .about-copy,
.schedule-overview .section-copy {
  color: #5d7293;
}

.light-section .schedule-shell,
.schedule-campus-card,
.light-section .doc-card {
  border-color: rgba(37, 91, 161, .16);
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 22px 60px rgba(31, 73, 140, .12);
}

.light-section .schedule-shell th,
.schedule-table thead th {
  color: #2369d5;
  background: rgba(70, 145, 255, .1);
}

.light-section .schedule-shell tbody tr:hover,
.schedule-table tbody tr:hover {
  background: rgba(70, 145, 255, .1);
}

.admin-sidebar,
.admin-main,
.admin-scroll {
  background: linear-gradient(180deg, #0a2d69, #061735) !important;
}

/* Course pages: cool white-blue surfaces and blue/cyan deep sections. */
.owd-page,
.aowd-page,
.discover-page,
.additional-courses-page,
.finswimming-page,
.freediving-page,
.sport-diving-page {
  background: #f5f9ff;
}

.owd-page { --owd-aqua: #55b9ff; --owd-cyan: #63e3ff; }
.aowd-page { --aowd-aqua: #55b9ff; --aowd-cyan: #63e3ff; }
.discover-page { --discover-aqua: #55b9ff; --discover-cyan: #63e3ff; }
.additional-courses-page { --add-aqua: #55b9ff; --add-cyan: #63e3ff; }
.finswimming-page { --fin-aqua: #55b9ff; --fin-cyan: #63e3ff; }
.freediving-page { --free-aqua: #55b9ff; --free-cyan: #63e3ff; }
.sport-diving-page { --dive-aqua: #55b9ff; --dive-cyan: #63e3ff; }

.owd-overview,
.owd-details,
.owd-faq,
.aowd-overview,
.aowd-after,
.discover-intro,
.discover-format,
.finswim-intro,
.finswim-details,
.finswim-faq,
.freedive-intro,
.freedive-details,
.freedive-faq,
.sportdive-intro,
.sportdive-details,
.sportdive-faq,
.additional-intro,
.additional-faq {
  background: #f5f9ff !important;
}

.owd-program,
.aowd-skills,
.discover-facts,
.additional-format,
.finswim-principles,
.freedive-principles,
.sportdive-principles,
.swim-benefits {
  color: #eaf4ff;
  background: linear-gradient(135deg, #071a42 0%, #0b3f84 56%, #087fbe 100%) !important;
}

.finswim-training,
.freedive-training,
.sportdive-training,
.swim-programs {
  background: linear-gradient(145deg, #071a42, #0b3473 58%, #0874b3) !important;
}

.owd-cta,
.aowd-cta,
.discover-cta,
.additional-cta,
.finswim-cta,
.freedive-cta,
.sportdive-cta,
.swim-page-cta {
  background: linear-gradient(120deg, #092663 0%, #0a56a0 54%, #0794ce 100%) !important;
}

.owd-copy-card:first-child,
.owd-structure-card:nth-child(3),
.owd-requirements,
.discover-copy-cards p:first-child,
.discover-safety,
.additional-copy-cards p:nth-child(2),
.aowd-text-card:nth-child(1),
.aowd-text-card:nth-child(4) {
  background: linear-gradient(135deg, #e8f2ff, #ffffff) !important;
}

.nav-dropdown-menu {
  background: rgba(5, 23, 60, .98);
  box-shadow: 0 22px 45px rgba(0, 14, 55, .42), 0 0 0 1px rgba(83, 185, 255, .08);
}

.nav-dropdown-menu::before {
  background: #0a285e;
}

.nav-dropdown-item:hover,
.nav-dropdown-item:focus-visible {
  background: linear-gradient(90deg, rgba(64, 143, 255, .2), rgba(85, 221, 255, .07));
}

.about-school {
  background: linear-gradient(rgba(35, 117, 230, .42), rgba(7, 145, 210, .52)), url('https://images.unsplash.com/photo-1530549387789-4c1017266635?auto=format&fit=crop&w=2000&q=90') center / cover;
}

@media (max-width: 640px) {
  .light-section,
  .schedule-overview,
  .owd-page,
  .aowd-page,
  .discover-page,
  .additional-courses-page,
  .finswimming-page,
  .freediving-page,
  .sport-diving-page {
    background: #f5f9ff !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-modern::before {
    animation: none;
    transform: scale(1.02);
  }
}
