/* Fuente base: cuerpo del texto */
body {
  font-family: 'Lato', sans-serif;
}

/* Encabezados generales */
h1, h2, h3, h4, h5, h6 {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
}

/* Títulos destacados donde quieras usar Montserrat */
.titulo-destacado {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
}

/* Navbar */
.navbar .nav-link {
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  margin: 0 10px;
  color: #333;
}

.navbar .nav-link:hover {
  color: #149E82;
}

/* Botón */
.btn-login {
  font-family: 'Montserrat', sans-serif;
  background-color: #149E82;
  color: white;
  font-weight: 500;
  border-radius: 10px;
  padding: 6px 16px;
  text-decoration: none;
}

.btn-login:hover {
  background-color: #117a66;
  color: white;
}

/* Franja verde: emergencias */
.emergencia {
    background-color: #149E82;
    color: black;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 1.1rem;
}

/* Franja roja: contacto */
.contacto {
    background-color: #cf1414;
    color: white;
    font-family: 'Montserrat', sans-serif;
    font-size: 0.92rem;
}

.contacto .icono {
    color: #760000;
    font-size: 1.2rem;
}

.contacto span {
    font-weight: 500;
}

/* Ubicaciones */
.services-section {
    min-height: 450px;
    max-height: 600px;
    background-color: #F6F6F6;
}

.services-section h2 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    color: #149E82;
    font-size: 2rem;
}

.services-section p {
    font-family: 'Lato', sans-serif;
    font-size: 1.1rem;
    color: #555;
}

.banner-imgs {
    height: 300px;
    width: calc(100% - 20px);
    margin: -10px 10px 15px 10px;
    object-fit: cover;
    border-radius: 10px;
}

/* Wrapper del carrusel */
.carousel-wrapper {
    position: relative;
    padding: 0 70px;
}

/* Limitar la altura del carrusel */
.carousel-inner {
    max-height: 500px; /* desktop */
    overflow: hidden;
}

.carousel-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Flechas fuera de la imagen */
.carousel-control-prev,
.carousel-control-next {
    width: 20px;
    top: 50%;
    transform: translateY(-50%);
}

.carousel-control-prev {
    left: -40px; /* desktop */
}

.carousel-control-next {
    right: -40px; /* desktop */
}

/* Iconos de flecha */
.carousel-control-prev-icon,
.carousel-control-next-icon {
    background-color: #149E82;
    border-radius: 10%;
    padding: 5px;
}

@media (min-width: 992px) {
      .pmv {
          padding: 3rem 3rem 3rem 3rem;
      }
}

/* ===== Ajustes para móvil ===== */
@media only screen and (-webkit-min-device-pixel-ratio: 3) {
    .carousel-wrapper {
        padding: 0;
    }

    .carousel-inner {
        max-height: none;   /* quitar limitación rígida */
        height: auto;       /* que tome altura natural */
    }

    .carousel-img {
        height: auto;       /* se adapta al ancho */
        max-height: 270px;  /* opcional para que no sea demasiado alto */
    }

    .carousel-control-prev {
        left: 10px;
    }

    .carousel-control-next {
        right: 10px;
    }

    .pmv {
        padding: 2rem 3rem 0 3rem;
    }

    .pmvs {
        padding: 7rem 3rem 0 3rem;
    }
}

/* Estilo del título */
.section-title {
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    font-weight: bold;
    margin-top: 40px;
    margin-bottom: 30px;
    position: relative;
    font-size: 1.5rem;
}

.section-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background-color: #FF0000;
    margin: 8px auto 0;
    border-radius: 2px;
}

/* Estilo de las tarjetas */
.service-card {
    text-align: center;
    padding: 30px 20px;
    border-radius: 15px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    transition: transform 0.3s, box-shadow 0.3s;
    background-color: #F6F6F6;
    border: 1px solid #c7c7c7;
}

.service-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}

.service-card i {
    font-size: 30px;
    color: #149E82;
    margin-bottom: 15px;
}

.service-btn {
    display: block;
    margin: 15px auto 40px;
    background-color: #E10000;
    font-family: 'Poppins', sans-serif;
    border: none;
    padding: 10px 25px;
    font-size: 1rem;
    transition: background-color 0.3s;
}

.service-btn:hover {
    background-color: rgb(160, 0, 0);
}

/* Sección ¿Por qué?*/
.why-choose-section {
    background-color: #F6F6F6;
    padding-top: 30px;
    padding-bottom: 2rem;
}

