header {
    background-color: #353B47;
}

.header .navbar-nav .nav-link {
    color: white;
}

.nav-item-mi-cuenta {
    border-radius: 10px;
}

.nav-item-icon-custom > a > i {
    color: #4CAF50;
}

.nav-item-mi-cuenta {
    background-color: #70A83B;
}

/* Estilos para el menú desplegable */
.dropdown-menu {
    background-color: #353B47;
}

.dropdown-item {
    color: white;
}

.dropdown-item:hover {
    background-color: #70A83B;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

.navbar-toggler:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.navbar-toggler {
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 0.25rem;
}

/* 2-EMPIEZA estilos CSS Slide*/

.slide-content {
    position: relative;
    width: 100%;
    /*height: 400px;*/
}

.slide-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.slide-text {
    position: absolute;
    top: 0;
    left: 0;
    padding: 20px;
    z-index: 1;
    box-shadow: 0px 0px 10px 5px rgba(254, 85, 55, 0.5); /* Box shadow difuminado con color rgba */
     background: linear-gradient(to bottom right, rgba(254, 85, 55, 0.8), rgba(254, 85, 55, 0.3));
     /*background: linear-gradient(to bottom right, rgba(254, 85, 55, 0.8), rgba(254, 85, 55, 0.1));*/
    color: white;
}

.slide-text h2,
.slide-text h3,
.slide-text p {
    /*font-weight: bold;*/
    /*color: #ffc107; */
}

.carousel-control-prev,
.carousel-control-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    font-size: 36px;
    color: white;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    background: none;
    border: 2px solid transparent;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    transition: background-color 0.3s ease;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
    background-color: rgba(255, 255, 255, 0.5);
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    width: 30px;
    height: 30px;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
}

.carousel-control-prev {
    left: 0;
}

.carousel-control-next {
    right: 0;
}

.slide-title {
    font-size: 48px;
    color: white;
    text-shadow: 1px 1px green;
}

.slide-subtitle {
    font-size: 36px;
    color: white;
    text-shadow: 1px 1px green;
}

@media (max-width: 768px) {

    .slide-content {
        height: auto;
    }

    .slide-image {
        height: auto;
    }

    .slide-text {
        padding: 10px;
        font-size: 14px;
        width: 50%;
        height: auto;
        max-height: 100%;
        overflow: auto;
    }

    .slide-text h2 {
        font-size: 1rem;
    }

    .slide-text h3 {
        font-size: 0.8rem;
    }
    .slide-text h6{
        font-size: 0.6rem;
    }

    .slide-text button {
        font-size: 0.7rem; /* Reduce el tamaño de fuente del botón */
        padding: 8px 16px; /* Ajusta el relleno del botón */
    }

    .slide-title {
        font-size: 24px;
    }

    .slide-subtitle {
        font-size: 18px;
    }


    .carousel-control-prev,
    .carousel-control-next {
        width: 40px;
        height: 40px;
        background-color: rgba(255, 255, 255, 0.5);
    }

    .carousel-control-prev-icon,
    .carousel-control-next-icon {
        width: 20px;
        height: 20px;
        background-size: contain;
    }

    .carousel-control-prev {
        left: 10%;
    }

    .carousel-control-next {
        right: 10%;
    }


    .carousel-control-prev-icon,
    .carousel-control-next-icon {
        width: 30px;
        height: 30px;
        background-color: rgba(0, 0, 0, 0.5);
        border-radius: 50%;
    }

    .carousel-control-prev:hover,
    .carousel-control-next:hover {
        background-color: rgba(255, 255, 255, 0.75);
    }
}

/* 2-TERMINA estilos CSS Slide*/


/* 3-EMPIEZA estilos CSS Planes*/
.card {
    border-radius: 25px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border: none;
}

.card-header {
    color: white;
    padding: 20px;
    border-top-left-radius: 25px;
    border-top-right-radius: 25px;
    position: relative;
}

.card-header hr {
    border-top: 3px solid white;
    width: 50%;
    margin-top: 10px;
    margin-bottom: 10px;
}

.card-header .display-6 {
    font-size: 3.5rem;
    font-weight: 700;
    margin-bottom: 0;
}

.card-header .h6 {
    font-size: 1rem;
    font-weight: 400;
}

.card-body .display-4 {
    font-size: 3.1rem;
    font-weight: 700 !important;
}
.plan-title {
    font-size: 1.5rem;
    font-weight: bold;
}
.btn-success {
    background-color: #4CAF50;
    border: none;
}

.btn-success:hover {
    background-color: #439543;
}

