.elephant-detail-page { background: var(--cream); }
.elephant-detail-page .elephant-intro .eyebrow, .elephant-detail-page .elephant-section-heading .eyebrow, .elephant-included .eyebrow { color: var(--teal); }
.elephant-detail-page h2 { font: 500 clamp(2.2rem, 3.5vw, 3.6rem)/1.12 var(--font-display); letter-spacing: -.03em; }
.elephant-intro { padding-block: 95px; }
.elephant-intro > div { display: grid; grid-template-columns: 1.2fr 1fr; gap: 70px; align-items: center; }
.elephant-detail-page p { line-height: 1.8; }
.elephant-intro > div > p { color: #506258; }
.elephant-programs { background: #f0ebe3; padding: 85px 0; }
.elephant-section-heading { max-width: 700px; margin-bottom: 32px; }
.elephant-city-nav { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 35px; }
.elephant-city-nav a { padding: 10px 22px; border: 1px solid #8b9c8a; border-radius: 40px; font-size: .9rem; }
.elephant-city-nav a:hover { background: var(--deep); color: white; }
.elephant-destinations { display: grid; grid-template-columns: 1fr 1fr; gap: 25px; align-items: start; }
.elephant-destination.pricing-grid { display: block; background: #fff; padding: 32px; border: 1px solid rgba(13,37,35,.15); border-radius: 0; margin: 0; scroll-margin-top: 100px; min-width: 0; }
.elephant-destination > header { display: flex; gap: 18px; align-items: center; }
.elephant-number { color: #798f77; font-size: .85rem; }
.elephant-destination h3 { font: 500 2.2rem var(--font-display); }
.elephant-destination > p { font-size: .88rem; color: #5e6d68; margin: 14px 0 25px; }
.elephant-destination .elephant-program { background: transparent; padding: 22px 0; border: 0; border-top: 1px solid rgba(13,37,35,.15); border-radius: 0; }
.elephant-program h4 { font-size: 1rem; font-weight: 600; margin-bottom: 14px; }
.elephant-program__fares { display: flex; align-items: end; gap: 22px; }
.elephant-program__fares > span { flex: 1; }
.elephant-destination .elephant-program small { display: block; color: #617163; font-size: .75rem; margin-bottom: 3px; }
.elephant-destination .elephant-program b { display: block; color: var(--deep); font: 500 1.3rem var(--font-body); }
.elephant-program__book { display: flex; gap: 8px; font-size: .8rem; text-decoration: underline; text-underline-offset: 4px; max-width: 125px; }
.elephant-programs__note { margin-top: 28px; color: #5e6d68; font-size: .9rem; }
.elephant-included { display: grid; grid-template-columns: 1fr 1fr; gap: 85px; align-items: center; padding-block: 100px; }
.elephant-included__photo img { width: 100%; height: 600px; object-fit: cover; }
.elephant-included ul { margin: 28px 0; padding: 0; list-style: none; }
.elephant-included li { padding: 14px 0; border-bottom: 1px solid rgba(13,37,35,.15); }
.elephant-included li::before { content: '↗'; color: #728c61; margin-right: 18px; }
.elephant-included .btn { margin-top: 25px; }
.elephant-gallery { padding-bottom: 95px; }
.elephant-gallery__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.elephant-gallery__grid img { width: 100%; height: 360px; object-fit: cover; }
.elephant-gallery__grid img:nth-child(even) { margin-top: 40px; }
.elephant-cta { background: var(--deep); text-align: center; color: #fff; padding: 90px 0; }
.elephant-cta .eyebrow { color: var(--teal-light); }
.elephant-cta p:not(.eyebrow) { max-width: 580px; margin: 25px auto; color: #d4ded4; }
.elephant-detail-page #programs { scroll-margin-top: 65px; }
@media (max-width: 900px) {
  .elephant-intro > div { gap: 30px; }
  .elephant-included { gap: 35px; }
  .elephant-destination.pricing-grid { padding: 23px; }
  .elephant-program__fares { gap: 12px; }
}
@media (max-width: 650px) {
  .elephant-intro, .elephant-programs, .elephant-included { padding-block: 55px; }
  .elephant-intro > div, .elephant-destinations, .elephant-included { grid-template-columns: 1fr; gap: 25px; align-items: start; }
  .elephant-city-nav { gap: 8px; }
  .elephant-city-nav a { padding: 8px 14px; }
  .elephant-included__photo img { height: 440px; }
  .elephant-gallery__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .elephant-gallery__grid img { height: 240px; }
  .elephant-gallery__grid img:nth-child(even) { margin-top: 20px; }
  .elephant-gallery { padding-bottom: 60px; }
  .elephant-cta { padding: 60px 0; }
}

/* Shared excursion hero; only adjust the crop for this portrait photograph. */
.elephant-detail-page .khai-hero__image { object-position: center 58%; }
.elephant-program__duration { margin: -4px 0 13px; color: #5e6d68; font-size: .8rem; }
.elephant-program-details { margin: 0 0 18px; border-block: 1px solid rgba(13,37,35,.13); }
.elephant-program-details summary { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 13px 0; cursor: pointer; list-style: none; font-size: .8rem; font-weight: 600; color: var(--deep); }
.elephant-program-details summary::-webkit-details-marker { display: none; }
.elephant-program-details summary:focus-visible { outline: 2px solid var(--coral); outline-offset: 4px; }
.elephant-program-details__icon { font-size: 1.2rem; transition: transform .2s; }
.elephant-program-details[open] > summary .elephant-program-details__icon { transform: rotate(45deg); }
.elephant-program-details__body { padding: 0 0 18px; font-size: .85rem; color: #5e6d68; }
.elephant-program-details__body > p { margin: 5px 0 15px; }
.elephant-program-details__body dl { margin: 16px 0; }
.elephant-program-details__body dl > div { display: flex; gap: 15px; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid rgba(13,37,35,.08); }
.elephant-program-details__body dd { margin: 0; text-align: right; font-variant-numeric: tabular-nums; color: var(--deep); }
.elephant-program-details__body ul { padding-left: 18px; margin: 15px 0; }
.elephant-program-details__body li { margin: 7px 0; line-height: 1.6; }
.elephant-included .elephant-program-details { margin-top: 25px; }
@media (max-width: 650px) {
  .elephant-detail-page .khai-hero h1 { font-size: clamp(2.65rem, 11.5vw, 4rem); }
}
