
:root {
  --ad-ocean-950:#062b3a;
  --ad-ocean-900:#083747;
  --ad-ocean-800:#0d4a5e;
  --ad-lagoon-700:#087e7a;
  --ad-lagoon-600:#0f8f8b;
  --ad-lagoon-100:#dff5f1;
  --ad-coral-700:#a33f31;
  --ad-coral-600:#b84c39;
  --ad-paper:#fff;
  --ad-sand:#f7f3eb;
  --ad-mist:#edf5f4;
  --ad-ink:#17313a;
  --ad-muted:#526970;
  --ad-line:rgba(8,55,71,.15);
  --ad-dark-text:#f4f9fa;
  --ad-dark-muted:#d0e1e4;
  --ad-dark-link:#c5f6ef;
  --ad-shadow:0 20px 60px rgba(6,43,58,.14);
  --ad-radius:22px;
}

[hidden]{display:none!important}

.activity-discovery-page{
  min-width:0;
  color:var(--ad-ink);
  background:linear-gradient(180deg,#f7faf9 0,#f7faf9 44rem,#fff 44rem)
}

.ad-shell{
  width:min(1180px,calc(100% - 40px));
  margin-inline:auto
}

.ad-hero{
  position:relative;
  isolation:isolate;
  z-index:1;
  overflow:hidden;
  padding:clamp(3.5rem,8vw,7rem) 0 clamp(4rem,8vw,7rem);
  color:var(--ad-dark-text);
  background-color:#062b3a;
  background-image:
    radial-gradient(circle at 84% 12%,rgba(25,167,161,.35),transparent 28rem),
    linear-gradient(135deg,var(--ad-ocean-950),var(--ad-ocean-800))
}

.ad-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(300px,.72fr);
  gap:clamp(2rem,6vw,5rem);
  align-items:center
}

.ad-eyebrow{
  margin:0 0 .75rem;
  color:var(--ad-dark-link)!important;
  font-size:.74rem!important;
  font-weight:850;
  letter-spacing:.13em;
  text-transform:uppercase
}

.ad-hero h1{
  max-width:14ch!important;
  margin:0;
  color:#fff!important;
  font-size:clamp(2.7rem,6vw,5.4rem)!important;
  line-height:.99!important;
  letter-spacing:-.05em!important;
  text-wrap:balance
}

.ad-hero-copy{
  max-width:62ch;
  margin:1.2rem 0 0;
  color:var(--ad-dark-muted)!important;
  font-size:clamp(1rem,.5vw + .95rem,1.2rem)!important;
  line-height:1.7!important
}

.ad-flow{
  padding:1.25rem;
  border:1px solid rgba(255,255,255,.17);
  border-radius:var(--ad-radius);
  background:rgba(255,255,255,.08);
  box-shadow:0 24px 70px rgba(0,0,0,.18);
  backdrop-filter:blur(14px)
}

.ad-flow>strong{
  display:block;
  margin-bottom:.85rem;
  color:#fff!important;
  font-size:.76rem!important;
  letter-spacing:.1em;
  text-transform:uppercase
}

.ad-flow-step{
  display:grid;
  grid-template-columns:2rem minmax(0,1fr);
  gap:.7rem;
  align-items:center;
  margin-top:.6rem;
  padding:.7rem .8rem;
  color:var(--ad-dark-muted);
  border-radius:12px;
  background:rgba(255,255,255,.06)
}

.ad-flow-step b{
  display:grid;
  width:2rem;
  height:2rem;
  place-items:center;
  color:var(--ad-ocean-950)!important;
  border-radius:50%;
  background:var(--ad-dark-link)
}

.ad-app-section{
  position:relative;
  z-index:2;
  margin-top:-2.4rem;
  padding-bottom:clamp(4rem,8vw,7rem)
}

.ad-app{
  overflow:hidden;
  border:1px solid var(--ad-line);
  border-radius:26px;
  background:#fff;
  box-shadow:var(--ad-shadow)
}

.ad-app-header{
  display:flex;
  justify-content:space-between;
  gap:1.5rem;
  align-items:flex-start;
  padding:clamp(1.4rem,4vw,2.4rem);
  border-bottom:1px solid var(--ad-line);
  background:linear-gradient(135deg,#fff,var(--ad-mist))
}

.ad-app-header h2,
.ad-results-header h2,
.ad-editorial h2,
.ad-faq h2{
  max-width:26ch!important;
  margin:.15rem 0 .45rem;
  font-size:clamp(1.7rem,3vw,2.8rem)!important;
  line-height:1.1!important;
  letter-spacing:-.035em!important
}

.ad-app-header p,
.ad-results-header p,
.ad-editorial-intro{
  max-width:66ch;
  margin:0;
  color:var(--ad-muted)!important
}

.ad-progress{min-width:210px}
.ad-progress-track{
  height:.5rem;
  overflow:hidden;
  border-radius:999px;
  background:#d9e7e5
}
.ad-progress-track span{
  display:block;
  width:33.333%;
  height:100%;
  border-radius:inherit;
  background:var(--ad-lagoon-600);
  transition:width .25s ease
}
.ad-progress p{
  margin:.55rem 0 0;
  color:var(--ad-muted)!important;
  font-size:.78rem!important;
  text-align:right
}

.ad-form{
  padding:clamp(1.4rem,4vw,2.5rem)
}

.ad-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.2rem
}