/* Estilo del título */
.sectiond-title {
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    font-weight: bold;
    position: relative;
    font-size: 1.5rem;
}

.sectiond-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background-color: #FF0000;
    margin: 8px auto 0;
    border-radius: 2px;
}

/* Estilo del título */
.sectionv-title {
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    margin-top: 30px;
    font-weight: bold;
    position: relative;
    font-size: 1.5rem;
}

.sectionv-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background-color: #FF0000;
    margin: 8px auto 0;
    border-radius: 2px;
}

.choose-card {
    background-color: #ffffff;
    border-radius: 15px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transition: transform 0.3s, box-shadow 0.3s;
}

.choose-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}

.choose-card i {
    font-size: 30px;
    color: #149E82;
}

.choose-card h5 {
    margin-top: 15px;
    font-weight: 600;
}

.choose-card p {
    margin-top: 10px;
    font-size: 0.9rem;
    color: #555555;
}

.branch-card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    transition: transform 0.3s;
}

.branch-card:hover {
    transform: translateY(-5px);
}

.map-section {
    padding-top: 0.5rem;
    padding-bottom: 2rem;
}

.map-responsive {
    position: relative;
    padding-bottom: 56.25%; /* proporción 16:9 */
    height: 0;
    overflow: hidden;
    border-radius: 10px;
}

.map-responsive iframe {
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}

.icon-red {
    color: #E10000;
    padding-right: 5px;
}

.icon-redd {
    color: #fff;
    padding-right: 5px;
}

/* Título */
.faq-section {
    margin-bottom: 40px;
}

.faq-title {
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    font-weight: bold;
    margin-top: 10px;
    margin-bottom: 30px;
    position: relative;
    font-size: 1.5rem;
}

.faq-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background-color: #FF0000;
    margin: 8px auto 0;
    border-radius: 2px;
}

/* Caja */
.faq-box {
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    overflow: hidden;
}

/* Botón pregunta */
.faq-question {
    font-weight: 500;
    font-size: 0.98rem;
}

/* Respuesta */
.faq-answer {
    background-color: #DDF0EC;
    border-radius: 4px;
    font-family: 'Lato', sans-serif;
}

/* Quitar el fondo azul al desplegar */
.accordion-button:not(.collapsed) {
    background-color: #dddddd !important; /* blanco */
    color: #000000 !important; /* texto negro */
    box-shadow: none !important;
}

/* Estado normal */
.accordion-button {
  background-color: #f7f7f7;
  color: #000000; 
  box-shadow: none !important;
}

/* Quitar borde azul al enfocar */
.accordion-button:focus {
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Sección de Atención a Mascotas */
.attention-section {
    background-color: #149E82;
    color: #000000;
}

.attention-section .attention-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.5rem;
}

.attention-section .attention-text {
    font-family: 'Lato', sans-serif;
    font-size: 1rem;
}

.attention-section .attention-btn {
    font-family: 'Poppins', sans-serif;
    background-color: #E10000;
    color: #fff;
    padding: 0.6rem 1.5rem;
    font-weight: 1rem;
    transition: background-color 0.3s, border-color 0.3s;
}

.attention-section .attention-btn:hover {
    background-color: rgb(160, 0, 0);
    color: #fff;
}

.footer-section {
    background-color: #444245;
    color: #fff;
}

.footer-section .footer-desc {
    font-size: 0.9rem;
    margin-bottom: 10px;
}

.footer-section .footer-social a {
    color: #fff;
    transition: color 0.3s;
}

.footer-section .footer-social a:hover {
    color: #149E82;
}

.footer-section .footer-title {
    font-weight: 600;
    margin-bottom: 10px;
}

.footer-section .footer-links li {
    margin-bottom: 5px;
}

.footer-section .vertical-line {
    width: 2px;
    background-color: #149E82;
    margin: 0 auto;
}

/* Banners */
.service-banner {
    display: flex;
    width: 100%;
    height: 300px;
}

.banner-img {
    flex: 1;
    overflow: hidden;
}

.banner-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service-text {
    background-color: #FFFFFF;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 80px;
}

.service-text h2 {
    font-size: 3rem;
    font-weight: 700;
    color: #149E82;
    margin: 0;
    text-align: center;
}

