/* Balanced homepage palette: deep ocean surfaces alternate with clear white information sections. */

/* Dark feature surfaces */
#about.page-section,
#sections.page-section,
#gallery.page-section {
  color: #e8f7fb;
  background: linear-gradient(145deg, #0b2b43 0%, #12425d 52%, #0d3049 100%) !important;
}

#about.page-section::before,
#sections.page-section::before,
#gallery.page-section::before {
  opacity: .72;
  background: radial-gradient(circle at 8% 12%, rgba(76, 201, 255, .13), transparent 27%), radial-gradient(circle at 94% 88%, rgba(77, 157, 255, .14), transparent 30%);
}

#about .section-title,
#sections .section-title,
#gallery .section-title {
  color: #ffffff;
}

#about .section-title .text-cyan-300,
#sections .section-title .text-cyan-300,
#gallery .section-title .text-cyan-300 {
  color: #55ddff !important;
}

/* Cyan gradient for highlighted words and accent labels. SVG icon wrappers stay untouched. */
.text-cyan-300:not(:has(svg)),
.section-title .text-cyan-300 {
  color: #55ddff !important;
  background-image: linear-gradient(100deg, #c2f8ff 0%, #55ddff 46%, #2f9fe8 100%);
  background-repeat: no-repeat;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

#about .section-copy,
#about .about-copy,
#sections .section-copy,
#gallery .section-copy {
  color: #a9c5d1;
}

#about .btn-ghost,
#sections .btn-ghost,
#gallery .btn-ghost {
  color: #e8f7fb;
  border-color: rgba(149, 205, 226, .3);
  background: rgba(255, 255, 255, .06);
}
#about .btn-ghost:hover,
#sections .btn-ghost:hover,
#gallery .btn-ghost:hover {
  color: #061824;
  border-color: #4cc9ff;
  background: #4cc9ff;
}

/* About */
#about .about-stat {
  color: #ffffff;
  border-color: rgba(76, 201, 255, .35);
  background: rgba(7, 32, 47, .88);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .25);
}
#about .about-stat span { color: #a9c5d1; }

/* Course direction cards */
#sections .course-card {
  border-color: rgba(149, 205, 226, .16);
  background: #16445d;
  box-shadow: 0 18px 45px rgba(0, 0, 0, .2);
}
#sections .course-card:hover {
  border-color: rgba(76, 201, 255, .55);
  box-shadow: 0 24px 50px rgba(0, 0, 0, .3);
}
#sections .course-card-media { position: relative; }
#sections .course-card-icon {
  position: absolute;
  z-index: 2;
  top: 16px;
  right: 16px;
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: #06212b;
  border: 1px solid rgba(194, 248, 255, .42);
  border-radius: 14px;
  background: linear-gradient(135deg, #c2f8ff, #55ddff 50%, #4d9dff);
  box-shadow: 0 10px 24px rgba(2, 31, 49, .28);
  transition: transform .3s ease, box-shadow .3s ease;
}
#sections .course-card-icon svg { width: 22px; height: 22px; }
#sections .course-card:hover .course-card-icon { transform: rotate(-6deg) scale(1.08); box-shadow: 0 14px 30px rgba(76, 201, 255, .3); }
#sections .course-card h3 { color: #ffffff; }
#sections .course-card p { color: #a9c5d1; }
#sections .course-card-footer { border-top-color: rgba(149, 205, 226, .18); }
#sections .course-card-footer .text-slate-500,
#sections .course-card-footer .course-details { color: #8daebb !important; }
#sections .course-card-footer button { color: #4cc9ff; }
#sections .course-card-footer .course-details:hover { color: #ffffff !important; }

/* Gallery */
#gallery .gallery-grid > figure {
  border-color: rgba(149, 205, 226, .2);
  background: #16445d;
  box-shadow: 0 14px 35px rgba(0, 0, 0, .18);
}
#gallery .gallery-empty {
  color: #a9c5d1;
  border-color: rgba(76, 201, 255, .35);
  background: rgba(13, 45, 64, .78);
}
#gallery .gallery-empty strong { color: #ffffff; }

