body {
    background-color: #f8f9fa; 
     font-family: 'Manrope' !important;
}



/* ==== Ajustes para Choices.js dentro de input-group ==== */
.input-group .choices {
  flex: 1 1 auto;
}
.choices__inner {
  width: 100% !important;
  min-height: calc(1.5em + 0.75rem + 2px) !important;
  padding: 0.375rem 1.75rem 0.375rem 0.75rem;
  border: 1px solid #ced4da;
  border-radius: 0.25rem;
  background-color: #fff;
  line-height: 1.5;
}

/* Dos columnas en m贸vil, tres a partir de md */
@media (max-width: 767px) {
  .row-cols-2-mobile {
    --bs-cols: 2;
  }
}

/* Navbar de dos columnas */
.navbar-custom {
  background-color: #ee751f;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  padding: .5rem 0;
}
.navbar-custom .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
*

.hero-section {
  height: 600px;
  background: url('/assets/img/bannerprin2.png') center/cover no-repeat;
}

.hero-section .container,
.hero-section .row {
  height: 100%;
}

.hero-logo {
    margin-top: 30px;
  max-width: 200px;
}

.hero-secondary {
  max-width: 70%;
    padding-bottom: 120px;
}

.titulo {
    font-size: 40px !important;
    margin-bottom: 20px !important;
    font-weight: 300 !important;
    letter-spacing: 1px !important;
}

.form-control {
    border-radius: 30px;
    height: 45px;
}
.input-group-text {
        border-radius: 30px;

}
.choices__inner {
            border-radius: 0 30px 30px 0;

}

.card-doctor {
  box-shadow: 0 0 6px rgba(0,0,0,0.05);
  transition: transform .15s ease-in-out;
        border-radius: 40px;
    border: none;

 
}
.card-doctor:hover {
  transform: translateY(-4px);
}
.card-body {
    padding: 20px 40px 40px 40px !important;
    border-top: 2px solid #ee751f !important;
    text-align: center !important;
}
.card-text {
        color: #000 !important !important;

}
.card-title {
    font-size: 25px !important;
}

.card-body i {
color: rgb(213,213,213) !important;
    padding-right: 10px !important;
  }  

.card-text a {
    font-size: 20px !important;
    text-decoration: none !important;
    color: #000 !important;
    font-weight: 500 !important;
}
    
.ti-espe{
    background: #013d5b !important;
    color: #fff !important;
    margin: 0 auto !important;
    border-radius: 30px !important;
    padding: 5px 30px !important;
    font-size: 13px !important;
    letter-spacing: 1px !important;
}



.photo-placeholder {
  width: 100% !important;
  padding-top: 100% !important;
  position: relative !important;
  background: #eceeef !important;
}
.photo-placeholder .bi-person-circle {
  position: absolute !important;
  top: 50%; left: 50% !important;
  transform: translate(-50%, -50%) !important;
  font-size: 3rem !important;
}
.card-img-top {
  width: 100% !important;
  object-fit: cover !important;
  aspect-ratio: 1 / 1 !important;
            border-radius: 40px 40px 0 0 !important;

}


.btn-outline-secondary {
    border-radius: 0 30px 30px 0 !important;
    border-color: rgb(217,217,217) !important;
}

.buscador-nombre .form-control {
    padding-left: 30px !important;
}

.buscador-nombre {
    padding-right: 30px !important;
}


.navbar {
    background: #013d5b !important;
    border-bottom: 2px solid #ee751f !important;
}

.navbar a {

            color: #fff !important;

        
    }

.navbar a:hover {

    color: #013d5b !important;
    font-weight: 600 !important;

        
    }
.navbar li:hover {

    background: #fff !important;
    padding: 0 10px !important;
    border-radius: 20px !important;

        
    }
    
    .foto-perfil img {
    border-radius: 90px !important;
}

.col-datos {
    padding-left: 50px !important;
}

.img-zoom {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    animation: zoomInOut 1s ease-out !important;
}

@keyframes zoomInOut {
    0% {
        transform: scale(1) !important;
    }
    50% {
        transform: scale(1.05) !important;
    }
    100% {
        transform: scale(1) !important;
    }
}

.i-tam {
    color: rgb(175, 170, 170) !important;
    padding-right: 10px !important;
}

.tag-espe {
    background: #013d5b !important;
    color: #fff !important;
    border-radius: 30px !important;
    padding: 5px 30px !important;
    font-size: 13px !important;
    letter-spacing: 1px !important;
    width: 30% !important;
    text-align: center !important;
}

.text-phone a {
    font-size: 20px !important;
    text-decoration: none !important;
    color: #000 !important;
    font-weight: 500 !important;
}

.col-datos h5 {
    font-size: 30px !important;
    font-weight: 300 !important;
    padding-top: 20px !important;
}

.col-datos .btn {
    color: #ee751f !important;
    border-color: #ee751f !important;
    border-radius: 30px !important;
    padding: 7px 30px !important;
}

.col-datos .btn:hover {
    background-color: #ee751f !important;
    color: #fff !important;
}

/* Pagina Medicos */

/* Carousel médicos relacionados centrado */
#relatedCarousel .carousel-inner .row {
    justify-content: center !important; /* centra los grupos de tarjetas */
}

/* Tarjetas más pequeñas */
#relatedCarousel .card {
    width: 200px !important;
    margin: 0 auto !important;
}

/* Ajuste flechas fuera de las tarjetas */
#relatedCarousel .carousel-control-prev,
#relatedCarousel .carousel-control-next {
    width: 3rem !important;
}

#relatedCarousel .carousel-control-prev {
    left: -2rem !important;
}

#relatedCarousel .carousel-control-next {
    right: -2rem !important;
}

