:root{
  --adventure-ink:#f4efe4;
  --adventure-muted:rgba(244,239,228,.72);
  --adventure-line:rgba(255,255,255,.1);
  --adventure-gold:#d9b25f;
  --adventure-sand:#f0d08a;
  --adventure-moss:#2f5a46;
  --adventure-night:#08110f;
  --adventure-panel:rgba(8,17,15,.78);
  --adventure-panel-soft:rgba(255,255,255,.05);
  --adventure-shadow:0 24px 70px rgba(0,0,0,.32);
  --adventure-radius-xl:28px;
  --adventure-radius-lg:22px;
  --adventure-radius-md:16px;
}

*{box-sizing:border-box}

body.adventure-body{
  margin:0;
  font-family:"Manrope",system-ui,sans-serif;
  color:var(--adventure-ink);
  background:
    radial-gradient(circle at top left, rgba(217,178,95,.16), transparent 34%),
    radial-gradient(circle at top right, rgba(47,90,70,.22), transparent 28%),
    linear-gradient(180deg, rgba(4,9,8,.9), rgba(6,12,11,.96)),
    #050a09;
  min-height:100vh;
}

.adventure-shell{
  width:min(1180px,92%);
  margin:0 auto;
  padding:24px 0 56px;
}

.adventure-glass{
  background:var(--adventure-panel);
  border:1px solid var(--adventure-line);
  border-radius:var(--adventure-radius-xl);
  box-shadow:var(--adventure-shadow);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.adventure-topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 22px;
  margin-bottom:18px;
  flex-wrap:wrap;
}

.adventure-brand{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
}

.adventure-brand-logo{
  width:70px;
  height:70px;
  border-radius:20px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  flex:0 0 auto;
}

.adventure-brand-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:8px;
}

.adventure-brand-copy h1,
.adventure-brand-copy h2,
.adventure-brand-copy p{
  margin:0;
}

.adventure-brand-copy h1,
.adventure-brand-copy h2{
  font-size:clamp(22px,3vw,34px);
  line-height:1.04;
  font-weight:800;
  letter-spacing:-.04em;
}

.adventure-brand-copy p{
  margin-top:6px;
  color:var(--adventure-sand);
  font-weight:700;
}

.adventure-link{
  color:var(--adventure-muted);
  text-decoration:none;
  font-weight:700;
}

.adventure-hero{
  position:relative;
  overflow:hidden;
  padding:36px;
  margin-bottom:18px;
}

.adventure-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(4,10,8,.82), rgba(4,10,8,.42)),
    var(--hero-image, linear-gradient(135deg, rgba(217,178,95,.12), rgba(47,90,70,.18)));
  background-size:cover;
  background-position:center;
  opacity:.92;
}

.adventure-hero > *{
  position:relative;
  z-index:1;
}

.adventure-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(217,178,95,.12);
  border:1px solid rgba(217,178,95,.24);
  color:var(--adventure-sand);
  font-size:.92rem;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.adventure-title{
  margin:16px 0 12px;
  max-width:900px;
  font-family:"DM Serif Display",serif;
  font-size:clamp(34px,5vw,70px);
  line-height:1.02;
  letter-spacing:-.04em;
}

.adventure-subtitle{
  margin:0;
  max-width:780px;
  color:var(--adventure-muted);
  font-size:17px;
  line-height:1.85;
}

.adventure-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:24px;
}

.adventure-btn{
  border:none;
  border-radius:999px;
  padding:14px 22px;
  font:inherit;
  font-weight:800;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  cursor:pointer;
  transition:transform .15s ease, filter .15s ease, opacity .15s ease;
}

.adventure-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.03);
}

.adventure-btn:disabled{
  opacity:.68;
  cursor:not-allowed;
  transform:none;
  filter:none;
}

.adventure-btn-primary{
  background:linear-gradient(135deg, var(--adventure-gold), var(--adventure-sand));
  color:#111;
}

.adventure-btn-secondary{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  color:var(--adventure-ink);
}