/* Homepage swimming block: lift the navy surface without losing the ocean contrast. */
#swimming-lab.page-section {
  color: #eaf8ff;
  background: linear-gradient(145deg, #0a2b4a 0%, #125181 56%, #0d3c68 100%) !important;
}

#swimming-lab.page-section::before {
  background: radial-gradient(circle at 12% 18%, rgba(116, 227, 255, .18), transparent 27%), radial-gradient(circle at 88% 82%, rgba(87, 150, 255, .2), transparent 31%);
}

#swimming-lab .swim-pillar {
  background: rgba(20, 72, 112, .78);
  border-color: rgba(151, 221, 255, .2);
}

#swimming-lab .swim-pillar:hover {
  background: rgba(28, 96, 145, .88);
}

/* White information surfaces */
#schedule.page-section,
#documents.page-section,
#contacts.page-section {
  color: #17345f;
  background: linear-gradient(180deg, #ffffff 0%, #f3f8ff 100%) !important;
}

#schedule.page-section::before,
#documents.page-section::before,
#contacts.page-section::before {
  opacity: .8;
  background: radial-gradient(circle at 8% 12%, rgba(85, 221, 255, .11), transparent 25%), radial-gradient(circle at 94% 88%, rgba(57, 119, 255, .1), transparent 28%);
}

#schedule .section-title,
#documents .section-title,
#contacts .section-title {
  color: #102b55;
}

#schedule .section-title .text-cyan-300,
#documents .section-title .text-cyan-300,
#contacts .section-title .text-cyan-300 {
  color: #2477d4 !important;
}

#schedule .section-copy,
#documents .section-copy,
#contacts .section-copy {
  color: #5d7293;
}

#schedule .btn-ghost,
#documents .btn-ghost,
#contacts .btn-ghost {
  color: #17345f;
  border-color: rgba(37, 91, 161, .2);
  background: rgba(255, 255, 255, .72);
}

/* Schedule: keep the table bright and high-contrast. */
#schedule .campus-card {
  border-color: rgba(37, 91, 161, .16);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 22px 60px rgba(31, 73, 140, .12);
}
#schedule .campus-card-header {
  border-bottom-color: rgba(37, 91, 161, .12);
  background: linear-gradient(135deg, #eef7ff, #ffffff);
}
#schedule .campus-card-header h3,
#schedule .diving-panel h3,
#schedule .diving-standards strong { color: #102b55; }
#schedule .campus-card-header p,
#schedule .campus-card-footer,
#schedule .diving-panel p,
#schedule .diving-contact { color: #5d7293; }
#schedule .schedule-table th,
#schedule .schedule-table td { border-bottom-color: rgba(37, 91, 161, .12); }
#schedule .schedule-table thead th {
  color: #2369d5;
  background: rgba(70, 145, 255, .1);
}
#schedule .schedule-table {
  color: #294761;
  background: #ffffff;
}
#schedule .schedule-table tbody th,
#schedule .schedule-table tbody td {
  color: #405f78;
  font-size: 13px;
  line-height: 1.55;
}
#schedule .schedule-table tbody th > span.text-\[\#0f1b2e\],
#schedule .schedule-table tbody th .text-\[\#0f1b2e\] { color: #102b55 !important; }
#schedule .schedule-table tbody td .text-\[\#315669\] { color: #365a73 !important; }
#schedule .schedule-table tbody tr:nth-child(even) { background: #f3f8fd; }
#schedule .schedule-table tbody tr:hover { background: #e7f2ff; }
#schedule .campus-card-footer a,
#schedule .diving-contact a { color: #2477d4; }
#schedule .diving-panel { border-top-color: rgba(37, 91, 161, .16); }
#schedule .diving-panel > div:first-child > span:last-child { border-color: #2477d4; }

/* Documents and contact form remain light for easy reading and conversion. */
#documents .doc-card {
  border-color: rgba(37, 91, 161, .16);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 18px 45px rgba(31, 73, 140, .1);
}
#documents .doc-card h3 { color: #102b55; }
#documents .doc-card p { color: #5d7293; }
#documents .doc-icon { background: rgba(70, 145, 255, .1); }
#documents .doc-card button { color: #2477d4 !important; }

