/* ==========================================================
   GRUPO 8 BJ · VEN ESTE SABADO / CONTACTO · VERSION COMPACTA
   Base: assets/css/styles.css
   ========================================================== */

.visit-page{
  overflow-x:hidden;
  background:#fff;
  color:var(--text);
}

.visit-page main{overflow:hidden}
.visit-page p{color:#53698E}
.visit-page .hero-header.header-hidden{transform:translateX(-50%)!important;opacity:1!important}

/* ==========================================================
   BANNER CORTO
   ========================================================== */
.visit-banner{
  position:relative;
  min-height:350px;
  overflow:hidden;
  border-radius:0 0 26px 26px;
  background:#176ED6;
}

.visit-banner-photo{
  position:absolute;
  inset:0;
  background-image:url("../img/hero-aventura.png");
  background-size:cover;
  background-position:center 47%;
}

.visit-banner-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    90deg,
    rgba(18,82,174,.98) 0%,
    rgba(23,99,198,.90) 34%,
    rgba(23,102,201,.55) 52%,
    rgba(23,102,201,.10) 73%,
    rgba(23,102,201,0) 100%
  );
}

.visit-banner-inner{
  position:relative;
  z-index:2;
  min-height:350px;
  display:flex;
  align-items:flex-end;
  padding-top:126px;
  padding-bottom:40px;
}

.visit-banner-copy{
  width:min(100%,860px);
  color:#fff;
  transform:translateY(-34px);
}

.visit-banner-copy .eyebrow{margin-bottom:8px}

.visit-banner-copy h1{
  margin:0 0 22px;
  color:#fff;
  font-size:clamp(2.85rem,4vw,4.35rem);
  line-height:.92;
  letter-spacing:-.055em;
}

.visit-facts{
  display:flex;
  flex-wrap:wrap;
  gap:10px 28px;
  color:#F4F8FF;
  font-size:.9rem;
  line-height:1.4;
}

.visit-facts span{
  position:relative;
  display:inline-flex;
  align-items:baseline;
  gap:6px;
}

.visit-facts span+span::before{
  content:"";
  position:absolute;
  left:-15px;
  top:50%;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--yellow);
  transform:translateY(-50%);
}

