/* Estilos del proyecto Asesor Viajero Colombia */
:root{
  --brand-navy:#0B1B3A;
  --brand-blue:#11A8FF;
  --brand-pink:#FF2DAA;
  --brand-orange:#FF8A2B;
  --brand-green:#3DDC68;

  --bg:#060B18;
  --card: rgba(255,255,255,.09);
  --card2: rgba(255,255,255,.13);
  --line: rgba(255,255,255,.14);
  --text:#F3F8FF;
  --muted:#B7C7E6;
  --shadow: 0 18px 60px rgba(0,0,0,.45);
  --radius: 18px;

  /* Compat */
  --av-blue: var(--brand-blue);
  --av-green: var(--brand-green);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial;
  /* Fondo con imagen (estilo screenshot) + capas de color del logo */
  background:
    radial-gradient(900px 700px at 12% 8%, rgba(17,168,255,.22), transparent 55%),
    radial-gradient(850px 650px at 88% 12%, rgba(255,45,170,.18), transparent 55%),
    radial-gradient(900px 700px at 18% 92%, rgba(255,138,43,.16), transparent 55%),
    radial-gradient(900px 700px at 88% 88%, rgba(61,220,104,.14), transparent 58%),
    linear-gradient(180deg, rgba(11,27,58,.22), rgba(6,11,24,.70) 70%),
    url("assets/bg-sky.jpg") center/cover fixed no-repeat;
  color: var(--text);
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.container{width:min(1100px, 92vw); margin:0 auto}

/* Topbar */
.topbar{
  border-bottom:1px solid var(--line);
  background: linear-gradient(90deg, rgba(11,27,58,.75), rgba(17,168,255,.10), rgba(255,45,170,.08));
  backdrop-filter: blur(12px);
}
.topbar__inner{display:flex; align-items:center; justify-content:space-between; padding:10px 0;}
.chip{
  display:inline-flex; gap:8px; align-items:center;
  padding:8px 12px; border:1px solid var(--line);
  border-radius:999px; background: rgba(255,255,255,.04);
  font-size:13px; color: var(--muted); margin-right:8px;
}
.toplink{font-size:13px; color: var(--muted); padding:8px 10px; border-radius:10px;}
.toplink:hover{background: rgba(255,255,255,.06)}

/* Header */
.header{
  position:sticky; top:0; z-index:50;
  background: linear-gradient(90deg, rgba(11,27,58,.92), rgba(6,11,24,.78));
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(255,255,255,.14);
}
.header__inner{display:flex; align-items:center; justify-content:space-between; padding:14px 0;}
.brand{display:flex; gap:12px; align-items:center}
.brand__logo{width:44px; height:44px; object-fit:contain; border-radius:12px}
.brand__name{font-weight:800; letter-spacing:1px}
.brand__tag{font-size:12px; color: var(--muted)}

.nav{display:flex; gap:10px; align-items:center; flex-wrap:wrap; justify-content:flex-end}
.nav__link{
  font-size:13px; color: var(--muted);
  padding:10px 12px; border-radius:12px;
  border:1px solid transparent;
}
.nav__link:hover{background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.08)}
.nav__link--cta{
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.07);
  color: var(--text);
}

/* Hamburger */
.hamburger{
  display:none;
  width:44px; height:44px;
  border-radius:12px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.04);
}
.hamburger span{
  display:block; height:2px; width:18px;
  background: rgba(255,255,255,.85);
  margin:5px auto; border-radius:2px;
}

/* Hero */
.hero{position:relative; min-height: 74vh; display:flex; align-items:center}
.hero__bg{position:absolute; inset:0; background:center/cover no-repeat; filter:saturate(1.15) contrast(1.05); transform:scale(1.03);}
.hero__overlay{
  position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.72) 70%),
              radial-gradient(900px 500px at 30% 20%, rgba(0,170,255,.25), transparent 60%),
              radial-gradient(700px 500px at 90% 20%, rgba(255,0,160,.18), transparent 60%);
}
.hero__content{position:relative; padding: 52px 0}
.hero__badge{
  display:inline-flex; padding:10px 14px;
  border:1px solid rgba(255,255,255,.18);
  background: rgba(0,0,0,.25);
  border-radius:999px; font-size:13px; color: var(--muted);
}
.hero__title{margin:14px 0 10px; font-size: clamp(34px, 4.5vw, 54px); line-height:1.04;}
.hero__subtitle{max-width:58ch; color: var(--muted); font-size:16px; line-height:1.6; margin:0 0 22px;}
.hero__actions{display:flex; gap:12px; flex-wrap:wrap; margin-bottom:22px}