#contacts .contact-form {
  border-color: rgba(37, 91, 161, .16);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 22px 60px rgba(31, 73, 140, .12);
}
#contacts .contact-form h3,
#contacts .contact-form .text-white,
#contacts .contact-grid strong.text-white { color: #102b55 !important; }
#contacts .contact-grid .text-slate-400,
#contacts .contact-form .text-slate-400 { color: #5d7293 !important; }
#contacts .contact-form input,
#contacts .contact-form textarea {
  color: #17345f;
  border-color: rgba(37, 91, 161, .18);
  background: #ffffff;
}
#contacts .contact-form input::placeholder,
#contacts .contact-form textarea::placeholder { color: #8aa0b7; }
#contacts .contact-form label { color: #7186a0 !important; }

/* Gift certificate: a darker feature block with a clear present ribbon. */
#certificate.page-section {
  color: #e8f7fb;
  background: radial-gradient(circle at 9% 18%, rgba(76, 201, 255, .14), transparent 25%), linear-gradient(135deg, #04131f 0%, #08283d 52%, #061a2b 100%) !important;
}
#certificate.page-section::before {
  opacity: .7;
  background: radial-gradient(circle at 88% 20%, rgba(77, 157, 255, .18), transparent 22%), radial-gradient(circle at 70% 92%, rgba(76, 201, 255, .1), transparent 27%);
}
#certificate .certificate-panel {
  position: relative;
  overflow: hidden;
  border-color: rgba(76, 201, 255, .28);
  background: linear-gradient(120deg, rgba(5, 28, 45, .96), rgba(8, 51, 73, .94) 58%, rgba(7, 29, 52, .98));
  box-shadow: 0 30px 80px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .06);
}
#certificate .certificate-panel::before {
  content: '';
  position: absolute;
  width: 420px;
  height: 420px;
  right: -180px;
  top: -230px;
  border: 1px solid rgba(76, 201, 255, .18);
  border-radius: 50%;
  box-shadow: 0 0 0 38px rgba(76, 201, 255, .035), 0 0 0 76px rgba(76, 201, 255, .025);
}
#certificate .certificate-panel > * { position: relative; z-index: 1; }
#certificate .section-title { color: #fff; }
#certificate .certificate-panel .text-slate-300 { color: #b6d0dc !important; }
#certificate .certificate-ticket {
  overflow: hidden;
  border-color: rgba(184, 239, 239, .5);
  background: linear-gradient(135deg, #06243b 0%, #0b567d 52%, #102e50 100%);
  box-shadow: 0 24px 55px rgba(0, 0, 0, .4), 0 0 0 1px rgba(76, 201, 255, .1);
}
#certificate .certificate-ticket::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: .45;
  background: linear-gradient(135deg, transparent 0 42%, rgba(76, 201, 255, .22) 42.2% 42.6%, transparent 42.8% 61%, rgba(255, 255, 255, .1) 61.2% 61.5%, transparent 61.7%);
}
#certificate .certificate-ticket > * { position: relative; z-index: 2; }
#certificate .certificate-ticket-ribbon {
  position: absolute;
  z-index: 3;
  top: 22px;
  right: -47px;
  width: 180px;
  padding: 8px 0;
  color: #06212b;
  text-align: center;
  background: linear-gradient(105deg, #73e8ff, #4d9dff 55%, #2f72e8);
  box-shadow: 0 8px 20px rgba(0, 0, 0, .28);
  transform: rotate(35deg);
}
#certificate .certificate-ticket-ribbon span { font: 700 10px 'DM Sans', sans-serif; letter-spacing: .18em; text-transform: uppercase; }

@media (max-width: 640px) {
  #about.page-section,
  #sections.page-section,
  #gallery.page-section {
    background: #0d3049 !important;
  }
  #swimming-lab.page-section { background: #0d3c68 !important; }
  #schedule.page-section,
  #documents.page-section,
  #contacts.page-section {
    background: #f5f9ff !important;
  }
  #certificate.page-section { background: #061b2b !important; }
  #certificate .certificate-ticket { transform: none; }
}
