/*
 * MACHUPICCHU BEST — Rediseño profesional UX/UI
 * Versión: 20260711-dark-default-card-meta-v7
 * Capa visual modular. No modifica lógica de reservas, pagos, carrito ni APIs.
 */

:root{
  --mb-brand-primary:#087F8C;
  --mb-brand-primary-strong:#066874;
  --mb-brand-secondary:#176B70;
  --mb-brand-accent:#C85F47;
  --mb-brand-gold:#C7902F;
  --mb-brand-gold-soft:#F5E6BF;
  --mb-surface:#FFFFFF;
  --mb-surface-soft:#F5F9FC;
  --mb-surface-muted:#EAF3F7;
  --mb-text-primary:#102A43;
  --mb-text-secondary:#486581;
  --mb-border-soft:rgba(33,98,126,.14);
  --mb-shadow-card:0 12px 34px rgba(18,47,56,.10);
  --mb-shadow-card-hover:0 22px 48px rgba(18,47,56,.16);
  --mb-radius-sm:10px;
  --mb-radius-md:16px;
  --mb-radius-card:20px;
  --mb-radius-lg:28px;
  --mb-container-width:1380px;
  --mb-header-height:72px;
  --mb-focus-ring:0 0 0 3px rgba(8,127,140,.24);
}

html.theme-dark,
html[data-theme="dark"]{
  --mb-surface:#12313B;
  --mb-surface-soft:#102B36;
  --mb-surface-muted:#193E49;
  --mb-text-primary:#F4F8FA;
  --mb-text-secondary:#C3D3DD;
  --mb-border-soft:rgba(255,255,255,.12);
  --mb-shadow-card:0 14px 36px rgba(0,0,0,.26);
  --mb-shadow-card-hover:0 24px 54px rgba(0,0,0,.36);
}

html{scroll-behavior:smooth;scroll-padding-top:calc(var(--mb-header-height) + 18px)}
body{
  overflow-x:hidden;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
html.theme-light body,
html[data-theme="light"] body{background:#F5F9FC!important;color:var(--mb-text-primary)}
html.theme-dark body,
html[data-theme="dark"] body{background:#071923!important;color:var(--mb-text-primary)}

button,a,input,select,textarea{font-family:var(--mb-font-google-sans,system-ui,-apple-system,"Segoe UI",sans-serif)}
button,a,[role="button"],[role="link"]{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--mb-brand-accent)!important;
  outline-offset:3px!important;
  box-shadow:var(--mb-focus-ring)!important;
}

/* --------------------------- ENCABEZADO --------------------------- */
#mainNav{
  min-height:var(--mb-header-height)!important;
  border-bottom:1px solid var(--mb-border-soft)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12)!important;
  backdrop-filter:blur(18px) saturate(1.12)!important;
  box-shadow:0 7px 26px rgba(18,47,56,.07)!important;
}
html.theme-light #mainNav,
html[data-theme="light"] #mainNav{
  background:rgba(255,255,255,.94)!important;
}
html.theme-dark #mainNav,
html[data-theme="dark"] #mainNav{
  background:rgba(11,20,25,.94)!important;
}
#mainNav .nav-inner{
  width:min(100%,var(--mb-container-width))!important;
  min-height:var(--mb-header-height)!important;
  margin:0 auto!important;
  padding:.55rem 1.25rem!important;
  gap:1rem!important;
}
#mainNav .nav-logo{
  min-width:138px!important;
  flex:0 0 auto!important;
}
#mainNav .site-logo-img{
  width:auto!important;
  height:48px!important;
  max-width:154px!important;
  object-fit:contain!important;
}
#mainNav .nav-links{
  display:flex!important;
  align-items:center!important;
  min-width:0!important;
  flex:1 1 auto!important;
  gap:1rem!important;
}
.mb-primary-links{
  display:flex;
  align-items:center;
  min-width:0;
  flex:0 1 auto;
}
.mb-primary-nav-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:.2rem .72rem;
  border:0;
  background:transparent;
  color:var(--mb-text-primary);
  font-size:.79rem;
  line-height:1;
  font-weight:780;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  transition:color .18s ease,background .18s ease;
}
.mb-primary-nav-link + .mb-primary-nav-link::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:1px;
  height:16px;
  background:var(--mb-border-soft);
  transform:translateY(-50%);
}
.mb-primary-nav-link:hover{
  color:var(--mb-brand-accent)!important;
  background:transparent!important;
}
html.theme-dark .mb-primary-nav-link,
html[data-theme="dark"] .mb-primary-nav-link{color:#F7F4EC}

#mainNav .desktop-ai-search{
  width:min(290px,24vw)!important;
  min-width:210px!important;
  margin-left:auto!important;
}
#mainNav .desktop-ai-box{
  min-height:42px!important;
  border-radius:999px!important;
  box-shadow:none!important;
}
#mainNav .desktop-ai-badge{
  background:var(--mb-brand-primary)!important;
  color:#fff!important;
}
#mainNav .desktop-ai-btn{
  min-height:42px!important;
  padding:0 .9rem!important;
  border-radius:999px!important;
  background:var(--mb-brand-primary)!important;
  border-color:var(--mb-brand-primary)!important;
  color:#fff!important;
  box-shadow:none!important;
}
#mainNav .desktop-ai-btn:hover{background:var(--mb-brand-primary-strong)!important}

#mainNav .nav-right{
  margin-left:0!important;
  gap:.15rem!important;
  flex:0 0 auto!important;
}
#mainNav .lang-group{
  padding-right:.5rem!important;
  margin-right:.25rem!important;
  border-right:1px solid var(--mb-border-soft)!important;
}
#mainNav .lang-btn{
  min-width:34px!important;
  min-height:34px!important;
  border-radius:999px!important;
  border:0!important;
  background:transparent!important;
  color:var(--mb-text-secondary)!important;
  font-weight:850!important;
}
#mainNav .lang-btn.active{
  color:#fff!important;
  background:var(--mb-brand-primary)!important;
  box-shadow:none!important;
}

/* Mantiene el pedido previo: acciones principales como texto limpio con separadores. */
@media(min-width:900px){
  #mainNav .desktop-planner-btn,
  #mainNav .desktop-cart-btn,
  #mainNav #authBtns .btn-login,
  #mainNav #authBtns .btn-register,
  #mainNav #userMenu .btn-login,
  #mainNav #userMenu .btn-register,
  #mainNav #adminMenuBtn .btn-register{
    min-height:40px!important;
    padding:.2rem .72rem!important;
    border:0!important;
    border-left:1px solid var(--mb-border-soft)!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--mb-text-primary)!important;
    font-size:.78rem!important;
    font-weight:820!important;
    text-transform:none!important;
    transform:none!important;
  }
  html.theme-dark #mainNav .desktop-planner-btn,
  html.theme-dark #mainNav .desktop-cart-btn,
  html.theme-dark #mainNav #authBtns .btn-login,
  html.theme-dark #mainNav #authBtns .btn-register,
  html.theme-dark #mainNav #userMenu .btn-login,
  html.theme-dark #mainNav #userMenu .btn-register,
  html.theme-dark #mainNav #adminMenuBtn .btn-register,
  html[data-theme="dark"] #mainNav .desktop-planner-btn,
  html[data-theme="dark"] #mainNav .desktop-cart-btn,
  html[data-theme="dark"] #mainNav #authBtns .btn-login,
  html[data-theme="dark"] #mainNav #authBtns .btn-register,
  html[data-theme="dark"] #mainNav #userMenu .btn-login,
  html[data-theme="dark"] #mainNav #userMenu .btn-register,
  html[data-theme="dark"] #mainNav #adminMenuBtn .btn-register{color:#F7F4EC!important}
  #mainNav .desktop-planner-btn:hover,
  #mainNav .desktop-cart-btn:hover,
  #mainNav #authBtns button:hover,
  #mainNav #userMenu button:hover,
  #mainNav #adminMenuBtn button:hover{
    color:var(--mb-brand-accent)!important;
    background:transparent!important;
  }
}

/* --------------------------- HERO --------------------------- */
@media(min-width:900px){
  #page-home>.hero{
    min-height:clamp(590px,74vh,760px)!important;
    align-items:center!important;
    justify-content:flex-start!important;
  }
  #page-home>.hero .hero-bg{
    background-image:
      linear-gradient(90deg,rgba(7,26,32,.86) 0%,rgba(7,26,32,.67) 40%,rgba(7,26,32,.24) 72%,rgba(7,26,32,.42) 100%),
      linear-gradient(180deg,rgba(7,26,32,.10),rgba(7,26,32,.34)),
      var(--mb-hero-image)!important;
    background-position:var(--mb-hero-position,center center)!important;
  }
  #page-home>.hero .hero-pattern{opacity:.035!important}
  #page-home>.hero .hero-content{
    display:block!important;
    width:min(100%,var(--mb-container-width))!important;
    max-width:var(--mb-container-width)!important;
    margin:0 auto!important;
    padding:clamp(4.5rem,8vw,7rem) 1.5rem 4.5rem!important;
    text-align:left!important;
  }
  #page-home>.hero .hero-content>*{margin-left:0!important;margin-right:0!important}
  #page-home>.hero .hero-badge{
    display:inline-flex!important;
    align-items:center!important;
    width:auto!important;
    padding:.48rem .82rem!important;
    border:1px solid rgba(255,255,255,.28)!important;
    border-radius:999px!important;
    background:rgba(255,255,255,.12)!important;
    color:#fff!important;
    box-shadow:none!important;
    font-size:.74rem!important;
    font-weight:800!important;
    letter-spacing:.04em!important;
    -webkit-backdrop-filter:blur(10px)!important;
    backdrop-filter:blur(10px)!important;
  }
  #page-home>.hero .hero-title{
    max-width:780px!important;
    margin:.95rem 0 1rem!important;
    color:#fff!important;
    font-size:clamp(3.2rem,5.4vw,5.4rem)!important;
    line-height:1.01!important;
    letter-spacing:-.055em!important;
    text-wrap:balance!important;
    text-shadow:0 5px 26px rgba(0,0,0,.34)!important;
  }
  #page-home>.hero .hero-title .gold{color:#E7D3A4!important}
  #page-home>.hero .hero-subtitle{
    max-width:650px!important;
    margin:0 0 1.45rem!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:rgba(255,255,255,.90)!important;
    font-size:clamp(1rem,1.55vw,1.16rem)!important;
    line-height:1.7!important;
    font-weight:530!important;
    text-shadow:0 2px 10px rgba(0,0,0,.32)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  #page-home>.hero .hero-stats{display:none!important}
}
.mb-hero-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.75rem;
  margin-top:1.1rem;
}
.mb-hero-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:.72rem 1.2rem;
  border-radius:999px;
  font-size:.9rem;
  font-weight:860;
  text-decoration:none;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.mb-hero-cta--primary{
  border:1px solid #fff;
  background:#fff;
  color:var(--mb-brand-primary-strong);
  box-shadow:0 12px 28px rgba(0,0,0,.20);
}
.mb-hero-cta--secondary{
  border:1px solid rgba(255,255,255,.50);
  background:rgba(8,31,38,.32);
  color:#fff;
  -webkit-backdrop-filter:blur(10px);
  backdrop-filter:blur(10px);
}
.mb-hero-cta:hover{transform:translateY(-2px)}
.mb-hero-cta--primary:hover{background:#F7F2E9;border-color:#F7F2E9}
.mb-hero-cta--secondary:hover{background:rgba(8,31,38,.54);border-color:#fff}

/* --------------------------- CONFIANZA --------------------------- */
.mb-trust-strip{
  position:relative;
  z-index:8;
  width:min(calc(100% - 2rem),var(--mb-container-width));
  margin:-34px auto 0;
  padding:.55rem;
  border:1px solid var(--mb-border-soft);
  border-radius:var(--mb-radius-card);
  background:rgba(255,255,255,.96);
  box-shadow:0 16px 42px rgba(18,47,56,.14);
}
html.theme-dark .mb-trust-strip,
html[data-theme="dark"] .mb-trust-strip{background:rgba(17,28,34,.96)}
.mb-trust-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.mb-trust-item{
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  align-items:center;
  gap:.72rem;
  min-width:0;
  padding:.8rem 1rem;
  color:var(--mb-text-primary);
}
.mb-trust-item+.mb-trust-item{border-left:1px solid var(--mb-border-soft)}
.mb-trust-icon{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:rgba(47,107,95,.10);
  color:var(--mb-brand-secondary);
}
.mb-trust-icon svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8}
.mb-trust-copy strong{
  display:block;
  color:var(--mb-text-primary);
  font-size:.82rem;
  line-height:1.25;
  font-weight:860;
}
.mb-trust-copy span{
  display:block;
  margin-top:.12rem;
  color:var(--mb-text-secondary);
  font-size:.72rem;
  line-height:1.35;
}

/* --------------------------- SECCIONES --------------------------- */
#page-home .section{
  padding:clamp(4rem,7vw,6rem) 1rem!important;
}
#page-home .section-inner{
  width:min(100%,var(--mb-container-width))!important;
  max-width:var(--mb-container-width)!important;
  margin:0 auto!important;
}
html.theme-light #page-home #tours-section,
html[data-theme="light"] #page-home #tours-section{
  background:#F5F9FC!important;
}
html.theme-light #page-home #packages-grid,
html[data-theme="light"] #page-home #packages-grid{
  background:#EDF5F8!important;
}
html.theme-dark #page-home #tours-section,
html[data-theme="dark"] #page-home #tours-section{background:#071923!important}
html.theme-dark #page-home #packages-grid,
html[data-theme="dark"] #page-home #packages-grid{background:#0C222D!important}