/* ===== Ajustes para móvil ===== */
@media (min-width: 992px) {
    .pmvas {
        padding: 3rem 0 3rem 0;
    }
}
@media (max-width: 991px) {
    .service-banner {
        flex-direction: column; /* Banner arriba, texto abajo */
        height: auto; /* Ajusta altura automáticamente */
    }

    .banner-img {
        height: 200px; /* Altura del banner en móvil */
    }

    .banner-img img {
        height: 100%;
    }

    .service-text {
        padding: 20px 0 20px 0; /* Menos padding en móvil */
    }

    .service-text h2 {
        font-size: 2rem; /* Ajusta tamaño del texto */
    }
    
    .pmvas {
        padding-bottom: 3rem;
    }
}

/* Servicios */
.all-services p {
    font-family: 'Lato', sans-serif;
    font-size: 1.1rem;
    color: #555;
}

.all-services .card {
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    border-radius: 15px;
    padding: 20px;
    transition: transform 0.3s, box-shadow 0.3s;
    background-color: #f8f9fa; 
}

.all-services .card:hover {
    transform: translateY(-10px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.15);
}

.all-services .card i {
    color: #149E82;
    margin-bottom: 15px;
}

.all-services .card-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    margin-bottom: 10px;
    color: #333;
}

.all-services .card-text {
    color: #555;
    font-family: 'Lato', sans-serif;
    font-size: 0.95rem;
}

.all-services .btn-primary {
    background-color: #E10000;
    font-family: 'Poppins', sans-serif;
    border: none;
    padding: 8px 20px;
    font-weight: 500;
    transition: background-color 0.3s;
}

.all-services .btn-primary:hover {
    background-color: rgb(160, 0, 0);
}

/* Estilo del título */
.sectionS-title {
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    font-weight: bold;
    margin-top: -30px;
    margin-bottom: 30px;
    position: relative;
    font-size: 1.5rem;
}

.sectionS-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background-color: #FF0000;
    margin: 8px auto 0;
    border-radius: 2px;
}

.footer-links a,
.footer-links a:link,
.footer-links a:visited,
.footer-links a:hover,
.footer-links a:active {
    color: #fff;
    text-decoration: none;
}

.footer-links a:hover {
    color: #07cfa7;
    text-decoration: none;
}

.custom-footer {
    padding-top: 30px;
    padding-bottom: 20px;
}

.historia-container {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0;
    padding: 0;
}

/* Imagen pegada a la izquierda */
.historia-img img {
    width: 600px;
    height: 410px;
    object-fit: cover;
    display: block;
    margin-left: 25px;
    border-radius: 0.5rem;
}

/* Texto a la derecha */
.historia-text-col {
    flex: 1;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

/* Título y línea roja */
.historia-title {
    font-family: "Montserrat", sans-serif;
    font-weight: 700;
    font-size: 2rem;
    color: #149E82;
    margin-bottom: 0.5rem;
}

.historia-title::after {
    content: '';
    display: block;
    margin-top: 5px;
    margin-bottom: 15px;
    width: 300px;
    height: 4px;
    background-color: #FF0000;
    border-radius: 2px;
}

/* Texto historia */
.historia-text {
    font-family: "Lato", sans-serif;
    font-size: 1rem;
    color: #333;
    line-height: 1.6;
}

/* ===== Ajustes para móvil ===== */
@media (min-width: 992px) {
    .pmvh {
        margin-top: 3rem;
    }
}
@media (max-width: 991px) {
    .historia-container {
        flex-direction: column; /* imagen arriba, texto abajo */
    }
    
    .historia-img img {
        width: 385px;
        height: 200px; /* ajusta altura de la imagen en móvil */
        margin-left: 0;
        margin-top: -20px;
        margin-bottom: 20px;
    }

    .historia-text-col {
        width: 100%;
    }

    .historia-title {
        font-size: 2rem;
        text-align: center;
    }
    
    .historia-title::after {
        content: '';
        display: block;
        margin-top: 5px;
        margin-bottom: 15px;
        width: 300px;
        height: 2px;
        background-color: #FF0000;
        border-radius: 2px;
        margin-left: 31px;
    }

    .historia-text {
        font-size: 0.95rem;
        text-align: center;
    }
    
    .pmvh {
        margin-top: 1rem;
    }
}

/* Cards */
.card i {
    color: #149E82;
    font-size: 1.8rem;
}

.card-title {
    position: relative;
    text-align: center;
}

.card-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background-color: #FF0000;
    border-radius: 2px;
    margin: 8px auto 0;
}