.btn{
  border:none; cursor:pointer;
  padding: 12px 16px;
  border-radius: 14px;
  font-weight:800;
  letter-spacing:.2px;
  transition: transform .12s ease, background .12s ease;
  display:inline-flex; align-items:center; justify-content:center;
}
.btn:active{transform: translateY(1px)}
.btn--primary{background: linear-gradient(90deg, var(--brand-blue), var(--brand-green)); color:#061022; box-shadow: 0 10px 26px rgba(17,168,255,.22);}
.btn--glass{background: rgba(255,255,255,.10); border: 1px solid rgba(255,255,255,.20); color: var(--text);}
.btn--full{width:100%}

.hero__stats{display:flex; gap:12px; flex-wrap:wrap; margin-top: 10px;}
.stat{padding: 12px 14px; border-radius: var(--radius); border:1px solid rgba(255,255,255,.14); background: rgba(0,0,0,.18); min-width:130px;}
.stat__num{font-size:18px; font-weight:900}
.stat__txt{font-size:13px; color: var(--muted)}

.hero__thumbs{display:flex; gap:10px; margin-top:18px}
.thumb{width:44px; height:44px; border-radius:14px; border:1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.08); cursor:pointer;}
.thumb.is-active{outline: 2px solid rgba(255,255,255,.75)}

/* Sections */
.section{padding: 64px 0}
.section--alt{
  background: linear-gradient(180deg, rgba(255,255,255,.04), transparent);
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.section__head{margin-bottom: 18px}
.section__title{margin:0 0 6px; font-size: 28px}
.section__desc{margin:0; color: var(--muted); line-height:1.55}
.muted{color: var(--muted)}

.grid{display:grid; gap:14px}
.cards{grid-template-columns: repeat(4, 1fr)}
.tours{grid-template-columns: repeat(3, 1fr)}
.pricing{grid-template-columns: repeat(3, 1fr)}
.pay{grid-template-columns: repeat(2, 1fr)}

.card, .price, .box, .about__card{
  background: var(--card2);
  border:1px solid rgba(255,255,255,.12);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: var(--shadow);
}
.card__icon{font-size:28px}
.card__title{margin:10px 0 6px}
.card__text{margin:0; color: var(--muted); line-height:1.55}

.tour{border-radius: var(--radius); overflow:hidden; border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.04);}
.tour__img{width:100%; height:220px; object-fit:cover}
.tour__body{padding:16px}
.tour__title{margin:0 0 6px}
.tour__text{margin:0 0 12px; color: var(--muted); line-height:1.55}
.tour__meta{display:flex; gap:8px; flex-wrap:wrap}

.pill{
  font-size:12px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background: rgba(0,0,0,.18);
  color: var(--muted);
}

.price--featured{background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.20); position:relative;}
.ribbon{
  position:absolute; top:14px; right:14px;
  padding:6px 10px; border-radius:999px;
  background: rgba(255,255,255,.92);
  color:#0a1020; font-weight:900; font-size:12px;
}
.price__title{margin:0}
.price__tag{margin:6px 0 12px; color: var(--muted)}
.price__list{margin:0; padding-left:18px; color: var(--muted); line-height:1.75}
.price__list li{margin:4px 0}

.about{display:grid; grid-template-columns: 1.2fr .8fr; gap:14px}
.about__bullets{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px}

.gallery{display:grid; grid-template-columns: repeat(4, 1fr); gap:12px;}
.gallery__item{border-radius: var(--radius); overflow:hidden; border:1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.03);}
.gallery__item img{width:100%; height:220px; object-fit:cover; transition: transform .25s ease}
.gallery__item:hover img{transform: scale(1.04)}