@media(min-width:900px){
  #page-home .section-header{
    max-width:780px!important;
    margin:0 0 2rem!important;
    text-align:left!important;
  }
  #page-home .section-badge{
    display:inline-flex!important;
    margin:0 0 .75rem!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--mb-brand-accent)!important;
    font-size:.72rem!important;
    font-weight:900!important;
    letter-spacing:.14em!important;
  }
  #page-home .section-title{
    color:var(--mb-text-primary)!important;
    font-size:clamp(2rem,3vw,3rem)!important;
    line-height:1.12!important;
    letter-spacing:-.04em!important;
  }
  #page-home .section-sub{
    max-width:660px!important;
    color:var(--mb-text-secondary)!important;
    font-size:1rem!important;
    line-height:1.7!important;
  }
}
#page-home .filters{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:.3rem!important;
  overflow-x:auto!important;
  padding:0 0 .75rem!important;
  margin:0 0 1.5rem!important;
  scrollbar-width:none!important;
}
#page-home .filters::-webkit-scrollbar{display:none}
#page-home .filter-btn{
  flex:0 0 auto!important;
  min-height:38px!important;
  padding:.45rem .72rem!important;
  border:0!important;
  border-bottom:2px solid transparent!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--mb-text-secondary)!important;
  font-size:.78rem!important;
  font-weight:780!important;
}
#page-home .filter-btn:hover,
#page-home .filter-btn.active{
  border-bottom-color:var(--mb-brand-accent)!important;
  background:transparent!important;
  color:var(--mb-text-primary)!important;
  box-shadow:none!important;
}

/* --------------------------- TARJETAS DE TOURS --------------------------- */
#page-home #toursGrid,
#page-home #packagesGrid,
#page-home .tax-card-grid{
  gap:1.35rem!important;
  align-items:stretch!important;
}
#page-home .tour-card{
  position:relative!important;
  isolation:isolate!important;
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:100%!important;
  border:1px solid var(--mb-border-soft)!important;
  border-radius:var(--mb-radius-card)!important;
  background:var(--mb-surface)!important;
  box-shadow:var(--mb-shadow-card)!important;
  overflow:hidden!important;
  cursor:pointer!important;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease!important;
}
@media(hover:hover) and (pointer:fine){
  #page-home .tour-card:hover{
    transform:translateY(-5px)!important;
    border-color:rgba(184,92,56,.34)!important;
    box-shadow:var(--mb-shadow-card-hover)!important;
  }
  #page-home .tour-card:hover .tour-img-bg{transform:scale(1.025)!important}
}
#page-home .tour-card .tour-img{
  height:220px!important;
  min-height:220px!important;
  max-height:220px!important;
  aspect-ratio:auto!important;
  background:#DCE3E1!important;
  overflow:hidden!important;
}
#page-home .tour-card .tour-img-bg{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transition:transform .45s ease!important;
}
#page-home .tour-card .tour-img::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(4,18,22,.02) 30%,rgba(4,18,22,.38) 100%)!important;
}
#page-home .tour-card .tour-badge,
#page-home .tour-card .discount-floating{
  z-index:3!important;
  top:12px!important;
  left:12px!important;
  max-width:calc(100% - 70px)!important;
  padding:.35rem .66rem!important;
  border:1px solid rgba(255,255,255,.42)!important;
  border-radius:999px!important;
  background:rgba(11,47,56,.88)!important;
  color:#fff!important;
  box-shadow:0 7px 18px rgba(0,0,0,.18)!important;
  font-size:.68rem!important;
  font-weight:850!important;
  -webkit-backdrop-filter:blur(8px)!important;
  backdrop-filter:blur(8px)!important;
}
#page-home .tour-card .discount-floating{
  background:rgba(184,92,56,.92)!important;
}
#page-home .tour-card .fav-floating{
  z-index:4!important;
  top:12px!important;
  right:12px!important;
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  min-height:40px!important;
  border:1px solid rgba(255,255,255,.66)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
  color:var(--mb-brand-primary)!important;
  box-shadow:0 7px 20px rgba(0,0,0,.18)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  backdrop-filter:blur(10px)!important;
}
#page-home .tour-card .fav-floating.active{color:#B54839!important}
#page-home .tour-card .tour-body{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  gap:.62rem!important;
  min-height:190px!important;
  padding:1.05rem 1.08rem 1.12rem!important;
  background:var(--mb-surface)!important;
}
#page-home .tour-card .tour-type-mobile{
  width:max-content!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:var(--mb-brand-secondary)!important;
  font-size:.69rem!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
#page-home .tour-card .tour-title{
  min-height:2.65em!important;
  margin:0!important;
  color:var(--mb-text-primary)!important;
  font-size:1.04rem!important;
  line-height:1.33!important;
  font-weight:900!important;
  letter-spacing:-.018em!important;
  text-wrap:balance!important;
}
#page-home .tour-card .tour-meta{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:.28rem .6rem!important;
  margin:0!important;
  color:var(--mb-text-secondary)!important;
  font-size:.76rem!important;
  line-height:1.4!important;
  font-weight:650!important;
}
#page-home .tour-card .tour-meta span{
  position:relative!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:inherit!important;
}
#page-home .tour-card .tour-meta span+span::before{
  content:"•"!important;
  position:relative!important;
  margin-right:.55rem!important;
  color:rgba(92,104,112,.55)!important;
}
#page-home .tour-card .tour-bottom{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:.65rem!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:.82rem!important;
  border-top:1px solid var(--mb-border-soft)!important;
}
#page-home .tour-card .tour-rating{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  gap:.22rem!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--mb-text-primary)!important;
  box-shadow:none!important;
  font-size:.78rem!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
#page-home .tour-card .tour-rating::before{
  content:"★";
  color:#D09A25;
  font-size:.92rem;
}
#page-home .tour-card .tour-review-count{color:var(--mb-text-secondary)!important;font-weight:650!important}
#page-home .tour-card .tour-price{
  display:flex!important;
  align-items:baseline!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:.18rem!important;
  margin:0!important;
  color:var(--mb-text-primary)!important;
  text-align:right!important;
  white-space:normal!important;
}
#page-home .tour-card .price-main,
#page-home .tour-card .price-value,
#page-home .tour-card .tour-price strong{
  color:var(--mb-brand-accent)!important;
  font-size:1.2rem!important;
  font-weight:950!important;
  letter-spacing:-.03em!important;
}
#page-home .tour-card .price-prefix,
#page-home .tour-card .price-unit,
#page-home .tour-card .price-note{color:var(--mb-text-secondary)!important;font-size:.68rem!important;font-weight:650!important}

/* Grupos de categorías/destinos existentes */
#page-home .taxonomy-home-groups{
  width:min(100%,var(--mb-container-width))!important;
  margin:0 auto!important;
}
#page-home .tax-category-block{
  padding:1.25rem 0 2.2rem!important;
  border:0!important;
  background:transparent!important;
}
#page-home .tax-category-title,
#page-home .tax-group-title{
  color:var(--mb-text-primary)!important;
  letter-spacing:-.025em!important;
}

/* --------------------------- DETALLE DEL TOUR --------------------------- */
#tourModal.modal-overlay{
  padding:clamp(.6rem,2vw,1.4rem)!important;
  background:rgba(4,14,18,.78)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  backdrop-filter:blur(10px)!important;
}
#tourModal .modal{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  max-height:94vh!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:var(--mb-radius-lg)!important;
  background:var(--mb-surface)!important;
  box-shadow:0 30px 90px rgba(0,0,0,.42)!important;
  overflow:hidden!important;
}
#tourModal .modal-close{
  width:44px!important;
  height:44px!important;
  min-width:44px!important;
  min-height:44px!important;
  border:1px solid rgba(255,255,255,.42)!important;
  background:rgba(11,47,56,.82)!important;
  color:#fff!important;
  box-shadow:0 8px 22px rgba(0,0,0,.24)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  backdrop-filter:blur(10px)!important;
}
#tourModal .mb-tour-close-icon{filter:brightness(0) invert(1)!important}
#tourModalContent .tour-gallery{
  background:#D9E2E0!important;
  overflow:hidden!important;
}
#tourModalContent .modal-img{
  display:block!important;
  width:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
#tourModalContent .gal-btn{
  width:44px!important;
  height:52px!important;
  border:1px solid rgba(255,255,255,.46)!important;
  border-radius:999px!important;
  background:rgba(7,26,32,.62)!important;
  color:#fff!important;
  box-shadow:0 8px 20px rgba(0,0,0,.20)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  backdrop-filter:blur(8px)!important;
}
#tourModalContent .modal-body{
  background:var(--mb-surface)!important;
  color:var(--mb-text-primary)!important;
}
#tourModalContent .modal-title{
  color:var(--mb-text-primary)!important;
  font-size:clamp(1.55rem,2.6vw,2.25rem)!important;
  line-height:1.15!important;
  letter-spacing:-.04em!important;
  text-wrap:balance!important;
}
#tourModalContent .modal-body>p{
  color:var(--mb-text-secondary)!important;
  font-size:.94rem!important;
  line-height:1.72!important;
}
#tourModalContent .modal-price-row{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:.8rem!important;
  padding:.85rem 0!important;
  border:0!important;
  border-top:1px solid var(--mb-border-soft)!important;
  border-bottom:1px solid var(--mb-border-soft)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