.ad-field{min-width:0}
.ad-field-full{grid-column:1/-1}

.ad-field label,
.ad-field legend{
  display:block;
  margin:0 0 .5rem;
  color:var(--ad-ink)!important;
  font-size:.85rem;
  font-weight:780
}

.ad-field small{
  display:block;
  margin-top:.4rem;
  color:var(--ad-muted)!important;
  font-size:.75rem;
  line-height:1.5
}

.ad-field select{
  width:100%;
  min-height:48px;
  padding:.72rem .85rem;
  color:var(--ad-ink);
  border:1px solid #b8ccc9;
  border-radius:11px;
  background:#fff
}

.ad-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.65rem
}

.ad-choice{
  position:relative;
  min-width:0
}

.ad-choice input{
  position:absolute;
  opacity:0;
  pointer-events:none
}

.ad-choice span{
  display:flex;
  min-height:100%;
  align-items:center;
  justify-content:center;
  padding:.78rem .68rem;
  color:var(--ad-ink);
  border:1px solid #b8ccc9;
  border-radius:11px;
  background:#fff;
  font-size:.82rem;
  font-weight:720;
  line-height:1.35;
  text-align:center;
  cursor:pointer
}

.ad-choice input:checked+span{
  color:var(--ad-ocean-950);
  border-color:var(--ad-lagoon-600);
  background:var(--ad-lagoon-100);
  box-shadow:0 0 0 2px rgba(15,143,139,.14)
}

.ad-choice input:focus-visible+span{
  outline:3px solid #ffd27a;
  outline-offset:2px
}

.ad-actions,
.ad-result-actions,
.ad-provider-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  align-items:center
}

.ad-actions{margin-top:1.5rem}

.ad-button{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  padding:.72rem 1rem;
  color:var(--ad-ocean-950)!important;
  border:1px solid transparent;
  border-radius:999px;
  background:var(--ad-lagoon-100);
  font:inherit;
  font-size:.84rem;
  font-weight:800;
  line-height:1.2;
  text-decoration:none!important;
  cursor:pointer
}

.ad-button-primary{
  color:#fff!important;
  background:var(--ad-coral-600)
}
.ad-button-primary:hover{background:var(--ad-coral-700)}
.ad-button-secondary{border-color:#a8c0bd;background:#fff}
.ad-button-dark{color:#fff!important;background:var(--ad-ocean-900)}
.ad-button[disabled]{opacity:.55;cursor:not-allowed}

.ad-disclosure{
  margin:1rem 0 0;
  color:var(--ad-muted)!important;
  font-size:.74rem!important;
  line-height:1.55!important
}

.ad-results{
  padding:clamp(1.4rem,4vw,2.5rem);
  border-top:1px solid var(--ad-line);
  background:#f8fbfa
}

.ad-results-header{
  margin-bottom:1.2rem
}

.ad-result-grid{
  display:grid;
  gap:1rem
}

.ad-result-card{
  overflow:hidden;
  border:1px solid var(--ad-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 34px rgba(6,43,58,.08)
}

.ad-result-main{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  gap:1.2rem;
  padding:1.2rem
}

.ad-result-kicker{
  margin:0 0 .4rem;
  color:var(--ad-lagoon-700)!important;
  font-size:.7rem!important;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase
}

.ad-result-card h3{
  max-width:38ch!important;
  margin:0;
  color:var(--ad-ink)!important;
  font-size:clamp(1.18rem,2vw,1.55rem)!important;
  line-height:1.24!important
}

.ad-result-summary{
  margin:.55rem 0 0;
  color:var(--ad-muted)!important;
  font-size:.9rem!important;
  line-height:1.65!important
}

.ad-fit-list{
  display:grid;
  gap:.4rem;
  margin:.9rem 0 0;
  padding:0;
  list-style:none
}

.ad-fit-list li{
  position:relative;
  padding-left:1.2rem;
  color:var(--ad-ink);
  font-size:.82rem
}

.ad-fit-list li:before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--ad-lagoon-700);
  font-weight:900
}

.ad-warning{
  margin:.85rem 0 0;
  padding:.75rem .85rem;
  color:#633120!important;
  border-left:4px solid #cf7f58;
  border-radius:8px;
  background:#fff2ea;
  font-size:.8rem!important;
  line-height:1.55!important
}

.ad-score{
  display:grid;
  align-content:center;
  justify-items:center;
  padding:1rem;
  border-radius:14px;
  background:var(--ad-mist)
}
.ad-score strong{
  color:var(--ad-ocean-900)!important;
  font-size:2rem!important;
  line-height:1
}
.ad-score span{
  margin-top:.3rem;
  color:var(--ad-muted);
  font-size:.68rem;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase
}

.ad-result-actions{
  padding:0 1.2rem 1.2rem
}

.ad-booking{
  padding:1.1rem 1.2rem 1.3rem;
  border-top:1px solid var(--ad-line);
  background:#f2f8f7
}

.ad-booking>p{
  margin:0 0 .85rem;
  color:var(--ad-muted)!important;
  font-size:.82rem!important;
  line-height:1.55!important
}

.ad-provider-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));
  gap:.75rem
}