.list-unstyled {
    padding-left: 0;
}

.list-unstyled li i {
    margin-right: 10px;
}

.plan-simetrico {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fe5537;
    color: white;
    padding: 5px 10px;
    border-radius: 5px;
}

.plan-mas-vendido {
    position: absolute;
    top: 50%;
    right: 0px; /* Ajusta esta distancia según sea necesario */
    transform: translateY(-50%);
    background-color: #ffc107;
    color: #000000;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 12px;
}

.custom-tab-active{
    background-color: #4CAF50 !important;
    color: white !important;
}
.custom-tab-inactive{
    border: 1px solid #4CAF50 !important;
}

.btn-contratar-plan {
    background-color: #28a745;
    color: #ffffff !important;

    border: none;
    font-weight: 800;
    font-size: 1.30rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    padding: 18px 30px;
    border-radius: 12px;

    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    box-shadow: 0 6px 20px rgba(40, 167, 69, 0.4);
    cursor: pointer;
    display: inline-block;
    text-decoration: none;
}

.btn-contratar-plan:hover {
    background-color: #218838;
    color: #ffffff !important;
    transform: scale(1.05) translateY(-5px);
    box-shadow: 0 12px 25px rgba(40, 167, 69, 0.5);
}

.btn-animate {
    animation: pulse-green-intense 2s infinite;
}

@keyframes pulse-green-intense {
    0% {
        box-shadow: 0 0 0 0 rgba(40, 167, 69, 0.7);
    }
    70% {
        box-shadow: 0 0 0 15px rgba(40, 167, 69, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(40, 167, 69, 0);
    }
}

@media (max-width: 768px) {
    .card-header .display-6 {
        font-size: 2rem;
    }

    .card-header .h6 {
        font-size: 0.8rem;
    }

    .card-body .display-4 {
        font-size: 2rem;
    }
}

@media (min-width: 992px) {
    .row-cols-lg-3 > * {

    }
    .order-lg-2 {

        order: 2;
    }
    .order-lg-1 {

        order: 1;
    }

}

/* 3-TERMINA estilos CSS Planes*/



/* 4-EMPIEZA estilos CSS Planes adicionales*/
.image-placeholder {
    width: 100%;
    border-radius: 10px;
    background-size: cover;
    background-position: center;
}

.channel-title {
    color: #4CAF50;
    font-size: 1.5rem;
}

.price-tag {
    font-size: 2rem;
    color: #000;
    font-weight: bold;
}

.small {
    font-size: 0.875rem;
}

.btn-success {
    background-color: #4CAF50;
    border: none;
    padding: 0.75rem 1.5rem;
    border-radius: 5px;
}

.btn-success:hover {
    background-color: #439543;
}


@media (max-width: 992px) {
    .image-placeholder {
        margin-bottom: 1rem;
    }

    .row.flex-row-reverse {
        flex-direction: column-reverse;
    }
}
/* 4-TERMINA estilos CSS Planes adicionales*/



/* 5-EMPIEZA estilos CSS Google maps cobertura*/
.map-container {
    position: relative;
    width: 100%;
    max-width: 900px;
    height: 450px;
    margin: auto;
}

.google-map {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none;
}
/* 5-TERMINA estilos CSS Google maps cobertura*/



/* 6-EMPIEZA estilos CSS Canales de television*/
.category-container {
    border-radius: 20px;
    overflow: visible;
    position: relative;
    border: 1px solid;

}

.category-title {
    position: absolute;
    top: 0;
    left: 0;
    transform: translate(-0, -50%);
    padding: 5px 15px;
    font-weight: bold;
    z-index: 10;
    color: #fff;

}

.entertainment {
    border-color: #FA983E;
    box-shadow: 0 4px 8px rgba(250, 152, 62, 0.5);
}

.entertainment .category-title {
    background-color: #FA983E;
}

.movies {
    border-color: #455CCF;
    box-shadow: 0 4px 8px rgba(69, 92, 207, 0.5);
}

.movies .category-title {
    background-color: #455CCF;
}

.news {
    border-color: #F5423E;
    box-shadow: 0 4px 8px rgba(245, 66, 62, 0.5);
}

.news .category-title {
    background-color: #F5423E;
}

.sports {
    border-color: #60DC42;
    box-shadow: 0 4px 8px rgba(96, 220, 66, 0.5);
}

.sports .category-title {
    background-color: #60DC42;
}

.music {
    border-color: #C47AFD;
    box-shadow: 0 4px 8px rgba(196, 122, 253, 0.5);
}

.music .category-title {
    background-color: #C47AFD;
}

.cartoons {
    border-color: #3E95F8;
    box-shadow: 0 4px 8px rgba(62, 149, 248, 0.5);

}

.cartoons .category-title {
    background-color: #3E95F8;
}
/* 6-TERMINA estilos CSS Canales de television*/


/* 7-EMPIEZA estilos CSS Canales de cobertura wifi*/
.wifi-title {
    font-size: 1.75rem;
    color: #4CAF50;

}

.wifi-description {
    font-size: 1rem;
    color: #666;

}


@media (max-width: 768px) {
    .wifi-image {
        margin-top: 2rem;
    }
}
/* 7-TERMINA estilos CSS Canales de cobertura wifi*/



/* 8-EMPIEZA estilos CSS Canales de formas de pago*/

.payment-methods .payment-subtitle {
    color: #4CAF50;
}

.payment-methods .payment-description,
.payment-methods .report-info {
    color: #333;
}

.payment-methods .report-title {
    color: #4CAF50;
}

.payment-methods .fab,
.payment-methods .fas {

}

.report-info a {
    text-decoration: none !important;
    color: inherit !important;;
    font-size: 1.2rem !important;;
}


.report-info i {
    font-size: 1.2rem !important;;
}

.i-reportar-pago-whatsapp{
    color: #3F9A11;
}
.i-reportar-pago-email{
    color: #C0312F;
}

.phone-link {
    color: #4CAF50;
    text-decoration: none;
    font-weight: bold;
}

.phone-link i {
    margin-right: 8px;
    font-size: 1.25rem;
}


.phone-link:hover {
    text-decoration: underline;
}

.link-external {
    color: #4CAF50;
    text-decoration: none;
}

.link-external i {
    margin-right: 5px;
}

.link-external:hover {
    text-decoration: underline;
}

/* 8-TERMINA estilos CSS - Canales de formas de pago*/



/* 9-EMPIEZA estilos CSS - Testimonios clientes*/
.testimonial-card {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
    margin: 0 15px;
    text-align: center;
}

.testimonial-text {
    font-style: italic;
    color: #555;
}

.testimonial-author-info {
    margin-top: 20px;
}

.testimonial-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: 3px solid #4CAF50;
    margin-bottom: 10px;
}

