.site-header{ position: relative; z-index: 10000; }
:root{
  --bg: #F6F1EB;
  --bg2: #F2EBFF;
  --primary: #6D4CE6;
  --primary2: #8A6BFF;
  --ink: #2D2456;
  --text: #3E3A4A;
  --white: #FFFFFF;
  --border: rgba(45,36,86,.12);
  --shadow: 0 18px 50px rgba(45,36,86,.12);
  --radius: 18px;
  --radius2: 28px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ padding-top: 0;

  margin:0;
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: radial-gradient(1200px 600px at 15% 5%, var(--bg2), transparent 55%),
              radial-gradient(900px 500px at 85% 10%, rgba(109,76,230,.20), transparent 55%),
              var(--bg);
  color: var(--text);
}

.container{ width:min(1120px, 92%); margin:0 auto; }

.topbar{background: rgba(255,255,255,.55);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(10px);
  display:none;
}
.topbar__inner{
  display:flex; justify-content:space-between; align-items:center;
  padding:10px 0;
  font-size: 13px;
  gap: 10px;
}
.link{ color: var(--ink); text-decoration:none; opacity:.85; }
.link:hover{ opacity:1; }
.sep{ opacity:.5; margin:0 10px; }
.header{ position:sticky; top:0; overflow:visible; z-index:30000; backdrop-filter: blur(12px); background: rgba(250,246,240,.65); border-bottom:1px solid rgba(45,36,86,.10); }

.header__nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 0;
  gap: 12px;
}

.brand{ display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--ink); }
.brand__logo{
  width:50px; height:50px; display:grid; place-items:center;
  background: rgba(255,255,255,.72);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(45,36,86,.10);
  overflow: hidden;
}
.brand__name{ font-weight:900; letter-spacing:.2px; }

.nav{
  display:flex; gap:18px; align-items:center;
  overflow: visible;
}
.nav a{
  text-decoration:none;
  color: var(--ink);
  opacity:.85;
  font-weight:700;
  font-size: 14px;
  padding: 10px 10px;
  border-radius: 12px;
}
.nav a:hover{ opacity:1; background: rgba(109,76,230,.08); }
.nav a.is-active{ opacity:1; background: rgba(109,76,230,.12); border: 1px solid rgba(109,76,230,.18); }

.nav__toggle{
  display:none;
  width:44px; height:44px;
  border:1px solid var(--border);
  background: rgba(255,255,255,.55);
  border-radius: 14px;
  cursor:pointer;
  backdrop-filter: blur(10px);
}
.nav__toggle span{
  display:block;
  height:2px;
  margin:6px 10px;
  background: var(--ink);
  opacity:.75;
}

.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 16px;
  border-radius: 14px;
  text-decoration:none;
  font-weight:800;
  font-size: 14px;
  border: 1px solid transparent;
  cursor:pointer;
}
.btn--primary{
  background: linear-gradient(135deg, var(--primary), var(--primary2));
  color: white;
  box-shadow: 0 12px 28px rgba(109,76,230,.22);
}
.btn--ghost{
  background: rgba(255,255,255,.55);
  border: 1px solid var(--border);
  color: var(--ink);
  backdrop-filter: blur(10px);
}
.btn--danger{
  background: rgba(214, 40, 57, .10);
  border: 1px solid rgba(214, 40, 57, .22);
  color: #8B0F1E;
}
.btn--full{ width:100%; }

/* Hero */
.hero{ padding: 28px 0 64px; }
.hero__grid{
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 28px;
  align-items: center;
}
.hero__content h1{
  margin: 14px 0 10px;
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1.05;
  color: var(--ink);
}
.hero__content p{
  margin: 0 0 18px;
  font-size: 16px;
  line-height: 1.6;
  opacity:.92;
  max-width: 54ch;
}
.accent{ color: var(--primary); }

.pill{
  display:inline-flex; align-items:center; gap:10px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.55);
  border: 1px solid var(--border);
  backdrop-filter: blur(10px);
  font-weight: 800;
  font-size: 13px;
  color: var(--ink);
  opacity:.92;
}
.dot{
  width:10px; height:10px; border-radius:999px;
  background: var(--primary);
  box-shadow: 0 0 0 6px rgba(109,76,230,.14);
}

.hero__actions{ display:flex; gap:12px; flex-wrap:wrap; margin-bottom: 18px; }

.stats{
  display:grid; grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.stat{
  padding: 14px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.50);
  border-radius: var(--radius);
  backdrop-filter: blur(10px);
}
.stat__num{ font-weight:900; color: var(--ink); }
.stat__txt{ font-size: 13px; opacity:.8; margin-top:6px; }

.hero__visual{ position:relative; min-height: 380px; }
.glass-card{
  position:relative;
  padding: 18px;
  border-radius: var(--radius2);
  background: rgba(255,255,255,.60);
  border: 1px solid var(--border);
  box-shadow: var(--shadow);
  backdrop-filter: blur(12px);
}
.glass-card__header{
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom: 10px;
  gap: 10px;
}
.badge{
  font-size:12px; font-weight:900; color: white;
  padding: 7px 10px; border-radius: 999px;
  background: linear-gradient(135deg, var(--primary), var(--primary2));
}
.price{ font-size: 12px; opacity:.85; }
.glass-card h3{ margin: 10px 0 10px; color: var(--ink); }
.checklist{ margin: 0 0 14px; padding-left: 18px; }
.checklist li{ margin: 7px 0; }

.floating{
  position:absolute;
  border-radius: 999px;
  opacity: .9;
  background: radial-gradient(circle at 30% 30%, rgba(138,107,255,.45), rgba(109,76,230,.10));
  border: 1px solid rgba(109,76,230,.18);
}
.floating--1{ width:180px; height:180px; top:-30px; right:-20px; }
.floating--2{ width:110px; height:110px; bottom:20px; left:-20px; }
.floating--3{ width:70px; height:70px; top:70px; left:20px; opacity:.7; }

/* Sections */
.section{ padding: 64px 0; }
.section--soft{
  background: rgba(255,255,255,.45);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  backdrop-filter: blur(10px);
}
.section__head{ margin-bottom: 22px; }
.section__head h2{ margin: 0 0 6px; color: var(--ink); font-size: 28px; }
.section__head p{ margin: 0; opacity:.85; }

.grid{ display:grid; gap: 16px; }
.cards{ grid-template-columns: repeat(3, 1fr); }