#tourModalContent .modal-price-big{
  color:var(--mb-brand-accent)!important;
  font-size:clamp(1.6rem,2.8vw,2.15rem)!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
}
#tourModalContent .modal-meta-row{
  display:flex!important;
  justify-content:flex-end!important;
  gap:.35rem!important;
}
#tourModalContent .modal-meta-row span{
  padding:.32rem .55rem!important;
  border:1px solid var(--mb-border-soft)!important;
  border-radius:999px!important;
  background:var(--mb-surface-soft)!important;
  color:var(--mb-text-secondary)!important;
  font-size:.72rem!important;
  font-weight:720!important;
}
#tourModalContent .detail-tabs{
  position:sticky!important;
  top:0!important;
  z-index:8!important;
  display:flex!important;
  align-items:center!important;
  gap:1.05rem!important;
  margin:1rem 0!important;
  padding:.15rem 0 .72rem!important;
  border:0!important;
  border-bottom:1px solid var(--mb-border-soft)!important;
  border-radius:0!important;
  background:var(--mb-surface)!important;
  box-shadow:none!important;
  overflow-x:auto!important;
  scrollbar-width:none!important;
}
#tourModalContent .detail-tabs::-webkit-scrollbar{display:none}
#tourModalContent .detail-tab{
  position:relative!important;
  flex:0 0 auto!important;
  min-height:40px!important;
  padding:.45rem 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--mb-text-secondary)!important;
  font-size:.84rem!important;
  font-weight:830!important;
  box-shadow:none!important;
}
#tourModalContent .detail-tab::after{
  content:""!important;
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:-.74rem!important;
  height:2px!important;
  border-radius:999px!important;
  background:transparent!important;
}
#tourModalContent .detail-tab:hover,
#tourModalContent .detail-tab.active{color:var(--mb-brand-accent)!important}
#tourModalContent .detail-tab.active::after{background:var(--mb-brand-accent)!important}
#tourModalContent .section-block,
#tourModalContent .review-card,
#tourModalContent .detail-faq-card,
#tourModalContent .itinerary-map-card{
  border:1px solid var(--mb-border-soft)!important;
  border-radius:var(--mb-radius-md)!important;
  background:var(--mb-surface)!important;
  color:var(--mb-text-primary)!important;
  box-shadow:0 8px 24px rgba(18,47,56,.06)!important;
}
#tourModalContent .section-block h4{
  color:var(--mb-text-primary)!important;
  font-size:1rem!important;
  letter-spacing:-.01em!important;
}
#tourModalContent .include-item{
  border:0!important;
  border-radius:10px!important;
  background:var(--mb-surface-soft)!important;
  color:var(--mb-text-secondary)!important;
}
#tourModalContent .itinerary-stop-body{
  border:1px solid var(--mb-border-soft)!important;
  border-radius:14px!important;
  background:var(--mb-surface)!important;
  color:var(--mb-text-secondary)!important;
  box-shadow:0 7px 18px rgba(18,47,56,.06)!important;
}
#tourModalContent .modal-action-grid{
  position:static!important;
  inset:auto!important;
  z-index:auto!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:.65rem!important;
  margin-top:1.15rem!important;
  padding:.7rem!important;
  border:1px solid var(--mb-border-soft)!important;
  border-radius:var(--mb-radius-md)!important;
  background:var(--mb-surface-soft)!important;
  box-shadow:none!important;
}
#tourModalContent .modal-final-actions .modal-action-book{
  grid-column:1 / -1!important;
  position:static!important;
  inset:auto!important;
  z-index:auto!important;
  margin:0!important;
}
#tourModalContent .modal-action-btn{
  min-height:48px!important;
  border-radius:12px!important;
  font-size:.86rem!important;
  font-weight:850!important;
}
#tourModalContent .btn-cart.modal-action-btn{
  border:1px solid var(--mb-brand-primary)!important;
  background:var(--mb-brand-primary)!important;
  color:#fff!important;
  box-shadow:none!important;
}
#tourModalContent .btn-share.modal-action-btn{
  border:1px solid var(--mb-border-soft)!important;
  background:var(--mb-surface)!important;
  color:var(--mb-text-primary)!important;
  box-shadow:none!important;
}
#tourModalContent .modal-book-btn{
  position:static!important;
  inset:auto!important;
  min-height:56px!important;
  margin:0!important;
  border:0!important;
  border-radius:14px!important;
  background:var(--mb-brand-accent)!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(184,92,56,.24)!important;
  font-size:.95rem!important;
  font-weight:900!important;
  text-transform:none!important;
}
#tourModalContent .modal-book-btn:hover{background:#A94F31!important}

@media(min-width:1000px){
  #tourModalContent{
    display:grid!important;
    grid-template-columns:minmax(0,46%) minmax(0,54%)!important;
    min-height:78vh!important;
    max-height:92vh!important;
  }
  #tourModalContent .tour-gallery{
    position:sticky!important;
    top:0!important;
    height:92vh!important;
    min-height:680px!important;
  }
  #tourModalContent .modal-img{
    height:100%!important;
    min-height:100%!important;
    border-radius:0!important;
  }
  #tourModalContent .modal-body{
    max-height:92vh!important;
    padding:2rem 2.15rem 2.25rem!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }
  #tourModalContent .modal-action-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr)!important;
  }
  #tourModalContent .modal-final-actions .modal-action-book{grid-column:auto!important;}
}

/* --------------------------- FORMULARIOS / CHECKOUT --------------------------- */
#page-checkout{
  min-height:100vh!important;
  padding-top:1rem!important;
  background:var(--mb-surface-soft)!important;
}
#page-checkout>div:first-child,
#page-checkout .checkout-wrap{
  width:min(100%,1160px)!important;
  max-width:1160px!important;
}
#page-checkout .checkout-wrap{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 380px!important;
  gap:1.35rem!important;
  padding:1rem 1rem 5rem!important;
}
#page-checkout .checkout-section,
.auth-modal,
.form-modal{
  border:1px solid var(--mb-border-soft)!important;
  border-radius:var(--mb-radius-card)!important;
  background:var(--mb-surface)!important;
  color:var(--mb-text-primary)!important;
  box-shadow:var(--mb-shadow-card)!important;
}
#page-checkout .checkout-section{padding:1.35rem!important}
#page-checkout .checkout-section h3{
  color:var(--mb-text-primary)!important;
  border-bottom-color:var(--mb-border-soft)!important;
  font-size:1.05rem!important;
  letter-spacing:-.015em!important;
}
#page-checkout .form-group label,
.auth-modal label,
.form-modal label{
  color:var(--mb-text-primary)!important;
  font-size:.78rem!important;
  font-weight:800!important;
}
#page-checkout input,
#page-checkout select,
#page-checkout textarea,
.auth-modal input,
.auth-modal select,
.auth-modal textarea,
.form-modal input,
.form-modal select,
.form-modal textarea{
  min-height:48px!important;
  border:1px solid var(--mb-border-soft)!important;
  border-radius:12px!important;
  background:var(--mb-surface-soft)!important;
  color:var(--mb-text-primary)!important;
  box-shadow:none!important;
}
#page-checkout input:focus,
#page-checkout select:focus,
#page-checkout textarea:focus,
.auth-modal input:focus,
.form-modal input:focus,
.form-modal select:focus,
.form-modal textarea:focus{
  border-color:var(--mb-brand-secondary)!important;
  background:var(--mb-surface)!important;
}
#page-checkout .checkout-right .checkout-section,
#page-checkout #orderSummary{
  position:sticky!important;
  top:calc(var(--mb-header-height) + 18px)!important;
}
#page-checkout .pay-tabs{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:.65rem!important;
}
#page-checkout .pay-tab{
  min-height:68px!important;
  border:1px solid var(--mb-border-soft)!important;
  border-radius:14px!important;
  background:var(--mb-surface-soft)!important;
  color:var(--mb-text-primary)!important;
  box-shadow:none!important;
}
#page-checkout .pay-tab.active{
  border-color:var(--mb-brand-primary)!important;
  background:rgba(47,107,95,.10)!important;
  color:var(--mb-brand-primary)!important;
  box-shadow:0 0 0 2px rgba(47,107,95,.10)!important;
}
#page-checkout .modal-book-btn{
  min-height:54px!important;
  border:0!important;
  border-radius:14px!important;
  background:var(--mb-brand-accent)!important;
  color:#fff!important;
  box-shadow:0 12px 28px rgba(184,92,56,.22)!important;
  text-transform:none!important;
}


/* Calendario de fecha dentro de Completar reserva */
#page-checkout .checkout-date-section{
  overflow:visible!important;
}
#page-checkout .checkout-section-intro{
  margin:-.15rem 0 1rem!important;
  color:var(--text-secondary)!important;
  font-size:.9rem!important;
  line-height:1.55!important;
}
#page-checkout .checkout-date-calendar{
  width:100%!important;
}
#page-checkout .checkout-date-calendar .calendar-box{
  width:100%!important;
  padding:1rem!important;
  border:1px solid var(--border-light)!important;
  border-radius:16px!important;
  background:var(--background-subtle)!important;
  box-shadow:none!important;
}
#page-checkout .checkout-date-calendar .calendar-empty p{
  margin:0!important;
  color:var(--text-secondary)!important;
  line-height:1.6!important;
}
#page-checkout .checkout-date-calendar .calendar-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:.85rem!important;
  margin-bottom:.9rem!important;
}
#page-checkout .checkout-date-calendar .calendar-head select{
  width:auto!important;
  min-width:190px!important;
  min-height:44px!important;
  padding:.65rem .8rem!important;
  border:1px solid var(--border-light)!important;
  border-radius:11px!important;
  background:var(--background-card)!important;
  color:var(--text-primary)!important;
  font-weight:800!important;
}
#page-checkout .checkout-date-calendar .calendar-head span{
  color:var(--text-secondary)!important;
  font-size:.82rem!important;
  font-weight:750!important;
}
#page-checkout .checkout-date-calendar .calendar-week,
#page-checkout .checkout-date-calendar .calendar-grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:.38rem!important;
}
#page-checkout .checkout-date-calendar .calendar-week{
  margin-bottom:.38rem!important;
}
#page-checkout .checkout-date-calendar .calendar-week b{
  padding:.2rem 0!important;
  color:var(--text-muted)!important;
  font-size:.68rem!important;
  font-weight:850!important;
  text-align:center!important;
}
#page-checkout .checkout-date-calendar .cal-cell{
  min-width:0!important;
  min-height:42px!important;
  padding:.35rem!important;
  border:1px solid var(--border-light)!important;
  border-radius:10px!important;
  background:var(--background-card)!important;
  color:var(--text-secondary)!important;
  font:inherit!important;
  font-size:.86rem!important;
  font-weight:780!important;
  box-shadow:none!important;
}
#page-checkout .checkout-date-calendar button.cal-cell.ok{
  cursor:pointer!important;
  color:var(--text-primary)!important;
}
#page-checkout .checkout-date-calendar button.cal-cell.ok:hover,
#page-checkout .checkout-date-calendar button.cal-cell.ok:focus-visible{
  border-color:var(--brand-secondary)!important;
  background:color-mix(in srgb,var(--brand-secondary) 10%,var(--background-card))!important;
  outline:none!important;
}
#page-checkout .checkout-date-calendar button.cal-cell.off{
  opacity:.34!important;
  cursor:not-allowed!important;
}
#page-checkout .checkout-date-calendar .cal-cell.sel{
  border-color:var(--brand-primary)!important;
  background:var(--brand-primary)!important;
  color:var(--text-inverse)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-primary) 16%,transparent)!important;
}
html[data-theme="dark"] #page-checkout .checkout-date-calendar .cal-cell.sel{color:#0D171C!important;}
#page-checkout .checkout-date-calendar .cal-cell.empty{
  border-color:transparent!important;
  background:transparent!important;
  box-shadow:none!important;
}
#page-checkout .checkout-date-note{
  display:block!important;
  margin-top:.85rem!important;
  color:var(--text-muted)!important;
  font-size:.78rem!important;
  line-height:1.5!important;
}
@media(max-width:600px){
  #page-checkout .checkout-date-calendar .calendar-box{padding:.75rem!important;}
  #page-checkout .checkout-date-calendar .calendar-head{display:grid!important;grid-template-columns:1fr!important;gap:.55rem!important;}
  #page-checkout .checkout-date-calendar .calendar-head select{width:100%!important;min-width:0!important;}
  #page-checkout .checkout-date-calendar .calendar-grid,
  #page-checkout .checkout-date-calendar .calendar-week{gap:.22rem!important;}
  #page-checkout .checkout-date-calendar .cal-cell{min-height:40px!important;padding:.2rem!important;border-radius:8px!important;font-size:.82rem!important;}
}

/* --------------------------- MODALES / MENSAJES --------------------------- */
.modal-overlay,.auth-overlay,.form-overlay{
  background:rgba(4,14,18,.76)!important;
  -webkit-backdrop-filter:blur(9px)!important;
  backdrop-filter:blur(9px)!important;
}
.toast{
  border:1px solid var(--mb-border-soft)!important;
  border-radius:14px!important;
  background:var(--mb-surface)!important;
  color:var(--mb-text-primary)!important;
  box-shadow:0 18px 48px rgba(0,0,0,.24)!important;
}

/* --------------------------- FOOTER --------------------------- */
#mainFooter{
  padding:4rem 1rem 1.4rem!important;
  border-top:0!important;
  background:#0B2F38!important;
  color:#F7F4EC!important;
}
#mainFooter .footer-inner{
  width:min(100%,var(--mb-container-width))!important;
  max-width:var(--mb-container-width)!important;
}
#mainFooter .footer-grid{
  grid-template-columns:minmax(280px,1.7fr) repeat(2,minmax(150px,.7fr))!important;
  gap:2rem!important;
}
#mainFooter .footer-brand{
  color:#fff!important;
  font-size:1.3rem!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
