/* Ajustes propios de Connecto sobre el template vendorizado — separado de
   main.css a propósito, para no tocar el archivo de terceros y que quede
   claro qué es customización real si algún día se actualiza el template. */

/* El logo real (images/logo.png) es horizontal (~5:1) y bastante más
   ancho que el placeholder del template — sin este límite de alto se
   renderiza a su tamaño nativo (229px) y rompe el header. */
.header-upper .logo-box .logo img,
.mobile-menu .nav-logo img {
    max-height: 42px;
    width: auto;
}

/* Integración de intl-tel-input en el formulario de suscripción */
.subscribe-form-four .iti {
    width: 100%;
    display: block;
}

.subscribe-form-four .iti__country-list {
    z-index: 99999;
    color: #19274d;
    text-align: left;
}

.subscribe-form-four .form-group input[type="tel"] {
    font-size: 32px !important;
    line-height: 60px !important;
    padding-left: 70px !important;
    padding-right: 200px !important;
}

.subscribe-form-four .iti__flag-container {
    left: 20px !important;
}



/* Ajustes del logotipo en el footer */
.main-footer .logo-widget .logo img {
    max-height: 42px;
    width: auto;
}

/* --- Rediseño del Footer (Fondo Blanco, Estilo Premium) --- */

.main-footer.style-three {
    background-color: #ffffff !important;
    padding-top: 60px;
}

/* Encabezados con subrayado verde (como en la imagen del usuario) */
.main-footer .footer-widget h5 {
    position: relative;
    font-size: 20px;
    font-weight: 700;
    color: #19274d;
    padding-bottom: 12px;
    margin-bottom: 25px;
    text-transform: capitalize;
}

.main-footer .footer-widget h5::after {
    position: absolute;
    content: '';
    left: 0;
    bottom: 0;
    width: 35px;
    height: 3px;
    background-color: #32c788;
    /* Verde Connecto */
}

/* Hover de links en el footer a verde brand */
.list-link li a:hover {
    color: #32c788 !important;
}

/* Formulario del Boletín / Newsletter en el Footer */
.main-footer .newsletter-widget .newsletter-form .form-group input[type="email"] {
    transition: all 300ms ease;
}

.main-footer .newsletter-widget .newsletter-form .form-group input[type="email"]:focus {
    border-bottom-color: #32c788 !important;
}

.main-footer .newsletter-widget .newsletter-form .form-group .submit-btn:hover {
    color: #32c788;
}

/* Iconos de Redes Sociales Circulares en la 4ta Columna */
.main-footer .footer-social-icons {
    display: none;
    align-items: center;
    gap: 12px;
    margin-top: 25px;
}

.main-footer .footer-social-icons .social-icon {
    position: relative;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #f0f4fc;
    color: #19274d;
    text-align: center;
    line-height: 40px;
    font-size: 15px;
    display: inline-block;
    transition: all 300ms ease;
}

.main-footer .footer-social-icons .social-icon:hover {
    background-color: #32c788;
    color: #ffffff;
    transform: translateY(-3px);
}

/* Vista de celular: Ajustes de tamaño y posición en banner */
@media (max-width: 767px) {
    .banner-section-three .content-column .option-list li {
        font-size: 10px !important;
        padding-left: 8px !important;
    }

    .banner-section-three .content-column .inner-column {
        padding-top: 25px !important;
    }
}

/* Subir el contenido de la sección "Por qué Connecto" 80px */
.facilities-section {
    padding-top: 30px !important;
}

/* --- Contenedor de 5 Planes en una sola fila (Desktop) --- */

.pricing-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    margin-bottom: 40px;
}

.pricing-card-col {
    position: relative;
    width: 100%;
    max-width: 350px;
    margin-bottom: 20px;
}

/* Alinear botones al fondo del contenedor */
.pricing-card-col .price-box {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}

.pricing-card-col .price-box-body {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;
    justify-content: space-between !important;
}