.list{color: var(--muted); line-height:1.75}
.small{color: var(--muted); font-size:12px}

/* Reserva */
.reserve{display:flex; justify-content:space-between; align-items:flex-start; gap:14px; flex-wrap:wrap;}
.reserve__inputs{display:flex; gap:10px; flex-wrap:wrap; align-items:center;}
input, textarea, select{
  padding: 12px 12px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.22);
  color: var(--text);
  outline:none;
}
input:focus, textarea:focus, select:focus{border-color: rgba(255,255,255,.30)}

/* Cotización */
.quote{
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius: var(--radius);
  padding: 18px;
  box-shadow: var(--shadow);
}
.quote__grid{display:grid; grid-template-columns: repeat(2, 1fr); gap:14px;}
.field{display:flex; flex-direction:column; gap:8px;}
.field label{font-size:13px; color: var(--muted)}
.field--full{grid-column: 1 / -1;}
.check{display:flex; gap:10px; align-items:flex-start;}
.check input{margin-top:4px}

/* Footer */
.footer{border-top:1px solid rgba(255,255,255,.10); background: rgba(0,0,0,.45);}
.footer__inner{padding: 26px 0}
.footer__brand{display:flex; gap:12px; align-items:center}
.footer__logo{width:42px; height:42px; object-fit:contain; border-radius:12px}
.footer__name{font-weight:900}
.footer__tag{color: var(--muted); font-size:12px}
.footer__cols{display:grid; grid-template-columns: repeat(3, 1fr); gap:14px; margin-top: 16px}
.footer__col h4{margin:0 0 8px}
.footer__col a{display:block; color: var(--muted); padding:6px 0}
.footer__col a:hover{color: var(--text)}
.footer__bottom{
  display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.10);
  padding-top: 14px; margin-top: 16px;
}

/* Responsive */
@media (max-width: 980px){
  .cards{grid-template-columns: repeat(2, 1fr)}
  .tours{grid-template-columns: 1fr}
  .pricing{grid-template-columns: 1fr}
  .pay{grid-template-columns: 1fr}
  .gallery{grid-template-columns: repeat(2, 1fr)}
  .about{grid-template-columns: 1fr}
  .quote__grid{grid-template-columns: 1fr}
  .nav{display:none}
  .hamburger{display:inline-block}
  .nav.is-open{
    display:flex;
    position:absolute;
    right: 4vw;
    top: 110px;
    flex-direction:column;
    align-items:stretch;
    width: min(340px, 92vw);
    padding: 12px;
    border-radius: var(--radius);
    background: rgba(0,0,0,.55);
    border:1px solid rgba(255,255,255,.14);
    box-shadow: var(--shadow);
  }
}

/* WhatsApp flotante (verde distintivo) */
.wa-float{
  transform:scale(0.9);
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:120;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:999px;
  background:#25D366;
  color:#0b1b10;
  font-weight:900;
  box-shadow: 0 18px 55px rgba(0,0,0,.45);
  border: 2px solid rgba(255,255,255,.20);
}
.wa-float__icon{
  width:40px; height:40px;
  display:grid; place-items:center;
  border-radius:999px;
  background: rgba(255,255,255,.22);
  font-size:18px;
}
.wa-float:hover{filter: brightness(1.03); transform: translateY(-1px);}

/* Legalidad */
.legal{grid-template-columns: repeat(2, 1fr);}
.doccard{
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: var(--shadow);
}
.doccard__img{width:100%; height:260px; object-fit:cover;}
.doccard__body{padding:16px; display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;}

/* Visor documento */
.modal__card--doc{width:min(980px, 94vw);}
.docviewer__tools{display:flex; gap:10px; margin:10px 0 12px; flex-wrap:wrap;}
.docviewer__stage{
  width:100%;
  height:68vh;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
  overflow:auto;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  padding:12px;
}
#docImg{max-width:100%; transform-origin: top center;}

/* Redes + carrusel */
.social{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:14px;
  margin-bottom: 16px;
}
.social__card{
  display:flex; gap:12px; align-items:center;
  padding:16px;
  border-radius: var(--radius);
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  box-shadow: var(--shadow);
}
.social__icon{font-size:26px}
.social__title{font-weight:900}
.social__handle{color: var(--muted); font-size:13px}