#mainFooter .footer-brand-sub{
  max-width:440px!important;
  color:rgba(247,244,236,.74)!important;
  font-size:.84rem!important;
  line-height:1.75!important;
}
#mainFooter .footer-col h4,
#mainFooter .footer-social-title{
  color:#E7D3A4!important;
  letter-spacing:.12em!important;
}
#mainFooter .footer-col a{
  color:rgba(247,244,236,.76)!important;
  line-height:1.5!important;
}
#mainFooter .footer-col a:hover{color:#fff!important}
#mainFooter .footer-social-link{
  min-width:42px!important;
  min-height:42px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.07)!important;
  color:#fff!important;
  box-shadow:none!important;
}
#mainFooter .footer-review-area{
  margin-top:1.2rem!important;
  padding-top:2rem!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
}
#mainFooter .footer-review-panel{
  border:1px solid rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.05)!important;
  box-shadow:none!important;
}
#mainFooter .footer-review-card{
  border:1px solid rgba(255,255,255,.11)!important;
  background:rgba(4,20,25,.52)!important;
  box-shadow:none!important;
}
#mainFooter .footer-bottom{
  margin-top:1.5rem!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
}
#mainFooter .footer-copy{color:rgba(247,244,236,.64)!important}
#mainFooter .footer-payment-icon{box-shadow:none!important}

/* --------------------------- MÓVIL --------------------------- */
@media(max-width:899px){
  :root{--mb-header-height:62px}
  .mb-primary-links{display:none!important}
  #mainNav .desktop-ai-search{display:none!important}
  #mainNav .nav-inner{padding:.45rem .75rem!important}
  #mainNav .site-logo-img{height:42px!important;max-width:132px!important}

  #mobileNav.mobile-nav{
    border:0!important;
    border-radius:0!important;
    background:var(--mb-surface)!important;
    color:var(--mb-text-primary)!important;
    box-shadow:0 18px 50px rgba(0,0,0,.28)!important;
  }
  #mobileNav .mobile-nav-topbar{
    background:var(--mb-surface)!important;
    border-bottom:1px solid var(--mb-border-soft)!important;
    color:var(--mb-text-primary)!important;
  }
  #mobileNav .mobile-nav-close{
    width:44px!important;
    height:44px!important;
    border:1px solid var(--mb-border-soft)!important;
    background:var(--mb-surface-soft)!important;
    color:var(--mb-text-primary)!important;
    box-shadow:none!important;
  }
  #mobileNav a,
  #mobileNav button.nav-group-toggle,
  #mobileNav button.nav-sub-link{
    min-height:48px!important;
    border-bottom-color:var(--mb-border-soft)!important;
    color:var(--mb-text-primary)!important;
  }

  #page-home>.hero.mb-mobile-home-active{
    min-height:520px!important;
    height:min(74svh,610px)!important;
  }
  #page-home>.hero.mb-mobile-home-active .mb-mobile-home-shade{
    background:linear-gradient(180deg,rgba(4,18,22,.62) 0%,rgba(4,18,22,.14) 40%,rgba(4,18,22,.22) 63%,rgba(4,18,22,.66) 100%)!important;
  }
  .mb-mobile-home-search{
    border-radius:18px!important;
    box-shadow:0 14px 30px rgba(0,0,0,.22)!important;
  }
  .mb-mobile-home-search-btn,
  #mbMobileHeroSearchBtn,
  .mobile-tour-search-button{
    border-radius:13px!important;
    background:var(--mb-brand-accent)!important;
    color:#fff!important;
    box-shadow:none!important;
  }
  .mb-mobile-home-title{
    max-width:340px!important;
    letter-spacing:-.045em!important;
    text-wrap:balance!important;
  }

  .mb-hero-actions{display:none!important}
  .mb-trust-strip{
    width:calc(100% - 1.25rem)!important;
    margin:-24px auto 0!important;
    padding:.4rem!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }
  .mb-trust-grid{
    display:flex!important;
    gap:.35rem!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    scrollbar-width:none!important;
  }
  .mb-trust-grid::-webkit-scrollbar{display:none}
  .mb-trust-item{
    flex:0 0 min(78vw,290px)!important;
    grid-template-columns:36px minmax(0,1fr)!important;
    min-height:68px!important;
    padding:.65rem .75rem!important;
    border:0!important;
    border-radius:13px!important;
    background:var(--mb-surface-soft)!important;
    scroll-snap-align:start!important;
  }

  #page-home .section{padding:3.2rem .75rem!important}
  #page-home .tour-card{
    border-radius:16px!important;
    box-shadow:0 8px 24px rgba(18,47,56,.09)!important;
  }
  #page-home .tour-card .tour-img{
    height:clamp(205px,58vw,250px)!important;
    min-height:205px!important;
    max-height:250px!important;
  }
  #page-home .tour-card .tour-body{
    min-height:176px!important;
    padding:.95rem!important;
  }
  #page-home .tour-card .tour-title{
    min-height:auto!important;
    font-size:1rem!important;
  }
  #page-home .tour-card .tour-meta{font-size:.73rem!important}
  #page-home .tour-card .tour-bottom{align-items:center!important}
  #page-home .tour-card .tour-price{max-width:55%!important}

  #tourModal.modal-overlay{
    padding:0!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  #tourModal .modal{
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
  }
  #tourModalContent{
    display:block!important;
    min-height:100%!important;
    max-height:none!important;
    overflow:visible!important;
    touch-action:pan-y!important;
  }
  #tourModalContent .tour-gallery{height:auto!important;min-height:0!important}
  #tourModalContent .modal-img{
    height:clamp(240px,70vw,340px)!important;
    min-height:240px!important;
    max-height:340px!important;
  }
  #tourModalContent .modal-body{
    max-height:none!important;
    padding:1.15rem .9rem calc(7rem + env(safe-area-inset-bottom))!important;
    overflow:visible!important;
  }
  #tourModalContent .modal-price-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    align-items:start!important;
  }
  #tourModalContent .modal-meta-row{justify-content:flex-start!important}
  #tourModalContent .detail-tabs{
    margin-left:-.1rem!important;
    margin-right:-.1rem!important;
    padding-left:.1rem!important;
    background:var(--mb-surface)!important;
  }
  #tourModalContent .modal-action-grid{
    position:static!important;
    grid-template-columns:1fr!important;
    padding:.55rem!important;
  }
  #tourModalContent .modal-final-actions .modal-action-book{
    grid-column:auto!important;
    position:static!important;
    inset:auto!important;
    z-index:auto!important;
  }

  #page-checkout .checkout-wrap{
    display:block!important;
    padding:.8rem .75rem calc(6.5rem + env(safe-area-inset-bottom))!important;
  }
  #page-checkout .checkout-section{
    padding:1rem!important;
    border-radius:16px!important;
  }
  #page-checkout .checkout-right .checkout-section,
  #page-checkout #orderSummary{position:static!important}
  #page-checkout .pay-tabs{grid-template-columns:1fr!important}

  #mainFooter{padding:3rem .85rem calc(5rem + env(safe-area-inset-bottom))!important}
  #mainFooter .footer-grid{
    grid-template-columns:1fr!important;
    gap:1.6rem!important;
  }
  #mainFooter .footer-brand-col{grid-column:auto!important}
  #mainFooter .footer-bottom{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
}

@media(max-width:390px){
  .mb-trust-item{flex-basis:84vw!important}
  #page-home .tour-card .tour-price{max-width:58%!important}
  #tourModalContent .modal-meta-row span{font-size:.68rem!important}
}

@media(min-width:900px) and (max-width:1219px){
  .mb-primary-links{display:none!important}
  #mainNav .desktop-ai-search{width:min(260px,25vw)!important}
}

@media(min-width:1600px){
  #page-home .tour-card .tour-img{height:232px!important;min-height:232px!important;max-height:232px!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}

/* -----------------------------------------------------------------
   AJUSTE SOLICITADO 20260711-premium-light-dark-v3
   Header oscuro transparente sobre el hero y limpieza de controles.
   ----------------------------------------------------------------- */

/* Los enlaces comerciales agregados por la primera versión y los CTA del hero
   quedan eliminados incluso si una caché o módulo anterior intenta insertarlos. */
.mb-primary-links,
.mb-hero-actions,
#tourFilters{
  display:none!important;
}

#tourFilters{
  width:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* En inicio, el header queda superpuesto al hero con una transparencia oscura. */
body.mb-home-page-active #mainNav{
  position:fixed!important;
  top:0!important;
  right:0!important;
  left:0!important;
  z-index:260!important;
  background:linear-gradient(180deg,rgba(4,13,19,.74) 0%,rgba(4,13,19,.43) 72%,rgba(4,13,19,.30) 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
  box-shadow:none!important;
  -webkit-backdrop-filter:blur(10px) saturate(1.08)!important;
  backdrop-filter:blur(10px) saturate(1.08)!important;
}

body.mb-home-page-active #page-home>.hero{
  margin-top:0!important;
  padding-top:0!important;
}

body.mb-home-page-active #mainNav .nav-inner{
  background:transparent!important;
}

body.mb-home-page-active #mainNav .nav-logo,
body.mb-home-page-active #mainNav .nav-logo span,
body.mb-home-page-active #mainNav .desktop-planner-btn,
body.mb-home-page-active #mainNav .desktop-cart-btn,
body.mb-home-page-active #mainNav #authBtns .btn-login,
body.mb-home-page-active #mainNav #authBtns .btn-register,
body.mb-home-page-active #mainNav #userMenu .btn-login,
body.mb-home-page-active #mainNav #userMenu .btn-register,
body.mb-home-page-active #mainNav #adminMenuBtn .btn-register,
body.mb-home-page-active #mainNav .lang-btn,
body.mb-home-page-active #mainNav .hamburger{
  color:#fff!important;
  text-shadow:0 2px 12px rgba(0,0,0,.48)!important;
}

body.mb-home-page-active #mainNav .desktop-planner-btn,
body.mb-home-page-active #mainNav .desktop-cart-btn,
body.mb-home-page-active #mainNav #authBtns .btn-login,
body.mb-home-page-active #mainNav #authBtns .btn-register,
body.mb-home-page-active #mainNav #userMenu .btn-login,
body.mb-home-page-active #mainNav #userMenu .btn-register,
body.mb-home-page-active #mainNav #adminMenuBtn .btn-register{
  background:transparent!important;
  border-color:rgba(255,255,255,.20)!important;
  box-shadow:none!important;
}

body.mb-home-page-active #mainNav .hamburger span{
  background:#fff!important;
  box-shadow:0 2px 8px rgba(0,0,0,.45)!important;
}

/* El buscador existente mantiene una apariencia integrada en el header oscuro. */
body.mb-home-page-active #mainNav .desktop-ai-box{
  background:rgba(3,12,18,.34)!important;
  border-color:rgba(255,255,255,.22)!important;
  box-shadow:none!important;
}
body.mb-home-page-active #mainNav .desktop-ai-box input{
  color:#fff!important;
}
body.mb-home-page-active #mainNav .desktop-ai-box input::placeholder{
  color:rgba(255,255,255,.70)!important;
}
body.mb-home-page-active #mainNav .desktop-ai-badge{
  background:rgba(255,255,255,.16)!important;
  color:#fff!important;
}
body.mb-home-page-active #mainNav .desktop-ai-btn{
  background:rgba(4,13,19,.38)!important;
  border-color:rgba(255,255,255,.24)!important;
  color:#fff!important;
}
body.mb-home-page-active #mainNav .desktop-ai-btn:hover{
  background:rgba(4,13,19,.60)!important;
}

@media(max-width:899px){
  /* En móvil la portada ya utiliza su propia cabecera sobre la fotografía. */
  body.mb-home-page-active #page-home>.hero.mb-mobile-home-active{
    margin-top:0!important;
  }
}


/* ========================================================================
   MACHUPICCHU BEST — SISTEMA VISUAL PREMIUM LIGHT / DARK
   Versión: 20260711-premium-light-dark-v3
   Capa final de diseño. Mantiene la lógica, IDs y clases existentes.
   ======================================================================== */

