/* Estilos generales */
body{
  font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  line-height:1.6; color:#333; margin:0; padding:0; background:#f8f9fa;
}

/* Header */
header{
  text-align:center; padding:2rem 1rem; background:#005299; color:#fff; position:relative; overflow:hidden;
}
header img{ max-width:120px; display:block; margin:0 auto 10px; }
header h1{ margin:.5rem 0; font-size:2.5rem; line-height:1.2; }
.animated-text{ font-size:1.5rem; color:#c9e0ff; opacity:.9; }

/* Nav */
nav{ background:#005299; position:sticky; top:0; z-index:100; }
nav a{ color:#fff; text-decoration:none; padding:.5rem 1rem; margin:0 .5rem; font-weight:500; transition:all .3s; display:inline-block; }
nav a:hover{ background:rgba(255,255,255,.2); border-radius:4px; }

/* Separador y contenedor */
.separator{ border:0; height:1px; background-image:linear-gradient(to right,transparent,#003366,transparent); margin:2rem auto; max-width:80%; }
.container{ max-width:1200px; margin:0 auto; padding:0 1rem; }

/* Secciones + títulos */
section{ padding:2rem 0; }
h2{ color:#003366; font-size:2rem; margin:0 0 1.5rem; text-align:center; }
h3{ color:#005299; font-size:1.5rem; margin:1.5rem 0 1rem; }

/* Casos de éxito */
#casos{ background:#f8f9fa; border-radius:15px; margin:3rem auto; padding:2rem; }
.casos-container{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:20px; padding:1rem; -webkit-overflow-scrolling:touch; }
.caso-card{ flex:0 0 300px; scroll-snap-align:start; background:#fff; border-radius:10px; padding:1.5rem; box-shadow:0 4px 8px rgba(0,0,0,.1); transition:transform .3s; border:none; overflow:hidden; }
.caso-card:hover{ transform:translateY(-10px); box-shadow:0 8px 25px rgba(0,0,0,.15); }
.caso-img{ width:100%; height:180px; object-fit:cover; border-radius:8px; margin-bottom:1rem; border-bottom:1px solid #eee; }
.puntos-navegacion{ display:flex; justify-content:center; gap:10px; margin-top:1.5rem; }
.punto{ width:12px; height:12px; border-radius:50%; background:#ccc; cursor:pointer; transition:background-color .3s; }
.punto.activo{ background:#0056b3; }

/* Maître Virtual (sección) */
#maitre{ border-radius:15px; margin:3rem auto; background:#f8f9fa; padding:2rem; }
.lista-beneficios{ list-style:none; padding:0; margin:1.5rem 0; }
.lista-beneficios li{ margin-bottom:1rem; padding-left:2rem; position:relative; font-size:1.1rem; }
#maitre video{ border-radius:10px; box-shadow:0 5px 15px rgba(0,0,0,.1); width:100%; max-width:600px; }

/* FAQ (versión con details la estilizamos en styles_additions.css) */
.faq-section{ max-width:800px; margin:0 auto; padding:0 1rem; }

/* Especialización */
.especialidad-box{ display:flex; align-items:center; background:#fff; border-radius:10px; padding:1.5rem; margin-bottom:1.5rem; box-shadow:0 4px 8px rgba(0,0,0,.1); transition:all .3s; }
.especialidad-box:hover{ transform:translateY(-3px); box-shadow:0 6px 12px rgba(0,0,0,.15); }
.icono-especializacion{ width:80px; height:80px; object-fit:contain; margin-right:1.5rem; flex-shrink:0; }
.img-contenedor img, .caso-card img, .icono-especializacion{ max-width:100%; height:auto; border-radius:8px; }

/* Vídeo (iframe) responsive – 16:9 */
.video-container{ position:relative; width:100%; padding-top:56.25%; border-radius:10px; overflow:hidden; box-shadow:0 4px 8px rgba(0,0,0,.1); margin:1rem 0; }
.video-container iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* Responsivo */
@media (max-width:992px){
  .caso-card{ flex:0 0 calc(50% - 20px); margin-bottom:1.5rem; }
  #maitre .row{ flex-direction:column; }
  #maitre .col-md-6:first-child{ margin-bottom:2rem; }
}
@media (max-width:768px){
  header h1{ font-size:2rem; }
  .animated-text{ font-size:1.2rem; }
  #casos, #maitre{ padding:1.5rem; }
  .especialidad-box{ flex-direction:column; text-align:center; }
  .icono-especializacion{ margin-right:0; margin-bottom:1rem; width:60px; height:60px; }
}
@media (max-width:576px){
  .caso-card{ flex:0 0 100%; }
  .caso-card img{ height:150px; }
  nav a{ display:block; margin:.3rem 0; padding:.5rem; }
  header h1{ font-size:1.8rem; }
}