.carousel{display:flex; align-items:center; gap:10px;}
.carbtn{
  width:44px; height:44px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--text);
  cursor:pointer;
  font-size:22px;
}
.carousel__track{
  display:flex;
  gap:12px;
  overflow:auto;
  scroll-snap-type:x mandatory;
  padding: 4px 2px 10px;
  border-radius: var(--radius);
  width:100%;
}
.caritem{
  min-width: 280px;
  max-width: 280px;
  scroll-snap-align:start;
  border-radius: var(--radius);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.04);
}
.caritem img{width:100%; height:180px; object-fit:cover;}
.caritem__txt{padding:12px; color: var(--muted); font-weight:700}

/* Protección básica (disuade) */
.protect{user-select:none; -webkit-user-drag:none;}

@media (max-width: 980px){
  .legal{grid-template-columns: 1fr;}
  .social{grid-template-columns: 1fr;}
  .wa-float{
  transform:scale(0.9);right:12px; bottom:12px;}
}

/* Pagos */
.paygrid{grid-template-columns: 1.25fr .75fr;}
.card{background: rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius: var(--radius); padding:18px; box-shadow: var(--shadow);}
.card--soft{background: rgba(255,255,255,.04);}
.form__row{display:grid; grid-template-columns: repeat(2, 1fr); gap:14px;}
.form__actions{display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:12px;}
#pagoStatus{margin-top:10px;}
@media (max-width: 980px){
  .paygrid{grid-template-columns: 1fr;}
  .form__row{grid-template-columns: 1fr;}
}

/* Documentación mediana en Quiénes somos */
.legal--md{grid-template-columns: repeat(2, 1fr);}
.doccard--md .doccard__img{height: 210px;}
.footer__social{display:flex; gap:14px; flex-wrap:wrap; justify-content:center; margin-top:10px;}
.footer__social .fs{color: var(--text); opacity:.9; text-decoration:none; border-bottom:1px dashed rgba(255,255,255,.25);}
.footer__social .fs:hover{opacity:1;}

/* Galería dinámica */
.gallery img{
  width:100%;
  height:220px;
  object-fit:cover;
  border-radius: var(--radius);
  border:1px solid rgba(255,255,255,.12);
  box-shadow: var(--shadow);
  cursor: zoom-in;
}
@media (max-width: 980px){
  .gallery img{height: 200px;}
}