.cards {
    text-align: center;
    padding: 30px 20px;
    border-radius: 10px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    transition: transform 0.3s, box-shadow 0.3s;
    background-color: #F6F6F6;
    border: 1px solid #c7c7c7;
}

.cards:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.25);
}

.team-section {
    text-align: center;
}

.team-title {
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    font-weight: bold;
    position: relative;
    font-size: 1.5rem;
}

.team-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background-color: #FF0000;
    margin: 8px auto 0;
    border-radius: 2px;
}

.team-subtitle {
    font-family: 'Lato', sans-serif;
    font-size: 1rem;
    color: #555;
    margin-bottom: 30px;
}

.team-section .team-card {
    background: #F6F6F6;
    border-radius: 15px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);
    padding: 15px;
    text-align: center;
}

.team-card img {
    width: 100%;
    border-radius: 10px;
    margin-bottom: 10px;
}

.team-name {
    margin-bottom: 5px;
    margin-top: 10px;
    font-size: 18px;
    font-weight: 600;
    color: #35796C;
}

.team-name::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background-color: #FF0000;
    margin: 8px auto 0;
    border-radius: 2px;
}

.team-role {
    font-size: 14px;
    color: #444;
    margin-top: 10px;
}

.vsection-title {
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    font-weight: bold;
    position: relative;
    font-size: 1.5rem;
    margin-top: 50px;
}

.vsection-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background-color: #FF0000;
    margin: 8px auto 0;
    border-radius: 2px;
}

.vsection-subtitle {
    font-family: 'Lato', sans-serif;
    font-size: 1rem;
    color: #555;
    margin-bottom: 20px;
}

.video-card video {
    background-color: black;
    width: 100%;
    height: auto;
    aspect-ratio: 9 / 16;
    max-height: 700px;
    border-radius: 10px;
    object-fit: cover;
}

.videos-section {
    margin-bottom: 40px;
}

.frase-destacada {
  background-color: #970000; /* rojo oscuro elegante */
  color: #FFFFFF; /* texto blanco para contraste */
  text-align: center;
  font-family: 'Poppins', sans-serif; /* tipografía moderna */
  font-size: 1.1rem;
  padding: 20px 15px;
  box-shadow: 0 8px 15px rgba(0,0,0,0.3); /* sombra suave */
  margin-top: 20px;
}

/* Estilos sección contacto */
.contact-card {
    gap: 15px;
}

.contact-title {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.5rem;
    font-weight: 750;
    color: #000000;
}

.contact-subtitle {
    font-family: 'Lato', sans-serif;
    font-size: 1rem;
    color: #555;
}

.contact-form .form-control,
.contact-form .form-select,
.contact-form textarea {
    border-radius: 10px;
    border: 1px solid #ccc;
    padding: 10px;
    background-color: #f1f1f1;
}

.contact-form button {
    display: block;
    margin: 0px auto 10px;
    background-color: #d32f2f;
    border: none;
    font-family: 'Poppins', sans-serif;
    padding: 10px 25px;
    border-radius: 8px;
    color: #fff;
    font-weight: 500;
    transition: background-color 0.3s;
}

.contact-form button:hover {
    background-color: rgb(160, 0, 0);
}

.contact-image-container img {
    margin-top: 140px;
    max-width: 340px;
    height: auto;
}

/* Responsive: en móviles, formulario encima de la imagen */
@media (min-width: 992px) {
    .pmvc {
          padding: 1.25rem;
      }
}
@media (max-width: 991px) {
     .contact-card {
        flex-direction: column;
      }
      .contact-image-container img {
        margin-top: 10px;
        max-width: 340px;
        height: auto;
      }
      
      .pmvc {
          padding: 0 1.25rem 1.25rem 1.25rem;
      }
      
      .titulo {
            margin-left: 0 !important;
        }
        
        .tm {
            margin-left: 0 !important;
        }
}

#map {
    height: 500px;  /* altura del mapa */
    width: 100%;    /* ancho completo */
    margin-bottom: 20px;
    border-radius: 10px;
    margin-top: 20px;
}

.leaflet-tooltip.my-tooltip {
    background-color: white;
    color: black;
    border: 1px solid #FF0000;
    font-weight: bold;
    border-radius: 5px;
    padding: 5px 10px;
}

.ubicacion-title {
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    font-weight: bold;
    position: relative;
    font-size: 1.5rem;
    margin-top: 30px;
}

