/* diving-snorkelling.css — Scuba Diving & Snorkeling experience page */

/* Teal experience cards (Ambassador Lagoon) */
.div-teal-exp-card {
  display: flex;
  flex-direction: column;
  text-align: center;
  color: #fff;
  height: 100%;
}
.div-teal-exp-media {
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 20px;
  aspect-ratio: 4 / 3;
}
.div-teal-exp-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.div-teal-exp-card h3 {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  margin: 0 0 14px;
}
.div-teal-exp-card p {
  font-size: 14px;
  line-height: 1.65;
  opacity: 0.95;
  margin: 0 0 16px;
  flex: 1;
}
.div-teal-exp-meta {
  font-size: 14px;
  font-weight: 700;
  margin: 0 0 6px;
}
.div-teal-exp-link {
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-decoration: underline;
  margin-bottom: 20px;
}
.div-teal-exp-link:hover { opacity: 0.9; }
.div-teal-exp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #00666d;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 13px 28px;
  border-radius: 8px;
  text-decoration: none;
  margin: 0 auto;
  transition: background 280ms cubic-bezier(0.22,1,0.36,1);
}
.div-teal-exp-btn:hover { background: #f0fafa; color: #00666d; }

.dol-exp-section .div-teal-exp-card {
  flex: 0 0 clamp(280px, calc((100cqi - 2 * clamp(16px, 2vw, 28px)) / 3), 400px);
  scroll-snap-align: start;
}
@media (max-width: 767px) {
  .dol-exp-section .div-teal-exp-card { flex: 0 0 82vw; }
}

/* Dive Atlantis — two columns */
.div-dive-section {
  padding: 64px 20px 72px;
  background: #fff;
}
.div-dive-section h2 {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: #00666d;
  text-align: center;
  margin: 0 0 40px;
}
.div-dive-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  max-width: 1100px;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .div-dive-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
}
.div-dive-col {
  text-align: center;
}
.div-dive-col-media {
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 24px;
  aspect-ratio: 4 / 3;
  box-shadow: 0 8px 32px rgba(0, 60, 65, 0.12);
}
.div-dive-col-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.div-dive-col h3 {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: #00666d;
  margin: 0 0 16px;
}
.div-dive-col p {
  font-size: 15px;
  line-height: 1.7;
  color: #3e494a;
  margin: 0 0 16px;
}
.div-dive-col .div-dive-meta {
  font-size: 14px;
  font-weight: 700;
  color: #191c1e;
  margin: 0 0 6px;
}
.div-dive-col .div-teal-exp-link {
  color: #00666d;
}

/* Shark Lagoon — white section cards */
.div-shark-section {
  padding: 64px 20px 72px;
  background: #f7f9fb;
}
.div-shark-section h2 {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 700;
  color: #00666d;
  text-align: center;
  margin: 0 0 36px;
}
.div-shark-carousel {
  max-width: 1520px;
  margin: 0 auto;
}
.div-white-exp-card {
  display: flex;
  flex-direction: column;
  text-align: center;
  height: 100%;
}
.div-white-exp-media {
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 20px;
  aspect-ratio: 4 / 3;
  box-shadow: 0 4px 20px rgba(0, 60, 65, 0.1);
}
.div-white-exp-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.div-white-exp-card h3 {
  font-family: "Plus Jakarta Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #00666d;
  margin: 0 0 12px;
}
.div-white-exp-card p {
  font-size: 14px;
  line-height: 1.65;
  color: #3e494a;
  margin: 0 0 16px;
  flex: 1;
}
.div-white-exp-meta {
  font-size: 13px;
  font-weight: 700;
  color: #191c1e;
  margin: 0 0 20px;
}
.div-shark-carousel .watersport-card {
  flex: 0 0 clamp(260px, calc((100cqi - 2 * clamp(16px, 2vw, 28px)) / 3), 340px);
  scroll-snap-align: start;
}
@media (max-width: 767px) {
  .div-shark-carousel .watersport-card { flex: 0 0 82vw; }
}

/* BOGO section spacing */
.div-bogo-section {
  padding: 0 20px 56px;
}
.div-bogo-section .aqua-bogo {
  max-width: 1520px;
  margin: 0 auto;
}

/* PADI banner — taller hero */
.dol-sustain--padi {
  min-height: 380px;
}
@media (min-width: 768px) {
  .dol-sustain--padi { min-height: 440px; }
}
.dol-sustain--padi .dol-sustain-overlay {
  background: rgba(0, 30, 50, 0.62);
}