/* Iconos redes (SVG inline como background) */
.ico{display:inline-block;width:18px;height:18px;margin-right:8px;vertical-align:-3px;background-size:contain;background-repeat:no-repeat;}
.ico-fb{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23ffffff"><path d="M22 12a10 10 0 1 0-11.56 9.87v-6.99H7.9V12h2.54V9.8c0-2.5 1.49-3.89 3.77-3.89 1.09 0 2.23.2 2.23.2v2.45h-1.26c-1.24 0-1.63.77-1.63 1.56V12h2.78l-.44 2.88h-2.34v6.99A10 10 0 0 0 22 12z"/></svg>');}
.ico-ig{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23ffffff"><path d="M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5zm10 2H7a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3zm-5 4a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6zm5.5-2.5a1 1 0 1 1 0 2 1 1 0 0 1 0-2z"/></svg>');}
.ico-tt{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%23ffffff"><path d="M16 2c.3 2.6 1.8 4.7 4 6v3c-2.3.1-4.4-.7-6-2v6.5A6.5 6.5 0 1 1 7.5 9h.5v3.2a3.5 3.5 0 1 0 3.5 3.5V2h4z"/></svg>');}

/* Tours dinámicos */
.tours{grid-template-columns: repeat(3, 1fr); gap:14px;}
.tourcard{
  border-radius: var(--radius);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.06);
  box-shadow: var(--shadow);
}
.tourcard img{width:100%; height:180px; object-fit:cover;}
.tourcard__body{padding:14px; display:flex; flex-direction:column; gap:8px;}
@media (max-width: 980px){
  .tours{grid-template-columns: 1fr;}
}

.social--big{
  display:grid;
  grid-template-columns: repeat(3,1fr);
  gap:18px;
}
.social--big .social__card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:22px;
  border-radius:18px;
  font-size:18px;
  font-weight:700;
  color:#fff;
  text-align:center;
}
.social--big .fb{background:#1877f2}
.social--big .ig{background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af)}
.social--big .tt{background:#000}
.social--big small{opacity:.85;font-size:13px}

.legal--md{
  grid-template-columns: repeat(2,1fr);
}
.legal--md img{
  height:180px;
  object-fit:contain;
  background:#fff;
}

/* Asegurar que modales no aparezcan en footer */
.modal{display:none;}
.modal.is-open{display:flex;}


/* Nav dropdown (Pagos) */
.nav__dropdown{position:relative}
.nav__menu{
  position:absolute;
  right:0;
  top:44px;
  min-width: 220px;
  padding:10px;
  border-radius: 16px;
  background: rgba(0,0,0,.65);
  border:1px solid rgba(255,255,255,.14);
  box-shadow: var(--shadow);
  display:none;
}
.nav__sublink{
  display:block;
  padding:10px 12px;
  border-radius: 12px;
  color: var(--muted);
  border:1px solid transparent;
}
.nav__sublink:hover{background: rgba(255,255,255,.06); color: var(--text); border-color: rgba(255,255,255,.08)}
.nav__dropdown:hover .nav__menu{display:block}
.nav__link--drop{display:flex; align-items:center; gap:6px}
@media (max-width: 980px){
  .nav__menu{
    position:static;
    display:block;
    background: transparent;
    border:none;
    box-shadow:none;
    padding: 0 0 0 6px;
    margin-top: -6px;
  }
}


/* ==============================
   TEMA ASESOR VIAJERO (Logo)
   ============================== */
:root{
  --av-navy:#1E2A5A;
  --av-blue:#00AEEF;
  --av-pink:#E91E63;
  --av-orange:#FF7A00;
  --av-green:#2ECC71;
  --av-bg:#0b1020;
  --av-card: rgba(255,255,255,.08);
  --av-border: rgba(255,255,255,.14);
}

/* Títulos y detalles */
.section__title{ color:#fff; }
.section__head .section__desc{ color:rgba(255,255,255,.78); }

/* Botones principales */
.btn--primary{
  background: linear-gradient(90deg, var(--av-blue), var(--av-green));
  color:#fff;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 10px 28px rgba(0,174,239,.25);
}
.btn--primary:hover{
  filter: brightness(1.05);
  transform: translateY(-2px);
}

/* Botón verde "Escríbenos ahora" */
.btn--whatsapp, #waFooter{
  background: var(--av-green) !important;
  color:#fff !important;
  border: none !important;
  box-shadow: 0 10px 26px rgba(46,204,113,.45);
}

/* Píldoras */
.pill{
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,174,239,.12);
}
.price--featured{
  border-color: rgba(0,174,239,.35);
  box-shadow: 0 20px 60px rgba(0,174,239,.18);
}

/* Formularios más vistosos */
.quote{
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
}
.field label{
  color: rgba(255,255,255,.92);
  font-weight: 700;
}
.field input, .field select, .field textarea{
  background: rgba(255,255,255,.10);
  color:#fff;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  outline: none;
}
.field input::placeholder, .field textarea::placeholder{ color: rgba(255,255,255,.55); }
.field input:focus, .field select:focus, .field textarea:focus{
  border-color: rgba(0,174,239,.75);
  box-shadow: 0 0 0 4px rgba(0,174,239,.18);
}

/* Dropdown Pagos - asegurar visible */
.nav__menu{
  background: rgba(11,16,32,.96);
  border: 1px solid rgba(255,255,255,.12);
}

/* Legalidad cards */
.legal__item{
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 16px;
  overflow:hidden;
}
.legal__item img{
  width:100%;
  height:220px;
  object-fit:contain;
  background: #fff;
}
.legal__item figcaption{
  padding: 10px 12px;
  color: rgba(255,255,255,.9);
  font-weight: 700;
  text-align:center;
}


/* ===== Tema más colorido estilo logo ===== */
.nav__link{position:relative}
.nav__link:hover{color: var(--text)}
.nav__link::after{
  content:"";
  position:absolute;
  left:10px; right:10px; bottom:-8px;
  height:3px;
  border-radius:999px;
  background: linear-gradient(90deg, var(--brand-pink), var(--brand-orange), var(--brand-green), var(--brand-blue));
  opacity:0;
  transform: translateY(6px);
  transition: all .18s ease;
}
.nav__link:hover::after{opacity:1; transform: translateY(0)}

/* Cards/boxes más vivos */
.card, .tour, .price, .box, .about__card{
  border: 1px solid rgba(255,255,255,.14);
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
}
.section__title{
  background: linear-gradient(90deg, var(--brand-blue), var(--brand-pink), var(--brand-orange));
  -webkit-background-clip:text;
  background-clip:text;
  color: transparent;
}

/* Formularios más visibles */
.field input, .field select, .field textarea{
  background: rgba(6,11,24,.70) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: var(--text) !important;
}
.field input::placeholder, .field textarea::placeholder{color: rgba(243,248,255,.55)}
.field input:focus, .field select:focus, .field textarea:focus{
  outline: none;
  border-color: rgba(17,168,255,.75) !important;
  box-shadow: 0 0 0 4px rgba(17,168,255,.18);
}

/* Botones secundarios y pills */
.pill{
  background: linear-gradient(90deg, rgba(17,168,255,.18), rgba(61,220,104,.14));
  border: 1px solid rgba(255,255,255,.14);
}

/* Sección alterna con color sutil */
.section--alt{
  background: linear-gradient(180deg, rgba(17,168,255,.06), rgba(255,45,170,.04));
}

/* Dropdown de Pagos más pro */
.nav__menu{
  background: linear-gradient(180deg, rgba(11,27,58,.96), rgba(6,11,24,.92)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
}
.nav__sublink:hover{
  background: linear-gradient(90deg, rgba(17,168,255,.18), rgba(255,45,170,.12), rgba(255,138,43,.10)) !important;
}


.footer{
  background: linear-gradient(180deg, rgba(11,27,58,.55), rgba(6,11,24,1));
  border-top: 1px solid rgba(255,255,255,.12);
}
.footer__name{
  background: linear-gradient(90deg, var(--brand-blue), var(--brand-green));
  -webkit-background-clip:text;
  background-clip:text;
  color: transparent;
}


/* =========================
   TEMA COLORIDO (Logo)
   ========================= */
:root{
  --brand-pink:#ff2aa1;
  --brand-blue:#00b7ff;
  --brand-orange:#ff8a00;
  --brand-green:#35d04f;
  --brand-navy:#0c1b3a;

  --text:#0c1b3a;
  --muted:#2b4a77;
  --line: rgba(12,27,58,.18);
  --radius: 22px;
  --shadow: 0 18px 45px rgba(12,27,58,.16);
}

/* Fondo cielo */
body{
  color: var(--text) !important;
  background:
    radial-gradient(1200px 600px at 20% 10%, rgba(255,255,255,.95), rgba(255,255,255,0) 60%),
    radial-gradient(1200px 600px at 80% 20%, rgba(255,255,255,.85), rgba(255,255,255,0) 60%),
    linear-gradient(180deg, #a7ddff 0%, #e8f7ff 35%, #ffffff 70%);
}

/* Topbar y Header tipo “ribbon” */
.topbar{
  background: rgba(255,255,255,.70) !important;
  border-bottom: 1px solid rgba(12,27,58,.10) !important;
  backdrop-filter: blur(10px);
}
.chip{ color: var(--brand-navy) !important; background: rgba(255,255,255,.75) !important; border:1px solid rgba(12,27,58,.10) !important; }
.toplink{ color: var(--brand-navy) !important; opacity:.95; }
.toplink:hover{ opacity:1; text-decoration: underline; }

.header{
  background: linear-gradient(90deg, rgba(0,183,255,.85), rgba(255,42,161,.85), rgba(255,138,0,.85), rgba(53,208,79,.85)) !important;
  border-bottom: 1px solid rgba(255,255,255,.20);
  box-shadow: 0 10px 30px rgba(12,27,58,.18);
}
.brand__name, .brand__tag{ color:#fff !important; text-shadow: 0 2px 10px rgba(0,0,0,.25); }
.nav__link{ color:#fff !important; }
.nav__link:hover{ background: rgba(255,255,255,.22) !important; }

/* Dropdown Pagos */
.nav__menu{
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(12,27,58,.12) !important;
}
.nav__sublink{ color: var(--brand-navy) !important; }
.nav__sublink:hover{ background: rgba(0,183,255,.14) !important; }

/* Títulos con degradado */
.section__title, .hero__title{
  background: linear-gradient(90deg, var(--brand-blue), var(--brand-pink), var(--brand-orange), var(--brand-green));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
  text-shadow: none !important;
}
.section__desc, .hero__subtitle{ color: rgba(12,27,58,.85) !important; }

/* Secciones más “glass” y claras */
.section{ background: transparent !important; }
.section--alt{ background: transparent !important; }

.box, .card, .price, .about__card, .quote, .tour{
  background: rgba(255,255,255,.78) !important;
  border: 1px solid rgba(12,27,58,.10) !important;
  box-shadow: var(--shadow) !important;
  color: var(--brand-navy) !important;
}

/* Tarjetas de Tours como en la captura */
.tour{ overflow:hidden; border-radius: 22px !important; }
.tour__img{ height: 210px !important; object-fit: cover; }
.tour__bar{
  margin: -14px -14px 10px -14px;
  padding: 12px 14px;
  color:#fff;
  border-radius: 18px;
  box-shadow: 0 10px 25px rgba(12,27,58,.15);
}
.tours .tour:nth-child(1) .tour__bar{
  background: linear-gradient(90deg, var(--brand-pink), var(--brand-orange));
}
.tours .tour:nth-child(2) .tour__bar{
  background: linear-gradient(90deg, var(--brand-blue), #43d8ff);
}
.tours .tour:nth-child(3) .tour__bar{
  background: linear-gradient(90deg, var(--brand-green), #8cff67);
}
.tour__title{ margin:0; color:#fff !important; font-weight:900; letter-spacing:.3px; }
.tour__text{ color: rgba(12,27,58,.86) !important; }
.pill{
  background: rgba(0,183,255,.10) !important;
  border: 1px solid rgba(0,183,255,.25) !important;
  color: var(--brand-navy) !important;
}

/* Formularios: más visibles */
.field label{ color: rgba(12,27,58,.90) !important; font-weight:700; }
.field input, .field select, .field textarea{
  background: rgba(255,255,255,.92) !important;
  color: var(--brand-navy) !important;
  border: 2px solid rgba(12,27,58,.14) !important;
  border-radius: 16px !important;
}
.field input:focus, .field select:focus, .field textarea:focus{
  outline: none;
  border-color: rgba(0,183,255,.65) !important;
  box-shadow: 0 0 0 4px rgba(0,183,255,.18) !important;
}

/* Botones principales */
.btn--primary{
  background: linear-gradient(90deg, var(--brand-blue), var(--brand-green)) !important;
  color:#fff !important;
  border: none !important;
}
.btn--primary:hover{
  filter: brightness(1.03);
  transform: translateY(-1px);
}
.btn--glass{
  background: rgba(255,255,255,.82) !important;
  color: var(--brand-navy) !important;
  border: 1px solid rgba(12,27,58,.14) !important;
}

/* Footer */
.footer{
  background: linear-gradient(90deg, rgba(0,183,255,.85), rgba(255,42,161,.85), rgba(255,138,0,.85), rgba(53,208,79,.85)) !important;
  color:#fff !important;
}
.footer a, .footer p, .footer h4, .footer__name, .footer__tag{ color:#fff !important; }
.footer .small{ color: rgba(255,255,255,.92) !important; }

/* Botón WhatsApp verde */
.btn--whatsapp, #waFooter{
  background:#25D366 !important;
  color:#fff !important;
}


/* === Contrato: firma === */
.sigpad{overflow:hidden; background: rgba(255,255,255,.55); border:1px solid rgba(12,27,58,.14); border-radius:18px; padding:12px}
.sigpad canvas{width:100%; height:220px !important; background:#fff; border-radius:14px; border:2px dashed rgba(10,102,194,.35); box-shadow: 0 12px 30px rgba(0,0,0,.08) inset; -ms-touch-action:none; user-select:none; -webkit-user-select:none; -webkit-tap-highlight-color: transparent;}
.sigpad__actions{display:flex; gap:12px; align-items:center; justify-content:space-between; margin-top:10px; flex-wrap:wrap}


/* =========================
   Responsive (Tablet/Móvil)
   ========================= */
@media (max-width: 768px){
  .container{padding: 0 14px;}
  .topbar{display:none;}
  .header__inner{gap:12px;}
  .brand__logo{width:44px; height:44px;}
  .brand__name{font-size:15px;}
  .brand__tag{font-size:11px;}

  .nav{
    position: fixed;
    inset: 70px 12px auto 12px;
    z-index: 9999;
    background: rgba(10, 12, 18, .88);
    backdrop-filter: blur(14px);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 18px;
    padding: 12px;
    display:none;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    max-height: calc(100vh - 110px);
    overflow:auto;
  }
  .nav.is-open{display:flex;}
  .nav__link{padding: 12px 12px; justify-content: space-between;}
  .hamburger{display:flex;}

  /* dropdown en móvil */
  .nav__dropdown{width:100%;}
  .nav__dropdown .nav__menu{
    position: static;
    transform:none;
    opacity: 1;
    visibility: visible;
    background: transparent;
    border: 0;
    padding: 6px 0 0;
    box-shadow:none;
    display:none;
  }
  .nav__dropdown.is-open .nav__menu{display:block;}
  .nav__sublink{padding: 10px 12px; border-radius: 12px; margin: 4px 0;}

  .hero{min-height: 72vh;}
  .hero__content{padding: 22px 0 10px;}
  .hero__title{line-height:1.05;}
  .hero__actions{flex-direction: column; align-items: stretch;}
  .btn{width:100%;}
  .hero__stats{grid-template-columns: repeat(3, 1fr); gap:10px;}
  .hero__thumbs{justify-content:center;}

  .grid.cards{grid-template-columns: 1fr;}
  .grid.tours{grid-template-columns: 1fr;}
  .grid.pricing{grid-template-columns: 1fr;}
  .grid.pay{grid-template-columns: 1fr;}
  .social{grid-template-columns: 1fr;}
  .footer__cols{grid-template-columns: 1fr; gap:14px;}

  /* formularios */
  .quote__grid{grid-template-columns: 1fr !important;}
  .field--half{grid-column: span 1 !important;}
  .field--full{grid-column: span 1 !important;}

  /* tarjetas tours */
  .tour__img{height: 200px;}
}

@media (max-width: 480px){
  .hero__badge{font-size:12px;}
  .hero__title{font-size: clamp(30px, 8vw, 40px);}
  .hero__subtitle{font-size: 14px;}
  .stat{padding: 10px;}
  .tour__img{height: 180px;}
  .price{padding: 16px;}
  .section__title{font-size: 28px;}
}

/* Mejora UX: evita zoom en iOS al escribir */
input, select, textarea{font-size:16px;}

/* ===== FIRMA MOVIL: BLOQUEO TOTAL DE SCROLL (fix 2026-01-17) ===== */
.sigpad{overflow:hidden;  overflow: hidden; }

#firmaCanvas{
  width:100% !important;
  height:220px !important;      /* altura fija: no brinca */
  background:#fff;
  border-radius:14px;

  touch-action:none;            /* CLAVE: evita scroll/zoom al firmar */
  -ms-touch-action:none;
  user-select:none;
  -webkit-user-select:none;
  -webkit-tap-highlight-color: transparent;
}


/* ==========================
   FIX FIRMA EN MÓVILES (2026)
   ========================== */
.sigpad{overflow:hidden;}
.sigpad canvas,
#firmaCanvas{
  width:100% !important;
  height:220px !important;
  display:block;
  touch-action:none;      /* CLAVE: evita scroll/zoom mientras firmas */
  -ms-touch-action:none;
  user-select:none;
  -webkit-user-select:none;
  -webkit-tap-highlight-color: transparent;
}