:root,
html[data-theme="light"],
html.theme-light{
  color-scheme:light;

  /* Marca */
  --brand-primary:#087F8C;
  --brand-primary-hover:#066874;
  --brand-secondary:#176B70;
  --brand-accent:#C85F47;
  --brand-accent-hover:#A94B37;
  --brand-premium:#C7902F;
  --brand-premium-soft:#F5E6BF;

  /* Superficies */
  --background-page:#F5F9FC;
  --background-section:#FFFFFF;
  --background-section-alt:#EDF5F8;
  --background-card:#FFFFFF;
  --background-elevated:#FFFFFF;
  --background-input:#F8FBFD;
  --background-subtle:#EAF3F7;
  --background-overlay:rgba(5,18,23,.76);

  /* Texto */
  --text-primary:#102A43;
  --text-secondary:#486581;
  --text-muted:#6B8294;
  --text-inverse:#FFFFFF;
  --text-link:#087F8C;

  /* Bordes / estados */
  --border-light:rgba(33,98,126,.14);
  --border-strong:rgba(33,98,126,.25);
  --success:#16845B;
  --success-soft:#E7F7EF;
  --warning:#A66E14;
  --warning-soft:#FFF4D8;
  --danger:#BC4B43;
  --danger-soft:#FCECEA;
  --star:#F4A524;

  /* Elevación */
  --shadow-small:0 4px 16px rgba(16,42,67,.06);
  --shadow-card:0 12px 30px rgba(16,42,67,.09);
  --shadow-card-hover:0 20px 44px rgba(16,42,67,.15);
  --shadow-elevated:0 28px 72px rgba(8,29,35,.22);

  /* Formas */
  --radius-small:10px;
  --radius-medium:16px;
  --radius-large:22px;
  --radius-xlarge:30px;
  --radius-pill:999px;

  /* Espaciado */
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:48px;
  --space-8:64px;
  --space-9:88px;

  /* Tipografía / layout */
  --font-body:var(--mb-font-google-sans,Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif);
  --font-display:var(--mb-font-google-sans,Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif);
  --container-width:1380px;
  --content-width:1180px;
  --header-height:72px;
  --focus-ring:0 0 0 3px rgba(8,127,140,.24);

  /* Compatibilidad con la capa profesional anterior */
  --mb-brand-primary:var(--brand-primary);
  --mb-brand-primary-strong:var(--brand-primary-hover);
  --mb-brand-secondary:var(--brand-secondary);
  --mb-brand-accent:var(--brand-accent);
  --mb-brand-gold:var(--brand-premium);
  --mb-brand-gold-soft:var(--brand-premium-soft);
  --mb-surface:var(--background-card);
  --mb-surface-soft:var(--background-subtle);
  --mb-surface-muted:var(--background-section-alt);
  --mb-text-primary:var(--text-primary);
  --mb-text-secondary:var(--text-secondary);
  --mb-border-soft:var(--border-light);
  --mb-shadow-card:var(--shadow-card);
  --mb-shadow-card-hover:var(--shadow-card-hover);
  --mb-radius-sm:var(--radius-small);
  --mb-radius-md:var(--radius-medium);
  --mb-radius-card:var(--radius-large);
  --mb-radius-lg:var(--radius-xlarge);
  --mb-container-width:var(--container-width);
  --mb-header-height:var(--header-height);
  --mb-focus-ring:var(--focus-ring);
}

html[data-theme="dark"],
html.theme-dark{
  color-scheme:dark;

  --brand-primary:#55C1C8;
  --brand-primary-hover:#75D1D6;
  --brand-secondary:#42AAB1;
  --brand-accent:#F08A70;
  --brand-accent-hover:#FFA089;
  --brand-premium:#E5B85A;
  --brand-premium-soft:#806C3C;

  --background-page:#071923;
  --background-section:#0C222D;
  --background-section-alt:#102B36;
  --background-card:#12313B;
  --background-elevated:#173B46;
  --background-input:#102A34;
  --background-subtle:#193E49;
  --background-overlay:rgba(2,9,12,.82);

  --text-primary:#F4F8FA;
  --text-secondary:#C3D3DD;
  --text-muted:#91A8B5;
  --text-inverse:#071923;
  --text-link:#78D5DA;

  --border-light:rgba(244,243,238,.11);
  --border-strong:rgba(244,243,238,.22);
  --success:#65D6A6;
  --success-soft:rgba(65,153,110,.16);
  --warning:#E3B765;
  --warning-soft:rgba(190,135,46,.16);
  --danger:#F08B80;
  --danger-soft:rgba(190,70,59,.18);
  --star:#F6B84A;

  --shadow-small:0 5px 16px rgba(0,0,0,.18);
  --shadow-card:0 14px 36px rgba(0,0,0,.23);
  --shadow-card-hover:0 24px 54px rgba(0,0,0,.34);
  --shadow-elevated:0 32px 80px rgba(0,0,0,.48);
  --focus-ring:0 0 0 3px rgba(85,193,200,.28);
}

/* Base y transición de tema: solo propiedades baratas. */
html{background:var(--background-page)!important;color-scheme:light dark}
body{
  background:var(--background-page)!important;
  color:var(--text-primary)!important;
  font-family:var(--font-body)!important;
  line-height:1.55;
}
body,.section,.tour-card,.modal-content,.auth-modal,.form-modal,.checkout-section,.mobile-nav,footer,input,select,textarea{
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
::selection{background:rgba(183,90,56,.24);color:var(--text-primary)}
*{scrollbar-color:var(--border-strong) transparent}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-thumb{background:var(--border-strong);border:3px solid transparent;border-radius:999px;background-clip:padding-box}

h1,h2,h3,h4,h5,h6{
  color:var(--text-primary);
  font-family:var(--font-display)!important;
  text-wrap:balance;
}
p{color:var(--text-secondary)}
a{color:var(--text-link)}

/* Foco accesible uniforme. */
:where(a,button,input,select,textarea,[role="button"],[tabindex]):focus-visible{
  outline:2px solid var(--brand-accent)!important;
  outline-offset:3px!important;
  box-shadow:var(--focus-ring)!important;
}

/* ------------------------------------------------------------------------
   HEADER — conserva el pedido anterior: oscuro, transparente y sobre hero.
   ------------------------------------------------------------------------ */
#mainNav{
  min-height:var(--header-height)!important;
  background:color-mix(in srgb,var(--background-card) 94%,transparent)!important;
  border-bottom:1px solid var(--border-light)!important;
  box-shadow:var(--shadow-small)!important;
  backdrop-filter:blur(18px) saturate(1.15)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.15)!important;
}
body.mb-home-page-active #mainNav{
  position:absolute!important;
  inset:0 0 auto!important;
  background:linear-gradient(180deg,rgba(4,13,17,.76),rgba(4,13,17,.28) 72%,transparent)!important;
  border-bottom-color:rgba(255,255,255,.14)!important;
  box-shadow:none!important;
  backdrop-filter:blur(8px) saturate(1.08)!important;
  -webkit-backdrop-filter:blur(8px) saturate(1.08)!important;
}
#mainNav .nav-inner{
  width:min(100%,var(--container-width))!important;
  min-height:var(--header-height)!important;
  padding:.55rem clamp(.75rem,2vw,1.4rem)!important;
}
body.mb-home-page-active #mainNav :is(.desktop-planner-btn,.desktop-cart-btn,.btn-login,.btn-register,.lang-btn,.hamburger,.mb-desktop-theme-toggle){
  color:#FAF8F2!important;
}
body.mb-home-page-active #mainNav .hamburger span{background:#FAF8F2!important}
body.mb-home-page-active #mainNav :is(.desktop-planner-btn,.desktop-cart-btn,.btn-login,.btn-register){
  border-left-color:rgba(255,255,255,.28)!important;
}
body.mb-home-page-active #mainNav .lang-group{border-right-color:rgba(255,255,255,.24)!important}
body.mb-home-page-active #mainNav .lang-btn:not(.active){color:rgba(255,255,255,.78)!important}
body.mb-home-page-active #mainNav .desktop-ai-box{
  background:rgba(255,255,255,.13)!important;
  border-color:rgba(255,255,255,.28)!important;
  box-shadow:none!important;
}
body.mb-home-page-active #desktopAiInput,
body.mb-home-page-active #desktopAiInput::placeholder{color:#FFF!important;-webkit-text-fill-color:#FFF!important}

#mainNav :is(.desktop-planner-btn,.desktop-cart-btn,#authBtns .btn-login,#authBtns .btn-register,#userMenu .btn-login,#userMenu .btn-register,#adminMenuBtn .btn-register){
  color:var(--text-primary)!important;
  letter-spacing:0!important;
  transition:color .16s ease,background-color .16s ease!important;
}
#mainNav :is(.desktop-planner-btn,.desktop-cart-btn,#authBtns button,#userMenu button,#adminMenuBtn button):hover{
  color:var(--brand-accent)!important;
  background:transparent!important;
}
body.mb-home-page-active #mainNav :is(.desktop-planner-btn,.desktop-cart-btn,#authBtns button,#userMenu button,#adminMenuBtn button):hover{
  color:#FFF!important;
  background:rgba(255,255,255,.10)!important;
}
#mainNav .site-logo-img{filter:drop-shadow(0 2px 8px rgba(0,0,0,.18))}

.mb-desktop-theme-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  width:40px;
  height:40px;
  min-width:40px;
  padding:0;
  border:0;
  border-left:1px solid var(--border-light);
  border-radius:0;
  background:transparent;
  color:var(--text-primary);
  cursor:pointer;
}
.mb-desktop-theme-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mb-desktop-theme-toggle .mb-theme-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
body.mb-home-page-active .mb-desktop-theme-toggle{border-left-color:rgba(255,255,255,.28)}
.mb-desktop-theme-toggle:hover{color:var(--brand-accent)!important;background:var(--background-subtle)!important}
body.mb-home-page-active .mb-desktop-theme-toggle:hover{color:#FFF!important;background:rgba(255,255,255,.1)!important}

/* Menú lateral */
#mobileNav.mobile-nav{
  background:var(--background-elevated)!important;
  color:var(--text-primary)!important;
  border-left:1px solid var(--border-light)!important;
  box-shadow:-24px 0 64px rgba(0,0,0,.28)!important;
}
#mobileNav :is(.mobile-nav-topbar,.nav-submenu,.mobile-nav-actions){border-color:var(--border-light)!important}
#mobileNav :is(.nav-group-toggle,.nav-sub-link,.mobile-menu-btn,#mn-whatsapp){
  color:var(--text-primary)!important;
  border-color:var(--border-light)!important;
  background:transparent!important;
}
#mobileNav :is(.nav-group-toggle,.nav-sub-link,#mn-whatsapp):hover{background:var(--background-subtle)!important;color:var(--brand-accent)!important}
#mobileNav .mobile-menu-btn.primary{background:var(--brand-primary)!important;color:var(--text-inverse)!important;border-color:var(--brand-primary)!important}
#mobileNav .mobile-menu-btn.danger{color:var(--danger)!important;border-color:color-mix(in srgb,var(--danger) 35%,transparent)!important}
#mobileNav .mobile-nav-close{background:var(--background-subtle)!important;color:var(--text-primary)!important;border:1px solid var(--border-light)!important}

/* ------------------------------------------------------------------------
   HERO — sin reintroducir CTA ni navegación eliminada.
   ------------------------------------------------------------------------ */
#page-home>.hero{
  min-height:clamp(660px,92svh,900px)!important;
  background:#0B1B20!important;
}
#page-home>.hero .hero-bg::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,rgba(3,13,17,.77) 0%,rgba(3,13,17,.45) 43%,rgba(3,13,17,.18) 72%,rgba(3,13,17,.34) 100%),
    linear-gradient(180deg,rgba(3,13,17,.18) 40%,rgba(3,13,17,.74) 100%);
  pointer-events:none;
}
#page-home>.hero .hero-content{
  width:min(100%,var(--container-width))!important;
  max-width:var(--container-width)!important;
  padding:calc(var(--header-height) + 5rem) clamp(1.25rem,5vw,5rem) 5rem!important;
  text-align:left!important;
}
#page-home>.hero .hero-content>*{max-width:760px}
#page-home .hero-badge{
  width:max-content!important;
  max-width:100%!important;
  padding:.55rem .82rem!important;
  border:1px solid rgba(255,255,255,.28)!important;
  border-radius:var(--radius-pill)!important;
  background:rgba(8,29,35,.38)!important;
  color:#F7E8C4!important;
  box-shadow:none!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
  font-size:.76rem!important;
  font-weight:800!important;
  letter-spacing:.04em!important;
}
#page-home .hero-title{
  max-width:760px!important;
  margin:1.25rem 0 .9rem!important;
  color:#FFFDF7!important;
  font-size:clamp(2.8rem,6vw,5.8rem)!important;
  line-height:.99!important;
  letter-spacing:-.055em!important;
  text-shadow:0 4px 30px rgba(0,0,0,.26)!important;
}
#page-home .hero-title .gold{color:#E9C977!important}
#page-home .hero-subtitle{
  max-width:650px!important;
  margin:0!important;
  color:rgba(255,255,255,.84)!important;
  font-size:clamp(1rem,1.45vw,1.18rem)!important;
  line-height:1.72!important;
  text-shadow:0 2px 18px rgba(0,0,0,.2)!important;
}
#page-home .hero-stats{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  width:min(100%,720px)!important;
  gap:0!important;
  margin:2rem 0 0!important;
  padding:1rem 0!important;
  border-top:1px solid rgba(255,255,255,.22)!important;
  border-bottom:1px solid rgba(255,255,255,.14)!important;
  background:transparent!important;
}
#page-home .hero-stats .stat{padding:.1rem 1rem!important;border-right:1px solid rgba(255,255,255,.16)!important}
#page-home .hero-stats .stat:first-child{padding-left:0!important}
#page-home .hero-stats .stat:last-child{border-right:0!important}
#page-home .stat-num{color:#FFFDF7!important;font-size:1.26rem!important;font-weight:900!important}
#page-home .stat-label{color:rgba(255,255,255,.68)!important;font-size:.68rem!important;letter-spacing:.05em!important}

