/* Isolated discovery-section layer. Loaded after the legacy bundle so these
   components are predictable and do not depend on cascade accidents. */
.faq-list details[open] {
  background: #073f35;
  border-color: #073f35;
  box-shadow: 0 16px 38px rgba(5,55,46,.16);
  transform: none;
}
.faq-list details[open] summary,
.faq-list details[open] summary b,
.faq-list details[open] summary i { color: white !important; }
.faq-list details[open] p { color: rgba(255,255,255,.76); }

.booking-card > .form-note {
  background: #f3f8f5;
  border: 1px solid #dce9e3;
  border-radius: 12px;
  color: #586963 !important;
  font-size: .78rem;
  line-height: 1.6;
  margin: 0;
  padding: .75rem .85rem;
}
.booking-card > .form-note a { color: #087a63 !important; font-weight: 850; }

.gallery-section {
  background: linear-gradient(180deg,#fbfdfc,#edf5f1);
}

.gallery-grid {
  gap: .85rem;
  grid-template-columns: 1.35fr .82fr .82fr;
  grid-template-rows: repeat(2, minmax(190px, 270px));
}

.gallery-grid figure {
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 22px;
  min-height: 0;
}
.gallery-grid figure:nth-child(4) { grid-column: 2 / 4; }

.curated-gallery-button {
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  display: block;
  height: 100%;
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%;
}

.curated-gallery-button:hover { box-shadow: none; transform: none; }
.curated-gallery-button img { height: 100%; object-fit: cover; transition: transform 500ms cubic-bezier(.2,.7,.2,1); }
.curated-gallery-button:hover img { transform: scale(1.04); }
.curated-gallery-button > span {
  backdrop-filter: blur(12px);
  background: rgba(3,45,38,.75);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  color: white;
  font-size: .62rem;
  font-weight: 900;
  opacity: 0;
  padding: .45rem .65rem;
  position: absolute;
  right: .8rem;
  top: .8rem;
  transform: translateY(-5px);
  transition: opacity 180ms ease, transform 180ms ease;
}
.curated-gallery-button:hover > span,.curated-gallery-button:focus-visible > span { opacity: 1; transform: none; }

.packages-section {
  background: radial-gradient(circle at 88% 12%,rgba(66,212,179,.14),transparent 25rem),linear-gradient(145deg,#032e27,#064e42);
  color: white;
}
.packages-section .section-heading .eyebrow { color:#88ead4; }
.packages-section .section-heading h2 { color:white; max-width:13ch; }
.package-grid { gap:.85rem; grid-template-columns:repeat(2,minmax(0,1fr)); }
.package-card {
  background: rgba(255,255,255,.97);
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 22px;
  color: var(--ink);
  display: grid;
  gap: .85rem;
  min-height: 360px;
  padding: clamp(1.1rem,2.5vw,1.55rem);
}
.package-top { align-items:center; display:flex; justify-content:space-between; }
.package-top > span { color:var(--leaf); font-size:.66rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.package-top b { align-items:center; background:#e1f5ed; border-radius:10px; color:var(--leaf); display:flex; font-size:.62rem; height:34px; justify-content:center; width:34px; }
.package-card h3 { color:var(--ink); font:800 clamp(1.45rem,2.5vw,2rem)/1.05 Manrope,sans-serif; letter-spacing:-.045em; margin:0; }
.package-card > p { color:var(--muted); line-height:1.6; margin:0; }
.package-card ul { display:flex; flex-wrap:wrap; gap:.4rem; list-style:none; margin:0; padding:0; }
.package-card li { background:#edf6f2; border-radius:999px; color:#316157; font-size:.62rem; font-weight:750; padding:.4rem .55rem; }
.package-footer { align-items:end; border-top:1px solid #dfeae5; display:flex; gap:1rem; justify-content:space-between; margin-top:auto; padding-top:1rem; }
.package-footer > strong { color:var(--leaf-dark); font-size:.75rem; }
.package-footer a { align-items:center; color:var(--leaf); display:flex; font-size:.72rem; font-weight:900; gap:.55rem; text-decoration:none; }
.package-footer a span { font-size:1rem; transition:transform 180ms ease; }
.package-footer a:hover span { transform:translateX(4px); }
.packages-section .pricing-note { color:rgba(255,255,255,.63); }

@media(max-width:900px){
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,230px)}
  .gallery-large{grid-column:1/-1;grid-row:auto}.gallery-grid figure:nth-child(4){grid-column:auto}
  .package-grid{grid-template-columns:1fr 1fr}
}

@media(max-width:620px){
  .gallery-grid{display:flex;gap:.75rem;margin-inline:-1rem;overflow-x:auto;padding:0 1rem 1rem;scroll-padding-inline:1rem;scroll-snap-type:x mandatory;scrollbar-width:none}
  .gallery-grid figure,.gallery-grid .gallery-large{flex:0 0 min(84vw,340px);height:300px;min-height:300px;scroll-snap-align:start}
  .curated-gallery-button>span{opacity:1;transform:none}
  .package-grid{grid-template-columns:1fr}
  .package-card{min-height:330px}
  .package-footer{align-items:flex-start;flex-direction:column}
}

@media(prefers-reduced-motion:reduce){.curated-gallery-button img,.package-footer a span{transition:none}}
