* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Poppins', sans-serif;
    background: #FFFFFF;
}

/* HERO SECTION */
.hero {
    /* El degradado va de arriba hacia abajo. El 0.8 es el nivel de oscuridad (80%) */
    background: linear-gradient(rgba(74, 74, 74, 0.8), rgba(74, 74, 74, 0.8)), 
                url('img/HeroBanner1.webp');
    
    background-size: cover;        /* Asegura que la imagen cubra todo el espacio */
    background-position: center;  /* Centra la imagen */
    background-attachment: fixed; /* Opcional: crea un efecto parallax suave */
    
    color: #FFFFFF;
    position: relative;
    padding: 80px 0 120px 0;
    overflow: hidden;
}

.hero-container {
    width: 90%;
    max-width: 1200px;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.hero-text {
    max-width: 550px;
}

.hero-text h1 {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 30px;
}

.subtitle {
    font-size: 22px;
    font-weight: 300;
    line-height: 1.6;
    color: #b9d2f3;
    margin-bottom: 20px;
}

/* BOTÓN */
.btn-whatsapp {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #6fb7e9;
    color: white;
    text-decoration: none;
    padding: 14px 28px;
    border-radius: 30px;
    font-weight: 500;
    font-size: 16px;
    transition: 0.3s ease;
}

/* IMAGEN */
.hero-image img {
    width: 420px;
    border-radius: 25px;
    object-fit: cover;
}

/* CURVA INFERIOR */
.hero-curve {
    position: absolute;
    bottom: -80px;
    left: 0;
    width: 100%;
    height: 160px;
    background: #ffffff;
    border-top-left-radius: 100% 100px;
    border-top-right-radius: 100% 100px;
}

/* DESCRIPCIÓN */
.description {
    text-align: center;
    padding: 80px 20px;
    margin-bottom: 0px;
    background: #f2f2f2;
}

.description p {
    max-width: 800px;
    margin: auto;
    font-size: 22px;
    line-height: 1.6;
    color: #333;
}

/* CONTENEDOR GENERAL */
.commitment {
  background: #ffffff;
  padding: 0px 20px;
  font-family: 'Poppins', sans-serif;
}

.container {
  max-width: 1200px;
  margin: auto;
  text-align: center;
}

/* TÍTULO SUPERIOR */
.section-title {
    color: #1d3557; /* Azul oscuro */
    font-size: 1.6rem;
    line-height: 1.3;
    margin-bottom: 20px;
    text-align:center;
}

/* Mobile (Ajuste para 2 columnas con el último elemento centrado) */
@media (max-width: 600px) {
  
  .commitment-card {
    display: grid; /* Cambiamos a Grid */
    grid-template-columns: repeat(2, 1fr); /* Creamos las 2 columnas iguales */
    gap: 30px 15px; /* Espaciado entre tarjetas */
    padding: 30px 15px; /* Ajustamos el padding interno */
  }

  .item {
    width: 100%;
    margin-bottom: 0; /* El gap de la grid maneja el espacio */
  }

  /* ESTE ES EL TRUCO: Seleccionamos el 5to elemento (el último) */
  .commitment-card .item:nth-child(5) {
    grid-column: 1 / span 2; /* Le decimos que abarque de la columna 1 a la 2 */
    justify-self: center; /* Lo centramos horizontalmente */
    max-width: 250px; /* Opcional: limitamos su ancho para que se vea estético */
  }

  .big-number {
    font-size: 50px; /* Reducimos un poco el tamaño para móviles */
  }

  .icon {
    font-size: 35px;
  }

  .item p {
    font-size: 15px;
  }

  .description{
    padding: 20px 20px 0px;
  }

  .commitment{
    padding: 30px 20px;
  }
}

/* --- AJUSTES RESPONSIVOS PARA EL HERO --- */
@media (max-width: 992px) {
    .hero {
        padding: 120px 0 80px 0; /* Más espacio superior por el menú fijo */
    }

    .hero-container {
        flex-direction: column; /* Apila texto sobre imagen */
        text-align: center;
        gap: 40px;
    }

    .hero-text {
        max-width: 100%;
        order: 1; /* El texto va primero */
    }

    .hero-text h1 {
        font-size: 32px; /* Tamaño más cómodo para móvil */
        margin-bottom: 20px;
    }

    .subtitle {
        font-size: 18px;
        margin-bottom: 30px;
        padding: 0 10px;
    }

    .hero-image {
        order: 2; /* La imagen va debajo del texto */
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .hero-image img {
        width: 90%; /* La imagen ocupa casi todo el ancho disponible */
        max-width: 350px;
        height: auto;
    }

    /* Ajuste de la curva inferior para que no tape contenido */
    .hero-curve {
        height: 80px;
        bottom: -40px;
    }
}

/* Ajustes extra para teléfonos muy pequeños */
@media (max-width: 480px) {
    .hero-text h1 {
        font-size: 28px;
    }
    
    .btn-agendar {
        width: 100%; /* Botón de ancho completo en móviles pequeños */
        justify-content: center;
    }
}

/* CARD PRINCIPAL */
.commitment-card {
  background: #f8f9fa;
  border-radius: 30px;
  padding: 50px 40px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 40px;
}

/* ITEM */
.item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.icon {
  font-size: 48px;
  color: #314e7c;
  margin-bottom: 20px;
}

.big-number {
  font-size: 52px;
  font-weight: 700;
  color: #314e7c;
}

.item p {
  font-size: 18px;
  color: #5a6573;
  line-height: 1.4;
  max-width: 220px;
}

/* TEXTO INFERIOR */
.bottom-text {
  margin-top: 40px;
  margin-bottom: 40px;
  font-size: 20px;
  color: #5a6573;
}

/* ========================= */
/* RESPONSIVE */
/* ========================= */

/* Tablet */
@media (max-width: 992px) {
  .commitment-card {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile */
@media (max-width: 600px) {
  .section-title {
    font-size: 22px;
  }

  .commitment-card {
    grid-template-columns: 1fr;
    padding: 40px 25px;
  }

  .icon {
    font-size: 42px;
  }

  .big-number {
    font-size: 60px;
  }

  .item p {
    font-size: 16px;
  }

  .bottom-text {
    font-size: 18px;
  }
}

.conditions {
  background: #f2f2f2;
  padding-top: 20px;
  padding-bottom: 90px;
  font-family: 'Poppins', sans-serif;
  text-align: center;
}

.container {
  max-width: 1200px;
  margin: auto;
}

.section-title {
  color: #1d3557; /* Azul oscuro */
    font-size: 1.6rem;
    line-height: 1.3;
    margin-bottom: 20px;
    text-align:center;
}

/* GRID */
/* GRID CORREGIDO CON FLEXBOX PARA CENTRADO */
.conditions-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center; /* Centra la segunda fila (de 4 elementos) */
  gap: 50px 20px; /* Reducimos un poco el gap lateral para asegurar los 5 en fila */
  margin-bottom: 60px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.condition {
  display: flex;
  flex-direction: column;
  align-items: center;
  /* Para 5 elementos: 100% / 5 = 20%. 
     Usamos 18% para dejar margen al gap y asegurar que el navegador no los baje antes de tiempo.
  */
  flex: 0 0 18%; 
  min-width: 180px; 
}

/* ITEM */
.condition {
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Estilos de imagen y texto se mantienen igual */
.condition img {
  width: 170px;
  height: 170px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 18px;
  transition: 0.3s ease;
}

.condition img:hover {
  transform: scale(1.05);
}

.condition p {
  font-size: 18px;
  color: #5a6573;
  font-weight: 500;
  max-width: 200px;
}

/* BOTÓN */
.btn-agendar {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #6fb7e9;
  color: #fff;
  padding: 14px 30px;
  border-radius: 40px;
  text-decoration: none;
  font-weight: 500;
  font-size: 18px;
  transition: 0.3s ease;
}

.btn-agendar:hover {
  background: #0082c8;
}

/* ========================= */
/* RESPONSIVE CORREGIDO */
/* ========================= */

/* Tablet y móvil (Ajuste general para 2 columnas) */
/* Tablet y móvil (Ajuste para 2 columnas con el último elemento centrado) */
@media (max-width: 768px) {
  .conditions-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 15px;
  }

  /* ESTE ES EL TRUCO PARA EL NOVENO ELEMENTO */
  .condition:nth-child(9) {
    grid-column: 1 / span 2; /* Hace que ocupe el ancho de las dos columnas */
    justify-self: center;    /* Lo centra horizontalmente */
  }

  .condition {
    flex: none;
    min-width: 0;
    width: 100%;
  }

  .condition img {
    width: 130px;
    height: 130px;
  }

  .condition p {
    font-size: 15px;
  }
}

/* Ajustes finos para teléfonos muy pequeños */
@media (max-width: 480px) {
  .section-title {
    font-size: 24px;
    padding: 0 10px;
  }

  .conditions-grid {
    grid-template-columns: repeat(2, 1fr); /* Mantiene las 2 columnas */
    gap: 25px 10px;
  }

  .condition img {
    width: 110px; /* Imagen más pequeña para pantallas tipo iPhone SE */
    height: 110px;
  }

  .conditions{
    padding: 40px 20px;
  }
}

:root {
    --blue-dark: #1d3557;
    --blue-medium: #457b9d;
    --blue-light: #72b9e8;
    --gray-text: #666;
    --bg-light: #f9f9f9;
}

body {
    font-family: 'Montserrat', sans-serif;
    background-color: #fff;
    margin: 0;
    padding: 20px;
}

.servicios-section {
    max-width: 1100px;
    margin: 0 auto;
    padding: 40px 20px;
}

.section-title {
    color: #1d3557; /* Azul oscuro */
    font-size: 1.6rem;
    line-height: 1.3;
    margin-bottom: 20px;
    text-align:center;
}

.card-container {
    display: flex;
    gap: 40px;
    background: #f8f9fa;
    border-radius: 25px;
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(0,0,0,0.08);
    padding: 30px;
    align-items: center;
}

/* Imagen */
.image-box {
    flex: 1;
}

.image-box img {
    width: 100%;
    height: auto;
    border-radius: 20px;
    object-fit: cover;
}

/* Contenido */
.content-box {
    flex: 1.2;
}

.content-box h3 {
    color: var(--blue-dark);
    font-size: 1.4rem;
    margin-bottom: 5px;
}

.price {
    color: var(--blue-dark);
    font-size: 1.8rem;
    font-weight: 700;
    margin-top: 0;
}

.description-lead {
    color: var(--gray-text);
    font-size: 1.20rem;
    margin-bottom: 20px;
}

.description-text {
    color: var(--white-text);
    font-size: 1.20rem;
    margin-bottom: 20px;
    padding-top: 20px;
    padding-bottom: 20px;
}

/* Lista de características */
.features-list {
    list-style: none;
    padding: 0;
}

.features-list li {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 15px;
    color: var(#333333);
    font-size: 1.1rem;
    line-height: 1.4;
}

.features-list i {
    color: var(--blue-dark);
    font-size: 1.5rem;
    margin-top: 3px;
}

/* Métodos de Pago */
.payment-methods h4 {
    color: var(--blue-dark);
    font-size: 1.1rem;
    margin: 25px 0 15px 0;
}

.methods-icons {
    display: flex;
    gap: 30px;
    margin-bottom: 30px;
}

.method {
    text-align: center;
    color: var(--blue-dark);
}

.method i {
    font-size: 2rem;
    display: block;
    margin-bottom: 5px;
}

.method p {
    font-size: 1.1rem;
    font-weight: 600;
    margin: 0;
    text-transform: lowercase;
}

/* Botón */
.btn-cta {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background-color: var(--blue-light);
    color: white;
    padding: 12px 25px;
    border-radius: 12px;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
    transition: background 0.3s;
}

.btn-cta:hover {
    background-color: var(--blue-medium);
}

/* WhatsApp Flotante */
.whatsapp-float {
    position: fixed;
    bottom: 30px;
    right: 30px;
    background-color: #25d366;
    color: white;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 35px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

/* Responsive */
@media (max-width: 850px) {
    .card-container {
        flex-direction: column;
    }
}

/* Variables de color (mantener las del anterior) */
:root {
    --blue-dark: #1d3557;
    --blue-medium: #457b9d;
    --gray-text: #777;
    --border-color: #d1d9e6;
}

:root {
    --primary-blue: #1a3a5f;
    --accent-blue: #6fb7e9;
    --text-white: #ffffff;
    --bg-light: #f4f7f9;
}

.procedimientos-section {
    padding: 30px 5%;
    background-color: var(#ffffff);
    font-family: 'Montserrat', sans-serif;
}

.container {
    max-width: 1100px;
    margin: 0 auto;
}

.section-divider {
    color: #1d3557; /* Azul oscuro */
    font-size: 1.6rem;
    line-height: 1.3;
    margin-bottom: 20px;
    text-align:center;
}

.procedimientos-header {
    text-align: center;
    margin-bottom: 50px;
}

.procedimientos-header h3 {
    color: #1d3557; /* Azul oscuro */
    font-size: 1.6rem;
    line-height: 1.3;
    margin-bottom: 20px;
    text-align:center;
}

.description-lead {
    color: #555;
    font-size: 1.1rem;
    max-width: 700px;
    margin: 0 auto;
}

/* Grid de Tarjetas */
.procedimientos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 20px;
    margin-bottom: 60px;
}

.procedimiento-card {
    background-color: var(--primary-blue);
    padding: 30px;
    border-radius: 15px;
    display: flex;
    align-items: center;
    gap: 20px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.procedimiento-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(26, 58, 95, 0.2);
}

.icon-box {
    background: rgba(255, 255, 255, 0.1);
    width: 55px;
    height: 55px;
    min-width: 55px;
    border-radius: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.icon-box i {
    color: var(--text-white);
    font-size: 1.5rem;
}

.procedimiento-card p {
    color: var(--text-white);
    font-weight: 500;
    font-size: 1.2rem;
    margin: 0;
    line-height: 1.3;
}

/* Sección Ortopédica Inferior */
.extra-procedures {
    background: #f4f4f4;
    padding: 40px;
    border-radius: 20px;
    border-left: 5px solid var(--accent-blue);
}

.extra-procedures h4 {
    color: var(--primary-blue);
    font-size: 1.3rem;
    margin-bottom: 25px;
}

.ortho-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
}

.ortho-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1.2rem;
    text-align: left;
    color: #444;
    font-weight: 500;
}

.ortho-item span {
    width: 8px;
    height: 8px;
    background: var(--accent-blue);
    border-radius: 50%;
    display: inline-block;
}

/* RESPONSIVE */
@media (max-width: 768px) {
    .procedimientos-header h3 { font-size: 1.6rem; }
    .procedimiento-card { padding: 20px; }
    .extra-procedures { padding: 25px; }
}

.consultorio-section {
    max-width: 1200px;
    margin: 0px auto;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 10px;
    padding-right: 10px;
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    background: #f8f9fa;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
    border-radius: 30px;
}

.consultorio-header h2 {
    color: #1d3557; /* Azul oscuro */
    font-size: 1.6rem;
    line-height: 1.3;
    margin-bottom: 20px;
    text-align:center;
}

.consultorio-header h2 span {
    display: block;
}

.consultorio-header p {
    color: #333333;
    font-size: 1.2rem;
    margin-bottom: 40px;
}

/* Estilos del Carrusel */
.carousel-container {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
}

.carousel-track {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    gap: 15px;
    padding: 10px 0;
    scrollbar-width: none; /* Oculta scroll en Firefox */
}

.carousel-track::-webkit-scrollbar {
    display: none; /* Oculta scroll en Chrome/Safari */
}

.slide {
    flex: 0 0 calc(33.333% - 10px); /* 3 imágenes por vista en desktop */
    scroll-snap-align: start;
    aspect-ratio: 1 / 1; /* Hace las imágenes cuadradas */
    overflow: hidden;
    border-radius: 4px;
}

.slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Botones de navegación */
.nav-btn {
    background: rgba(255, 255, 255, 0.8);
    border: 1px solid #ccc;
    color: #457b9d;
    font-size: 1.5rem;
    padding: 10px 15px;
    cursor: pointer;
    border-radius: 5px;
    z-index: 10;
    transition: 0.3s;
}

.nav-btn:hover {
    background: #457b9d;
    color: white;
}

/* Dots */
.carousel-dots {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.dot {
    width: 8px;
    height: 8px;
    background: #ccc;
    border-radius: 50%;
    display: inline-block;
}

.dot.active {
    background: #333;
}

/* Responsivo */
@media (max-width: 900px) {
    .slide {
        flex: 0 0 calc(50% - 10px); /* 2 imágenes en tablets */
    }
}

@media (max-width: 600px) {
    .slide {
        flex: 0 0 85%; /* 1 imagen casi completa en móviles */
    }
    .nav-btn {
        display: none; /* En móvil es mejor usar el dedo para deslizar */
    }

    section.consultorio-section{
        margin: 0;
    }
}

.aseguradoras-section {
    padding: 60px 20px;
    background-color: #fff;
    text-align: center;
}

.aseguradoras-title {
    color: #1d3557; /* Azul oscuro */
    font-size: 1.6rem;
    line-height: 1.3;
    margin-bottom: 20px;
    text-align:center;
}

.carousel-wrapper {
    max-width: 1000px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    position: relative;
    gap: 20px;
}

.logos-track {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    gap: 50px;
    padding: 20px 0;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.logos-track::-webkit-scrollbar {
    display: none;
}

.logo-slide {
    flex: 0 0 calc(33.33% - 40px);
    display: flex;
    justify-content: center;
    align-items: center;
}

.logo-slide img {
    max-width: 180px;
    height: auto;
    filter: grayscale(0%); /* Puedes poner 100% y que cambie a 0 al hacer hover */
    transition: transform 0.3s;
}

.logo-slide img:hover {
    transform: scale(1.05);
}

.nav-btn-logos {
    background: transparent;
    border: none;
    color: #eee;
    font-size: 2rem;
    cursor: pointer;
    transition: color 0.3s;
}

.nav-btn-logos:hover {
    color: #ccc;
}

.logos-dots {
    margin-top: 20px;
    display: flex;
    justify-content: center;
    gap: 8px;
}

.dot-logo {
    width: 6px;
    height: 6px;
    background: #ddd;
    border-radius: 50%;
}

.dot-logo.active {
    background: #333;
}

@media (max-width: 768px) {
    .logo-slide {
        flex: 0 0 100%; /* Un logo a la vez en móvil */
    }
}

.sobre-mi-section {
    padding: 80px 20px;
    background-color: #ffffff;
    font-family: 'Montserrat', sans-serif;
}

.sobre-mi-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    gap: 50px;
    align-items: flex-start;
    padding: 40px 20px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}

/* Columna Imagen */
.sobre-mi-image {
    flex: 1;
    position: sticky;
    top: 20px;
}

.image-wrapper {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 15px 35px rgba(0,0,0,0.1);
}

.image-wrapper img {
    width: 100%;        /* Ocupará el ancho máximo que definimos abajo en móviles */
    max-width: 400px;   /* AJUSTA ESTE VALOR: Ancho máximo exacto de la imagen */
    display: block;     
    margin: 0 auto;      /* Centra la imagen */
    object-fit: contain; /* Asegura que la imagen se vea completa */
}

/* Columna Texto */
.sobre-mi-content {
    flex: 1.5;
}

.sobre-mi-content h2 {
    color: #1d3557; /* Azul oscuro */
    font-size: 1.6rem;
    line-height: 1.3;
    margin-bottom: 20px;
    text-align:center;
}

.cedulas {
    background: #edf2f4;
    padding: 15px;
    border-radius: 10px;
    margin-bottom: 25px;
}

.cedulas p {
    margin: 5px 0;
    font-size: 1.2rem;
    color: #457b9d;
}

.bio-text {
    color: #555;
    line-height: 1.6;
    margin-bottom: 20px;
    text-align:justify;
}

/* Grid de Trayectoria y Formación */
.trayectoria-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-top: 30px;
}

.trayectoria-col h3 {
    color: #1d3557;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 15px;
}

.trayectoria-col ul {
    list-style: none;
    padding: 0;
}

.trayectoria-col li {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 10px;
    padding-left: 15px;
    position: relative;
}

.trayectoria-col li::before {
    content: "•";
    color: #457b9d;
    position: absolute;
    left: 0;
    font-weight: bold;
}

/* Botón */
.btn-contacto {
    display: inline-block;
    background-color: #72b9e8;
    color: white;
    padding: 15px 40px;
    border-radius: 10px;
    text-decoration: none;
    font-weight: 600;
    margin-top: 30px;
    transition: background 0.3s ease;
}

.btn-contacto:hover {
    background-color: #457b9d;
}

/* Responsive */
@media (max-width: 992px) {
    .sobre-mi-container {
        flex-direction: column;
    }
    .sobre-mi-image {
        width: 100%;
        max-width: 400px;
        margin: 0 auto;
        position: static;
    }
    .trayectoria-grid {
        grid-template-columns: 1fr;
    }

    .sobre-mi-section{
        padding: 20px;
    }
}

/* Reemplaza o añade esta sección a tu CSS anterior */

.info-blocks-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    margin-top: 40px;
}

.info-block h3 {
    color: #1d3557;
    font-size: 1.2rem;
    margin-bottom: 25px;
    display: flex;
    align-items: center;
    gap: 10px;
}

/* Contenedor Flex para alinear imagen y texto */
.item-with-image {
    display: flex;
    align-items: center; /* Alineación vertical central */
    gap: 15px; /* Espacio entre imagen y texto */
    margin-bottom: 20px;
}

/* Contenedor de la imagen pequeña/icono lateral */
.item-icon-container {
    flex: 0 0 60px; /* Ancho fijo para el icono */
    height: 60px; /* Alto fijo */
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    /* Opcional: añade background o bordes si tus imágenes tienen fondo transparente */
}

.item-icon-container img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain; /* Asegura que el logo se vea completo sin recortarse */
}

/* Ajuste del texto */
.item-text p {
    font-size: 1.0rem;
    color: #666;
    margin: 0;
    line-height: 1.4;
}

/* Responsivo para tablets y móviles */
@media (max-width: 992px) {
    .info-blocks-container {
        grid-template-columns: 1fr; /* Una columna */
        gap: 30px;
    }
}

@media (max-width: 480px) {
    .item-with-image {
        gap: 10px;
    }
    .item-icon-container {
        flex: 0 0 50px;
        height: 50px;
    }
}

.faq-section {
    padding: 60px 20px;
    background-color: #fff;
    font-family: 'Montserrat', sans-serif;
}

.faq-container {
    max-width: 800px;
    margin: 0 auto;
}

.faq-title {
    color: #1d3557; /* Azul oscuro */
    font-size: 1.6rem;
    line-height: 1.3;
    margin-bottom: 20px;
    text-align:center;
}

.accordion {
    border-top: 1px solid #eee;
}

.accordion-item {
    border-bottom: 1px solid #eee;
}

.accordion-header {
    width: 100%;
    padding: 20px 10px;
    background: #1a3a5f;
    border: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    text-align: left;
    transition: background 0.3s;
}

.accordion-header span {
    color: #ffffff;
    font-weight: 600;
    font-size: 1.05rem;
    padding-right: 20px;
}

.accordion-header i {
    color: #ffffff;
    transition: transform 0.3s ease;
}

.accordion-header:hover {
    background-color: #0082c8;
}

/* Estado activo del acordeón */
.accordion-item.active .accordion-header i {
    transform: rotate(180deg);
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
    background-color: #fff;
}

.accordion-content p {
    padding: 0 10px 20px 10px;
    color: #666;
    line-height: 1.6;
    margin: 0;
    font-size: 1.0rem;
}

.accordion-item.active .accordion-content {
    max-height: 200px; /* Ajusta según el largo del texto */
}

.contacto-premium {
    padding: 100px 20px;
    background-color: #fcfcfc;
    font-family: 'Montserrat', sans-serif;
}

.contacto-container {
    max-width: 1200px;
    margin: 0 auto;
}

.main-heading {
    color: #1d3557; /* Azul profundo de referencia */
    font-size: 2rem;
    text-align: center;
    margin-bottom: 60px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.main-heading span { color: #457b9d; font-weight: 700; }

.contacto-layout {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 50px;
    align-items: center;
}

/* Ubicaciones */
.sub-heading {
    color: #1d3557; /* Azul oscuro */
    font-size: 1.6rem;
    line-height: 1.3;
    margin-bottom: 20px;
    text-align:center;     /* Asegura que ocupe todo el ancho para centrarse bien */
}

.location-card {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
    transition: 0.3s;
}

.icon-circle {
    width: 50px;
    height: 50px;
    background: #edf2f4;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #457b9d;
    flex-shrink: 0;
}

.location-details h4 { color: #333; margin-bottom: 5px; font-size: 1.1rem; }
.location-details p { color: #666; font-size: 1.1rem; line-height: 1.5; }

.horarios-box {
    margin-top: 40px;
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    background: #fff;
    border-left: 4px solid #457b9d;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

/* Tarjetas de Acción */
.cta-col { display: flex; flex-direction: column; gap: 20px; }

.cta-card {
    display: flex;
    align-items: center;
    padding: 30px;
    border-radius: 15px;
    text-decoration: none;
    color: white;
    transition: all 0.4s ease;
    position: relative;
    overflow: hidden;
}

.cta-card:hover { transform: scale(1.02); box-shadow: 0 10px 20px rgba(0,0,0,0.15); }

.wa-bg { background: #25d366; } /* Verde WhatsApp */
.phone-bg { background: #1d3557; } /* Azul Profesional */

.cta-icon { font-size: 2.5rem; margin-right: 20px; }
.cta-info span { font-size: 0.8rem; text-transform: uppercase; opacity: 0.9; }
.cta-info strong { font-size: 1.5rem; display: block; }
.arrow { position: absolute; right: 30px; opacity: 0.5; }

/* Responsive */
@media (max-width: 900px) {
    .contacto-layout { grid-template-columns: 1fr; }
    .main-heading { font-size: 1.6rem; }

    .contacto-premium {
        padding: 20px;
    }
}

/* Contenedor de Google My Maps */
.google-my-maps {
    position: relative;
    overflow: hidden;
    width: 100%;
    /* Relación de aspecto para escritorio (480px / 1430px aprox 33%) */
    padding-top: 35%; 
}

/* Estilos del iframe para que llene el contenedor */
.google-my-maps iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0;
}

/* Ajuste específico para Móviles */
@media (max-width: 768px) {
    .google-my-maps {
        /* En móvil lo hacemos más cuadrado para que sea más fácil navegar en el mapa */
        padding-top: 100%; /* Relación 1:1 (cuadrado) */
        height: 450px;    /* O puedes definir una altura fija cómoda */
    }
    
    .map {
        padding: 0; /* Eliminamos paddings laterales para que el mapa toque los bordes */
    }
}

/* --- ESTILOS DEL PIE DE PÁGINA --- */
.footer-section {
    padding: 40px 20px;
    background-color: #fff;
    border-top: 1px solid #eee;
    font-family: 'Montserrat', sans-serif;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: row; /* Lado a lado en escritorio */
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.footer-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.privacy-link {
    color: #1d3557;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    transition: color 0.3s;
}

.footer-bottom p {
    color: #888;
    font-size: 0.9rem;
    margin: 0;
}

/* Estilos de la imagen del logo */
.logo-footer-img {
    max-height: 60px; /* Ajusta según el tamaño de tu logo */
    width: auto;
    display: block;
}

/* --- RESPONSIVO MÓVIL --- */
@media (max-width: 768px) {
    .footer-container {
        flex-direction: column-reverse; /* El logo (que está al final en HTML) sube al inicio */
        text-align: center;
        gap: 30px;
    }

    .footer-logo {
        margin-bottom: 10px; /* Espacio extra sobre el Aviso de Privacidad */
    }

    .logo-footer-img {
        margin: 0 auto; /* Centra el logo en móvil */
        max-height: 50px;
    }
}



/* --- BOTÓN FLOTANTE WHATSAPP (Ajustado) --- */
.whatsapp-float {
    position: fixed;
    width: 60px;  /* Mismo ancho que el de llamada */
    height: 60px; /* Misma altura que el de llamada */
    bottom: 80px; /* Ajustado para que no choque con el botón de subir */
    right: 20px;
    background-color: #25d366;
    border-radius: 50%; /* Asegura círculo perfecto */
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
    z-index: 1000;
    transition: transform 0.3s ease;
    color: #ffffff !important; 
    text-decoration: none;
    border: none;
    outline: none;
}

.whatsapp-float i {
    font-size: 30px; /* Ajustado para igualar visualmente al de llamada */
    line-height: 0;
    border: none !important;
    text-shadow: none;
}

/* --- BOTÓN FLOTANTE DE LLAMADA (Ajustado) --- */
.phone-float {
    display: none; 
    position: fixed;
    width: 50px;
    height: 50px;
    bottom: 155px; /* Espaciado uniforme arriba del botón de WhatsApp */
    right: 20px;
    background-color: #1d3557; /* Azul marino profesional */
    color: #FFF !important;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px; /* Tamaño de icono equilibrado */
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
    z-index: 1000;
    text-decoration: none !important;
    transition: transform 0.3s ease;
}

/* Mostrar solo en pantallas móviles */
@media (max-width: 768px) {
    .phone-float {
        display: flex; 
    }
    
    /* Aseguramos que el botón de WhatsApp no cambie en móvil */
    .whatsapp-float {
        width: 60px;
        height: 60px;
    }
}

/* --- BOTÓN VOLVER ARRIBA --- */
.scroll-top {
    position: fixed;
    width: 40px;
    height: 40px;
    bottom: 40px;
    left: 20px;
    background-color: #3167d9; /* Azul de la imagen */
    color: white;
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    z-index: 1000;
    transition: background 0.3s;
}

.scroll-top:hover {
    background-color: #1d3557;
}

/* --- AJUSTES MÓVILES --- */
@media (max-width: 768px) {
    .footer-container {
        text-align: center;
    }
    .whatsapp-float {
        width: 50px;
        height: 50px;
        font-size: 30px;
        bottom: 80px;
    }
}

/* --- NAVEGACIÓN PRINCIPAL --- */
.main-navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.9); /* Efecto cristal */
    backdrop-filter: blur(10px);
    z-index: 2000;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    padding: 15px 0;
    transition: all 0.3s ease;
}

.nav-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}

.nav-logo a {
    font-size: 1.3rem;
    font-weight: 700;
    color: #1d3557;
    text-decoration: none;
    letter-spacing: -0.5px;
}

.nav-links {
    display: flex;
    align-items: center;
    gap: 30px;
}

.nav-item {
    text-decoration: none;
    color: #457b9d;
    font-weight: 600;
    font-size: 0.95rem;
    transition: color 0.3s;
}

.nav-item:hover {
    color: #1d3557;
}

/* Botón de Contacto en el Menú */
.btn-nav-contacto {
    background-color: #1d3557;
    color: white !important;
    padding: 10px 22px;
    border-radius: 8px;
    transition: background 0.3s ease !important;
}

.btn-nav-contacto:hover {
    background-color: #457b9d !important;
}



/* Menú Móvil */
.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    font-size: 1.5rem;
    color: #1d3557;
    cursor: pointer;
}

/* --- RESPONSIVO --- */
@media (max-width: 768px) {
    .mobile-menu-btn {
        display: block;
    }

    .nav-links {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: white;
        flex-direction: column;
        padding: 20px 0;
        gap: 20px;
        box-shadow: 0 5px 10px rgba(0,0,0,0.1);
        display: none; /* Se activa con JS */
    }

    .nav-links.active {
        display: flex;
    }
    
    .btn-nav-contacto {
        width: 80%;
        text-align: center;
    }
}

/* --- AJUSTES DEL LOGO --- */
.nav-logo {
    display: flex;
    align-items: center;
}

.logo-img {
    height: 50px; /* Ajusta esta altura según las proporciones de tu logo */
    width: auto;  /* Mantiene la proporción original */
    display: block;
    transition: transform 0.3s ease;
}

.logo-img:hover {
    transform: scale(1.05); /* Efecto sutil al pasar el mouse */
}

/* Modificación del contenedor para asegurar alineación vertical */
.nav-container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
}

/* El resto de tu código CSS se mantiene igual... */
.main-navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    z-index: 2000;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    padding: 10px 0; /* Un poco menos de padding para compensar el tamaño del logo */
    transition: all 0.3s ease;
}



/* --- RESPONSIVO --- */
@media (max-width: 768px) {
    .logo-img {
        height: 40px; /* Logo ligeramente más pequeño en móviles */
    }
}

/* ==========================================
   AJUSTES DE CENTRADO PARA MÓVIL
   ========================================== */

@media (max-width: 600px) {
  
  /* 1. "Consulta de valoración" y "En 1.200 MXN" */
  .content-box h3 {
    color: #1d3557; /* Azul oscuro */
    font-size: 1.6rem;
    line-height: 1.3;
    margin-bottom: 20px;
    text-align:center;
  }
  .content-box .price {
    text-align: center;
    display: block;
    width: 100%;
  }

  /* 2. "Métodos de pago:" y sus iconos */
  .payment-methods h4 {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
  
  .methods-icons {
    justify-content: center; /* Centra los iconos de efectivo/tarjeta */
    gap: 20px;
  }

  /* 3. "¿Ya te hablaron de cirugía...?" y "Estos son algunos procedimientos..." */
  .procedimientos-header h3,
  .procedimientos-header p {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  /* 4. "Además, realizo procedimientos ortopédicos como:" */
  .procedimientos-content .intro-text {
    text-align: center;
    display: block;
    width: 100%;
    margin-bottom: 30px;
  }

  /* Centrado del botón de la sección servicios en móvil */
  .content-box .btn-agendar {
    display: flex;
    margin: 0 auto 30px auto;
    justify-content: center;
    max-width: fit-content;
  }
  
  /* Centrado de la lista de revisión de diagnóstico (Opcional) */
  .features-list li {
    justify-content: center;
    text-align: center;
    flex-direction: column; /* Icono arriba del texto para mejor look móvil */
    gap: 5px;
  }
}

/* --- SECCIÓN CONSULTA DE VALORACIÓN --- */
.consulta-seccion {
    padding: 100px 5%;
    background-color: #ffffff;
    font-family: 'Montserrat', sans-serif;
}

.consulta-container {
    max-width: 1100px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 60px;
}

/* Imagen con estilo profesional */
.consulta-image {
    flex: 1;
}

.consulta-image img {
    width: 100%;
    border-radius: 20px;
    box-shadow: 20px 20px 0px 0px rgba(111, 183, 233, 0.1); /* Sombra decorativa azul claro */
    object-fit: cover;
}

/* Contenido */
.consulta-content {
    flex: 1.2;
}

.section-divider-left {
    color: #6fb7e9;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.precio-badge {
    margin-bottom: 30px;
}

.precio-label {
    display: block;
    color: #555;
    font-size: 1.1rem;
}

.precio-monto {
    color: #1a3a5f;
    font-size: 2.5rem;
    font-weight: 800;
}

.consulta-details h3 {
    color: #1a3a5f;
    font-size: 1.4rem;
    margin-bottom: 25px;
}

.detail-item {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    margin-bottom: 20px;
}

.detail-item i {
    color: #6fb7e9;
    font-size: 1.2rem;
    margin-top: 4px;
}

.detail-item p {
    color: #444;
    font-size: 1.05rem;
    line-height: 1.6;
    margin: 0;
}

/* Botón de acción */
.btn-agendar-consulta {
    display: inline-block;
    margin-top: 30px;
    background-color: #1a3a5f;
    color: #fff;
    padding: 18px 40px;
    border-radius: 50px;
    text-decoration: none;
    font-weight: 700;
    transition: all 0.3s ease;
    text-align: center;
}

.btn-agendar-consulta:hover {
    background-color: #6fb7e9;
    transform: translateY(-3px);
    box-shadow: 0 10px 20px rgba(111, 183, 233, 0.3);
}

/* RESPONSIVO */
@media (max-width: 900px) {
    .consulta-container {
        flex-direction: column; /* Imagen arriba, texto abajo */
        gap: 40px;
    }

    .consulta-image, .consulta-content {
        width: 100%;
    }

    .precio-monto {
        font-size: 2rem;
    }

    .consulta-image img {
        box-shadow: 10px 10px 0px 0px rgba(111, 183, 233, 0.1);
    }
}

/* --- SECCIÓN MÉTODOS DE PAGO --- */
.pagos-seccion {
    padding: 60px 5%;
    background-color: #f8fafd; /* Gris muy tenue para contraste */
    text-align: center;
    font-family: 'Montserrat', sans-serif;
}

.pagos-container {
    max-width: 900px;
    margin: 0 auto;
}

.metodos-grid {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    margin-top: 40px;
    flex-wrap: wrap; /* Permite que se apilen en móviles */
}

.metodo-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    transition: transform 0.3s ease;
}

.metodo-item:hover {
    transform: translateY(-5px);
}

.metodo-icon {
    width: 70px;
    height: 70px;
    background-color: #ffffff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #1a3a5f;
    font-size: 1.8rem;
    box-shadow: 0 4px 15px rgba(26, 58, 95, 0.08);
    border: 1px solid #eee;
}

.metodo-item p {
    color: #1a3a5f;
    font-weight: 700;
    font-size: 1.1rem;
    margin: 0;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Separadores visuales solo para escritorio */
.metodo-separator {
    width: 2px;
    height: 40px;
    background-color: #6fb7e9;
    opacity: 0.3;
}

.pagos-footer {
    margin-top: 40px;
    font-size: 0.9rem;
    color: #666;
    font-style: italic;
}

/* AJUSTES PARA MÓVILES */
@media (max-width: 768px) {
    .metodos-grid {
        gap: 30px;
        flex-direction: column; /* Alineación vertical en celular */
    }

    .metodo-separator {
        display: none; /* Quitamos los palitos separadores en móvil */
    }

    .metodo-icon {
        width: 60px;
        height: 60px;
        font-size: 1.5rem;
    }
}

/* Estilos para el Modal */
.modal {
    display: none; 
    position: fixed; 
    z-index: 9999; 
    left: 0;
    top: 0;
    width: 100%; 
    height: 100%; 
    background-color: rgba(0,0,0,0.6); 
    backdrop-filter: blur(5px);
}

.modal-content {
    background-color: #fff;
    margin: 5% auto; 
    width: 80%; 
    max-width: 800px;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 5px 30px rgba(0,0,0,0.3);
    animation: slideIn 0.3s ease-out;
}

@keyframes slideIn {
    from { transform: translateY(-30px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

.modal-header {
    background-color: #1a3a5f;
    color: white;
    padding: 20px 30px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.modal-header h2 {
    margin: 0;
    font-size: 1.5rem;
    font-family: 'Montserrat', sans-serif;
}

.close-modal {
    color: white;
    font-size: 30px;
    font-weight: bold;
    cursor: pointer;
}

.modal-body {
    padding: 30px;
    max-height: 70vh;
    overflow-y: auto;
    font-family: 'Poppins', sans-serif;
    color: #444;
    line-height: 1.6;
    font-size: 0.95rem;
}

.modal-body h3 {
    color: #1a3a5f;
    margin-top: 25px;
    border-bottom: 2px solid #6fb7e9;
    padding-bottom: 5px;
    font-size: 1.1rem;
}

.modal-body ul, .modal-body ol {
    padding-left: 20px;
    margin-bottom: 15px;
}

/* Scrollbar personalizado para el modal */
.modal-body::-webkit-scrollbar {
    width: 8px;
}
.modal-body::-webkit-scrollbar-track {
    background: #f1f1f1;
}
.modal-body::-webkit-scrollbar-thumb {
    background: #1a3a5f;
    border-radius: 10px;
}

/* Contenedor para centrar el botón */
.container-btn-center {
    display: flex;
    justify-content: center; /* Lo alinea al centro horizontalmente */
    width: 100%;            /* Asegura que ocupe todo el ancho disponible */
    margin-top: 30px;       /* Espacio opcional arriba del botón */
}