/* ------------------------------------------------------------------------
   CONFIANZA Y SECCIONES
   ------------------------------------------------------------------------ */
.mb-trust-strip{
  background:var(--background-card)!important;
  border-color:var(--border-light)!important;
  box-shadow:var(--shadow-small)!important;
}
.mb-trust-grid{width:min(100%,var(--container-width))!important;padding:1.05rem clamp(1rem,3vw,2rem)!important}
.mb-trust-item{border-right-color:var(--border-light)!important}
.mb-trust-icon{background:color-mix(in srgb,var(--brand-secondary) 12%,var(--background-card))!important;color:var(--brand-secondary)!important}
.mb-trust-copy strong{color:var(--text-primary)!important}
.mb-trust-copy span{color:var(--text-muted)!important}

#page-home .section{
  padding:clamp(4.5rem,7vw,7rem) clamp(1rem,3vw,2rem)!important;
  background:var(--background-section)!important;
}
#page-home #packages-grid{background:var(--background-section-alt)!important}
#page-home .section-inner{width:min(100%,var(--container-width))!important}
#page-home .section-badge{
  color:var(--brand-accent)!important;
  font-size:.7rem!important;
  font-weight:900!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
#page-home .section-title{
  color:var(--text-primary)!important;
  font-size:clamp(2.1rem,3.6vw,3.45rem)!important;
  line-height:1.04!important;
  letter-spacing:-.05em!important;
}
#page-home .section-sub{color:var(--text-secondary)!important;font-size:1rem!important;line-height:1.75!important}
#tourFilters{display:none!important}

/* ------------------------------------------------------------------------
   TARJETAS DE TOURS, PAQUETES Y AGRUPACIONES
   Información secundaria textual: sin chips, cápsulas ni fondos plomos.
   ------------------------------------------------------------------------ */
#page-home :is(#toursGrid,#packagesGrid,.tax-card-grid){
  gap:clamp(1rem,1.8vw,1.5rem)!important;
  align-items:stretch!important;
}

#page-home :is(.taxonomy-home-groups,.tax-category-block,.tax-subcategory,.tax-type){
  background:transparent!important;
  box-shadow:none!important;
}
#page-home .taxonomy-home-groups{gap:clamp(2.5rem,5vw,4.5rem)!important}
#page-home .tax-category-block{
  border:0!important;
  border-radius:0!important;
  padding:0!important;
}
#page-home .tax-category-title{
  position:relative!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:1rem!important;
  margin:0 0 1.35rem!important;
  padding:0 0 .9rem!important;
  border:0!important;
  border-bottom:1px solid var(--border-light)!important;
  background:transparent!important;
}
#page-home .tax-category-title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:56px;
  height:3px;
  border-radius:3px;
  background:var(--brand-primary);
}
#page-home .tax-category-title h3,
#page-home .tax-subcategory>h4,
#page-home .tax-type>h5{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--text-primary)!important;
}
#page-home .tax-category-title h3{font-size:clamp(1.35rem,2vw,1.75rem)!important;letter-spacing:-.025em!important}
#page-home .tax-category-title span{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--text-muted)!important;
  font-size:.76rem!important;
  font-weight:700!important;
}
#page-home .tax-subcategory{margin:1.45rem 0 2rem!important}
#page-home .tax-subcategory>h4{margin-bottom:.85rem!important;font-size:1rem!important}
#page-home .tax-type{margin:1rem 0 1.8rem!important}
#page-home .tax-type>h5{
  margin-bottom:.8rem!important;
  color:var(--brand-primary)!important;
  font-size:.78rem!important;
  font-weight:850!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

#page-home .tour-card{
  isolation:isolate;
  overflow:hidden!important;
  border:1px solid var(--border-light)!important;
  border-radius:20px!important;
  background:var(--background-card)!important;
  box-shadow:var(--shadow-card)!important;
  transform:translateZ(0);
}
@media (hover:hover){
  #page-home .tour-card:hover{
    transform:translateY(-4px)!important;
    border-color:color-mix(in srgb,var(--brand-primary) 34%,var(--border-light))!important;
    box-shadow:var(--shadow-card-hover)!important;
  }
  #page-home .tour-card:hover .tour-img-bg{transform:scale(1.018)!important}
}
#page-home .tour-card::before{display:none!important}
#page-home .tour-card .tour-img{
  height:clamp(210px,17vw,246px)!important;
  min-height:210px!important;
  max-height:246px!important;
  background:var(--background-subtle)!important;
}
#page-home .tour-card .tour-img-bg{
  object-fit:cover!important;
  object-position:center!important;
  filter:saturate(1.035) contrast(1.01)!important;
  transition:transform .28s ease!important;
}
#page-home .tour-card .tour-img::after{
  background:linear-gradient(180deg,transparent 48%,rgba(4,24,34,.34) 100%)!important;
}
#page-home .tour-card .tour-badge{
  top:12px!important;
  left:12px!important;
  max-width:calc(100% - 72px)!important;
  padding:.3rem .62rem!important;
  border:1px solid rgba(255,255,255,.26)!important;
  border-radius:7px!important;
  background:rgba(10,48,67,.91)!important;
  color:#FFF!important;
  box-shadow:none!important;
  font-size:.65rem!important;
  font-weight:850!important;
  letter-spacing:.02em!important;
}
#page-home .tour-card .discount-floating{background:rgba(200,95,71,.94)!important;color:#FFF!important}
#page-home .tour-card .fav-floating{
  top:12px!important;
  right:12px!important;
  width:38px!important;
  height:38px!important;
  border:1px solid rgba(16,42,67,.10)!important;
  background:rgba(255,255,255,.93)!important;
  color:#102A43!important;
  box-shadow:0 5px 16px rgba(16,42,67,.16)!important;
  backdrop-filter:blur(8px)!important;
}
#page-home .tour-card .fav-floating.active{background:#FFF0EC!important;color:#B84B3C!important}

#page-home .tour-card .tour-body{
  min-height:200px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:.72rem!important;
  padding:1.12rem 1.12rem 1.18rem!important;
  background:var(--background-card)!important;
}
#page-home .tour-card .tour-type-mobile{
  color:var(--brand-primary)!important;
  font-size:.67rem!important;
  font-weight:850!important;
  letter-spacing:.09em!important;
}
#page-home .tour-card .tour-title{
  min-height:2.72em!important;
  margin:0!important;
  color:var(--text-primary)!important;
  font-size:1.06rem!important;
  line-height:1.36!important;
  font-weight:850!important;
  letter-spacing:-.018em!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
}

#page-home .tour-card .tour-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:.42rem .78rem!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--text-secondary)!important;
  font-size:.76rem!important;
  font-weight:620!important;
  line-height:1.35!important;
}
#page-home .tour-card .tour-meta-item,
#page-home .tour-card .tour-meta span{
  display:inline-flex!important;
  align-items:center!important;
  gap:.34rem!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  color:inherit!important;
  white-space:normal!important;
  cursor:default!important;
  pointer-events:none!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
#page-home .tour-card .tour-meta span+span::before{content:none!important}
#page-home .tour-card .tour-meta-icon{
  width:15px!important;
  height:15px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 15px!important;
  color:var(--text-muted)!important;
}
#page-home .tour-card .tour-meta-svg{
  width:15px!important;
  height:15px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
#page-home .tour-card .tour-meta-status-dot{
  width:7px!important;
  height:7px!important;
  display:block!important;
  border-radius:50%!important;
  background:var(--success)!important;
  box-shadow:none!important;
}
#page-home .tour-card .tour-meta-availability{color:var(--success)!important;font-weight:720!important}
#page-home .tour-card .tour-meta-availability .tour-meta-icon{color:var(--success)!important}

#page-home .tour-card .tour-bottom{
  margin-top:auto!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:.85rem!important;
  padding-top:.92rem!important;
  border-top:1px solid var(--border-light)!important;
}
#page-home .tour-card .tour-rating{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:.22rem!important;
  min-width:0!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  filter:none!important;
  color:var(--text-primary)!important;
  font-size:.79rem!important;
  font-weight:760!important;
  line-height:1.35!important;
  text-shadow:none!important;
  backdrop-filter:none!important;
  cursor:default!important;
  pointer-events:none!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
#page-home .tour-card .tour-rating::before{
  content:"★"!important;
  color:var(--star)!important;
  font-size:.93rem!important;
  line-height:1!important;
}
#page-home .tour-card .tour-rating.is-new::before{content:none!important}
#page-home .tour-card .tour-rating-value{color:var(--text-primary)!important;font-weight:850!important}
#page-home .tour-card .tour-review-count{color:var(--text-muted)!important;font-weight:650!important;text-shadow:none!important}
#page-home .tour-card .tour-review-empty{display:inline!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--text-secondary)!important;font-weight:700!important;text-transform:none!important;cursor:default!important}
#page-home .tour-card .tour-price{
  display:inline-flex!important;
  align-items:baseline!important;
  justify-content:flex-end!important;
  flex-wrap:wrap!important;
  gap:.28rem!important;
  max-width:58%!important;
  color:var(--text-primary)!important;
  text-align:right!important;
}
#page-home .tour-card .price-from{
  color:var(--text-muted)!important;
  font-size:.7rem!important;
  font-weight:700!important;
  line-height:1!important;
}
#page-home .tour-card .price-usd,
#page-home .tour-card :is(.price-main,.price-value,.tour-price strong){
  color:var(--brand-accent)!important;
  font-size:1.28rem!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
}
html[data-theme="dark"] #page-home .tour-card .price-usd,
html.theme-dark #page-home .tour-card .price-usd,
html[data-theme="dark"] #page-home .tour-card :is(.price-main,.price-value,.tour-price strong),
html.theme-dark #page-home .tour-card :is(.price-main,.price-value,.tour-price strong){color:#F3A083!important}

@media (max-width:899px){
  #page-home .taxonomy-home-groups{gap:2.4rem!important}
  #page-home .tax-category-title{align-items:flex-start!important;margin-bottom:1rem!important}
  #page-home .tax-category-title h3{font-size:1.25rem!important}
  #page-home .tour-card{border-radius:18px!important}
  #page-home .tour-card .tour-img{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/10!important}
  #page-home .tour-card .tour-body{min-height:0!important;padding:1rem!important}
  #page-home .tour-card .tour-title{min-height:0!important;font-size:1.02rem!important}
  #page-home .tour-card .tour-bottom{align-items:center!important}
}
@media (max-width:430px){
  #page-home .tour-card .tour-meta{gap:.42rem .65rem!important}
  #page-home .tour-card .tour-bottom{align-items:flex-end!important}
  #page-home .tour-card .tour-rating{max-width:58%!important}
  #page-home .tour-card .tour-price{max-width:46%!important}
  #page-home .tour-card .price-usd{font-size:1.18rem!important}
}

/* Vacíos y skeletons */
.empty-state,.skeleton-card,.loading-card{
  border:1px solid var(--border-light)!important;
  border-radius:var(--radius-large)!important;
  background:var(--background-card)!important;
  color:var(--text-secondary)!important;
  box-shadow:var(--shadow-small)!important;
}

/* ------------------------------------------------------------------------
   DETALLE DE TOUR / MODALES
   ------------------------------------------------------------------------ */
