/* Keep Holoholo's landscape and portrait gallery photos fully visible in one stable frame. */
.unified-page .coast-main > .coast-gallery .coast-photo img {
  object-fit: contain;
}

/* Static ocean accents are decorative and never cover copy or booking controls. */
body:has(.niihau-ocean-page) { background: #eaf7fc; }
.niihau-ocean-page {
  --ag-accent: #126780;
  background-color: #eaf7fc;
  background-image: url('/assets/niihau-water.svg'), linear-gradient(180deg, #edfaff, #dff3fb 58%, #eef9fc);
  background-size: 100% auto, 100% 100%;
  background-repeat: repeat-y, no-repeat;
}
.niihau-ocean-page .ag-heading h1,
.niihau-ocean-page .coast-group-heading h2,
.niihau-ocean-page .ag-copy h3,
.niihau-ocean-page .coast-map-panel h2,
.niihau-ocean-page .ag-calendar h2 { color: #163f59; }
.niihau-ocean-page .ag-heading > div > p,
.niihau-ocean-page .coast-summary p { color: #405e70; }
.niihau-ocean-page .coast-jump,
.niihau-ocean-page #coast-book:not(:disabled) { background: #126780; border-color: #126780; color: #fff; }
.niihau-ocean-page .coast-main > .coast-gallery { box-shadow: 0 5px 22px #1557750d; }
.niihau-ocean-page .coast-gallery,
.niihau-ocean-page .coast-photo { background: #d5eaf4; }
.niihau-ocean-page .coast-dots { background: #f1faff; }
.niihau-ocean-page .coast-dots [aria-current=true] span { background: #126780; }
.niihau-ocean-page .coast-summary {
  position: relative;
  margin: 20px 0 26px;
  padding: 22px 130px 22px 22px;
  border: 1px solid #c3e1ee;
  border-radius: 16px;
  background: #fafdff;
}
.niihau-ocean-page .coast-summary::after {
  content: '';
  position: absolute;
  width: 96px;
  height: 72px;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  background: url('/assets/niihau-fish.svg') center / contain no-repeat;
  pointer-events: none;
}
.niihau-ocean-page .coast-group { background: #eaf6fc; border-color: #b7d9e8; }
.niihau-ocean-page .coast-group-heading {
  position: relative;
  min-height: 112px;
  padding-right: 145px;
  background: #dceff8;
}
.niihau-ocean-page .coast-group-heading p { color: #426173; }
.niihau-ocean-page .coast-group-heading::after {
  content: '';
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 105px;
  height: 76px;
  background: url('/assets/niihau-dolphin.svg') center / contain no-repeat;
  pointer-events: none;
}
.niihau-ocean-page #coast-group-1 .coast-group-heading::after { background-image: url('/assets/niihau-seals.svg'); }
.niihau-ocean-page .ag-card { background: #fff; border-color: #b8dce9; border-top-color: #69abc6; }
.niihau-ocean-page .ag-card.is-selected { outline-color: #126780; }
.niihau-ocean-page .ag-details { border-color: #d2e5ee; }
.niihau-ocean-page .ag-details summary { color: #164f68; }
.niihau-ocean-page .coast-map-panel { background: #f6fcff; border-color: #bddde9; }
.niihau-ocean-page .ag-calendar { background: #fff; border-color: #bddde9; }
.niihau-ocean-page .ag-calendar-top { background: #edf8fd; }
.niihau-ocean-page .ag-calendar-bottom { border-color: #dcecf3; }
.niihau-ocean-page .ag-calendar-bottom a { color: #126780; }
.niihau-ocean-page #coast-choice,
.niihau-ocean-page #coast-option { border-color: #a8cddd; }
.niihau-ocean-page #coast-book:disabled { background: #dcecf4; color: #465f6d; }
@media(max-width:650px) {
  .niihau-ocean-page .coast-summary { padding: 18px 18px 66px; margin: 0 0 4px; }
  .niihau-ocean-page .coast-summary::after { width: 76px; height: 50px; top: auto; bottom: 9px; right: 18px; transform: none; }
  .niihau-ocean-page .coast-group-heading { padding-right: 98px; min-height: 112px; }
  .niihau-ocean-page .coast-group-heading::after { width: 76px; height: 60px; right: 10px; }
}
@media print {
  body:has(.niihau-ocean-page), .niihau-ocean-page { background: #fff; }
  .niihau-ocean-page .coast-summary::after,
  .niihau-ocean-page .coast-group-heading::after { display: none; }
}