.visit-facts strong{color:#fff;font-weight:800}

/* ==========================================================
   UBICACION COMPACTA
   ========================================================== */
.visit-location{
  padding:54px 0 48px;
  background:#fff;
}

.visit-location-grid{
  display:grid;
  grid-template-columns:minmax(0,1.22fr) minmax(320px,.78fr);
  gap:46px;
  align-items:center;
}

.map-card{
  overflow:hidden;
  border-radius:22px;
  background:#EAF2FA;
  box-shadow:0 14px 32px rgba(24,53,108,.10);
}

.map-card iframe{
  width:100%;
  height:245px;
  display:block;
  border:0;
}

.location-copy{max-width:440px}
.location-copy .eyebrow{margin-bottom:8px}

.location-copy h2{
  margin:0 0 14px;
  color:var(--ink);
  font-size:clamp(2.15rem,3vw,3.15rem);
  line-height:.96;
  letter-spacing:-.045em;
}

.location-address{
  margin:0 0 18px;
  color:#5C7196!important;
  font-size:.95rem;
  line-height:1.55;
}

.location-address strong{color:#173A8C}

.first-visit-note{
  display:grid;
  gap:3px;
  margin:0 0 15px;
  padding:14px 16px;
  border-left:4px solid var(--yellow);
  border-radius:0 14px 14px 0;
  background:#F7FAFE;
}

.first-visit-note strong{
  color:var(--ink);
  font-size:.84rem;
}

.first-visit-note span{
  color:#5D7193;
  font-size:.82rem;
  line-height:1.45;
}

.map-link{
  display:inline-flex;
  align-items:center;
  font-size:.9rem;
  font-weight:800;
}

/* ==========================================================
   CONTACTO POR CHAT · SIN FORMULARIO
   ========================================================== */
.visit-chat-section{padding:66px 0 78px;background:linear-gradient(180deg,#F5FAFF 0%,#fff 100%)}
.visit-chat-layout{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(34px,6vw,86px);align-items:center}
.visit-chat-intro{max-width:490px}
.visit-chat-intro .eyebrow{margin-bottom:10px}
.visit-chat-intro h2{margin:0;color:var(--ink);font-size:clamp(2.45rem,3.5vw,3.65rem);line-height:.96;letter-spacing:-.048em}
.visit-chat-intro h2 span{color:var(--blue-bright)}
.visit-chat-intro>p{max-width:450px;margin:18px 0 0;color:#53698E;font-size:1rem;line-height:1.6}
.visit-chat-intro .chat-intro-note{margin-top:16px;font-weight:700;color:#315788}
.visit-chat-panel{min-width:0;padding:25px;border:1px solid #E1ECF8;border-radius:24px;background:#fff;box-shadow:0 16px 34px rgba(24,53,108,.08)}
.visit-chat-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.chat-option{min-height:188px;display:flex;flex-direction:column;align-items:flex-start;position:relative;gap:10px;padding:23px 20px;border:1px solid #DDE8F5;border-radius:19px;background:#F8FBFF;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.chat-option:hover,.chat-option:focus-visible{transform:translateY(-3px);border-color:#AFCDEE;box-shadow:0 11px 26px rgba(24,53,108,.1)}
.chat-option-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;background:#E4F2FF;color:#168AFF}
.chat-option-icon svg{width:27px;height:27px;fill:currentColor}
.chat-option-instagram .chat-option-icon{background:#FAE9F5;color:#C13584}
.chat-option-instagram .chat-option-icon svg{fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.chat-option-instagram .instagram-dot{fill:currentColor;stroke:none}
.chat-option-copy{display:flex;flex-direction:column;gap:5px;padding-right:10px}
.chat-option-copy strong{color:#173A6F;font-size:1.08rem;line-height:1.2}
.chat-option-copy small{color:#5D7193;font-size:.81rem;line-height:1.4}
.chat-option-arrow{position:absolute;top:22px;right:19px;color:#4079B8;font-size:1.12rem;font-weight:800}
.visit-chat-email{display:flex;flex-direction:column;align-items:center;gap:5px;padding:21px 8px 2px;text-align:center}
.visit-chat-email>span{color:#607398;font-size:.86rem}
.visit-chat-email a{color:var(--blue-bright);font-size:.91rem;font-weight:800;overflow-wrap:anywhere}
.visit-chat-email a:hover{text-decoration:underline}
@media(max-width:1050px){.visit-chat-layout{grid-template-columns:1fr;gap:28px}.visit-chat-intro{max-width:680px}.visit-chat-panel{max-width:740px;width:100%}}
@media(max-width:720px){.visit-chat-section{padding:48px 0 60px}.visit-chat-intro h2{font-size:clamp(2.2rem,10vw,3rem)}.visit-chat-panel{padding:17px;border-radius:20px}.visit-chat-options{gap:12px}.chat-option{min-height:172px;padding:18px 15px}.chat-option-arrow{top:17px;right:13px}}
@media(max-width:480px){.visit-chat-options{grid-template-columns:1fr}.chat-option{min-height:98px;flex-direction:row;align-items:center;gap:15px;padding:17px}.chat-option-arrow{top:18px;right:16px}.chat-option-copy{padding-right:22px}.visit-chat-email{padding-top:19px}}

/* ==========================================================
   RESPONSIVE
   ========================================================== */
@media(max-width:1050px){
  .visit-location-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .location-copy{max-width:700px}

  .map-card iframe{height:230px}
}

@media(max-width:720px){
  .visit-banner{
    min-height:420px;
    border-radius:0 0 20px 20px;
  }

  .visit-banner-photo{background-position:60% center}

  .visit-banner-overlay{
    background:linear-gradient(
      180deg,
      rgba(23,91,181,.05) 0 25%,
      rgba(22,95,190,.72) 50%,
      rgba(19,78,165,.98) 78%
    );
  }

  .visit-banner-inner{
    min-height:420px;
    padding-top:210px;
    padding-bottom:34px;
  }

  .visit-banner-copy{transform:none}

  .visit-banner-copy h1{
    margin-bottom:18px;
    font-size:clamp(2.55rem,11vw,3.35rem);
  }

  .visit-facts{
    display:grid;
    gap:5px;
    font-size:.85rem;
  }

  .visit-facts span+span::before{display:none}

  .visit-location{padding:42px 0 38px}
  .map-card iframe{height:210px}

  .location-copy h2{
    font-size:clamp(2.2rem,10vw,3rem);
  }

}

@media(max-width:480px){
  .visit-banner-inner{padding-top:225px}
  .map-card{border-radius:18px}
  .map-card iframe{height:190px}
}