/* Asegura que el contenedor tenga espacio para las flechas */
#relatedCarousel {
    position: relative !important;
    padding: 0 3rem !important; /* espacio a izquierda/derecha */
}



.carousel .card {
    border-radius: 30px !important;
    border: none !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;
}

.carousel .card-title {
    font-size: 18px !important;
}

.carousel .card-body {
    padding: 20px 12px !important;
}

.carousel .btn {
    margin: 0 20px !important;
    background: #ee751f !important;
    border-radius: 30px !important;
    border-color: #ee751f !important;
}

.carousel-inner {
    padding: 20px !important;
}

.titu-carrusel {
    text-align: center !important;
    padding-top: 50px !important;
    font-size: 30px !important;
}

.foto-perfil img {
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08) !important;

}


/* ==== Ajustes para el carousel de escritorio (md+) ==== */
@media (min-width: 768px) {
  /* Empuja los controles fuera de las tarjetas */
  #relatedCarouselDesktop {
    position: relative;
    padding: 0 4rem; /* deja espacio a izquierda/derecha para las flechas */
  }
  #relatedCarouselDesktop .carousel-control-prev {
    left: 0;  /* ahora la flecha está al borde del contenedor */
  }
  #relatedCarouselDesktop .carousel-control-next {
    right: 0;
  }

  /* Fija un ancho para cada tarjeta */
  #relatedCarouselDesktop .col-lg-3 {
    flex: 0 0 auto;    /* desactiva el width:25% por defecto */
    width: 250px;      /* ancho fijo de la tarjeta */
  }
  #relatedCarouselDesktop .card {
    margin: 0 auto;    /* centra la card dentro de su col */
  }
}

/* ==== Móvil (ya tenías 1 tarjeta por slide) ==== */
@media (max-width: 576px) {
  #relatedCarouselMobile,
  #relatedCarouselMobile .carousel-inner {
    overflow: hidden;
    padding: 0;
  }
  #relatedCarouselMobile .card {
    margin: 0 auto;
    width: 80%;        /* ya lo tenías, pero asegúrate */
  }
}

.carousel-control-next, .carousel-control-prev {
    background: rgba(202, 201, 201, 0.53) !important;
    border-radius: 30px !important;
width: 30px !important;
    margin: 120px 0 !important;

}

.conten {
    padding: 0 40px !important;
}


/* Fin pagina medicos */
    
    .foot {
    margin-top: 100px !important;
    text-align: center !important;
}

.menu-footer {
    text-align: center !important;
}

.menu-footer h5 {
    font-weight: 200 !important;
    letter-spacing: 1px !important;
}

.menu-footer li {
    padding: 5px 0 !important;
    font-size: 15px !important;
}

.menu-footer a:hover {
    font-weight: 900 !important;
}

.copyright {
    background-color: #013d5b !important;
    color: #fff !important;
    border-top: 1px solid rgba(255, 255, 255, 0.11) !important;
}

    
    
    

@media screen and (max-width: 768px) {
    /* Estilos para móviles */
.navbar-toggler {
    background: #fff !important;
font-size: 15px !important;;
}

.foot-prin {
    min-height: 600px !important;
}

.logo-f-1{
    padding-bottom: 40px !important;
}

.logo-f-2{
    padding-top: 40px !important;
}

.col-datos {
    padding: 0 30px !important;
}

.tag-espe {
        width: 80% !important;

}
    .hero-section {
        height: 300px !important;
        background: url('/assets/img/banner-movil.png') center/cover no-repeat !important;
        padding: 0 20px !important;
    }

    .hero-logo {
        width: 40% !important;
    }

    .hero-secondary {
        width: 50% !important;
        padding-bottom: 60px !important;
        padding-left: 10px !important;
    }

    .titulo span {
        font-size: 25px !important;

    }
    
    .titulo  {
                text-align: center !important;

    }

    .cuerpo {
        padding: 0 20px !important;
                margin-top: -20px !important;

    }

    .buscador-nombre {
        padding-right: 0px !important;
        margin-top: -20px !important;
        margin-bottom: 10px !important;
    }

    .input-group {
        margin-top: -20px !important;
    }

    .card-title {
        font-size: 16px !important; 
    }

    .card-body {
        padding: 10px 10px 20px 10px !important;
    }

    .ti-espe {
        font-size: 8px !important;
        line-height: 10px !important;
        text-align: center !important;
        margin: 0 auto !important;
        padding-left: 5px !important;
        padding-right: 10px !important;
        margin-bottom: 10px !important;
    }

    .card-text a {
        font-size: 15px !important;
    }

    .text-muted {
        font-size: 12px !important;
        line-height: 14px !important;
    }

    .card {
        border-radius: 20px !important; 
    }
        
       
    .card i {
        font-size: 10px !important;
        padding-right: 5px !important;
    }
    
    
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  /* Estilos específicos para tablets */
    
     .hero-section {
        height: 400px !important;
        background: url('/assets/img/banner-tablet.png') center/cover no-repeat !important;
        padding: 0 20px !important;
    }
    .hero-secondary {
        padding-bottom: 80px !important;
        padding-left: 10px !important;
    }
    
    .titulo span {
        font-size: 25px !important;
        
    }
    .input-group {
        margin-top: -20px !important;
    }
    .card-title {
        font-size: 20px !important;
        
    }
    .card-body {
        padding: 20px 10px 30px 10px !important;
    }
    .ti-espe {
        font-size: 10px !important;
    }
    .card {
        border-radius: 30px !important;
    }
    
    .direc {
        font-size: 13px !important;
    }
    .ti-espe {
        margin-bottom: 10px !important;
    }
    .card i {
        font-size: 13px !important;
    }
}

