/* ===== ISA · tema.css — enlazar el ÚLTIMO (después de styles.css y animaciones.css) ===== */

/* 1) COLORES: más rosa/azul/amarillo del logo, texto con color (no gris) */
:root{
  --isa-text:#22305e;
  --isa-muted:#3b4f8a;
  --isa-pink:#f05dae;
  --isa-blue:#2c4c9c;
  --grad-btn:linear-gradient(120deg,#f05dae,#4a79d4 50%,#2c4c9c,#f05dae);
}
body{
  background:
    radial-gradient(circle at 8% 12%, rgba(240,93,174,.36), transparent 28%),
    radial-gradient(circle at 92% 8%, rgba(96,165,250,.42), transparent 34%),
    radial-gradient(circle at 70% 88%, rgba(255,200,90,.32), transparent 28%),
    radial-gradient(circle at 25% 75%, rgba(96,165,250,.34), transparent 34%),
    linear-gradient(180deg,#ffe0ef 0%,#ffd6ea 28%,#d3e8ff 68%,#bfe0ff 100%);
}
nav a{color:#2c4c9c}
nav a:hover{color:#f05dae}
.logo-text strong{color:#f05dae;font-size:1.25rem}
.logo-text small{color:#2c4c9c;font-weight:700}
.tag{color:#d4177f;background:#fff;border-color:rgba(240,93,174,.3);box-shadow:0 6px 18px rgba(240,93,174,.18)}
.section-head h2{color:#e0248a}
.section-head p,.hero p{color:var(--isa-text)}
.pill{color:#b0146f;background:#fff;border-color:rgba(240,93,174,.3);font-weight:800}
.panel h3,.card h4,.mq-card h4,.contact-item strong,.form-card h3{color:#2c4c9c}
.panel p,.card p,.mq-card p,.contact-item span,.form-card p,#proximos-isa .isa3-body p,.px-body p{color:var(--isa-text)}
.subheading{color:#d4177f;font-size:1.25rem}
.card-top h3{color:#2c4c9c}
.contact-item a{color:#d4177f}
.footer-inner{color:var(--isa-text)}
.footer-links a:hover{color:#f05dae}

/* Barra de color animada bajo cada título */
.section-head h2::after{content:"";display:block;width:110px;height:6px;border-radius:9px;margin:18px auto 0;
  background:linear-gradient(90deg,#f05dae,#ffc85a,#4a79d4);transform:scaleX(0);transform-origin:left;transition:transform 1s .35s}
.section-head.in h2::after,.section-head.active h2::after{transform:scaleX(1)}

/* Secciones con banda de color */
#catalogo{background:linear-gradient(180deg,transparent,rgba(255,200,90,.35) 50%,transparent)}
#nosotros{background:linear-gradient(180deg,transparent,rgba(74,121,212,.22) 50%,transparent)}
#proximos-isa{background:linear-gradient(180deg,transparent,rgba(240,93,174,.2) 50%,transparent)}
#galeria{background:linear-gradient(135deg,#1f3a8a 0%,#2c4c9c 40%,#4a79d4 75%,#7fb0ff 100%);color:#fff;overflow:hidden}
#galeria .section-head h2,#galeria .section-head p{color:#fff}
#galeria .tag{color:#d4177f}
#contacto{background:linear-gradient(180deg,transparent,rgba(74,121,212,.25))}

/* Botones */
.btn{padding:15px 28px}
.btn-primary,.px-btn,#proximos-isa .isa3-btn{
  background:var(--grad-btn)!important;background-size:250% 100%!important;animation:btnFlow 6s linear infinite;
  color:#fff;padding:15px 28px;box-shadow:0 10px 26px rgba(240,93,174,.45)}
@keyframes btnFlow{to{background-position:250% 0}}
.btn-secondary{background:#fff;color:#2c4c9c;border:2px solid #4a79d4}
.btn-secondary:hover{background:#2c4c9c;color:#fff}

/* 2) TÍTULO DEL HERO: responsivo, sin cortes ni palabras partidas */
.hero{min-height:100svh;padding:130px 0 70px}
.hero-copy{margin-top:0;min-width:0}
.hero h1{
  font-size:clamp(2.1rem,5.2vw,4.6rem);
  line-height:1.05;letter-spacing:-.5px;margin-bottom:20px;color:#e0248a}
.hero .line{display:block;overflow:hidden;white-space:nowrap;padding:.08em 0 .16em;margin-bottom:-.1em}
.hero .word{display:inline-block;white-space:nowrap}
.hero .char.highlight{background:none;-webkit-text-fill-color:currentColor;color:#3f6fd8}
@media(max-width:640px){
  .hero{padding-top:105px}
  .hero h1{font-size:clamp(1.9rem,10.4vw,3rem)}
}

/* 3) HERO: imagen, tarjetas y tilt funcionando */
.destination-card{animation:none;translate:0 0;animation:cardFloat 6s ease-in-out infinite}
@keyframes cardFloat{50%{translate:0 -14px}}
.hero-slider{height:290px}
.hero-img{height:100%;object-fit:cover}
.hero-pills.mq .mq-track{flex-shrink:0}
.blob.b1{background:#f05dae;opacity:.45}.blob.b2{background:#ffc85a;opacity:.5}
.hero-plane{color:#2c4c9c}
.hero-visual{min-height:0}
.card-title{position:absolute;left:10px;right:10px;bottom:10px;padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.9);color:#d4177f;font-weight:800;font-size:.9rem;text-align:center}
@media(max-width:1100px){.hero-visual{margin-top:20px}}
@media(max-width:640px){
  .destination-card{padding:16px;border-radius:26px}
  .hero-slider{height:210px}
  .card-grid{grid-template-columns:1fr 1fr!important;gap:10px}
  .img-card{height:150px}
  .card-top h3{font-size:1.15rem}
}

/* 4) Arreglos varios de estructura */
.panel,.card,.form-card{position:relative}
.reveal.in{opacity:1;transform:none}
.dst-card{box-shadow:0 14px 34px rgba(240,93,174,.28)}
.dst-info h4{color:#fff}
.dst-cta{color:#d4177f}
.mq-card{border:2px solid rgba(240,93,174,.18)}
.px-card{border:2px solid rgba(240,93,174,.15)}
.wa-float{right:16px;bottom:16px}
@media(max-width:640px){
  section{padding:80px 0}
  .gal-item{height:200px}
  .about-grid{grid-template-columns:1fr;gap:26px}
  .about-image img{width:220px;height:300px;margin:0 auto}
  .nav .btn{padding:11px 16px;font-size:.9rem}
  .logo-text small{display:none}
}


/* ===== 5) REPARACIÓN v3: reveal seguro, sin desbordes, responsivo ===== */
html,body{overflow-x:clip;max-width:100%}
section,footer{overflow-x:clip}
/* si el JS falla, todo se ve */
html:not(.js) .rv,html:not(.js) .reveal{opacity:1!important;transform:none!important}
.rv.in,.rv.in[data-anim]{opacity:1;transform:none}
@media(max-width:860px){.rv[data-anim="left"],.rv[data-anim="right"]{transform:translateY(30px)}}

/* colores sin morado */
.contact-icon{background:linear-gradient(135deg,#f05dae,#2c4c9c)!important}
.cards-carousel::-webkit-scrollbar-thumb{background:rgba(74,121,212,.4)}
.destination-card::before{background:linear-gradient(135deg,rgba(240,93,174,.5),rgba(255,200,90,.4),rgba(44,76,156,.5))}
.tag{color:#2c4c9c}
.tag::before{background:linear-gradient(135deg,#f05dae,#ffc85a,#4a79d4)}

/* HERO */
.hero-grid{align-items:center;gap:40px}
.hero-copy,.hero-visual{min-width:0}
@media(max-width:1100px){
  .hero-grid{gap:30px}
  .hero h1{font-size:clamp(2.6rem,7.4vw,4.4rem)}
  .destination-card{margin:0 auto}
}
@media(max-width:640px){
  .hero h1{font-size:clamp(1.9rem,10.4vw,3rem)}
  .hero p{font-size:1rem;line-height:1.7}
}
@media(max-width:360px){.hero h1{font-size:1.85rem}.btn{padding:13px 20px}}
.blob.b2{right:0}

/* CATÁLOGO */
@media(max-width:640px){
  .dst-grid{grid-template-columns:1fr 1fr;gap:12px}
  .dst-card{aspect-ratio:3/4;border-radius:18px}
  .dst-info{padding:12px}
  .dst-info h4{font-size:1.05rem}
  .dst-cta{opacity:1;transform:none;font-size:.7rem;padding:6px 10px}
}

/* NOSOTROS */
.about-grid{padding:0 6px}
.mq-card{flex:0 0 260px}
@media(max-width:640px){.mq-card{flex-basis:230px}.mq-card img{height:150px}}

/* GALERÍA */
.gal-item{background:rgba(255,255,255,.15)}
@media(max-width:640px){.gal-item{height:190px;border-radius:14px}}

/* PRÓXIMOS: flyers con altura controlada (al tocar se ven completos) */
.px-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));max-width:1100px;margin:0 auto}
.px-media{aspect-ratio:4/5;background:#e9f0ff}
.px-media img{height:100%;object-fit:cover;object-position:top}
@media(max-width:640px){.px-media{aspect-ratio:1/1}}

/* CONTACTO */
.contact-grid>*{min-width:0}
.contact-item{min-width:0;overflow-wrap:anywhere}
@media(max-width:640px){
  .panel,.form-card{padding:22px 18px}
  .form-card h3{font-size:1.5rem}
  .contact-item{padding:14px}
}

/* RESEÑAS */
#resenas-clientes .resenas-widget-box{padding:14px;min-height:80px}
@media(max-width:640px){#resenas-clientes,#proximos-isa{padding:80px 0}}

/* Títulos de sección más chicos en celular */
@media(max-width:640px){.section-head{margin-bottom:38px}.section-head h2{font-size:clamp(1.8rem,8vw,2.4rem)}}

/* avioncito: en celular va arriba para no cruzar el título */
@media(max-width:640px){.hero-plane{top:2%;font-size:22px;opacity:.7}}

.logo{ flex:none; }
.logo-img{
  width:auto !important;
  height:100px !important;
  max-width:none !important;
  border-radius:0 !important;
  object-fit:contain;
}