.ubicacion-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background-color: #FF0000;
    margin: 8px auto 0;
    border-radius: 2px;
}

/* Contenedor de sucursales */
.sucursal-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background-color: #FF0000;
    margin: 8px auto 0;
    border-radius: 2px;
}

.branch-cardc {
    border-radius: 15px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(105, 105, 105, 0.1);
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 12px;
    height: 100%; /* Para que todas tengan igual altura */
    transition: transform 0.3s;
}

.branch-cardc:hover {
    transform: translateY(-5px);
}

/* Título de la sucursal */
.branch-cardc h5 {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.25rem;
    color: #000000;
    margin-bottom: 5px;
}

/* Dirección o detalle */
.branch-cardc p {
    font-family: 'Lato', sans-serif;
    font-size: 0.95rem;
    color: #555;
    margin-bottom: 10px;
}

/* Imagen de Google Maps */
.branch-cardc img {
    width: 100%;      /* Ocupa todo el ancho disponible dentro del card */
    height: auto;     /* Mantiene la proporción de la imagen */
    max-height: 490px;
    margin-bottom: 5px;
    object-fit: contain;
}

/* Línea decorativa */
.branch-cardc .line {
    width: 60px;
    height: 2px;
    background-color: #FF0000;
    border-radius: 2px;
    margin: 10px 0;
}

/* Responsive: que se vea bien en móviles */
@media (max-width: 768px) {
    .branch-cardc {
        margin-bottom: 20px;
    }
}

/* Sección Agendar Cita */
.appointment-card {
    background-color: #F6F6F6; /* fondo blanco */
    border-radius: 15px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.1); /* sombra suave */
    padding: 40px 30px;
    margin: 0 auto;
    margin-bottom: 40px;
}

.appointment-title {
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    font-weight: bold;
    position: relative;
    font-size: 1.5rem;
    margin-top: 30px;
    margin-bottom: 20px;
}

.appointment-title::after {
    content: '';
    display: block;
    width: 60px;
    height: 4px;
    background-color: #FF0000; /* línea roja debajo del título */
    margin: 8px auto 0;
    border-radius: 2px;
}

.text-green {
    color: #35796C; /* verde */
    font-weight: 600;
}

.titulo {
    margin-left: 40px;
}

.titulom {
    margin-left: 40px;
}

.text-red {
    color: #d32f2f; /* rojo */
}

.appointment-section ul {
    padding-left: 40px;
}

.appointment-section ul li {
    font-size: 1rem;
    margin-bottom: 10px;
    line-height: 1.5;
    position: relative;
    padding-left: 25px;
}

.appointment-section ul li i {
    position: absolute;
    left: 0;
    top: 2px;
}

.btn-green {
    background-color: #149E82;
    font-family: 'Poppins', sans-serif;
    color: #fff;
    border-radius: 8px;
    padding: 10px 25px;
    font-weight: 500;
    border: none;
    transition: background-color 0.3s;
}

.btn-green:hover {
    color: #fff;
    background-color: #35796C;
}

.btn-red {
    background-color: #d32f2f;
    font-family: 'Poppins', sans-serif;
    color: #fff;
    border-radius: 8px;
    padding: 10px 25px;
    font-weight: 500;
    border: none;
    transition: background-color 0.3s;
}

.btn-red:hover {
    color: #fff;
    background-color: rgb(160, 0, 0);
}

.appointment-section p, 
.appointment-section li {
    color: #555;
}

.alert-info {
    background-color: #DDF0EC;
    border-color: #35796C;
    color: #000000;
    border-radius: 10px;
    font-size: 0.95rem;
}

.alert-info .icono {
    color: #35796C;
}

/* Modal personalizado */
#contactSuccessModal .modal-content {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
}

/* Header del modal */
#contactSuccessModal .modal-header {
    color: #149E82;
    font-family: 'Montserrat', sans-serif;
}

/* Cuerpo del modal */
#contactSuccessModal .modal-body {
    font-family: 'Lato', sans-serif;
    color: #555;
    padding: 20px;
}

/* Botón rojo del modal */
#contactSuccessModal .btn-red {
    background-color: #d32f2f;
    font-family: 'Poppins', sans-serif;
    color: #fff;
    border: none;
    padding: 6px 30px;
    border-radius: 6px;
    transition: 0.3s;
}

/* Hover del botón rojo */
#contactSuccessModal .btn-red:hover {
    color: #fff;
    background-color: rgb(160, 0, 0);
}