.adventure-btn-danger{
  background:linear-gradient(135deg, #9f3f2e, #c96748);
  color:#fff7f2;
}

.adventure-grid{
  display:grid;
  gap:16px;
}

.adventure-grid-2{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.adventure-grid-3{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.adventure-grid-4{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.adventure-card,
.adventure-section{
  padding:24px;
  margin-bottom:18px;
}

.adventure-section-title{
  margin:0 0 10px;
  font-family:"DM Serif Display",serif;
  color:var(--adventure-sand);
  font-size:clamp(24px,3vw,38px);
  line-height:1.08;
}

.adventure-section-sub{
  margin:0 0 18px;
  color:var(--adventure-muted);
  line-height:1.8;
}

.adventure-stat,
.adventure-panel-card{
  background:var(--adventure-panel-soft);
  border:1px solid rgba(255,255,255,.08);
  border-radius:var(--adventure-radius-lg);
  padding:18px;
}

.adventure-stat h3,
.adventure-panel-card h4,
.adventure-panel-card h5{
  margin:0 0 8px;
}

.adventure-stat p,
.adventure-panel-card p{
  margin:0;
  color:var(--adventure-muted);
  line-height:1.75;
}

.adventure-form-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.adventure-field{
  background:var(--adventure-panel-soft);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  padding:14px;
}

.adventure-field-full{
  grid-column:1 / -1;
}

.adventure-field label{
  display:block;
  margin-bottom:8px;
  font-weight:700;
  color:#fff8ea;
}

.adventure-field input,
.adventure-field select,
.adventure-field textarea{
  width:100%;
  padding:13px 14px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.28);
  color:var(--adventure-ink);
  outline:none;
  font:inherit;
}

.adventure-field textarea{
  min-height:120px;
  resize:vertical;
}

.adventure-field input:focus,
.adventure-field select:focus,
.adventure-field textarea:focus{
  border-color:rgba(217,178,95,.42);
  box-shadow:0 0 0 3px rgba(217,178,95,.1);
}

.adventure-field select option{
  color:#111;
}

.adventure-msg{
  display:none;
  margin-top:16px;
  padding:14px 16px;
  border-radius:16px;
  font-weight:700;
}

.adventure-msg.show{
  display:block;
}

.adventure-msg.ok{
  background:rgba(60,132,95,.2);
  border:1px solid rgba(110,230,170,.16);
  color:#cdf7de;
}

.adventure-msg.err{
  background:rgba(132,52,52,.2);
  border:1px solid rgba(255,170,170,.14);
  color:#ffdada;
}

.adventure-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.adventure-gallery figure{
  margin:0;
  overflow:hidden;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
}

.adventure-gallery img{
  width:100%;
  height:240px;
  object-fit:cover;
  display:block;
}

.adventure-gallery figcaption{
  padding:12px 14px;
  color:var(--adventure-muted);
  font-size:14px;
  line-height:1.6;
}

.adventure-list{
  list-style:none;
  margin:0;
  padding:0;
}

.adventure-list li{
  position:relative;
  padding-left:22px;
  margin-bottom:10px;
  color:var(--adventure-muted);
  line-height:1.8;
}

.adventure-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:11px;
  width:8px;
  height:8px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--adventure-gold), var(--adventure-sand));
  box-shadow:0 0 0 4px rgba(217,178,95,.1);
}

.adventure-day-card{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.08);
  border-radius:24px;
  padding:20px;
  margin-bottom:16px;
}

.adventure-day-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.adventure-day-head h4{
  margin:0;
  font-size:clamp(22px,2.6vw,32px);
  line-height:1.08;
}

.adventure-day-route,
.adventure-day-meta{
  color:var(--adventure-muted);
}

.adventure-pricing{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.adventure-pricing .adventure-panel-card p{
  color:#fff;
  font-size:22px;
  font-weight:800;
}

.adventure-map-shell{
  display:grid;
  gap:14px;
}

.adventure-map-canvas{
  min-height:460px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.1);
  overflow:hidden;
  background:rgba(255,255,255,.04);
}

.adventure-map-frame{
  width:100%;
  min-height:320px;
  border:0;
  border-radius:20px;
  background:rgba(255,255,255,.04);
}

.adventure-loading{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(3,9,8,.72);
  backdrop-filter:blur(8px);
}

.adventure-loading.show{
  display:flex;
}

.adventure-loading-card{
  width:min(420px,90vw);
  padding:28px 24px;
  border-radius:26px;
  background:rgba(8,17,15,.96);
  border:1px solid rgba(255,255,255,.1);
  text-align:center;
  box-shadow:var(--adventure-shadow);
}

.adventure-loader-ring{
  width:82px;
  height:82px;
  margin:0 auto 16px;
  border-radius:50%;
  border:4px solid rgba(217,178,95,.16);
  border-top-color:var(--adventure-gold);
  border-right-color:var(--adventure-sand);
  animation:adventureSpin 1s linear infinite;
}

@keyframes adventureSpin{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}

@media (max-width: 980px){
  .adventure-form-grid,
  .adventure-grid-2,
  .adventure-grid-3,
  .adventure-grid-4,
  .adventure-gallery,
  .adventure-pricing{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  .adventure-shell{
    width:min(96%,96%);
    padding-top:16px;
  }

  .adventure-hero,
  .adventure-card,
  .adventure-section{
    padding:18px;
  }

  .adventure-actions .adventure-btn{
    width:100%;
  }

  .adventure-brand-logo{
    width:58px;
    height:58px;
  }
}