.testimonial-author-name {
    font-size: 1.2rem;
    color: #333;
    margin-bottom: 5px;
}

.testimonial-location {
    font-size: 0.9rem;
    color: #666;
}


/* 9-TERMINA estilos CSS - Testimonios clientes*/


/* 10-EMPIEZA - estilos CSS - Contacto y Soporte */
.support-contact .support-title {
    color: #4CAF50;
}

.support-contact .support-question {
    color: #333;
    margin-bottom: 1rem;
    font-weight: bold;
}

.support-contact .support-item {
    font-size: 1.1rem;
    color: #333;
}

.support-contact .support-email a {
    color: #4CAF50;
    text-decoration: none;
}

.support-contact .support-email a:hover {
    text-decoration: underline;
}

.support-contact .support-schedule {
    font-size: 0.95rem;
    color: #666;
}

.support-operator {
    max-width: 100%;
    height: auto;
    margin-top: 2rem;
}

.support-question-container {
    text-align: center;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 2px solid #4CAF50;
    display: inline-block;
}

.support-item i,
.support-email i {
    font-size: 1.2rem;
    margin-right: 8px;
    color: #4CAF50;
}

.support-phone-link,
.support-link {
    color: #4CAF50;
    text-decoration: none;
}

.support-phone-link:hover,
.support-link:hover {
    text-decoration: underline;
}

.support-operator {
    position: relative;
    top: -30px;
    width: 450px;
}
/* 10-TERMINA - estilos CSS - Contacto y Soporte */



/* 11- EMPIEZA - estilos CSS - Footer */
.border-bottom-secondary {
    border-bottom: 1px solid grey;
}

.footer-social-link {
    color: #4CAF50;
    text-decoration: none;
    font-size: 2rem;
    display: block;
    margin-bottom: .5rem;
}

.footer-links {
    margin-top: 1rem;
}

.text-muted {
    color: #6c757d;
}


.ift-container img {
    margin-left: .5rem;
    height: 50px;
}

.footer-link {
    color: #fff;
    margin: 0 .5rem;
    font-size: 1rem;
    text-decoration: none;
}

.footer-link:hover {
    text-decoration: underline;
}

/* 11- TERMINA - estilos CSS - Footer */

.custom-text-muted {
    color: #6c757d;
}

.custom-text-success {
    color: #28a745;
    font-size: 2.00rem;
}