/* Nosotros: misión/visión + equipo */
.about-grid{ display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:18px; }
.team-grid{ display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap:18px; }
.team-card{ padding:16px; }
.team-card__img{ width:100%; aspect-ratio: 4/3; border-radius:18px; overflow:hidden; background:#eee; margin-bottom:10px; }
.team-card__img img{ width:100%; height:100%; object-fit:cover; }
.team-card__name{ font-weight:800; }
.team-card__role{ color:var(--muted); font-size:14px; margin-top:2px; }
.team-card__fn{ color:var(--muted); font-size:14px; margin-top:6px; }
.card{
  padding: 18px;
  background: rgba(255,255,255,.60);
  border: 1px solid var(--border);
  border-radius: var(--radius2);
  box-shadow: 0 10px 30px rgba(45,36,86,.08);
  backdrop-filter: blur(12px);
}
.card__top{ display:flex; justify-content:space-between; align-items:center; margin-bottom: 10px; gap: 10px; }
.card__tag{
  font-size: 12px; font-weight: 900; color: var(--primary);
  background: rgba(109,76,230,.10);
  border: 1px solid rgba(109,76,230,.18);
  padding: 6px 10px; border-radius: 999px;
}
.card__from{ font-size: 12px; opacity:.9; white-space:nowrap; }
.card h3{ margin: 0 0 6px; color: var(--ink); }
.card p{ margin: 0 0 12px; opacity:.85; }
.card__meta{
  display:flex; flex-wrap:wrap; gap:8px;
  font-size: 12px; opacity:.85;
  margin-bottom: 14px;
}

/* Two columns + panels */
.two-col{
  display:grid; grid-template-columns: 1.2fr .8fr;
  gap: 18px;
  align-items:start;
}
.bullets{ display:grid; gap: 12px; margin-top: 18px; }
.bullet{ display:flex; gap: 12px; }
.bullet__icon{
  width:34px; height:34px; border-radius: 12px;
  display:grid; place-items:center;
  background: rgba(109,76,230,.12);
  border: 1px solid rgba(109,76,230,.20);
  color: var(--primary);
  font-weight: 900;
}

.panel{
  padding: 18px;
  border-radius: var(--radius2);
  border: 1px solid rgba(109,76,230,.22);
  background: linear-gradient(135deg, rgba(109,76,230,.12), rgba(255,255,255,.60));
  box-shadow: var(--shadow);
}
.panel h3{ margin: 0 0 6px; color: var(--ink); }
.panel p{ margin: 0 0 14px; opacity:.85; }
.mini{ display:grid; gap:8px; margin-top: 12px; font-size: 12px; opacity:.85; }

/* Testimonials */
.testimonials{ grid-template-columns: repeat(3, 1fr); }
.tcard{
  padding: 18px;
  border-radius: var(--radius2);
  border: 1px solid var(--border);
  background: rgba(255,255,255,.60);
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 30px rgba(45,36,86,.08);
}
.tcard p{ margin: 0 0 12px; opacity:.88; }
.tcard__who{ display:flex; gap:10px; align-items:center; font-size: 13px; opacity:.9; }
.tcard__who span{ opacity:.75; }

/* Forms */
.form{
  padding: 18px;
  border-radius: var(--radius2);
  border: 1px solid var(--border);
  background: rgba(255,255,255,.60);
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 30px rgba(45,36,86,.08);
}
.form__row{ margin-bottom: 12px; }
.form__row label{ display:block; font-weight: 900; font-size: 13px; color: var(--ink); margin-bottom: 6px; }
.form__row input, .form__row textarea, .form__row select{
  width:100%;
  padding: 12px 12px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: rgba(246,241,235,.55);
  outline:none;
  font: inherit;
}
.form__row input:focus, .form__row textarea:focus, .form__row select:focus{
  border-color: rgba(109,76,230,.45);
  box-shadow: 0 0 0 4px rgba(109,76,230,.14);
}
.form__row--two{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.hint{ font-size: 12px; opacity:.75; margin-top: 10px; }
.alert{
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.60);
  backdrop-filter: blur(12px);
  margin-bottom: 12px;
}
.alert--ok{ border-color: rgba(30, 140, 60, .25); background: rgba(30, 140, 60, .08); color: #0D4A20; }
.alert--err{ border-color: rgba(214, 40, 57, .25); background: rgba(214, 40, 57, .08); color: #7A0E1A; }

.table{
  width:100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: rgba(255,255,255,.55);
  backdrop-filter: blur(12px);
}
.table th, .table td{
  text-align:left;
  padding: 12px 12px;
  border-bottom: 1px solid var(--border);
  font-size: 14px;
}
.table th{
  color: var(--ink);
  font-weight: 900;
  background: rgba(109,76,230,.08);
}
.table tr:last-child td{ border-bottom: none; }
.table td small{ opacity:.75; }

.row-actions{ display:flex; gap:8px; flex-wrap:wrap; }

/* Footer */
.footer{
  padding: 26px 0;
  border-top: 1px solid var(--border);
  background: rgba(255,255,255,.45);
  backdrop-filter: blur(10px);
}
.footer__inner{
  display:flex; justify-content:space-between; align-items:center; gap: 14px;
}
.footer__links{ display:flex; gap: 14px; flex-wrap:wrap; }
.footer__links a{ color: var(--ink); text-decoration:none; opacity:.8; font-weight:800; font-size: 13px; }
.footer__links a:hover{ opacity:1; }
.muted{ margin: 8px 0 0; opacity:.75; font-size: 12px; }
.brand--footer .brand__logo{
  width:50px; height:50px; display:grid; place-items:center;
  background: rgba(255,255,255,.72);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(45,36,86,.10);
  overflow: hidden;
}

/* Utility */
.page-hero{
  padding: 34px 0 10px;
}
.page-hero h1{ margin: 0 0 10px; color: var(--ink); font-size: clamp(28px, 3.2vw, 40px); }
.page-hero p{ margin: 0; opacity:.88; max-width: 70ch; }

/* Responsive */
@media (max-width: 900px){
  .hero__grid{ grid-template-columns: 1fr; }
  .hero__visual{ min-height: 320px; }
  .cards{ grid-template-columns: 1fr; }
  .two-col{ grid-template-columns: 1fr; }
  .testimonials{ grid-template-columns: 1fr; }
  .footer__inner{ flex-direction:column; align-items:flex-start; }
  .topbar__inner{ flex-direction:column; align-items:flex-start; }
}

/* Mobile menu */
@media (max-width: 760px){
  .nav__toggle{ display:inline-block; }
  .nav{
    position:absolute;
    right: 4%;
    top: 98px;
    width: min(420px, 92%);
    padding: 14px;
    border-radius: var(--radius2);
    border: 1px solid var(--border);
    background: rgba(255,255,255,.72);
    backdrop-filter: blur(14px);
    box-shadow: var(--shadow);
    flex-direction:column;
    align-items:stretch;
    gap: 10px;
    display:none;
    z-index: 50;
  }
  .nav.is-open{ display:flex; }
}

.brand__logo img{ width:100%; height:100%; object-fit:contain; display:block; }


/* NOVALANDIA: Logo como fondo (translúcido) en el hero */
.hero{
  position: relative;
  overflow: hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 500px at 85% 10%, rgba(109,76,230,.16), transparent 55%),
    linear-gradient(rgba(246,241,235,.86), rgba(246,241,235,.86)),
    url("../img/logo.png") center/420px no-repeat;
  opacity: .40;
  pointer-events: none;
}
.hero > *{
  position: relative;
  z-index: 1;
}


/* NOVALANDIA: remover bolitas/flotantes del hero */
.floating{ display:none !important; }


/* NOVALANDIA: ajustes responsive para mantener el look en pantallas pequeñas */
@media (max-width: 900px){
  .hero__visual{ min-height: auto !important; }
  .glass-card{ max-width: 520px; margin: 0 auto; }
  .stats{ grid-template-columns: 1fr; }
}
@media (max-width: 480px){
  .hero{ padding: 20px 0 44px; }
  .hero__content h1{ font-size: 34px; }
  .nav{ top: 86px; }
  .glass-card{ padding: 16px; }
  .btn{ width: 100%; }
  .hero__actions{ flex-direction: column; align-items: stretch; }
}


/* Carousel */
.carousel{
  position: relative;
  border-radius: var(--radius2);
  border: 1px solid var(--border);
  background: rgba(255,255,255,.55);
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 30px rgba(45,36,86,.08);
  overflow: hidden;
}
.carousel__viewport{
  position: relative;
  width: 100%;
  aspect-ratio: 16/7;
  min-height: 220px;
}
.carousel__slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform: scale(1.01);
  transition: opacity .5s ease, transform .7s ease;
  display:grid;
  place-items:stretch;
  pointer-events:none;
  z-index:1;
}
.carousel__slide.is-active{
  opacity:1;
  transform: scale(1);
  pointer-events:auto;
  z-index:2;
}
.carousel__img{
  width:100%;
  height:100%;
  object-fit: contain;
  display:block;
  filter: saturate(1.02) contrast(1.02);
}
.carousel__overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(45,36,86,.62) 0%, rgba(45,36,86,.05) 55%, rgba(45,36,86,0) 100%);
}
.carousel__content{
  position:absolute;
  left: 18px;
  bottom: 16px;
  right: 18px;
  max-width: 720px;
  color: #fff;
}
.carousel__content h3{
  margin:0 0 6px;
  font-size: clamp(18px, 2.2vw, 28px);
}
.carousel__content p{
  margin:0;
  opacity:.92;
  line-height:1.5;
}
.carousel__controls{
  position:absolute;
  inset: 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  pointer-events:none;
  padding: 0 10px;
}
.carousel__btn{
  pointer-events:auto;
  width:44px; height:44px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.18);
  backdrop-filter: blur(12px);
  color:white;
  font-weight:900;
  cursor:pointer;
}
.carousel__dots{
  position:absolute;
  left: 0; right: 0;
  bottom: 10px;
  display:flex;
  justify-content:center;
  gap:8px;
}
.carousel__dot{
  width: 10px; height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.22);
  cursor:pointer;
}
.carousel__dot.is-active{
  background: rgba(255,255,255,.85);
}

@media (max-width: 900px){
  .carousel__viewport{ aspect-ratio: 16/7; min-height: 260px; }

  .carousel__overlay{ background: linear-gradient(180deg, rgba(45,36,86,.15) 0%, rgba(45,36,86,.75) 100%); }
  .carousel__content{ left: 14px; right: 14px; }
}


/* Carousel (autoplay) — FIX */
.carousel{
  position: relative;
  border-radius: var(--radius2);
  border: 1px solid var(--border);
  background: rgba(255,255,255,.55);
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 30px rgba(45,36,86,.08);
  overflow: hidden;
}
.carousel__viewport{
  position: relative;
  width: 100%;
  aspect-ratio: 16/7;
  min-height: 240px;
}
.carousel__slide{
  position:absolute;
  inset:0;
  opacity:0;
  transform: scale(1.01);
  transition: opacity .5s ease, transform .7s ease;
  display:grid;
  place-items:stretch;
  pointer-events:none;
  z-index:1;
}
.carousel__slide.is-active{
  opacity:1;
  transform: scale(1);
  pointer-events:auto;
  z-index:2;
}
.carousel__img{
  width:100%;
  height:100%;
  object-fit: contain;
  display:block;
}
.carousel__overlay{
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(45,36,86,.62) 0%, rgba(45,36,86,.05) 55%, rgba(45,36,86,0) 100%);
  pointer-events:none;
}
.carousel__content{
  position:absolute;
  left: 18px;
  bottom: 16px;
  right: 18px;
  max-width: 760px;
  color: #fff;
  z-index: 4;
}
.carousel__controls{
  position:absolute;
  inset: 0;
  display:flex;
  justify-content:space-between;
  align-items:center;
  pointer-events:none;
  padding: 0 10px;
  z-index:5;
}
.carousel__btn{
  pointer-events:auto;
  width:44px; height:44px;
  border-radius: 14px;
  border:1px solid rgba(255,255,255,.28);
  background: rgba(255,255,255,.18);
  backdrop-filter: blur(12px);
  color:white;
  font-weight:900;
  cursor:pointer;
}
.carousel__dots{
  position:absolute;
  left: 0; right: 0;
  bottom: 10px;
  display:flex;
  justify-content:center;
  gap:8px;
  z-index:6;
}
.carousel__dot{
  width: 10px; height: 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.55);
  background: rgba(255,255,255,.22);
  cursor:pointer;
}
.carousel__dot.is-active{
  background: rgba(255,255,255,.85);
}

@media (max-width: 900px){
  .carousel__viewport{ aspect-ratio: 16/7; min-height: 260px; }

  .carousel__overlay{ background: linear-gradient(180deg, rgba(45,36,86,.12) 0%, rgba(45,36,86,.78) 100%); }
  .carousel__content{ left: 14px; right: 14px; }
}


/* =========================
   Responsive (global)
   ========================= */
img, video{
  max-width: 100%;
  height: auto;
}
.container{
  width: min(1100px, calc(100% - 32px));
}
body{
  overflow-x: hidden;
}