/* En resoluciones grandes, forzar los 4 primeros planes en la misma fila y el personalizado abajo centrado */
@media (min-width: 1200px) {
    .pricing-container {
        flex-wrap: wrap;
        /* Permitir salto de línea */
        gap: 0 !important;
        padding-top: 15px;
        padding-bottom: 15px;
        justify-content: center;
    }

    .pricing-card-col {
        width: 25%;
        flex: 0 0 25%;
        min-width: 0;
        margin-top: 10px !important;
        margin-bottom: 10px !important;
        margin-left: 0 !important;
        margin-right: -1px !important;
        /* Colapsar bordes contiguos */
    }

    .pricing-card-col.recommended {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        z-index: 2;
        /* Para dibujar el borde verde por encima */
    }

    /* Bordes redondeados integrados */
    .pricing-card-col .price-box {
        border-radius: 0 !important;
        height: 100%;
    }

    .pricing-card-col:nth-child(1) .price-box {
        border-radius: 12px 0 0 12px !important;
    }

    .pricing-card-col:nth-child(4) .price-box {
        border-radius: 0 12px 12px 0 !important;
        border-right: 1px solid #e6edf7 !important;
    }

    .pricing-card-col.recommended .price-box {
        border-radius: 12px !important;
        border: 2px solid #32c788 !important;
        box-shadow: 0 15px 40px rgba(50, 199, 136, 0.15) !important;
    }

    /* El 5to plan (Personalizado) va en la siguiente línea, centrado y con esquinas redondeadas */
    .pricing-card-col:nth-child(5) {
        margin-top: 30px !important;
        /* Separación con la fila superior */
        margin-bottom: 20px !important;
    }

    .pricing-card-col:nth-child(5) .price-box {
        border-radius: 12px !important;
        border-right: 1px solid #e6edf7 !important;
    }

    .pricing-card-col .price-box-header {
        padding: 30px 15px !important;
    }

    .pricing-card-col .price-box-header h4 {
        font-size: 18px !important;
        margin-bottom: 10px !important;
    }


    .pricing-card-col .price-box-body {
        padding: 20px 15px 30px !important;
    }

    .pricing-card-col .price-box-body ul li {
        font-size: 13px !important;
        margin-bottom: 8px !important;
        text-align: left;
    }

    .pricing-card-col .price-box-body .theme-btn {
        padding: 10px 10px !important;
        font-size: 14px !important;
    }
}

/* --- Interruptor de Facturación (Mensual / Anual) --- */

.switch input:checked+.slider {
    background-color: #32c788;
}

.switch input:focus+.slider {
    box-shadow: 0 0 1px #32c788;
}

.switch .slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
}

.switch input:checked+.slider:before {
    transform: translateX(26px);
}

/* --- Centrado del Menú de Navegación en el Header --- */
@media (min-width: 992px) {
    .header-style-three .header-upper .clearfix {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .header-style-three .header-upper .clearfix::before,
    .header-style-three .header-upper .clearfix::after {
        display: none;
    }

    .header-style-three .header-upper .logo-box {
        float: none;
        flex: 0 0 auto;
        z-index: 10;
    }

    .header-style-three .header-upper .logo-box .logo {
        padding: 25px 0;
    }

    .header-style-three .nav-outer {
        float: none;
        margin-top: 0 !important;
        padding-right: 0 !important;
        flex: 1 1 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        text-align: center;
    }

    .header-style-three .main-menu {
        display: flex;
        justify-content: center;
        align-items: center;
        width: auto;
        float: none;
        margin: 0 auto;
    }

    .header-style-three .main-menu .navbar-collapse {
        display: flex !important;
        justify-content: center;
        align-items: center;
    }

    .header-style-three .main-menu .navigation {
        display: flex;
        justify-content: center;
        align-items: center;
        margin: 0 auto;
        width: auto;
        padding: 0 !important;
    }

    .header-style-three .main-menu .navigation > li {
        margin: 0 14px;
        float: none;
        display: inline-block;
    }

    .header-style-three .main-menu .navigation > li > a {
        padding: 30px 0 !important;
        display: inline-block;
    }

    .header-style-three .header-upper .outer-box {
        float: none;
        flex: 0 0 auto;
        margin-left: auto;
        position: relative;
        padding: 0 !important;
        z-index: 10;
    }

    .header-style-three .header-upper .outer-box .button-box {
        padding-top: 0 !important;
        margin: 0;
    }

    .header-style-three.fixed-header .header-upper .logo-box .logo {
        padding: 15px 0;
    }

    .header-style-three.fixed-header .main-menu .navigation > li > a {
        padding: 20px 0 !important;
    }
}