.modal-overlay,.auth-overlay,.form-overlay{
  background:var(--background-overlay)!important;
  backdrop-filter:blur(11px)!important;
  -webkit-backdrop-filter:blur(11px)!important;
}
#tourModal .modal-content,
.auth-modal,
.form-modal{
  border:1px solid var(--border-light)!important;
  border-radius:var(--radius-xlarge)!important;
  background:var(--background-elevated)!important;
  color:var(--text-primary)!important;
  box-shadow:var(--shadow-elevated)!important;
}
#tourModal .modal-close,.auth-close,.form-close{
  background:color-mix(in srgb,var(--background-elevated) 90%,transparent)!important;
  color:var(--text-primary)!important;
  border:1px solid var(--border-light)!important;
  box-shadow:var(--shadow-small)!important;
}
#tourModalContent .tour-gallery{background:#0C171B!important}
#tourModalContent .modal-img{object-fit:cover!important;object-position:center!important}
#tourModalContent .gal-btn{background:rgba(8,24,29,.72)!important;color:#FFF!important;border:1px solid rgba(255,255,255,.28)!important}
#tourModalContent .modal-body{background:var(--background-elevated)!important;color:var(--text-primary)!important}
#tourModalContent .modal-title{color:var(--text-primary)!important;letter-spacing:-.035em!important}
#tourModalContent .modal-price-big{color:var(--brand-accent)!important}
html[data-theme="dark"] #tourModalContent .modal-price-big{color:#F0A07D!important}
#tourModalContent .modal-meta-row{color:var(--text-secondary)!important}
#tourModalContent .modal-meta-row span{
  border:1px solid var(--border-light)!important;
  background:var(--background-subtle)!important;
  color:var(--text-secondary)!important;
}
#tourModalContent .modal-meta-row :is(.tour-rating-value,.tour-review-count){color:var(--text-secondary)!important;text-shadow:none!important}
#tourModalContent .detail-tabs{background:var(--background-elevated)!important;border-bottom-color:var(--border-light)!important}
#tourModalContent .detail-tab{color:var(--text-muted)!important}
#tourModalContent .detail-tab:is(:hover,.active){color:var(--brand-accent)!important}
#tourModalContent .detail-tab.active::after{background:var(--brand-accent)!important}
#tourModalContent :is(.section-block,.review-card,.detail-faq-card,.itinerary-map-card,.itinerary-stop-body){
  border-color:var(--border-light)!important;
  background:var(--background-card)!important;
  color:var(--text-primary)!important;
  box-shadow:var(--shadow-small)!important;
}
#tourModalContent :is(.section-block h4,.review-card b,.detail-faq-question){color:var(--text-primary)!important}
#tourModalContent :is(.include-item,.pay-pill,.itinerary-stop-kind){
  background:var(--background-subtle)!important;
  color:var(--text-secondary)!important;
  border-color:var(--border-light)!important;
}
#page-checkout .checkout-date-calendar .calendar-box{background:var(--background-subtle)!important;border-color:var(--border-light)!important}
#page-checkout .checkout-date-calendar .calendar-head select,
#page-checkout .checkout-date-calendar .cal-cell{
  background:var(--background-card)!important;
  color:var(--text-secondary)!important;
  border-color:var(--border-light)!important;
}
#page-checkout .checkout-date-calendar .cal-cell.ok{color:var(--text-primary)!important}
#page-checkout .checkout-date-calendar .cal-cell.ok:hover{border-color:var(--brand-secondary)!important;background:color-mix(in srgb,var(--brand-secondary) 10%,var(--background-card))!important;color:var(--text-primary)!important}
#page-checkout .checkout-date-calendar .cal-cell.sel{background:var(--brand-primary)!important;border-color:var(--brand-primary)!important;color:var(--text-inverse)!important}
html[data-theme="dark"] #page-checkout .checkout-date-calendar .cal-cell.sel{color:#0D171C!important}
#tourModalContent .modal-action-grid{background:var(--background-subtle)!important;border-color:var(--border-light)!important}
#tourModalContent .btn-cart.modal-action-btn{background:var(--brand-primary)!important;border-color:var(--brand-primary)!important;color:var(--text-inverse)!important}
#tourModalContent .btn-share.modal-action-btn{background:var(--background-card)!important;border-color:var(--border-strong)!important;color:var(--text-primary)!important}
#tourModalContent .modal-book-btn{background:var(--brand-accent)!important;color:#FFF!important;box-shadow:0 12px 28px color-mix(in srgb,var(--brand-accent) 28%,transparent)!important}
#tourModalContent .modal-book-btn:hover{background:var(--brand-accent-hover)!important}
#tourModalContent .modal-book-btn::before,
#tourModalContent .modal-book-btn::after{content:none!important;display:none!important}
#tourModalContent .detail-faq-question b{color:var(--brand-accent)!important}
#tourModalContent .detail-faq-answer{color:var(--text-secondary)!important}
#tourModalContent .detail-faq-reco-card{background:var(--background-card)!important;border-color:var(--border-light)!important;color:var(--text-primary)!important}

/* ------------------------------------------------------------------------
   BOTONES — sistema coherente
   ------------------------------------------------------------------------ */
:where(.btn-primary,.btn-save,.modal-book-btn,.btn-book,.mobile-menu-btn.primary){
  border:1px solid var(--brand-primary)!important;
  border-radius:12px!important;
  background:var(--brand-primary)!important;
  color:var(--text-inverse)!important;
  box-shadow:none!important;
  font-weight:850!important;
  text-transform:none!important;
}
html[data-theme="dark"] :where(.btn-primary,.btn-save,.btn-book,.mobile-menu-btn.primary){color:#0D171C!important}
:where(.btn-primary,.btn-save,.btn-book):hover{background:var(--brand-primary-hover)!important;border-color:var(--brand-primary-hover)!important;transform:translateY(-1px)!important}
:where(.btn-detail,.btn-share,.btn-cart){
  border:1px solid var(--border-strong)!important;
  border-radius:12px!important;
  background:var(--background-card)!important;
  color:var(--text-primary)!important;
  box-shadow:none!important;
}
:where(button,[role="button"]):disabled{opacity:.52!important;cursor:not-allowed!important;transform:none!important}

/* ------------------------------------------------------------------------
   FORMULARIOS, LOGIN, CARRITO Y CHECKOUT
   ------------------------------------------------------------------------ */
#page-checkout,#page-dashboard,#page-admin{background:var(--background-page)!important;color:var(--text-primary)!important}
.checkout-wrap,.dashboard,.admin-wrap{color:var(--text-primary)!important}
.checkout-section,
.checkout-passenger-card,
.cart-checkout-item,
.cart-total-card,
.booking-card,
.user-booking-card,
.admin-booking-group,
.dashboard>div[style],
.coupon-box{
  border-color:var(--border-light)!important;
  background:var(--background-card)!important;
  color:var(--text-primary)!important;
  box-shadow:var(--shadow-card)!important;
}
.checkout-passenger-optional,.admin-manual-booking-summary,.booking-payment-box{
  background:var(--background-subtle)!important;
  border-color:var(--border-light)!important;
  color:var(--text-secondary)!important;
}
.form-group label,.auth-form label,.checkout-section label{color:var(--text-primary)!important;font-weight:780!important}
:where(input,select,textarea){
  background:var(--background-input)!important;
  color:var(--text-primary)!important;
  border:1px solid var(--border-light)!important;
  border-radius:12px!important;
  box-shadow:none!important;
}
:where(input,textarea)::placeholder{color:var(--text-muted)!important;opacity:1!important}
:where(input,select,textarea):hover{border-color:var(--border-strong)!important}
:where(input,select,textarea):focus{
  background:var(--background-card)!important;
  border-color:var(--brand-secondary)!important;
}
:where(input,select,textarea):disabled{background:var(--background-subtle)!important;color:var(--text-muted)!important}

#page-checkout .checkout-section,
#page-checkout #orderSummary{background:var(--background-card)!important;border-color:var(--border-light)!important}
#page-checkout .checkout-section h3,
#page-checkout #orderSummary h3{color:var(--text-primary)!important;border-bottom-color:var(--border-light)!important}
#page-checkout .pay-tab{
  background:var(--background-subtle)!important;
  color:var(--text-primary)!important;
  border-color:var(--border-light)!important;
  box-shadow:none!important;
}
#page-checkout .pay-tab small{color:var(--text-muted)!important}
#page-checkout .pay-tab::after{background:var(--background-card)!important;border-color:var(--border-strong)!important}
#page-checkout .pay-tab.active{
  background:color-mix(in srgb,var(--brand-secondary) 13%,var(--background-card))!important;
  border-color:var(--brand-secondary)!important;
  color:var(--text-primary)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--brand-secondary) 12%,transparent)!important;
}
#page-checkout .pay-tab.active small{color:var(--text-secondary)!important}
#page-checkout .pay-tab.active::after{background:var(--brand-secondary)!important;border-color:var(--brand-secondary)!important;color:#FFF!important}
#page-checkout #checkoutConfirmBtn{background:var(--brand-accent)!important;border-color:var(--brand-accent)!important;color:#FFF!important}
#page-checkout #checkoutConfirmBtn:hover{background:var(--brand-accent-hover)!important}

.auth-title,.form-title{color:var(--text-primary)!important}
.auth-sub,.auth-switch,.form-sub{color:var(--text-secondary)!important}
.auth-switch a{color:var(--text-link)!important}
.social-btn.google{background:var(--background-card)!important;color:var(--text-primary)!important;border-color:var(--border-strong)!important;box-shadow:var(--shadow-small)!important}

.dash-tabs,.admin-tabs{border-color:var(--border-light)!important;background:var(--background-card)!important}
.dash-tab,.admin-tab{color:var(--text-muted)!important;border-color:transparent!important}
.dash-tab.active,.admin-tab.active{color:var(--brand-accent)!important;border-bottom-color:var(--brand-accent)!important;background:transparent!important}
.booking-title,.booking-price,.booking-payment-title{color:var(--text-primary)!important}
.booking-info,.booking-meta{color:var(--text-secondary)!important}
.booking-status{border:1px solid var(--border-light)!important;background:var(--background-subtle)!important;color:var(--text-secondary)!important}

/* Blog, FAQ y contenido auxiliar */
.blog-page-wrap,.legal-page,.about-page{background:var(--background-page)!important;color:var(--text-primary)!important}
.blog-card,.blog-post-card,.faq-card,.legal-card,.about-card{
  background:var(--background-card)!important;
  color:var(--text-primary)!important;
  border-color:var(--border-light)!important;
  box-shadow:var(--shadow-card)!important;
}
.blog-empty{color:var(--text-secondary)!important}

/* ------------------------------------------------------------------------
   TOASTS, LOADER Y WHATSAPP
   ------------------------------------------------------------------------ */
.toast{
  background:var(--background-elevated)!important;
  color:var(--text-primary)!important;
  border-color:var(--border-light)!important;
  box-shadow:var(--shadow-elevated)!important;
}
.toast.success{border-left:4px solid var(--success)!important}
.toast.error{border-left:4px solid var(--danger)!important}
#loading{background:var(--background-page)!important;color:var(--text-primary)!important}
.loader-fill{background:linear-gradient(90deg,var(--brand-primary),var(--brand-secondary),var(--brand-accent))!important}
.loader-text{color:var(--text-secondary)!important}
.whatsapp-float,.whatsapp-btn{box-shadow:0 14px 34px rgba(25,118,77,.24)!important}

/* ------------------------------------------------------------------------
   FOOTER — oscuro premium en ambos temas, con contraste estable.
   ------------------------------------------------------------------------ */
#mainFooter,footer{
  background:#0A2A32!important;
  color:#F5F3EC!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}