.ad-provider{
  min-width:0;
  padding:.9rem;
  border:1px solid var(--ad-line);
  border-radius:12px;
  background:#fff
}

.ad-provider strong{
  display:block;
  color:var(--ad-ink)!important;
  font-size:.92rem!important
}

.ad-provider p{
  margin:.35rem 0 .75rem;
  color:var(--ad-muted)!important;
  font-size:.76rem!important;
  line-height:1.5!important
}

.ad-provider .ad-button{
  min-height:40px;
  padding:.6rem .78rem;
  font-size:.75rem
}

.ad-inline-widget{
  margin-top:.8rem;
  padding:1rem;
  overflow:hidden;
  border:1px solid var(--ad-line);
  border-radius:12px;
  background:#fff
}
.ad-inline-widget>*{max-width:100%!important}

.ad-empty{
  padding:1rem;
  color:var(--ad-muted);
  border:1px dashed #9bb8b4;
  border-radius:12px;
  background:#fff
}

.ad-editorial{
  padding:clamp(4rem,8vw,7rem) 0;
  background:#fff
}

.ad-editorial-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.65fr);
  gap:2rem;
  align-items:end;
  margin-bottom:1.4rem
}

.ad-editorial-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem
}

.ad-editorial-card{
  padding:1.15rem;
  border:1px solid var(--ad-line);
  border-radius:16px;
  background:var(--ad-sand)
}

.ad-editorial-card span{
  color:var(--ad-lagoon-700);
  font-size:.7rem;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase
}

.ad-editorial-card h3{
  margin:.45rem 0;
  color:var(--ad-ink)!important;
  font-size:1.12rem!important
}

.ad-editorial-card p{
  margin:0;
  color:var(--ad-muted)!important;
  font-size:.86rem!important;
  line-height:1.62!important
}

.ad-faq{
  padding:clamp(3.5rem,7vw,6rem) 0;
  color:var(--ad-dark-text);
  background:var(--ad-ocean-950)
}

.ad-faq h2{color:#fff!important}

.ad-faq-list{
  display:grid;
  gap:.75rem
}

.ad-faq details{
  padding:1rem 1.1rem;
  border:1px solid rgba(255,255,255,.16);
  border-radius:13px;
  background:rgba(255,255,255,.06)
}

.ad-faq summary{
  color:#fff!important;
  font-weight:760;
  cursor:pointer
}

.ad-faq details p{
  margin:.75rem 0 0;
  color:var(--ad-dark-muted)!important;
  font-size:.88rem!important;
  line-height:1.65!important
}

@media(max-width:900px){
  .ad-hero-grid,
  .ad-editorial-head{grid-template-columns:minmax(0,1fr)}
  .ad-app-header{display:grid}
  .ad-progress{min-width:0}
  .ad-progress p{text-align:left}
  .ad-editorial-grid{grid-template-columns:minmax(0,1fr)}
}

@media(max-width:680px){
  .ad-shell{width:min(100% - 28px,1180px)}
  .ad-hero h1{max-width:100%!important;font-size:clamp(2.35rem,12vw,3.6rem)!important}
  .ad-form-grid,
  .ad-result-main{grid-template-columns:minmax(0,1fr)}
  .ad-field-full{grid-column:auto}
  .ad-choice-grid{grid-template-columns:minmax(0,1fr)}
  .ad-score{
    grid-template-columns:auto auto;
    justify-content:start;
    gap:.55rem
  }
  .ad-score span{margin-top:0}
  .ad-actions,
  .ad-result-actions,
  .ad-provider-actions{align-items:stretch}
  .ad-actions .ad-button,
  .ad-result-actions .ad-button,
  .ad-provider-actions .ad-button{width:100%}
}