.custom-text-dark {
    color: #343a40;
}

.custom-feature-item {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.90rem;

}

.custom-feature-icon {
    color: #28a745;
    margin-right: 10px;
    font-size: 2rem;
}

.custom-features-list h3 {
    margin-bottom: 0.5rem;
}

.custom-faded-bold {
    font-weight: bold;
    font-style: italic;
    opacity: 0.9;
}

.custom-text-faded {
    opacity: 1;
    font-weight: normal;
    font-style: normal;
}

.queja-success {
    max-width: 600px;
    margin: auto;
}

.queja-form {
    max-width: 600px;
    margin: auto;
}

.reportar-queja-form {
    background: #f8f9fa;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}


.text-custom-success{
    color: #4CAF50;
}


.container-mision {
            margin-top: 50px;
       min-height: calc(100vh - 162px); /* Tamaño mínimo de la ventana menos el tamaño del header y del footer */
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }
.card-mision {
    border: none;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.card-body-mision {
    padding: 30px;
}
.h2-mision {
    color: #007bff;
}

.boton-flotante-whatsapp {
    position: fixed;
    top: 50%;
    right: 20px;
    display: flex;
    align-items: center;
    gap: 15px;
    transform: translateY(-50%);
}

.boton-flotante-whatsapp .mensaje-flotante {
    background-color: white;
    color: rgba(0,0,0,.8);;
    padding: 12px 16px;
    border-radius: 20px;
    box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3);
    font-size: 16px;
    position: relative;
    max-width: 200px;
    animation: flotar-suave 3s ease-in-out infinite;
}

.boton-flotante-whatsapp .mensaje-flotante::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -10px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 10px solid white;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    box-shadow: -1px 1px 2px rgba(0, 0, 0, 0.1);
}

.boton-flotante-whatsapp a {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #25D366;
    color: white;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    text-decoration: none;
    box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3);
    font-size: 37px;
}

/* Pausar la animación cuando el usuario pone el mouse encima */
.boton-flotante-whatsapp a:hover {
    background-color: #1eb747;
    color: white;
    animation-play-state: paused;
}

/* animacion boton chat whatsapp */
@keyframes latido-whatsapp {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
    }
    70% {
        transform: scale(1.05);
        box-shadow: 0 0 0 15px rgba(37, 211, 102, 0);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
    }
}

.boton-flotante-whatsapp a {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #25D366;
    color: white;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    text-decoration: none;
    box-shadow: 0px 3px 7px rgba(0, 0, 0, 0.3);
    font-size: 37px;
    animation: latido-whatsapp 2s infinite;
}



@keyframes flotar-suave {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}


.testimonial-card {
    border: 2px solid #ddd;
    padding: 0;
    overflow: hidden;
    border-radius: 5px;
}

.testimonial-card img {
    width: 100%;
    height: auto;
    display: block;
}

.testimonial-card .card-body {
    padding: 8px;
    text-align: center;
}

.carousel-item {
    transition: transform 1s ease-in-out, opacity 1s ease-in-out;
}


.green-line {
  background-color: #28a745;
  height: 5px;
}

.title-container-testimonios {
  text-align: center;
  font-weight: bold;
  font-size: 1.8rem;
  margin: 10px 0;
}


/* Inicia - Estilos planes telefono SIM  */
.card-movil-verde {
    background: linear-gradient(90deg, #5fb157, #c6f148);
    border-radius: 25px !important;
    color: white;
}

.rollover-badge-white {
    background-color: white;
    color: #5fb157;
    font-size: 1.1rem;
    display: inline-block;
    padding: 2px 25px;
    border-radius: 15px;
    font-weight: bold;
    margin-top: -5px;
}

.display-6 {
    font-size: 2.2rem !important;
    letter-spacing: -1px;
}

.btn-precio-blanco {
    background-color: white;
    color: #5fb157;
    font-size: 2.5rem;
    font-weight: 800;
    padding: 10px 45px;
    border-radius: 20px;
    display: inline-block;
    box-shadow: 0 6px 12px rgba(0,0,0,0.1);
    line-height: 1;
}

.feature-line-verde {
    background-color: rgba(255, 255, 255, 0.15);
    border-color: rgba(255, 255, 255, 0.2) !important;
}

.benefit-title, .benefit-icon i {
    color: #5fb157 !important;
}

.benefit-icon i {
    font-size: 3.5rem;
    display: inline-block;
}

p.text-muted {
    font-size: 1rem;
    line-height: 1.6;
    max-width: 400px;
    margin: 0 auto;
}

/* Termina - Estilos planes telefono SIM  */