/* =========================
   sections.css – responsive
   ========================= */

/*****  VARIABLES & RESET *****/
*{margin:0;padding:0;box-sizing:border-box;font-family:'Montserrat',sans-serif;}
img{max-width:100%;display:block;}
:root{--gradient-start:#493aff;--gradient-mid:#9e3bf9;--gradient-end:#0974ff;--primary:#ffffff;--accent:#ff6a3e;--accent-hover:#ff7a50;--dark:#0c1d4e;--light-gray:#f6f8ff;--glass-blur:10px;--glass-bg:rgba(255,255,255,0.1);} 

/*****  NAVIGATION  *****/
.main-nav{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;max-width:1200px;margin:1.5rem auto;backdrop-filter:blur(var(--glass-blur));background:var(--glass-bg);border-radius:14px;gap:2rem;}
.menu-toggle{display:none;background:none;border:none;font-size:1.8rem;color:var(--primary);cursor:pointer;}
.nav-logo img{width:40px;height:auto;}
.nav-links{display:flex;list-style:none;gap:1.5rem;font-weight:600;}
.nav-links a{color:var(--primary);text-decoration:none;transition:opacity .25s;}
.nav-links a:hover{opacity:.7;}
.theme-switch{position:relative;width:48px;height:24px;display:inline-block;}
.theme-switch input{opacity:0;width:0;height:0;}
.slider{position:absolute;top:0;left:0;right:0;bottom:0;background:#ccc;border-radius:34px;transition:.4s;cursor:pointer;}
.slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.4s;}
input:checked + .slider{background:var(--accent);}input:checked + .slider:before{transform:translateX(24px);} 

/*****  HERO  *****/
.hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5rem 1rem 8rem;position:relative;overflow:hidden;}
.hero h1{font-size:clamp(2.7rem,6vw+1rem,4.5rem);font-weight:800;line-height:1.2;color:var(--primary);} 
.hero p{max-width:620px;margin:1rem auto 2rem;font-size:1.125rem;color:var(--primary);} 
.cta,.btn-primary{background:var(--accent);color:#fff;padding:.9rem 2.5rem;font-size:1rem;font-weight:600;border:none;border-radius:50px;text-decoration:none;display:inline-block;transition:background .3s;}
.cta:hover,.btn-primary:hover{background:var(--accent-hover);} 
.wave{z-index:1;} .hero>*{position:relative;z-index:2;}
.wave svg{display:block;width:100%;height:auto;}

/*****  GENERIC SECTIONS  *****/
section{padding:4rem 1rem;}
.container{max-width:1200px;margin:0 auto;}

/*****  ABOUT  *****/
.about{display:flex;align-items:center;gap:3rem;flex-wrap:wrap;}
.about-content{flex:1;min-width:280px;}
.about-content h2{font-size:2rem;font-weight:700;margin-bottom:1rem;color:var(--primary);} 
.about-content p{font-size:1.05rem;line-height:1.6;margin-bottom:2rem;color:var(--primary);} 
.about-img{flex:1;min-width:280px;}
.about-img img{border-radius:20px;width:100%;height:auto;box-shadow:0 8px 24px rgba(0,0,0,.15);} 
/* ABOUT extra */
.about-stats{display:flex;gap:1.5rem;margin:2rem 0 1.5rem;} .stat{flex:1;text-align:center;background:#fff;border-radius:16px;padding:1rem 0;box-shadow:0 3px 10px rgba(0,0,0,.05);} .stat-num{display:block;font-size:1.6rem;font-weight:700;color:var(--accent);} .stat-label{font-size:.85rem;color:var(--dark);} .about-values{list-style:disc inside;margin:1rem 0 2rem;padding-left:0;} .about-values li{margin-bottom:.5rem;font-size:.95rem;}

/*****  SERVICES  *****/
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem;}
.card{background:#fff;color:var(--dark);border-radius:24px;padding:3rem 2rem;text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.06);transition:transform .25s,box-shadow .25s;}
.card:hover{transform:translateY(-8px);box-shadow:0 16px 32px rgba(0,0,0,.1);} 
.card img{width:64px;height:64px;margin:0 auto 1.25rem;border-radius:12px;object-fit:cover;}
.card h3{font-size:1.35rem;font-weight:700;margin-bottom:.75rem;color:var(--dark);} 
.card p{font-size:1rem;line-height:1.55;}
.servicios{position:relative;background:var(--light-gray);padding:6rem 1rem 5rem;text-align:center;color:var(--dark);} 

/*****  BENEFICIOS  *****/
.beneficios ul{list-style:disc inside;margin-top:1rem;text-align:left;}
.beneficios li{margin-bottom:.5rem;}

/*****  RESERVA  *****/
.reserva-container{position:relative;background:#fff;padding:5rem 1rem 4.5rem;text-align:center;}
.section-divider{position:absolute;top:-60px;left:0;width:100%;height:60px;background:url('data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1440 60\" preserveAspectRatio=\"none\"><path fill=\"%23ffffff\" d=\"M0,60 C360,0 1080,0 1440,60 L1440,0 L0,0 Z\"/></svg>') no-repeat center/cover;}
.reserva-container h2{font-size:2rem;font-weight:700;margin-bottom:.5rem;color:var(--dark);}
.reserva-lead{font-size:1.05rem;margin-bottom:2rem;color:var(--dark);}
.reserva-form{display:flex;flex-direction:column;gap:1rem;max-width:560px;margin:0 auto;}
.reserva-form .two-cols{display:flex;gap:1rem;}
.reserva-form input,.reserva-form select,.reserva-form textarea{flex:1;padding:.85rem 1rem;border:1px solid #d6d9e0;border-radius:10px;font-size:1rem;}
.reserva-form textarea{resize:vertical;min-height:120px;}
.reserva-note{display:block;margin-top:.5rem;font-size:.8rem;color:#666;}

/* PRICING */
.pricing{background:#fff;text-align:center;padding:5rem 1rem;}.pricing .container{max-width:1200px;margin:0 auto;}
.pricing-title{text-align:center;margin-bottom:2rem;}.swipe-hint{text-align:center;font-size:.9rem;margin-bottom:1rem;}
.pricing-table{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;align-items:stretch;}
.pricing-card{background:#fff;color:var(--dark);border-radius:20px;padding:2.5rem;min-width:0;box-shadow:0 4px 12px rgba(0,0,0,.07);position:relative;transition:transform .25s,box-shadow .25s;}
 .pricing-card:hover{transform:translateY(-6px);box-shadow:0 12px 24px rgba(0,0,0,.1);} .pricing-card.featured{border:2px solid var(--accent);}
  .plan-name{font-size:1.6rem;font-weight:700;margin-bottom:.5rem;} .plan-price{font-size:2.4rem;font-weight:700;margin-bottom:.25rem;}
   .plan-discount{font-size:.9rem;margin-bottom:1rem;} .plan-features{list-style:none;margin:0 0 1.5rem;padding:0;}
    .plan-features li{margin-bottom:.5rem;} .plan-features .disabled{opacity:.5;text-decoration:line-through;}
     .btn-cta{display:block;text-align:center;background:var(--accent);color:#fff;padding:.8rem 1rem;border-radius:50px;text-decoration:none;font-weight:600;transition:background .3s;margin-top:auto;}
      .btn-cta:hover{background:var(--accent-hover);} .badge{position:absolute;top:-12px;right:20px;background:var(--accent);color:#fff;font-size:.75rem;padding:.3rem .6rem;border-radius:20px;}


/* FOOTER – alineación final */
footer{background:#0c1d4e;color:#fff;padding:2rem 1rem;}
 .footer-container{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
#backTop{
  position:static;          /* quita fixed */
  width:48px;height:48px;
  border-radius:50%;
  background:var(--accent);
  color:#fff;
  font-size:1.25rem;
  border:none;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  box-shadow:0 3px 8px rgba(0,0,0,.25);
  transition:background .25s ease,transform .25s ease;
}
#backTop:hover{
  background:var(--accent-hover);
  transform:translateY(-2px);
}
  .social-icons{display:flex;gap:1.2rem;margin-left:auto;} .social-icons img{width:24px;height:24px;filter:invert(1);}
   @media(max-width:600px){.footer-container{flex-direction:column;text-align:center;}.social-icons{margin:0;}}



/* Logo dentro de la barra */
.nav-logo img {
  width: 100px;   /* mismo tamaño que el diseño de referencia */
  height: auto;
}

/* ---------- Services cards grid ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem;}
.card{background:#fff;color:var(--dark);border-radius:24px;padding:3rem 2rem;text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.06);transition:transform .25s,box-shadow .25s;}
.card:hover{transform:translateY(-8px);box-shadow:0 16px 32px rgba(0,0,0,.1);} 
.card img{width:64px;height:64px;margin:0 auto 1.25rem;border-radius:12px;object-fit:cover;}
.card h3{font-size:1.35rem;font-weight:700;margin-bottom:.75rem;color:var(--dark);} 
.card p{font-size:1rem;line-height:1.55;}
/* BENEFICIOS */
.beneficios{background:var(--light-gray);padding:5rem 1rem;text-align:center;} .beneficios-lead{max-width:700px;margin:0 auto 3rem;color:var(--dark);} .benefit-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;} .benefit-card{background:#fff;color:var(--dark);border-radius:22px;padding:2rem;text-align:center;box-shadow:0 4px 14px rgba(0,0,0,.06);transition:transform .25s,box-shadow .25s;} .benefit-card:hover{transform:translateY(-6px);box-shadow:0 12px 24px rgba(0,0,0,.08);} .benefit-card img{width:56px;height:56px;margin:0 auto 1rem;} .benefit-card h3{font-size:1.25rem;font-weight:700;margin-bottom:.5rem;} .benefit-card p{font-size:.97rem;line-height:1.55;} @media(max-width:600px){.beneficios{padding:4rem 1rem;}.benefit-cards{gap:1.5rem;}.benefit-card{padding:1.75rem;}}
.beneficios h2{color:var(--dark);}        /* título visible sobre fondo claro */
/* CHATBOT FLOAT */
#custom-chat{position:fixed;bottom:110px;right:22px;width:64px;height:64px;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.25);object-fit:cover;cursor:pointer;z-index:200;}

/* ROADMAP */
.roadmap{background:#fff;padding:5rem 1rem;text-align:center;}.roadmap-title{font-size:2rem;font-weight:700;margin-bottom:2.5rem;color:var(--dark);} .roadmap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;counter-reset:steps;} .step{background:var(--light-gray);border-radius:20px;padding:2rem;position:relative;text-align:left;box-shadow:0 4px 14px rgba(0,0,0,.06);} .step-num{display:inline-block;width:38px;height:38px;border-radius:50%;background:var(--accent);color:#fff;font-weight:700;font-size:1.05rem;line-height:38px;text-align:center;margin-bottom:.8rem;} .step h3{font-size:1.1rem;font-weight:700;margin-bottom:.5rem;color:var(--dark);} .step p{font-size:.95rem;line-height:1.55;color:var(--dark);} @media(max-width:600px){.roadmap{padding:4rem 1rem;}.roadmap-grid{gap:1.5rem;}.step{padding:1.75rem;}}
/* ROADMAP separador */
.roadmap{background:var(--light-gray);padding-bottom:6rem;position:relative;} .roadmap::after{content:"";position:absolute;bottom:-60px;left:0;width:100%;height:60px;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 60" preserveAspectRatio="none"><path fill="%23ffffff" d="M0,0 C360,60 1080,60 1440,0 L1440,60 L0,60 Z"/></svg>') no-repeat center/cover;}
/* Ola superior Roadmap */
.roadmap::before{content:"";position:absolute;top:-60px;left:0;width:100%;height:60px;background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1440 60" preserveAspectRatio="none"><path fill="%23ffffff" d="M0,60 C360,0 1080,0 1440,60 L1440,0 L0,0 Z"/></svg>') no-repeat center/cover;}

/*****  MEDIA QUERIES *****/
@media(max-width:600px){.reserva-form .two-cols{flex-direction:column;}}
@media(max-width:768px){.menu-toggle{display:block;}.nav-links{position:fixed;top:0;right:0;width:75%;height:100vh;flex-direction:column;gap:2rem;padding:5rem 2rem 2rem;background:var(--glass-bg);backdrop-filter:blur(var(--glass-blur));transform:translateX(100%);transition:transform .35s ease;z-index:101;}.nav-links.active{transform:translateX(0);}.menu-overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .35s ease;z-index:100;}.menu-overlay.active{opacity:1;pointer-events:auto;}.hero{padding:4.5rem 1rem 7rem;}.hero h1{font-size:clamp(2rem,5vw+1rem,3rem);}.hero p{font-size:.95rem;max-width:90%;}.about{flex-direction:column-reverse;text-align:center;}.about-img img{max-height:260px;object-fit:cover;}.cards{grid-template-columns:1fr;}.card{padding:2rem 1.5rem;}}
@media(max-width:480px){.nav-links{width:80%;}.hero h1{font-size:2.2rem;}.cta,.btn-primary{padding:.8rem 2rem;font-size:.95rem;}.pricing-card{min-width:260px;padding:2rem;}.reserva-form{max-width:100%;padding:0 1rem;}}
@media(min-width:1024px){.swipe-hint{display:none;}}
@media(max-width:600px){.pricing{padding:4rem 1rem;}.pricing-table{grid-template-columns:1fr;}.pricing-card{padding:2rem;}}
/* =====  Móvil: mostrar solo el logo  ===== */
@media(max-width:768px){
  .main-nav{
    display:flex;
    justify-content:center;   /* logo centrado */
    align-items:center;
    width:100%;
    padding:1rem 0;
    margin:0;
    background:transparent;   /* sin tarjeta glass */
    border-radius:0;
  }
  /* oculta hamburguesa, links y switch */
  .menu-toggle,
  .nav-links,
  .theme-switch{display:none;}

  .nav-logo img{
    width:100px;               /* tamaño cómodo */
    height:auto;
  }
}
@media(max-width:600px){
  .footer-container{
    flex-direction:column;
    text-align:center;
  }
  #backTop{margin-top:.75rem;}
}