/* Grillas y columnas */
.two-col{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.two-col--trip{
  grid-template-columns: 1.1fr .9fr;
}
@media (max-width: 980px){
  .two-col{
    grid-template-columns: 1fr;
  }

  /* Cotización en detalle de viaje: evita que el panel se vea "apretado" en móvil */
  .section--soft .panel{
    position: static;
    width: 100%;
  }
  .section--soft .panel .mini-form{ width: 100%; }
}

/* Navegación: evita que se rompa */
.nav{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.nav::-webkit-scrollbar{ display:none; }

/* Tablas: scroll horizontal en móvil */
.table{ width: 100%; border-collapse: collapse; }
.table-wrap{ width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.table-wrap .table{ min-width: 680px; }

/* Formularios */
.form__row--two{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media (max-width: 780px){
  .form__row--two{ grid-template-columns: 1fr; }
  .btn--full{ width: 100%; }
}

/* Espaciado en móvil */
@media (max-width: 560px){
  .card{ padding: 14px; }
  .hero{ padding-top: 34px; padding-bottom: 34px; }
  .carousel__viewport{ min-height: 260px; }
}

/* Filtros Viajes responsive */
.filters{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  align-items:end;
}
.filters__actions{
  display:flex;
  gap:10px;
  flex-wrap: wrap;
}
@media (max-width: 780px){
  .filters{ grid-template-columns: 1fr; }
}

/* Carousel background for contain */
.carousel__slide{
  background: radial-gradient(800px 400px at 20% 20%, rgba(109,76,230,.10), transparent 60%),
              linear-gradient(rgba(255,255,255,.55), rgba(255,255,255,.55));
}


/* Admin UI Premium */
.admin-shell{
  background: radial-gradient(900px 500px at 20% 0%, rgba(109,76,230,.12), transparent 55%),
              radial-gradient(900px 500px at 80% 10%, rgba(109,76,230,.10), transparent 55%);
}
.admin-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
}
.admin-title{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.admin-title h1,.admin-title h2{margin:0}
.admin-title small{opacity:.75}
.admin-nav{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.card--glass{
  background: rgba(255,255,255,.60);
  border: 1px solid rgba(45,36,86,.10);
  box-shadow: 0 14px 40px rgba(45,36,86,.08);
}
.input, select, textarea{
  width:100%;
  padding:10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(45,36,86,.16);
  background: rgba(255,255,255,.78);
}
label{font-weight:800}
.hint{opacity:.75}
.kpi{
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:12px;
}
.kpi .card{
  padding:14px;
}
@media (max-width: 980px){
  .kpi{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px){
  .kpi{ grid-template-columns: 1fr; }
}


/* Hero featured card */
.hero-card{
  background: rgba(255,255,255,.62);
  border:1px solid rgba(45,36,86,.12);
  border-radius: 18px;
  padding: 16px;
  box-shadow: 0 16px 42px rgba(45,36,86,.10);
  backdrop-filter: blur(10px);
}
.hero-card__top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
  margin-bottom:10px;
}
.pill{
  display:inline-flex;
  align-items:center;
  padding:6px 10px;
  border-radius: 999px;
  background: rgba(109,76,230,.16);
  border: 1px solid rgba(109,76,230,.22);
  font-weight: 900;
  font-size: 12px;
}
.mini-list{
  margin: 10px 0 12px;
  padding-left: 18px;
  opacity: .92;
}


/* === Admin Premium v2 === */
.topbar{
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,255,255,.70);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(45,36,86,.10);
}
.admin-shell{
  min-height: 100vh;
  background:
    radial-gradient(900px 500px at 20% 0%, rgba(109,76,230,.16), transparent 58%),
    radial-gradient(900px 500px at 80% 10%, rgba(109,76,230,.12), transparent 58%),
    linear-gradient(180deg, rgba(250,248,255,.92), rgba(248,246,250,.92));
}
.admin-header{
  margin-top: 18px;
}
.admin-title h2{
  font-size: 26px;
  letter-spacing: -0.4px;
}
.admin-nav .btn{
  border-radius: 14px;
}
.btn{
  font-weight: 900;
}
.btn--primary{
  box-shadow: 0 10px 26px rgba(109,76,230,.22);
}
.card--glass{
  border-radius: 22px;
}
.form .input, .form select, .form textarea{
  transition: border-color .15s ease, box-shadow .15s ease, transform .08s ease;
}
.form .input:focus, .form select:focus, .form textarea:focus{
  outline: none;
  border-color: rgba(109,76,230,.55);
  box-shadow: 0 0 0 6px rgba(109,76,230,.12);
}
.form__row{ margin-bottom: 14px; }
.form__row--two{ align-items: start; }
.table thead th{
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
  opacity: .75;
}
.table tbody td{
  padding: 14px 12px;
}
.table tbody tr{
  border-top: 1px solid rgba(45,36,86,.08);
}
.table tbody tr:hover{
  background: rgba(109,76,230,.06);
}
.badge{ font-weight: 900; }
.badge--green{ background: rgba(46,204,113,.18); border-color: rgba(46,204,113,.25); }
.badge--red{ background: rgba(231,76,60,.18); border-color: rgba(231,76,60,.25); }
.badge--violet{ background: rgba(109,76,230,.16); border-color: rgba(109,76,230,.22); }
.admin-footer-note{
  opacity:.7;
  font-size: 12px;
  margin-top: 10px;
}


/* === Admin Premium v3 === */
.admin-shell .container{ width: min(1180px, calc(100% - 32px)); }
.topbar .brand{ display:flex; align-items:center; gap:10px; }
.topbar .brand img{ width:34px; height:34px; border-radius:10px; border:1px solid rgba(45,36,86,.12); background:rgba(255,255,255,.65); }
.topbar .brand strong{ letter-spacing:-.3px; }
.admin-nav .btn{ padding: 10px 14px; }
.btn--ghost{ background: rgba(255,255,255,.55); border:1px solid rgba(45,36,86,.12); }
.btn--danger{ box-shadow: 0 10px 26px rgba(231,76,60,.16); }
.card--glass{ padding: 18px; }
.form textarea{ resize: vertical; }

/* Hero single column fallback (sin tarjeta lateral) */
.hero__grid{
  grid-template-columns: 1fr !important;
}

/* Admin Premium v4 */
.btn{
  height: 44px;
  padding: 0 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 14px;
  line-height: 1;
}
.btn--full{ height: 46px; }
.table td form{ display:inline-block; }
.table td .btn{ height: 40px; padding: 0 14px; border-radius: 12px; }
.table td{ vertical-align: middle; }
.table td:last-child{ white-space: nowrap; }
.admin-nav{ align-items:center; }
.card--glass{ padding: 22px; }
.form__row--two{ display:grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 820px){
  .form__row--two{ grid-template-columns: 1fr; }
}
/* Form sections */
.form-section{
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(45,36,86,.10);
  background: rgba(255,255,255,.55);
  margin-bottom: 14px;
}
.form-section h4{ margin: 0 0 10px; }
.form-actions{
  display:flex; justify-content:flex-end; gap:10px; margin-top:10px;
}



/* Dropdown nav (Viajes/Destinos) */
.nav__item{ position: relative; }
.nav__dropdown{ position: relative; }

.nav__dropdown-toggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font: inherit;
  font-weight:700;
  font-size: 14px;
  padding: 10px 10px;
  border-radius: 12px;
  border: 0;
  background: transparent;
  color: var(--ink);
  opacity: .85;
  cursor: pointer;
}
.nav__dropdown-toggle:hover{ opacity:1; background: rgba(109,76,230,.08); }
.nav__caret{ font-size: 12px; opacity:.7; }
.nav__dropdown-menu{
  /* Important: this menu must overlay the hero carousel (no clipping, no scroll-to-see).
     JS positions it using viewport coordinates. */
  position: fixed;
  top: 0;
  left: 0;
  min-width: 220px;
  padding: 10px;
  border-radius: var(--radius2);
  border: 1px solid var(--border);
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(12px);
  box-shadow: var(--shadow);
  display:none;
  z-index: 30000;
}
.nav__dropdown-menu a{
  display:block;
  padding: 10px 12px;
  border-radius: 12px;
  font-weight:700;
  font-size: 14px;
}
.nav__dropdown:hover .nav__dropdown-menu{ display:block; }
.nav__dropdown.is-open .nav__dropdown-menu{ display:block; }
.nav__dropdown.is-open .nav__dropdown-toggle{
  opacity:1;
  background: rgba(109,76,230,.12);
  border: 1px solid rgba(109,76,230,.18);
}
.nav__dropdown:focus-within .nav__dropdown-menu{ display:block; }
.nav__dropdown-toggle{ position:relative; z-index: 2; }

@media (max-width: 760px){
  .brand__logo{ width:44px; height:44px; }
  .nav__dropdown-toggle{ width:100%; justify-content:space-between; }
}


/* === Cards carousel (Destacados) === */
.cards-carousel{
  position: relative;
  display: grid;
  grid-template-columns: 44px 1fr 44px;
  gap: 10px;
  align-items: center;
}
.cards-carousel__btn{
  position: relative;
  z-index: 2;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  border: 1px solid rgba(45,36,86,.14);
  background: rgba(255,255,255,.70);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 24px rgba(18, 10, 60, .10);
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.cards-carousel__btn:active{ transform: translateY(1px); }

.cards-carousel__viewport{
  position: relative;
  z-index: 1;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.cards-carousel__viewport::-webkit-scrollbar{ display:none; }

.cards-carousel__track{
  display:flex;
  gap:14px;
  padding: 10px 6px;
}
.cards-carousel__viewport{ padding: 0 2px; }

.card--trip{
  flex: 0 0 calc(50% - 7px); /* 2 cards per view */
  min-width: 260px;
}
.card--trip__media{
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(45,36,86,.10);
  margin-bottom: 12px;
}
.card--trip__media img{
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}
.card--trip__body{ display:flex; flex-direction:column; gap:10px; }
.card--trip__top{ display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
.card--trip__title{ margin:0; font-size: 18px; }
.card--trip__meta{ display:flex; justify-content:space-between; align-items:center; gap:10px; }

@media (max-width: 820px){
  .cards-carousel{ grid-template-columns: 34px 1fr 34px; }
  .cards-carousel__btn{
  position: relative;
  z-index: 2; width:40px; height:40px; border-radius: 12px; }
  .card--trip{ flex: 0 0 100%; } /* 1 per view on mobile */
  .card--trip__media img{ height: 200px; }
}


/* Full-width hero carousel on home */
.carousel--full{
  width: 100vw;
  margin-left: calc(50% - 50vw);
  border-radius: 0;
}
.carousel--full .carousel__viewport{
  border-radius: 0;
}


/* === Fix header/dropdown on desktop (ensure above hero) === */
.header{
  position: sticky;
  top: 0;
  z-index: 10000;
  backdrop-filter: blur(16px);
}
.nav__dropdown{ position: relative; }
.nav__dropdown-menu{
  z-index: 10001;
}
.carousel--full{
  position: relative;
  z-index: 1;
}

/* === Hero (carrusel principal) fullwidth + lower height === */
.carousel--full{
  width: 100vw;
  margin-left: calc(50% - 50vw);
}
.carousel--full .carousel__viewport{
  height: 70vh;
  max-height: 520px;
  min-height: 320px;
}
@media (max-width: 900px){
  .carousel--full .carousel__viewport{
    height: 55vh;
    max-height: 460px;
    min-height: 260px;
  }
}
@media (max-width: 560px){
  .carousel--full .carousel__viewport{
    height: 45vh;
    max-height: 380px;
    min-height: 220px;
  }
}

/* === Destacados carousels: prevent mobile clipping & make buttons overlay === */
.cards-carousel{
  position: relative;
  display: block; /* override grid to avoid shrinking viewport */
}
 .cards-carousel__viewport{
  overflow-x: auto;
  overflow-y: hidden; /* clip only the cards, not buttons */
  padding: 6px 8px;
}
.cards-carousel__track{
  display:flex;
  gap: 14px;
  padding: 0;
}
.cards-carousel__btn{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
}
.cards-carousel__btn--prev{ left: -6px; }
.cards-carousel__btn--next{ right: -6px; }

@media (max-width: 820px){
  .cards-carousel__btn--prev{ left: -2px; }
  .cards-carousel__btn--next{ right: -2px; }
  .cards-carousel__viewport{ padding: 8px 6px; }
}

/* === Floating social icons (right side) === */
.social-float{
  position: fixed;
  right: 16px;
  bottom: 18px;
  z-index: 12000;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.social-float a{
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(45,36,86,.14);
  box-shadow: 0 10px 24px rgba(18, 10, 60, .14);
  backdrop-filter: blur(10px);
  color: #2b235a;
  text-decoration:none;
}
.social-float a:hover{ transform: translateY(-1px); }
.social-float svg{ width: 22px; height: 22px; }
@media (max-width: 560px){
  .social-float{ right: 10px; bottom: 12px; }
  .social-float a{ width: 44px; height: 44px; border-radius: 15px; }
}

/* Social icons (Font Awesome) */
.social-float a i{ font-size: 20px; }
.social-float a.social--wa i{ color:#25D366; }
.social-float a.social--ig i{ color:#E1306C; }
.social-float a.social--fb i{ color:#1877F2; }
.social-float a.social--tt i{ color:#111111; }
.social-float a:hover{ transform: translateY(-2px); }


/* Dropdown desktop fallback (hover) */
@media (hover:hover) and (pointer:fine){
  .nav__dropdown:hover .nav__dropdown-menu{ display:block; }
  .nav__dropdown:hover .nav__dropdown-toggle{
    opacity:1;
    background: rgba(109,76,230,.12);
    border: 1px solid rgba(109,76,230,.18);
  }
}

/* Socials fixed (no FontAwesome dependency) */
.socials-fixed{
  position: fixed;
  right: 18px;
  bottom: 110px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 40000;
}
.social-btn{
  width: 52px; height: 52px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.55);
  box-shadow: 0 18px 50px rgba(45,36,86,.18);
  backdrop-filter: blur(10px);
  transform: translateZ(0);
  transition: transform .15s ease, filter .15s ease;
}
.social-btn:hover{ transform: translateY(-2px); filter: brightness(1.04); }
.social-ico{ width: 24px; height: 24px; fill: #fff; }
.social--wa{ background: #25D366; }
.social--fb{ background: #1877F2; }
.social--ig{ background: radial-gradient(circle at 30% 110%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); }
.social--tt{ background: #111; }

@media (max-width: 520px){
  .socials-fixed{ right: 12px; bottom: 90px; gap: 10px; }
  .social-btn{ width: 46px; height: 46px; }
  .social-ico{ width: 22px; height: 22px; }
}

.nav__dropdownBtn{pointer-events:auto; z-index:50000;}


/* === Dropdown Viajes/Destinos (Portal overlay definitivo) === */
.nav__dropdown-menu{ display:none !important; } /* el menú inline queda oculto; se renderiza en portal */

.nav__dropdown-portal{
  position: fixed;
  z-index: 999999;
  min-width: 220px;
  max-width: min(92vw, 360px);
  padding: 10px;
  border-radius: var(--radius2, 16px);
  border: 1px solid rgba(45,36,86,.14);
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(12px);
  box-shadow: 0 18px 48px rgba(18,10,60,.18);
}
.nav__dropdown-portal a{
  display:block;
  padding: 10px 12px;
  border-radius: 12px;
  font-weight: 800;
  color: var(--ink, #1b1538);
  text-decoration:none;
}
.nav__dropdown-portal a:hover{
  background: rgba(109,76,230,.10);
}

/* --- Cotización en detalle de viaje (forzar visibilidad y estilo consistente) --- */
.mini-form{display:block !important; margin-top:14px;}
.mini-form label{display:block; font-size:12px; font-weight:600; margin:0 0 6px; opacity:.85;}
.mini-form input{width:100%; padding:10px 12px; border:1px solid rgba(35,35,70,.18); border-radius:12px; background:#fff; color:#1b1b2b; outline:none;}
.mini-form input:focus{border-color:rgba(110,87,255,.55); box-shadow:0 0 0 3px rgba(110,87,255,.12);}
.mini-form .mini-grid{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:10px;}
@media (max-width: 720px){
  .mini-form .mini-grid{grid-template-columns:1fr;}
}
.mini-form .mini-total{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; padding-top:10px; border-top:1px dashed rgba(35,35,70,.18);}
.mini-form .mini-total strong{font-size:15px;}
.mini-form .btn-primary{width:100%; margin-top:12px;}

/* --- Nosotros: Misión, Visión y Equipo --- */
.about-mv{margin-top:24px;}
.about-mv .mv-grid{display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px;}
@media (max-width: 900px){
  .about-mv .mv-grid{grid-template-columns:1fr;}
}
.about-mv .mv-card{background:rgba(255,255,255,.75); border:1px solid rgba(45,36,86,.10); border-radius:18px; padding:18px; box-shadow:0 14px 40px rgba(18,10,60,.10);}
.about-mv .mv-card h3{margin:0 0 8px; font-size:18px;}
.about-mv .mv-card p{margin:0; opacity:.9; line-height:1.6;}

/* ===== Nosotros (premium) ===== */
.page-hero.page-hero--about{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(1200px 500px at 20% -10%, rgba(120,98,255,.20), transparent 55%),
    radial-gradient(900px 450px at 90% 0%, rgba(255,140,70,.12), transparent 55%),
    linear-gradient(180deg, rgba(120,98,255,.10), rgba(255,255,255,.0));
}
.page-hero.page-hero--about::before{
  content:"";
  position:absolute;
  inset:-2px;
  background:
    radial-gradient(600px 260px at 10% 10%, rgba(255,255,255,.55), transparent 60%),
    radial-gradient(520px 240px at 85% 15%, rgba(255,255,255,.45), transparent 62%);
  pointer-events:none;
  mix-blend-mode:soft-light;
}
.about-hero{position:relative;}
.about-hero h1{letter-spacing:-.02em;}
.about-hero__chips{margin-top:12px; display:flex; flex-wrap:wrap; gap:10px;}
.chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.66);
  border:1px solid rgba(120,98,255,.18);
  box-shadow:0 12px 30px rgba(31,35,80,.06);
  font-weight:700;
  font-size:13px;
  color:#2c2b44;
  backdrop-filter:saturate(140%) blur(8px);
}

.about-mv .mv-card{
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.about-mv .mv-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 55px rgba(31,35,80,.10);
  border-color:rgba(120,98,255,.22);
}
.mv-card__head{display:flex; align-items:center; gap:10px; margin-bottom:8px;}
.mv-badge{
  width:38px;
  height:38px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg, rgba(120,98,255,.18), rgba(120,98,255,.06));
  border:1px solid rgba(120,98,255,.22);
}
.mv-card__head h3{margin:0; font-size:18px;}

.section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin:0 0 14px;
}
.section-head h2{margin:0; letter-spacing:-.02em;}
.section-head p{margin:0; max-width:520px; color:#6a6a7c;}

.team-card{overflow:hidden; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;}
.team-card:hover{transform:translateY(-4px); box-shadow:0 26px 80px rgba(31,35,80,.12); border-color:rgba(120,98,255,.22);} 
.team-media{position:relative; background:linear-gradient(135deg, rgba(120,98,255,.10), rgba(255,255,255,.0));}
.team-photo{width:100%; height:220px; object-fit:cover; display:block;}
.team-photo:not(img){
  background:linear-gradient(135deg, rgba(120,98,255,.10), rgba(255,255,255,.0));
}
.team-media::after{content:""; position:absolute; inset:auto 0 0 0; height:80px; background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.08)); pointer-events:none;}
.team-body{padding:14px 14px 16px;}
.team-top{display:flex; align-items:center; justify-content:space-between; gap:10px;}
.team-name{font-weight:800; letter-spacing:-.01em;}
.role-pill{display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; background:rgba(120,98,255,.10); border:1px solid rgba(120,98,255,.18); font-weight:800; font-size:12px; color:#3f3a75; white-space:nowrap;}
.team-fn{margin-top:8px; color:#6a6a7c;}

.about-cta__card{
  max-width:1100px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(120,98,255,.16);
  background:
    radial-gradient(700px 280px at 0% 0%, rgba(120,98,255,.12), transparent 55%),
    radial-gradient(700px 280px at 100% 0%, rgba(255,140,70,.10), transparent 60%),
    rgba(255,255,255,.78);
  box-shadow:0 18px 60px rgba(31,35,80,.10);
  backdrop-filter:saturate(140%) blur(10px);
}
.about-cta__card h3{margin:0 0 6px;}
.about-cta__card p{margin:0; color:#6a6a7c;}

@media (max-width: 860px){
  .section-head{flex-direction:column; align-items:flex-start;}
  .about-cta__card{flex-direction:column; align-items:stretch;}
  .about-cta__card .btn{width:100%; text-align:center;}
}

.team-wrap{margin-top:22px;}
.team-wrap .team-grid{display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px;}
@media (max-width: 1100px){
  .team-wrap .team-grid{grid-template-columns:repeat(3, minmax(0, 1fr));}
}
@media (max-width: 820px){
  .team-wrap .team-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media (max-width: 520px){
  .team-wrap .team-grid{grid-template-columns:1fr;}
}
.team-card{background:#fff; border:1px solid rgba(45,36,86,.10); border-radius:18px; overflow:hidden; box-shadow:0 12px 34px rgba(18,10,60,.10);}
.team-card .team-photo{width:100%; aspect-ratio: 4/3; background:#f1f0f7; display:block; object-fit:cover;}
.team-card .team-body{padding:14px;}
.team-card .team-name{margin:0; font-weight:900; font-size:16px;}
.team-card .team-role{margin:2px 0 10px; opacity:.8; font-weight:700;}
.team-card .team-fn{margin:0; opacity:.9; line-height:1.5; font-size:14px;}



/* Contacto - Ubicación */
.contact-location{
  position: relative;
  padding: 18px 18px 6px;
  border-radius: 26px;
  background:
    radial-gradient(1200px 600px at 10% 10%, rgba(122,96,255,.14) 0%, rgba(122,96,255,0) 60%),
    radial-gradient(900px 520px at 90% 20%, rgba(255,88,146,.10) 0%, rgba(255,88,146,0) 55%),
    rgba(255,255,255,.06);
  border: 1px solid rgba(122,96,255,.18);
  box-shadow: 0 22px 60px rgba(17, 24, 39, .10);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  overflow: hidden;
}

.contact-location:before{
  content:"";
  position:absolute;
  inset:-2px;
  background: linear-gradient(120deg, rgba(122,96,255,.20), rgba(255,88,146,.10), rgba(122,96,255,.16));
  opacity:.55;
  filter: blur(26px);
  pointer-events:none;
}

.contact-location__head{
  position: relative;
  z-index: 1;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding: 6px 8px 16px;
}

.contact-location__head h2{
  margin:0;
  font-size: clamp(22px, 2.2vw, 30px);
  letter-spacing: -0.02em;
}

.contact-location__head p{
  margin: 0;
  color: var(--muted);
  max-width: 520px;
  text-align: right;
}

.contact-location__grid{
  position: relative;
  z-index: 1;
  display:grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 22px;
  align-items: stretch;
}

.contact-location__photos,
.contact-location__map{
  border-radius: 22px;
  border: 1px solid rgba(122,96,255,.22);
  background: rgba(122,96,255,.10);
  box-shadow:
    0 10px 26px rgba(17, 24, 39, .08),
    inset 0 1px 0 rgba(255,255,255,.35);
  overflow: hidden;
}

.contact-location__photos{
  padding: 18px;
  display:flex;
  flex-direction: column;
  gap: 14px;
}

.contact-location__photosHead{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap: 10px;
}

.contact-location__photosHead h3{
  margin: 0;
  font-size: 18px;
  letter-spacing: -0.01em;
}

.contact-location__photosHead span{
  color: var(--muted);
  font-size: 14px;
}

.contact-location__photosGrid{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 14px;
}

.contact-photo{
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 10px 22px rgba(17,24,39,.10);
  transition: transform .18s ease, box-shadow .18s ease;
}

.contact-photo:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(17,24,39,.14);
}

.contact-photo img{
  width:100%;
  height: 220px;
  object-fit: cover;
  display:block;
}

.contact-photo__cap{
  padding: 10px 12px;
  font-weight: 700;
  font-size: 12px;
  color: rgba(17, 24, 39, .72);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.contact-location__map{
  padding: 18px;
  display:flex;
  flex-direction: column;
  gap: 12px;
}

.contact-location__mapHead h3{
  margin: 0;
  font-size: 18px;
  letter-spacing: -0.01em;
}

.contact-location__mapHead p{
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 14px;
}

.contact-location__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.12);
  border: 1px solid rgba(255,255,255,.22);
}

.contact-location__meta strong{
  display:block;
  font-size: 14px;
  letter-spacing: -0.01em;
}

.contact-location__meta span{
  display:block;
  color: rgba(17, 24, 39, .60);
  font-size: 13px;
  margin-top: 2px;
}

.contact-location__call{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(122,96,255,.16);
  border: 1px solid rgba(122,96,255,.26);
  font-weight: 800;
  color: var(--primary);
  text-decoration:none;
  white-space: nowrap;
  transition: transform .18s ease, box-shadow .18s ease;
}

.contact-location__call:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(122,96,255,.18);
}

.contact-location__iframe{
  border-radius: 18px;
  overflow:hidden;
  border: 1px solid rgba(255,255,255,.22);
  background: rgba(255,255,255,.10);
}

.contact-location__iframe iframe{
  width:100%;
  height: 320px;
  border:0;
  display:block;
  filter: saturate(1.02) contrast(1.02);
}

@media (max-width: 1100px){
  .contact-location__grid{
    grid-template-columns: 1fr;
  }
  .contact-location__head p{
    text-align:left;
  }
  .contact-photo img{
    height: 200px;
  }
  .contact-location__iframe iframe{
    height: 280px;
  }
}

@media (max-width: 560px){
  .contact-location{
    padding: 14px 14px 6px;
    border-radius: 22px;
  }
  .contact-location__head{
    flex-direction: column;
    align-items:flex-start;
    padding: 6px 6px 12px;
  }
  .contact-location__photosGrid{
    grid-template-columns: 1fr;
  }
  .contact-photo img{
    height: 210px;
  }
  .contact-location__iframe iframe{
    height: 260px;
  }
}

/* Contacto - layout del formulario (sin cuadro lateral) */
.contact-grid{grid-template-columns:1fr !important;}

/* === Contacto (Premium++): Galería + Lightbox === */
.contact-location{position:relative; overflow:hidden;}
.contact-location::before{
  content:"";
  position:absolute;
  inset:-120px -120px auto -120px;
  height:360px;
  background:
    radial-gradient(closest-side, rgba(120,82,255,.22), rgba(120,82,255,0) 70%),
    radial-gradient(closest-side, rgba(255,120,210,.14), rgba(255,120,210,0) 72%);
  filter: blur(2px);
  pointer-events:none;
}
.contact-location::after{
  content:"";
  position:absolute;
  inset:auto -160px -160px -160px;
  height:420px;
  background:
    radial-gradient(closest-side, rgba(120,82,255,.14), rgba(120,82,255,0) 72%),
    radial-gradient(closest-side, rgba(90,200,255,.10), rgba(90,200,255,0) 72%);
  pointer-events:none;
}

.contact-location__card{
  position:relative;
  background: rgba(118, 90, 255, .10);
  border: 1px solid rgba(170, 140, 255, .35);
  box-shadow:
    0 22px 60px rgba(28, 18, 58, .16),
    0 6px 18px rgba(28, 18, 58, .10);
}
.contact-location__card::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius: inherit;
  background:
    linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,0) 45%),
    radial-gradient(900px 220px at 22% 0%, rgba(255,255,255,.14), rgba(255,255,255,0) 55%);
  pointer-events:none;
}
.contact-location__card:hover{
  transform: translateY(-2px);
  transition: transform .18s ease, box-shadow .18s ease;
  box-shadow:
    0 26px 70px rgba(28, 18, 58, .18),
    0 10px 22px rgba(28, 18, 58, .12);
}

.contact-location__titleRow{gap:10px;}
.contact-location__titleRow h3{letter-spacing:-.02em;}

/* Galería */
.contact-gallery{display:grid; gap:12px;}
.contact-gallery__main{position:relative;}
.contact-gallery__open{
  position:relative;
  display:block;
  width:100%;
  border:0;
  padding:0;
  background:transparent;
  border-radius:18px;
  overflow:hidden;
  cursor:pointer;
}
.contact-gallery__open img{
  width:100%;
  height:360px;
  object-fit:cover;
  display:block;
  transform: scale(1.01);
  transition: transform .35s ease;
}
.contact-gallery__open:hover img{transform: scale(1.035);}
.contact-gallery__shine{
  position:absolute;
  inset:-40% -40% auto -40%;
  height:60%;
  background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.18), rgba(255,255,255,0));
  transform: rotate(12deg) translateX(-30%);
  opacity:.0;
  transition: opacity .2s ease, transform .55s ease;
  pointer-events:none;
}
.contact-gallery__open:hover .contact-gallery__shine{opacity:1; transform: rotate(12deg) translateX(55%);}
.contact-gallery__badge{
  position:absolute;
  left:14px;
  bottom:14px;
  font-weight:700;
  font-size:.9rem;
  padding:8px 12px;
  border-radius:999px;
  color:#231b3f;
  background: rgba(255,255,255,.70);
  border: 1px solid rgba(170,140,255,.35);
  backdrop-filter: blur(10px);
}
.contact-gallery__thumbs{
  display:flex;
  gap:10px;
  overflow:auto;
  padding-bottom:4px;
  scrollbar-width: thin;
}
.contact-gallery__thumb{
  flex: 0 0 auto;
  width:84px;
  height:58px;
  border-radius:14px;
  border: 1px solid rgba(170,140,255,.28);
  background: rgba(255,255,255,.32);
  overflow:hidden;
  cursor:pointer;
  padding:0;
}
.contact-gallery__thumb img{width:100%; height:100%; object-fit:cover; display:block; opacity:.86;}
.contact-gallery__thumb.is-active{outline: 2px solid rgba(120,82,255,.55);}
.contact-gallery__thumb.is-active img{opacity:1;}
.contact-gallery__caption{
  min-height: 18px;
  font-size:.92rem;
  color: rgba(35, 27, 63, .76);
  padding: 0 2px;
}

/* Lightbox */
body.is-modal-open{overflow:hidden;}
.contact-lightbox{
  position:fixed;
  inset:0;
  z-index: 9999;
  display:none;
}
.contact-lightbox[aria-hidden="false"]{display:block;}
.contact-lightbox__backdrop{
  position:absolute;
  inset:0;
  background: rgba(10, 7, 20, .58);
  backdrop-filter: blur(10px);
}
.contact-lightbox__panel{
  position:relative;
  width:min(980px, calc(100% - 28px));
  margin: 28px auto;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(170,140,255,.30);
  border-radius: 22px;
  box-shadow: 0 30px 80px rgba(0,0,0,.35);
  overflow:hidden;
}
.contact-lightbox__panel img{
  width:100%;
  height: min(70vh, 640px);
  object-fit: contain;
  background: rgba(0,0,0,.22);
  display:block;
}
.contact-lightbox__caption{
  padding: 14px 16px;
  color: rgba(255,255,255,.88);
}
.contact-lightbox__close{
  position:absolute;
  top:10px;
  right:12px;
  width:40px;
  height:40px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.25);
  background: rgba(255,255,255,.14);
  color: rgba(255,255,255,.92);
  font-size: 24px;
  line-height: 1;
  cursor:pointer;
}

@media (max-width: 1100px){
  .contact-gallery__open img{height: 320px;}
}
@media (max-width: 560px){
  .contact-gallery__open img{height: 240px;}
  .contact-gallery__thumb{width:78px; height:54px;}
}


/* ===== Rebuild v12: professional visual system ===== */
:root{
  --page-max: 1180px;
  --surface: rgba(255,255,255,.72);
  --surface-strong: rgba(255,255,255,.88);
  --muted: #736b89;
  --line: rgba(65,53,117,.12);
  --shadow-lg: 0 22px 60px rgba(44,29,100,.14);
  --shadow-md: 0 16px 38px rgba(44,29,100,.10);
}
body{background:radial-gradient(900px 380px at 15% -5%, rgba(168,134,255,.20), transparent 60%),radial-gradient(700px 320px at 100% 0%, rgba(109,76,230,.18), transparent 55%),linear-gradient(180deg, #fbf8f3 0%, #f7f3ee 46%, #f6f2ff 100%);min-height:100vh;}
.container{width:min(var(--page-max), 92%);}
.header{background:rgba(250,247,242,.74);box-shadow:0 10px 30px rgba(45,36,86,.06);}
.header__nav{padding:16px 0;}
.brand{gap:14px;}.brand__name{font-size:clamp(1rem,1.5vw,1.45rem);max-width:220px;line-height:1.05;}.brand__logo{width:56px;height:56px;border-radius:16px;}
.nav{gap:6px;flex-wrap:wrap;justify-content:flex-end;}
.nav a,.nav__dropdown-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;border:1px solid transparent;background:transparent;cursor:pointer;font:inherit;color:var(--ink);font-weight:800;font-size:14px;padding:10px 14px;border-radius:14px;}
.nav a:hover,.nav__dropdown-toggle:hover,.nav a.is-active{background:rgba(109,76,230,.08);border-color:rgba(109,76,230,.14);opacity:1;}
.nav__dropdown{position:relative;}.nav__dropdown-menu{min-width:220px;border-radius:18px;border:1px solid var(--line);background:var(--surface-strong);backdrop-filter:blur(18px);box-shadow:var(--shadow-lg);padding:10px;}
.nav__dropdown-menu a{display:flex;width:100%;}
.section{padding:56px 0;}.section__head--compact{display:flex;justify-content:space-between;gap:18px;align-items:end;}
.carousel{border:none;background:#fff;box-shadow:var(--shadow-lg);}.carousel--full{border-radius:0;box-shadow:none;background:transparent;}
.carousel__viewport{aspect-ratio:16/6.4;min-height:260px;background:linear-gradient(135deg,#351569,#7a2ddb);} .carousel__slide picture,.carousel__slide img{display:block;width:100%;height:100%;}
.carousel__img{object-fit:cover;object-position:center center;}.carousel__overlay{background:linear-gradient(90deg, rgba(28,12,60,.50) 0%, rgba(28,12,60,.20) 34%, rgba(28,12,60,.02) 62%);} 
.carousel__content{left:calc(4vw + 8px);bottom:36px;max-width:420px;}.carousel__content h3{font-size:clamp(1.6rem,3vw,3rem);line-height:1;letter-spacing:-.03em;}.carousel__content .muted{font-size:15px;color:rgba(255,255,255,.85);} 
.carousel__btn{width:52px;height:52px;border-radius:18px;background:rgba(255,255,255,.18);backdrop-filter:blur(12px);} .carousel__dots{position:absolute;bottom:16px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:6;} .carousel__dot{width:10px;height:10px;border-radius:999px;border:none;background:rgba(255,255,255,.42);} .carousel__dot.is-active{width:28px;background:#fff;}
.cards-carousel__viewport{padding:6px 2px;}
.card,.panel,.form,.table{background:var(--surface);border-color:var(--line);box-shadow:var(--shadow-md);} .card{border-radius:24px;} .card h3{font-size:1.15rem;line-height:1.2;}
.card--trip{display:flex;flex-direction:column;height:100%;}.card--trip__media img,.service-card img{transition:transform .45s ease;}.card:hover .card--trip__media img,.service-card:hover img{transform:scale(1.04);} 
.btn{border-radius:16px;transition:transform .2s ease, box-shadow .2s ease, background .2s ease;}.btn:hover{transform:translateY(-1px);} .btn--primary{box-shadow:0 14px 32px rgba(109,76,230,.25);} 
.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;} .service-card{display:flex;flex-direction:column;gap:14px;text-decoration:none;color:var(--ink);padding:22px;border-radius:24px;border:1px solid var(--line);background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,243,255,.82));box-shadow:var(--shadow-md);min-height:220px;} .service-card__icon{width:54px;height:54px;display:grid;place-items:center;border-radius:18px;font-size:1.6rem;background:rgba(109,76,230,.12);border:1px solid rgba(109,76,230,.18);} .service-card h3{margin:0 0 8px;}.service-card p{margin:0;color:var(--muted);line-height:1.55;}.service-card__cta{margin-top:auto;font-weight:800;color:var(--primary);} 
.two-col--trip{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);} .mini-form input,.mini-form textarea,.mini-form select{font:inherit;} .muted{color:var(--muted);} 
.footer{background:rgba(255,255,255,.58);} .social-float a{box-shadow:var(--shadow-md);} .admin-shell{background:linear-gradient(180deg,#f6f2ff 0%,#fbf8f2 100%);} .admin-header-card{border-radius:30px;} .admin-form-card{padding:22px !important;} .admin-form-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:22px;}
.admin-preview-grid{display:flex;gap:14px;margin-top:14px;flex-wrap:wrap;} .admin-preview-card{margin:0;padding:10px;width:min(100%, 320px);border-radius:20px;background:rgba(255,255,255,.9);border:1px solid var(--line);} .admin-preview-card figcaption{font-size:12px;font-weight:800;color:var(--muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.08em;} .admin-preview-card img{display:block;width:100%;height:180px;object-fit:cover;border-radius:14px;} .admin-preview-card--mobile{width:180px;} .admin-preview-card--mobile img{height:260px;}
.carousel-admin-thumb{position:relative;width:120px;}.carousel-admin-thumb img{width:120px;height:72px;object-fit:cover;border-radius:14px;border:1px solid var(--line);} .carousel-admin-thumb span{position:absolute;right:6px;bottom:6px;font-size:11px;font-weight:800;color:#fff;background:rgba(45,36,86,.8);padding:4px 8px;border-radius:999px;}
.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;} .dashboard-card{min-height:240px;display:flex;flex-direction:column;} .dashboard-card .btn{margin-top:auto;} .dashboard-card--accent{background:linear-gradient(180deg, rgba(109,76,230,.10), rgba(255,255,255,.84));}
.label{display:block;margin:0 0 8px;font-weight:800;color:var(--ink);} .input,input.input,select.input,textarea.input{width:100%;padding:13px 14px;border-radius:16px;border:1px solid var(--line);background:#fff;font:inherit;}
@media (max-width: 1100px){.service-grid,.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 900px){.admin-form-grid,.service-grid,.dashboard-grid,.two-col--trip,.about-grid,.team-grid{grid-template-columns:1fr;}.section__head--compact{display:block;}}
@media (max-width: 760px){.header__nav{padding:14px 0;}.brand__name{max-width:170px;font-size:1.1rem;}.nav{top:84px;padding:14px;border-radius:22px;background:rgba(255,255,255,.92);}.carousel__viewport{aspect-ratio:4/5;min-height:360px;}.carousel__img{object-position:center center;}.carousel__content{left:18px;right:18px;bottom:22px;max-width:none;}.carousel__content h3{font-size:1.55rem;}.carousel__controls{padding:0 8px;}.carousel__btn{width:44px;height:44px;}.service-card{min-height:unset;}}
@media (max-width: 480px){.container{width:min(94%, var(--page-max));}.brand__logo{width:48px;height:48px;}.brand__name{font-size:1rem;max-width:150px;}.nav__toggle{width:48px;height:48px;}.carousel__viewport{min-height:320px;}.section{padding:42px 0;}.card{border-radius:22px;}}

/* ==== Premium refinement March 2026 ==== */
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(109,76,230,.08);border:1px solid rgba(109,76,230,.16);color:var(--primary);font-size:12px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;}
.eyebrow--light{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.26);color:#fff;backdrop-filter:blur(10px);}
.section__head--split{display:flex;justify-content:space-between;gap:20px;align-items:end;}
.section__head--split > *{flex:1;}
.section__head--split p{max-width:520px;justify-self:end;}
.premium-band{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:stretch;padding:30px;border-radius:32px;border:1px solid rgba(109,76,230,.14);background:linear-gradient(135deg, rgba(255,255,255,.95), rgba(242,235,255,.88));box-shadow:0 20px 60px rgba(45,36,86,.10);}
.premium-band h1{margin:12px 0 10px;font-size:clamp(2rem,3.6vw,3.4rem);line-height:1.02;color:var(--ink);}
.premium-band p{margin:0;max-width:62ch;line-height:1.65;color:rgba(45,36,86,.82);}
.premium-band__stats{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:14px;}
.premium-kpi{padding:18px 20px;border-radius:24px;background:rgba(255,255,255,.82);border:1px solid rgba(109,76,230,.10);display:flex;flex-direction:column;justify-content:center;min-height:110px;}
.premium-kpi strong{font-size:clamp(1.9rem,3vw,2.8rem);color:var(--ink);line-height:1;}
.premium-kpi span{margin-top:8px;color:rgba(45,36,86,.72);font-weight:700;}
.hero-strip__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.hero-strip__badge{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:13px;font-weight:800;backdrop-filter:blur(8px);}
.home-hero-copy{max-width:520px;}
.card--trip-premium{overflow:hidden;padding:0;border-radius:28px;}
.card--trip-premium .card--trip__media{aspect-ratio:4/3;overflow:hidden;}
.card--trip-premium .card--trip__media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.card--trip-premium:hover .card--trip__media img{transform:scale(1.05);}
.card--trip-premium .card--trip__body{padding:18px;}
.service-grid--premium .service-card{position:relative;overflow:hidden;}
.service-grid--premium .service-card:before{content:"";position:absolute;inset:auto -40px -40px auto;width:110px;height:110px;border-radius:999px;background:radial-gradient(circle, rgba(109,76,230,.18), rgba(109,76,230,0));}
.home-bottom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.premium-copy-card{padding:24px;min-height:210px;display:flex;flex-direction:column;gap:12px;}
.premium-copy-card h3{font-size:1.55rem;margin:0;line-height:1.08;}
.premium-copy-card p{margin:0;color:rgba(45,36,86,.78);line-height:1.65;}
.premium-copy-card--accent{background:linear-gradient(135deg, rgba(109,76,230,.10), rgba(255,255,255,.92));}
.mini--dark span{background:rgba(45,36,86,.06);padding:8px 12px;border-radius:999px;font-weight:700;color:var(--ink);}
.mini--stacked{display:flex;flex-direction:column;gap:8px;align-items:flex-start;}
.section--trip-hero{padding-top:28px;background:linear-gradient(180deg, rgba(255,255,255,.38), rgba(255,255,255,0));}
.trip-hero-card{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;padding:28px;border-radius:32px;border:1px solid rgba(109,76,230,.12);background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(243,238,255,.90));box-shadow:0 18px 50px rgba(45,36,86,.08);}
.trip-hero-card h1{margin:12px 0 10px;font-size:clamp(2.2rem,4vw,4rem);line-height:1;color:var(--ink);}
.trip-hero-card p{margin:0;max-width:62ch;color:rgba(45,36,86,.8);line-height:1.65;}
.trip-hero-pills{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.trip-hero-pills span{padding:10px 14px;border-radius:999px;background:rgba(109,76,230,.08);border:1px solid rgba(109,76,230,.12);font-size:13px;font-weight:800;color:var(--ink);}
.trip-hero-side{display:flex;flex-direction:column;justify-content:center;gap:12px;}
.trip-hero-price{padding:18px;border-radius:24px;background:rgba(255,255,255,.85);border:1px solid rgba(109,76,230,.10);font-weight:700;color:rgba(45,36,86,.74);}
.trip-hero-price strong{display:block;margin-top:6px;font-size:clamp(2rem,3vw,3rem);line-height:1;color:var(--ink);}
.two-col--trip-pro{align-items:start;}
.trip-gallery-card img{min-height:340px;}
.trip-highlights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.trip-highlight-box{display:flex;flex-direction:column;gap:6px;padding:18px;}
.trip-highlight-box strong{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:rgba(45,36,86,.56);}
.trip-highlight-box span{font-size:1.08rem;font-weight:800;color:var(--ink);}
.trip-copy-card h3{margin:12px 0 8px;font-size:1.5rem;}
.checklist--pro{padding-left:0;list-style:none;display:grid;gap:10px;}
.checklist--pro li{position:relative;padding:12px 14px 12px 44px;border-radius:16px;background:rgba(109,76,230,.06);margin:0;}
.checklist--pro li:before{content:"✓";position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:999px;display:grid;place-items:center;background:var(--primary);color:#fff;font-size:12px;font-weight:900;}
.trip-aside-pro{position:sticky;top:96px;padding:24px;border-radius:28px;background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(245,239,255,.92));border:1px solid rgba(109,76,230,.14);box-shadow:0 18px 50px rgba(45,36,86,.08);}
.trip-aside-head h3{margin:10px 0 8px;font-size:2rem;line-height:1;}
.trip-aside-head p{margin:0;color:rgba(45,36,86,.76);line-height:1.55;}
.quote-form-pro label{display:block;font-weight:800;margin:10px 0 6px;color:var(--ink);}
.quote-form-pro input,.quote-form-pro textarea{width:100%;padding:12px 14px;border-radius:14px;border:1px solid rgba(45,36,86,.16);background:rgba(255,255,255,.82);font-family:inherit;}
.quote-total-box{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:14px;padding:14px 16px;border-radius:18px;background:rgba(109,76,230,.10);border:1px solid rgba(109,76,230,.18);}
.quote-total-box strong{display:block;color:var(--ink);} .quote-total-box span{display:block;margin-top:4px;font-size:13px;color:rgba(45,36,86,.62);} .quote-total-box #qTotal{font-weight:900;font-size:1.5rem;color:var(--ink);}
.quote-action-stack{display:grid;gap:10px;margin-top:14px;}
.admin-header-card--premium{padding:24px 26px;border-radius:30px;background:linear-gradient(135deg, rgba(255,255,255,.98), rgba(242,235,255,.92));}
.admin-header-main{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-bottom:16px;}
.admin-header-actions{display:flex;gap:10px;flex-wrap:wrap;}
.admin-nav-pills{display:flex;gap:10px;flex-wrap:wrap;}
.executive-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;}
.executive-kpi{padding:18px 20px;border-radius:24px;background:rgba(255,255,255,.82);border:1px solid rgba(109,76,230,.10);box-shadow:0 10px 30px rgba(45,36,86,.06);}
.executive-kpi span{display:block;font-size:13px;font-weight:700;color:rgba(45,36,86,.62);text-transform:uppercase;letter-spacing:.04em;}
.executive-kpi strong{display:block;margin-top:10px;font-size:2rem;color:var(--ink);line-height:1;}
.dashboard-grid--executive .dashboard-card--premium{background:linear-gradient(180deg, rgba(109,76,230,.08), rgba(255,255,255,.92));}
@media (max-width: 1100px){.premium-band,.trip-hero-card,.executive-strip{grid-template-columns:repeat(2,minmax(0,1fr));}.trip-highlights-grid{grid-template-columns:1fr;}}
@media (max-width: 900px){.section__head--split,.admin-header-main{display:block;}.premium-band,.trip-hero-card,.home-bottom-grid,.executive-strip{grid-template-columns:1fr;}.trip-aside-pro{position:static;}.trip-hero-side{align-items:flex-start;}.trip-highlights-grid{grid-template-columns:1fr;}}
@media (max-width: 760px){.premium-band,.trip-hero-card,.admin-header-card--premium{padding:20px;}.carousel__content.home-hero-copy{bottom:26px;}.carousel__content.home-hero-copy h3{font-size:1.9rem;}.trip-aside-head h3{font-size:1.6rem;}.quote-total-box{display:block;}.quote-total-box #qTotal{margin-top:8px;}.hero-strip__badge{font-size:12px;}}
@media (max-width: 480px){.premium-band h1,.trip-hero-card h1{font-size:2rem;}.section__head--split p{max-width:none;}.service-grid--premium .service-card,.premium-copy-card{padding:20px;}}

/* ==== Custom home/header simplification April 2026 ==== */
.brand--header-logo{display:flex;align-items:center;justify-content:flex-start;min-width:220px;}
.brand__logo--header{width:220px;height:96px;padding:10px 14px;border-radius:0;background:transparent;border:none;box-shadow:none;}
.brand__logo--header img{width:100%;height:100%;object-fit:contain;object-position:left center;}
@media (max-width: 760px){
  .brand--header-logo{min-width:auto;max-width:190px;}
  .brand__logo--header{width:190px;height:72px;padding:6px 0;}
}
@media (max-width: 480px){
  .brand--header-logo{max-width:170px;}
  .brand__logo--header{width:170px;height:64px;}
}

/* ==== Premium sticky header SaaS April 2026 ==== */
.header{
  position:sticky;
  top:0;
  z-index:30000;
  background:rgba(255,250,246,.74);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(45,36,86,.08);
  transition:background .28s ease, box-shadow .28s ease, border-color .28s ease, transform .28s ease;
}
.header.is-scrolled{
  background:rgba(255,255,255,.90);
  box-shadow:0 18px 40px rgba(45,36,86,.10);
  border-bottom-color:rgba(109,76,230,.12);
}
.header__nav{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  column-gap:28px;
  padding:12px 0;
}
.brand--header-logo{
  min-width:auto;
  width:clamp(150px, 15vw, 210px);
  max-width:210px;
}
.brand__logo--header{
  width:100%;
  height:110px;
  padding:0;
  border:none;
  border-radius:0;
  box-shadow:none;
  background:transparent;
  overflow:visible;
}
.brand__logo--header img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
  transform-origin:center left;
}
.nav{
  justify-content:center;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.nav a,
.nav__dropdown-toggle{
  position:relative;
  overflow:hidden;
  transition:transform .22s ease, background .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease;
}
.nav a::after,
.nav__dropdown-toggle::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:8px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, var(--primary), var(--primary2));
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .22s ease;
  opacity:.95;
}
.nav a:hover,
.nav__dropdown-toggle:hover,
.nav a.is-active,
.nav__dropdown.is-open .nav__dropdown-toggle{
  transform:translateY(-1px);
  background:rgba(109,76,230,.08);
  border-color:rgba(109,76,230,.14);
  box-shadow:0 10px 24px rgba(109,76,230,.10);
}
.nav a:hover::after,
.nav__dropdown-toggle:hover::after,
.nav a.is-active::after,
.nav__dropdown.is-open .nav__dropdown-toggle::after{
  transform:scaleX(1);
}
.nav__dropdown-menu,
.nav__dropdown-portal{
  animation:menuFloatIn .20s ease;
}
@keyframes menuFloatIn{
  from{opacity:0;transform:translateY(8px) scale(.98);}
  to{opacity:1;transform:translateY(0) scale(1);}
}
@media (max-width: 900px){
  .header__nav{column-gap:14px;}
  .brand--header-logo{width:170px;max-width:170px;}
  .brand__logo--header{height:88px;}
}
@media (max-width: 760px){
  .header__nav{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:10px 0;
  }
  .brand--header-logo{width:140px;max-width:140px;}
  .brand__logo--header{height:72px;}
  .nav{
    justify-content:flex-start;
    top:88px;
    right:0;
    width:min(420px, 94vw);
    max-height:calc(100vh - 106px);
    overflow:auto;
  }
}
@media (max-width: 480px){
  .brand--header-logo{width:122px;max-width:122px;}
  .brand__logo--header{height:62px;}
}


/* ==== Production cleanup April 2026 ==== */
.header{background:rgba(255,250,246,.92);}
.header__nav{display:grid;grid-template-columns:180px 1fr;align-items:center;column-gap:24px;padding:10px 0;min-height:90px;}
.brand--header-logo{width:180px;max-width:180px;min-width:180px;display:flex;align-items:center;justify-content:flex-start;}
.brand__logo--header{width:180px;height:68px;padding:0;background:transparent;border:none;box-shadow:none;overflow:visible;display:flex;align-items:center;}
.brand__logo--header img{width:100%;height:100%;object-fit:contain;object-position:left center;display:block;}
.nav{justify-content:center;gap:8px;row-gap:2px;align-self:center;}
.nav a,.nav__dropdown-toggle{padding:10px 12px;font-size:14px;line-height:1.2;}
.nav__dropdown-toggle{border-radius:12px;border:1px solid transparent;background:transparent;color:var(--ink);font-weight:700;}
.carousel__content.home-hero-copy .eyebrow{max-width:max-content;}
.carousel__content.home-hero-copy p{max-width:420px;}
@media (max-width: 1100px){.header__nav{grid-template-columns:160px 1fr;column-gap:18px;}.brand--header-logo,.brand__logo--header{width:160px;max-width:160px;min-width:160px;height:62px;}.nav a,.nav__dropdown-toggle{font-size:13px;padding:9px 10px;}}
@media (max-width: 900px){.header__nav{grid-template-columns:150px 1fr;min-height:82px;}.brand--header-logo,.brand__logo--header{width:150px;max-width:150px;min-width:150px;height:58px;}.nav{gap:4px;}}
@media (max-width: 760px){.header__nav{display:flex;min-height:74px;padding:8px 0;}.brand--header-logo{width:132px;max-width:132px;min-width:132px;}.brand__logo--header{width:132px;max-width:132px;min-width:132px;height:50px;}.nav{top:76px;}}
@media (max-width: 480px){.brand--header-logo{width:118px;max-width:118px;min-width:118px;}.brand__logo--header{width:118px;max-width:118px;min-width:118px;height:44px;}}


/* Enterprise production pass */
:root{
  --surface-0:#F8F4EF;
  --surface-1:rgba(255,255,255,.78);
  --surface-2:rgba(255,255,255,.92);
  --line:rgba(45,36,86,.10);
  --shadow-lg:0 20px 55px rgba(45,36,86,.12);
}
body{background:linear-gradient(180deg,#FBF8F3 0%,#F7F2EC 100%);}
.header{background:rgba(251,248,243,.86);backdrop-filter:blur(14px);transition:background .25s ease, box-shadow .25s ease, border-color .25s ease;}
.header.is-scrolled{background:rgba(251,248,243,.94);box-shadow:0 10px 30px rgba(45,36,86,.08);}
.header__nav{display:grid;grid-template-columns:190px 1fr;align-items:center;column-gap:28px;min-height:86px;padding:10px 0;}
.brand--header-logo{width:190px;max-width:190px;min-width:190px;display:flex;align-items:center;}
.brand__logo--header{width:190px;height:72px;padding:0;background:transparent;border:0;box-shadow:none;overflow:visible;}
.brand__logo--header img{width:100%;height:100%;object-fit:contain;object-position:left center;filter:drop-shadow(0 8px 20px rgba(45,36,86,.04));}
.nav{justify-content:flex-end;flex-wrap:wrap;gap:6px 8px;}
.nav a,.nav__dropdown-toggle{font-size:15px;font-weight:800;padding:11px 14px;border-radius:14px;transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;}
.nav a:hover,.nav__dropdown-toggle:hover,.nav a.is-active{transform:translateY(-1px);box-shadow:0 8px 20px rgba(109,76,230,.10);}
.nav__dropdown-menu,.nav__dropdown-portal{background:rgba(255,255,255,.96);border:1px solid var(--line);box-shadow:var(--shadow-lg);}
.carousel--full{border-radius:0;overflow:hidden;box-shadow:none;}
.carousel__slide{min-height:540px;}
.carousel__img{width:100%;height:100%;object-fit:cover;}
.carousel__overlay{background:linear-gradient(90deg, rgba(32,18,72,.30) 0%, rgba(32,18,72,.10) 38%, rgba(32,18,72,.04) 100%);}
.carousel__content.home-hero-copy{max-width:520px;bottom:34px;left:clamp(18px,4vw,48px);}
.carousel__content.home-hero-copy h3{font-size:clamp(2.3rem,6vw,4.8rem);line-height:.95;margin:8px 0 10px;color:#fff;text-shadow:0 8px 24px rgba(0,0,0,.22);}
.carousel__content.home-hero-copy .muted{color:rgba(255,255,255,.88);font-size:1.04rem;line-height:1.5;}
.eyebrow--light{background:rgba(255,255,255,.20);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(10px);}
.hero-strip__badge{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(10px);}
.section--compact{padding:22px 0 8px;}
.enterprise-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.enterprise-trust>div,.enterprise-cta{background:linear-gradient(135deg, rgba(255,255,255,.92), rgba(247,241,255,.92));border:1px solid var(--line);border-radius:24px;box-shadow:0 14px 34px rgba(45,36,86,.06);}
.enterprise-trust>div{padding:18px 20px;}
.enterprise-trust strong{display:block;color:var(--ink);font-size:1rem;margin-bottom:4px;}
.enterprise-trust span{display:block;color:rgba(45,36,86,.72);line-height:1.45;font-size:14px;}
.section__head--split{display:flex;justify-content:space-between;gap:24px;align-items:end;}
.section__head--split p{max-width:420px;}
.card--trip-premium,.service-card,.trip-copy-card,.trip-highlight-box,.trip-gallery-card,.trip-aside-pro,.dashboard-card,.premium-copy-card{box-shadow:0 14px 34px rgba(45,36,86,.07);}
.card--trip__media{aspect-ratio:16/10;overflow:hidden;border-radius:20px;}
.card--trip__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.card--trip-premium:hover .card--trip__media img{transform:scale(1.04);}
.card--trip__body{display:flex;flex-direction:column;gap:12px;}
.card--trip__title{font-size:1.24rem;line-height:1.15;margin:0;}
.card--trip__meta{display:flex;justify-content:space-between;align-items:center;color:rgba(45,36,86,.78);font-size:.95rem;}
.enterprise-cta{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;padding:28px 30px;align-items:center;}
.enterprise-cta h2{margin:8px 0 10px;font-size:clamp(1.8rem,3vw,2.6rem);color:var(--ink);line-height:1.05;}
.enterprise-cta p{margin:0;color:rgba(45,36,86,.78);max-width:62ch;}
.enterprise-cta__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;}
.trip-hero-card{padding:32px;box-shadow:var(--shadow-lg);}
.trip-hero-pills span{background:rgba(109,76,230,.08);border:1px solid rgba(109,76,230,.12);padding:8px 12px;border-radius:999px;color:var(--ink);font-weight:700;font-size:14px;}
.trip-copy-card h3{margin:8px 0 10px;font-size:1.45rem;color:var(--ink);}
.trip-highlight-box{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;}
.trip-highlight-box strong{color:rgba(45,36,86,.76);font-size:.92rem;}
.trip-highlight-box span{font-weight:900;color:var(--ink);}
.trip-aside-pro{position:sticky;top:108px;background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(245,239,255,.94));}
.quote-form-pro input,.quote-form-pro textarea{background:#fff;border:1px solid rgba(45,36,86,.12);}
.quote-form-pro input:focus,.quote-form-pro textarea:focus{outline:none;border-color:rgba(109,76,230,.42);box-shadow:0 0 0 4px rgba(109,76,230,.12);}
.admin-shell .card{background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(249,246,255,.92));}
.admin-header-card--premium{box-shadow:var(--shadow-lg);}
.executive-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;}
.executive-kpi{padding:18px 20px;border-radius:22px;background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(242,236,255,.95));border:1px solid var(--line);box-shadow:0 12px 30px rgba(45,36,86,.06);}
.executive-kpi span{display:block;color:rgba(45,36,86,.68);font-size:13px;font-weight:700;}
.executive-kpi strong{display:block;margin-top:6px;font-size:2rem;color:var(--ink);}
.footer{padding:34px 0 44px;background:transparent;border-top:1px solid rgba(45,36,86,.08);}
.footer__inner{display:flex;justify-content:space-between;align-items:center;gap:18px;}
.footer .brand__logo{background:rgba(255,255,255,.85);}
@media (max-width:1100px){.header__nav{grid-template-columns:170px 1fr;column-gap:18px;}.brand--header-logo,.brand__logo--header{width:170px;max-width:170px;min-width:170px;height:64px;}.enterprise-cta{grid-template-columns:1fr;}.enterprise-cta__actions{justify-content:flex-start;}}
@media (max-width:900px){.header__nav{grid-template-columns:150px 1fr;min-height:78px;}.brand--header-logo,.brand__logo--header{width:150px;max-width:150px;min-width:150px;height:58px;}.enterprise-trust,.executive-strip,.section__head--split{grid-template-columns:1fr;display:grid;}.section__head--split{align-items:start;}.footer__inner{display:block;}}
@media (max-width:760px){.header__nav{display:flex;min-height:72px;padding:10px 0;}.brand--header-logo,.brand__logo--header{width:144px;max-width:144px;min-width:144px;height:54px;}.nav{top:74px;justify-content:flex-start;}.carousel__slide{min-height:380px;}.carousel__content.home-hero-copy{max-width:320px;bottom:24px;left:18px;}.carousel__content.home-hero-copy h3{font-size:2.1rem;}.enterprise-cta,.trip-hero-card{padding:22px;}}
@media (max-width:480px){.brand--header-logo,.brand__logo--header{width:126px;max-width:126px;min-width:126px;height:48px;}.nav a,.nav__dropdown-toggle{font-size:13px;padding:10px 12px;}.carousel__slide{min-height:320px;}.carousel__content.home-hero-copy h3{font-size:1.8rem;}.hero-strip__actions{gap:8px;}.hero-strip__badge{font-size:11px;padding:7px 10px;}}

.reveal-ready{opacity:0;transform:translateY(18px);transition:opacity .45s ease, transform .45s ease;}
.is-revealed{opacity:1;transform:none;}

/* Header final calibration */
.header__nav{
  grid-template-columns: 220px 1fr;
  column-gap: 18px;
  min-height: 84px;
  padding: 8px 0;
}
.brand--header-logo{
  width: 220px;
  max-width: 220px;
  min-width: 220px;
  justify-content: flex-start;
}
.brand__logo--header{
  width: 220px;
  height: 60px;
}
.brand__logo--header img{
  width: auto;
  max-width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}
.nav{
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: 4px;
}
.nav a,
.nav__dropdown-toggle{
  font-size: 14px;
  padding: 10px 10px;
  white-space: nowrap;
}
@media (max-width: 1200px){
  .header__nav{grid-template-columns: 200px 1fr; column-gap: 14px;}
  .brand--header-logo,.brand__logo--header{width:200px; max-width:200px; min-width:200px; height:56px;}
  .nav a,.nav__dropdown-toggle{font-size:13px; padding:9px 8px;}
}
@media (max-width: 980px){
  .header__nav{grid-template-columns: 180px 1fr;}
  .brand--header-logo,.brand__logo--header{width:180px; max-width:180px; min-width:180px; height:52px;}
  .nav{gap:2px;}
  .nav a,.nav__dropdown-toggle{font-size:12px; padding:8px 7px;}
}
@media (max-width: 760px){
  .header__nav{display:flex; min-height:72px; padding:8px 0;}
  .brand--header-logo,.brand__logo--header{width:156px; max-width:156px; min-width:156px; height:46px;}
  .nav{top:74px; justify-content:flex-start; flex-wrap:wrap;}
  .nav a,.nav__dropdown-toggle{font-size:13px; padding:10px 12px;}
}