html[data-theme="dark"] #mainFooter,
html[data-theme="dark"] footer{background:#091319!important}
#mainFooter :is(.footer-brand,.footer-review-title,.footer-col h4,.footer-social-title),
footer :is(.footer-brand,.footer-review-title,.footer-col h4,.footer-social-title){color:#F7F5EF!important}
#mainFooter :is(.footer-brand-sub,.footer-review-sub,.footer-review-meta,.footer-col a,.footer-bottom,.footer-contact),
footer :is(.footer-brand-sub,.footer-review-sub,.footer-review-meta,.footer-col a,.footer-bottom,.footer-contact){color:rgba(247,245,239,.72)!important}
#mainFooter .footer-col a:hover,footer .footer-col a:hover{color:#FFF!important}
#mainFooter :is(.footer-review-panel,.footer-review-card),
footer :is(.footer-review-panel,.footer-review-card){background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.11)!important;color:#F7F5EF!important}
#mainFooter .footer-review-card p,footer .footer-review-card p{color:rgba(247,245,239,.78)!important}
#mainFooter .footer-payment-icon,footer .footer-payment-icon{background:#FFF!important;border-radius:8px!important;padding:4px!important}

/* ------------------------------------------------------------------------
   RESPONSIVE
   ------------------------------------------------------------------------ */
@media(max-width:1100px){
  #mainNav .desktop-ai-search{display:none!important}
  #mainNav .nav-links{flex:1 1 auto!important}
  #page-home .hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:min(100%,540px)!important}
  #page-home .hero-stats .stat:nth-child(2){border-right:0!important}
  #page-home .hero-stats .stat:nth-child(-n+2){margin-bottom:.8rem!important}
}

@media(max-width:899px){
  :root{--header-height:60px}
  #mainNav{min-height:60px!important}
  .mb-desktop-theme-toggle{display:none!important}

  /* En móvil la cabecera principal se mantiene fuera del hero porque el hero ya tiene su propia barra. */
  #page-home>.hero{min-height:560px!important}
  #page-home>.hero .hero-content{display:none!important}
  .mb-mobile-home-hero{color:#FFF!important}
  .mb-mobile-home-shade{
    background:linear-gradient(180deg,rgba(3,13,17,.5) 0%,rgba(3,13,17,.08) 38%,rgba(3,13,17,.76) 100%)!important;
  }
  .mb-mobile-home-top{padding:max(1rem,env(safe-area-inset-top)) 1rem 0!important}
  .mb-mobile-home-actions button{
    min-width:44px!important;
    min-height:44px!important;
    border:1px solid rgba(255,255,255,.35)!important;
    background:rgba(6,22,27,.42)!important;
    color:#FFF!important;
    backdrop-filter:blur(8px)!important;
  }
  .mb-mobile-home-search{
    margin-inline:1rem!important;
    border:1px solid rgba(255,255,255,.30)!important;
    border-radius:16px!important;
    background:rgba(255,255,255,.93)!important;
    box-shadow:0 18px 44px rgba(0,0,0,.24)!important;
  }
  .mb-mobile-home-search input{background:transparent!important;color:#18262E!important;border:0!important}
  .mb-mobile-home-search input::placeholder{color:#69767D!important}
  .mb-mobile-home-search-btn{background:var(--brand-accent)!important;color:#FFF!important;border-radius:12px!important}
  .mb-mobile-home-title{max-width:92%!important;color:#FFF!important;font-size:clamp(2rem,9vw,3rem)!important;line-height:1.02!important;letter-spacing:-.045em!important;text-shadow:0 4px 22px rgba(0,0,0,.34)!important}

  .mb-trust-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:.7rem!important;
    padding:1rem!important;
  }
  .mb-trust-item{
    min-width:0!important;
    padding:.35rem!important;
    border-right:0!important;
  }
  .mb-trust-copy span{display:none!important}

  #page-home .section{padding:3.4rem .9rem!important}
  #page-home .section-header{text-align:left!important;margin-bottom:1.35rem!important}
  #page-home .section-title{font-size:clamp(1.8rem,8vw,2.35rem)!important}
  #page-home .section-sub{font-size:.92rem!important;line-height:1.65!important}

  #page-home :is(#toursGrid,#packagesGrid,.tax-card-grid){grid-template-columns:1fr!important;gap:1rem!important}
  #page-home .tour-card{border-radius:18px!important}
  #page-home .tour-card .tour-img{height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:16/10!important}
  #page-home .tour-card .tour-body{min-height:0!important;padding:1rem!important}
  #page-home .tour-card .tour-title{min-height:0!important;font-size:1.02rem!important}
  #page-home .tour-card .tour-bottom{align-items:center!important}
  #page-home .tour-card :is(.price-main,.price-value,.tour-price strong){font-size:1.16rem!important}

  #tourModal.modal-overlay{
    padding:0!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  #tourModal .modal,
  #tourModal .modal-content{
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    margin:0!important;
    border-radius:0!important;
    border-left:0!important;
    border-right:0!important;
    border-bottom:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
  }
  #tourModalContent .tour-gallery{height:auto!important;aspect-ratio:16/10!important}
  #tourModalContent .modal-body{padding:1.1rem 1rem calc(1.4rem + env(safe-area-inset-bottom))!important}
  #tourModalContent .modal-title{font-size:1.55rem!important}
  #tourModalContent .detail-tabs{margin-inline:-1rem!important;padding-inline:1rem!important;top:-1px!important}
  #tourModalContent .section-block{padding:1rem!important}
  #tourModalContent .modal-action-grid{position:static!important;grid-template-columns:1fr!important;padding:.55rem!important}
  #tourModalContent .modal-final-actions .modal-action-book{grid-column:auto!important;position:static!important;inset:auto!important;z-index:auto!important}

  #page-checkout .checkout-wrap{grid-template-columns:1fr!important;padding:.75rem .75rem calc(6rem + env(safe-area-inset-bottom))!important}
  #page-checkout .checkout-right .checkout-section,
  #page-checkout #orderSummary{position:static!important}
  #page-checkout .checkout-section{padding:1rem!important;border-radius:18px!important}
  #page-checkout .pay-tabs{grid-template-columns:1fr!important}
  .form-row{grid-template-columns:1fr!important}

  #mainFooter,footer{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))!important}
}

@media(max-width:430px){
  .mb-trust-grid{grid-template-columns:1fr 1fr!important}
  .mb-trust-icon{width:36px!important;height:36px!important}
  .mb-trust-copy strong{font-size:.74rem!important}
  #page-home .tour-card .tour-meta{gap:.2rem .45rem!important}
  #page-home .tour-card .tour-meta span+span::before{margin-right:.4rem!important}
  #tourModalContent .modal-action-grid{grid-template-columns:1fr!important}
}

@media(min-width:900px) and (max-width:1180px){
  #mainNav .lang-group{display:none!important}
  #mainNav :is(.desktop-planner-btn,.desktop-cart-btn,#authBtns button,#userMenu button){padding-inline:.55rem!important;font-size:.72rem!important}
}

@media(min-width:1600px){
  #page-home .tour-card .tour-img{height:250px!important;max-height:250px!important}
  #page-home .section{padding-block:7rem!important}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  #page-home .tour-card:hover{transform:none!important}
  #page-home .tour-card:hover .tour-img-bg{transform:none!important}
}

/* Contraste final de las acciones del header sobre el hero, incluido texto interno. */
body.mb-home-page-active #mainNav .desktop-planner-btn > span,
body.mb-home-page-active #mainNav .desktop-cart-btn > span,
body.mb-home-page-active #mainNav #desktopCartLabel,
body.mb-home-page-active #mainNav .cart-ico,
body.mb-home-page-active #mainNav .desktop-cart-btn .cart-count{
  color:#FFFDF7!important;
  opacity:1!important;
  -webkit-text-fill-color:#FFFDF7!important;
}
body.mb-home-page-active #mainNav .desktop-cart-btn .cart-count{
  background:rgba(183,90,56,.92)!important;
  border:1px solid rgba(255,255,255,.35)!important;
}

/* 20260711-checkout-passenger-stepper-v8
   Selector accesible de pasajeros en Completar reserva. */
.checkout-passenger-picker-group{position:relative!important;z-index:8!important}
.checkout-passenger-picker{position:relative;width:100%}
.checkout-passenger-trigger{
  width:100%;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:.75rem;
  padding:.78rem .9rem;border:1px solid var(--border-light);border-radius:var(--radius-medium);
  background:var(--background-elevated);color:var(--text-primary);font:inherit;font-weight:800;
  box-shadow:var(--shadow-small);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.checkout-passenger-trigger:hover{border-color:color-mix(in srgb,var(--brand-primary) 55%,var(--border-light))}
.checkout-passenger-trigger:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-primary) 28%,transparent);outline-offset:2px;border-color:var(--brand-primary)}
.checkout-passenger-trigger-main{display:flex;align-items:center;gap:.65rem;min-width:0}
.checkout-passenger-trigger-main svg{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--brand-primary)}
.checkout-passenger-chevron{font-size:1.3rem;line-height:1;transform:translateY(-2px);transition:transform .18s ease;color:var(--text-secondary)}
.checkout-passenger-picker.is-open .checkout-passenger-chevron{transform:rotate(180deg) translateY(2px)}
.checkout-passenger-popover{
  position:absolute;z-index:80;top:calc(100% + 10px);right:0;width:min(370px,calc(100vw - 2rem));
  padding:1.15rem;border:1px solid var(--border-light);border-radius:22px;background:var(--background-elevated);
  color:var(--text-primary);box-shadow:var(--shadow-elevated);
}
.checkout-passenger-popover[hidden]{display:none!important}
.checkout-passenger-popover::before{
  content:"";position:absolute;right:24px;top:-7px;width:12px;height:12px;transform:rotate(45deg);
  background:var(--background-elevated);border-left:1px solid var(--border-light);border-top:1px solid var(--border-light)
}
.checkout-passenger-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.checkout-passenger-copy{display:grid;gap:.2rem;min-width:0}
.checkout-passenger-copy strong{font-size:1rem;line-height:1.25;color:var(--text-primary)}
.checkout-passenger-copy small{font-size:.78rem;line-height:1.35;color:var(--text-secondary)}
.checkout-passenger-stepper{display:grid;grid-template-columns:42px 44px 42px;align-items:center;gap:.55rem;flex:0 0 auto}
.checkout-passenger-step{
  width:42px;height:42px;display:grid;place-items:center;padding:0;border:2px solid var(--brand-primary);border-radius:999px;
  background:transparent;color:var(--brand-primary);font-size:1.55rem;font-weight:700;line-height:1;cursor:pointer;
  transition:background-color .16s ease,color .16s ease,transform .16s ease,opacity .16s ease;
}
.checkout-passenger-step:hover:not(:disabled){background:var(--brand-primary);color:var(--text-inverse);transform:translateY(-1px)}
.checkout-passenger-step:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-primary) 30%,transparent);outline-offset:2px}
.checkout-passenger-step:disabled{border-color:var(--border-strong);color:var(--text-muted);opacity:.55;cursor:not-allowed}
#ck-passenger-count{
  min-width:44px;height:42px;display:grid;place-items:center;border:1px solid var(--border-strong);border-radius:10px;
  background:var(--background-card);color:var(--text-primary);font-size:1rem;font-weight:800;font-variant-numeric:tabular-nums
}
.checkout-passenger-apply{
  width:100%;min-height:46px;margin-top:1.15rem;padding:.75rem 1rem;border:0;border-radius:999px;
  background:var(--brand-primary);color:var(--text-inverse);font:inherit;font-weight:900;cursor:pointer;
  box-shadow:0 10px 24px color-mix(in srgb,var(--brand-primary) 24%,transparent);
  transition:background-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.checkout-passenger-apply:hover{background:var(--brand-primary-hover);transform:translateY(-1px);box-shadow:0 13px 28px color-mix(in srgb,var(--brand-primary) 30%,transparent)}
.checkout-passenger-apply:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-primary) 30%,transparent);outline-offset:3px}
html[data-theme="dark"] .checkout-passenger-trigger,
html[data-theme="dark"] .checkout-passenger-popover,
html[data-theme="dark"] .checkout-passenger-popover::before,
html[data-theme="dark"] #ck-passenger-count{
  background:var(--background-elevated);border-color:var(--border-light);color:var(--text-primary)
}
@media(max-width:900px){
  .checkout-passenger-picker-group{z-index:12!important}
  .checkout-passenger-popover{left:0;right:auto;width:100%;min-width:0;padding:1rem;border-radius:20px}
  .checkout-passenger-popover::before{left:24px;right:auto}
}
@media(max-width:390px){
  .checkout-passenger-row{gap:.7rem}
  .checkout-passenger-stepper{grid-template-columns:38px 42px 38px;gap:.4rem}
  .checkout-passenger-step{width:38px;height:38px;font-size:1.4rem}
  #ck-passenger-count{min-width:42px;height:40px}
  .checkout-passenger-copy strong{font-size:.94rem}
  .checkout-passenger-copy small{font-size:.72rem}
}
@media(prefers-reduced-motion:reduce){
  .checkout-passenger-trigger,.checkout-passenger-chevron,.checkout-passenger-step,.checkout-passenger-apply{transition:none!important}
}
