/*@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

@font-face {
    font-family: 'Michroma';
    src: url('../fonts/Michroma-Regular.woff2') format('woff2'),
        url('../fonts/Michroma-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

body {
    font-family: "Montserrat", serif;
    font-weight: 300;
    font-size: 16px;
    line-height: 1.3em;
    color: #000000;
    overflow-x: hidden !important;
    font-display: swap;
}

#loading-screen {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 255, 255, 1);
    z-index: 1050;
  }
  #loading-screen .spinner-border {
    width: 3rem;
    height: 3rem;
    color: #545b62;
  }
  #loading-screen p {
    color: #545b62;
  }

h1 {
    font-weight: 700;
    font-size: 22px;
}

.principalColor{
    color:#4A0C67;
}

.secundaryColor{
    color: #3626A1;
}
.ThirdColor{
    color: #8622CE;
}
.fourColor{
    color:#170F49;
}
.fiveColor{
    color: #6F6C90;
}
.text-black{
    color: #170F49;
}
.bgGlobos{
    background-image: url(/public/images/bg-globos.jpg);
    background-size: cover;
    background-position: top center;
}
.bgCare{
    background-color: #F6E9FE;
}
.text-justify {
    text-align: justify;
  }
.modal-content {
    border: 0px;
}

.modal-header {
    border-bottom: 0px;
}
.carousel-item {
   /* height: 540px; */ /* Se usaba cuando los sliders eran fondo */
   height: 100%;
    background-size: cover;
    background-position: center;
}
#logo img{
    width: 100px;
    height: auto;
}
/*
#slide1 {
    background-image: url('/public/images/slider/Banner-principal-1.jpg');
}*/
/*
#slide2 {
    background-image: url('/public/images/slider/Banner-principal-2.jpg');
}*/
/*#slide3 {
    background-image: url('/public/images/slider/Banner-principal-3.jpg');
}*/
/*
#slide4 {
    background-image: url('/public/images/slider/Banner-principal-4.jpg');
}*/
.carousel-control-prev-icon, .carousel-control-next-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: #632182;
}
.carousel-control-prev-icon::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f104"; /* fa-chevron-left */
}
.carousel-control-next-icon::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f105"; /* fa-chevron-right */
}
.carousel-control-prev, .carousel-control-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    background-color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
    z-index: 5;
}
.carousel-control-prev {
    left: 10px;
}
.carousel-control-next {
    right: 10px;
}

.card-category-img {
width: 100%;
object-fit: fill;
}
.card-category {
    border: none;
}
.ecdcare {
    background: linear-gradient(90deg, #4A0C67 0%, #9318CD 100%);
    color:#fff;
    font-family: 'Michroma';
    font-weight: 100;
}
.font-michroma{
    font-family: 'Michroma';
}
img.icoPlanes {
max-height: 35px;
}

#mainHeader {
    background: linear-gradient(rgba(6, 30, 55, 1), rgba(74, 12, 103, 1));
    transition: transform 0.3s ease-in-out;
    /* position: fixed; */
    top: 0;
    width: 100%;
    z-index: 1030;
    box-shadow: 0 0 10px rgba(0, 0, 0, .1);
}
.btn-primary{
    background: linear-gradient(rgba(40, 30, 110, 1), rgba(93, 78, 193, 1));
    border: 0px solid transparent;
}

.nav-link-external {
    display: block;
    padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
    font-size: var(--bs-nav-link-font-size);
    font-weight: var(--bs-nav-link-font-weight);
    color: var(--bs-nav-link-color);
    text-decoration: none;
    background: 0 0;
    border: 0;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out;
}
a.nav-link,
a.nav-link:hover {
    color:#fff;
}

@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1140px;
    }
}


@media (min-width: 768px) {
    #logo img{
        width: 160px;
        height: auto;
    }
    .card-category-img {
        height: 260px;
    }
}

/* Alinear a la izquierda en pantallas pequeñas */
@media (max-width: 991.98px) {
    .navbar-nav {
        text-align: left;
        width: 100%;
    }

    .navbar-nav .nav-item {
        width: 100%;
    }

    .navbar-nav .nav-item .nav-link {
        height: 48px;
        align-content: center;
    }

    /* Border-top para el enlace Inicio en pantallas pequeñas */
    .nav-item:first-child .nav-link {
        border-top: 2px solid #fff;
        margin-top: 1em;
    }

    /* Border-bottom para el enlace Contacto en pantallas pequeñas */
    .nav-item:nth-child(3) .nav-link {
        border-bottom: 2px solid #fff;
        margin-bottom: 1em;
    }
}
/* Menu hamburguesa */
.navbar-toggler-icon {
    background-color: transparent;
    display: inline-block;
    width: 30px;
    height: 30px;
    position: relative;
    justify-content: center;
    align-items: center;
    align-content: center;
}
.fa-bars:before.navbar-toggler-icon {
    font-size: 1.25rem;
}
/* Estilo para ocultar el icono "X" por defecto */
.custom-toggler-icon {
    display: none;
    font-size: 1.25rem;
    /* Igual tamaño que el icono del menú hamburguesa */
    line-height: 1;
}

/* Cambiar el ícono cuando el botón está abierto */
.navbar-toggler.open .navbar-toggler-icon {
    display: none;
}

.navbar-toggler.open .custom-toggler-icon {
    display: block;
}

/* Ajustes visuales para la posición de la X */
.navbar-toggler {
    border: none;
}

/* Eliminar borde y contorno cuando el botón está en foco */
.navbar-toggler:focus {
    outline: none;
    box-shadow: none;
    /* Elimina el sombreado que aparece al hacer foco */
}

.obligated{
    color: #FF0000 !important;
    font-weight: 600;
}
.styleNewForm{
    max-width: 767px;
    margin: 0 auto;
}
.styleNewForm .form-label {
    font-weight: 500;
}
.styleNewForm input[readonly] {
    background-color: #eff0f6;
    color: #82809e;
    opacity: 0.8;
  }
#form_registro_garantia label.form-label,
#form_registro_garantia_producto label.form-label  {
   /* background-color: #C3CCFF; */
   /*  border-radius: 15px; */
    padding: 0.2em;
    font-weight: 500;
  /*  margin-bottom: -5px; */
}
.form-control{
    border: 1px solid #dee2e6;
    box-shadow: 0px 4px 5px #EFF0F6;
    border-radius: 30px;
    padding: 0.775rem .75rem !important;
}
#nombre_garantia {
    background-image: url('/public/images/forms/icoName.png'); /* Reemplaza con la ruta correcta */
    background-repeat: no-repeat;
    background-position: right 10px center; /* Ajusta la posición del icono */
    background-size: 18px 20px; /* Ajusta el tamaño del icono */
    padding-right: 35px !important; /* Asegura espacio para que el texto no se superponga con el icono */
}
#correo_garantia{
    background-image: url('/public/images/forms/icoMail.png'); /* Reemplaza con la ruta correcta */
    background-repeat: no-repeat;
    background-position: right 10px center; /* Ajusta la posición del icono */
    background-size: 20px 15px; /* Ajusta el tamaño del icono */
    padding-right: 35px !important; /* Asegura espacio para que el texto no se superponga con el icono */
}

#codigo_postal_garantia{
    background-image: url('/public/images/forms/icoCP.png'); /* Reemplaza con la ruta correcta */
    background-repeat: no-repeat;
    background-position: right 10px center; /* Ajusta la posición del icono */
    background-size: 15px 20px; /* Ajusta el tamaño del icono */
    padding-right: 35px !important; /* Asegura espacio para que el texto no se superponga con el icono */
}
#celular_garantia{
    background-image: url('/public/images/forms/icoPhone.png'); /* Reemplaza con la ruta correcta */
    background-repeat: no-repeat;
    background-position: right 10px center; /* Ajusta la posición del icono */
    background-size: 13px 20px; /* Ajusta el tamaño del icono */
    padding-right: 35px !important; /* Asegura espacio para que el texto no se superponga con el icono */
}
.custom-ul li {
    list-style: none; /* Elimina los puntos de lista predeterminados */
    background-image: url('/public/images/icons/ico-ul.png');
    background-size: 13px 20px; /* Ajusta el tamaño del ícono */
    background-repeat: no-repeat;
    padding-left: 30px; /* Espacio para el ícono */
    margin-bottom: 10px;
  }
.custom-tooltip {
    --bs-tooltip-bg: #CBCBCB;
    --bs-tooltip-color: #1D2641;
    opacity: 1 !important;
  }
.activeTooltip{
    cursor: pointer;
}
.pasos{
    border: 1px solid #d8d8d8;
    background-color: #F0F7FF;
    border-radius: 20px;
}
.paso1{
    border: 1px solid #f3f3f3;
    box-shadow: 10px 10px 10px #EFF0F6;
    background-color: #fff;
    border-radius: 20px;
}
.imgPasos{
    max-width: 100%;
}
.subTitlePasos{
    background-color: #4A0C67;
    border-radius: 5px;
}

.formCheckCobertura {
    padding-left: 0em;
}

  /* Ocultar el checkbox */
.formCheckCobertura .form-check-input {
    display: none;
}

/* Estilos generales del label */
.formCheckCobertura .form-check-label {
    display: inline-flex;
    align-items: center; /* Alinear icono y texto */
    padding-left: 55px; /* Deja espacio para la imagen */
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    position: relative;
    min-height: 40px; /* Asegurar tamaño suficiente */
}

/* Añadir la imagen de fondo antes del texto */
.formCheckCobertura .form-check-label::before {
    content: "";
    position: absolute;
    left: 0;
    width: 40px; /* Ajusta al tamaño del icono */
    height: 40px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* Imagen por defecto (desmarcado) */
#beneficio_1 + .form-check-label::before {
    background-image: url('/public/images/forms/icoDescargaElectrica.png');
}
#beneficio_2 + .form-check-label::before {
    background-image: url('/public/images/forms/icoReparaciones.png');
}
#beneficio_3 + .form-check-label::before {
    background-image: url('/public/images/forms/icoRefaccionesNuevas.png');
}
#beneficio_4 + .form-check-label::before {
    background-image: url('/public/images/forms/icoReembolso.png');
}
#beneficio_5 + .form-check-label::before {
    background-image: url('/public/images/forms/icoServicio.png');
}
#beneficio_6 + .form-check-label::before {
    background-image: url('/public/images/forms/icoSoporte.png');
}
#beneficio_7 + .form-check-label::before {
    background-image: url('/public/images/forms/icoControlRemoto.png');
}
#beneficio_8 + .form-check-label::before {
    background-image: url('/public/images/forms/icoProteccion.png');
}
/* Desabilita el checkbox input y label cuando no esta disponible y no esta checked */
.formCheckCobertura .form-check-input:disabled~.form-check-label, 
.formCheckCobertura .form-check-input[disabled]~.form-check-label {
    opacity: .3;
}
/* Imagen cuando el checkbox está marcado */
.formCheckCobertura .form-check-input:checked + .form-check-label::before {
    opacity: 1;
}

.formCheckCobertura .form-check-input:checked + .form-check-label{
    opacity: 1;
    cursor: not-allowed;
}
/* Estilo cuando el checkbox está deshabilitado */
/*.formCheckCobertura .form-check-input:disabled + .form-check-label {
    opacity: 1;
    cursor: not-allowed;
}
*/
.cardPrice{
    border: 0px solid transparent;
}
.cardPrice.disabled {
    opacity: 0.5;
    cursor: not-allowed; /* Cursor deshabilitado */
    pointer-events: none; /* Evita interacciones como clics */
}

.card-body  {
    display: block;
    border: 1px solid #ccc; /* Borde por defecto */
    border-radius: 8px;
    padding: 15px;
    transition: all 0.3s ease;
    background-color: #f9f9f9;
    cursor: pointer; /* Indica que es clicable */
  }
  
  .card-body:hover {
    border: 2px solid #4A0C67; /* Cambia el borde al pasar el mouse */
    background-color: #eef; /* Fondo más claro */
  }
  
  input[name="plan"]:checked + .card-body {
    border: 2px solid #4A0C67; /* Resaltar borde cuando está seleccionado */
    background-color: #4A0C67; /* Fondo verde claro */
    color: #fff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); /* Sombra */
  }

  /* Deshabilitar estilos si el card está marcado como disabled */
.card.disabled input[name="plan"]:checked + .card-body {
    border: inherit;
    border-color: inherit;
    background-color: inherit;
    color: inherit;
    box-shadow: none;
  }
  
  input[type="radio"] {
    display: none; /* Oculta el input */
  }

  .card-pay-body  {
    display: block;
    border: 1px solid #ccc; /* Borde por defecto */
    border-radius: 8px;
    padding: 15px;
    transition: all 0.3s ease;
    background-color: #f9f9f9;
    cursor: pointer; /* Indica que es clicable */
  }
  
  /*
  input[name="plan"]:checked ~ .card {
    border-color: #4caf50 !important; 
    background-color: #e8f5e9; 
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2); 
  }
  */



.card.selectPrice {
    border: 1px solid #4D4D4D;
}

.card.selectPrice {
    border: 2px solid #4A0C67;
}

input[name="plan"] {
    color: #4D4D4D;
  }

  input[name="plan"].selectPrice {
    color: #4A0C67;
  }

  /* Pagos strupe */
  .InputContainer .InputElement {
    position: absolute;
    top: 0;
    background: #fff !important;
}

.accordionFAQ .accordion-button {
    background: #fff;
    color: #6a1b9a;
    font-weight: bold;
}

.accordionFAQ .accordion-button:not(.collapsed) {
    background: linear-gradient(rgba(6, 30, 55, 1), rgba(74, 12, 103, 1));
    color: white;
}
/*
.accordion-button:not(.collapsed)::after {
    color: white;
}*/
.accordionFAQ .accordion-button::after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f078";
    color: #3626A1;
    background-image: none;
    transform: none;
}

.accordionFAQ .accordion-button:not(.collapsed)::after {
    background-image: none;
    transform: none;
    content: "\f077";
    color: white;
}
.accordionFAQ .accordion-body {
    background-color: #f3e5f5;
    color: #212529;
}

/* Acordion categorias */
#accordionCategorias .accordion-button {
    background: #fff;
    color: #000;
    font-weight: 400;
}

#accordionCategorias .accordion-button:not(.collapsed) {
    background: white;
    border: 2px solid rgba(74, 12, 103, 1);
    color: rgba(74, 12, 103, 1);
    font-weight: bold;
}


/*
.accordion-button:focus {
    box-shadow: none;
}

.accordion-item {
    border: none;
}
*/

.upload-box {
    border: 2px dashed #ced4da;
    border-radius: 8px;
    background-color: #f8f9fa;
    text-align: center;
    padding: 20px;
    cursor: pointer;
    transition: border-color 0.3s ease-in-out;
  }

  .upload-box:hover {
    border-color: #007bff;
  }

  .upload-box i {
    font-size: 3rem;
    color: #adb5bd;
  }

  .upload-box h5 {
    margin-top: 10px;
    color: #6c757d;
  }

  .upload-box p {
    color: #adb5bd;
    margin-bottom: 10px;
  }

  .btn-select-file{
      border-color:  #6c757d;
      color:  #6c757d;
  }

  #file_garantia {
    display: none;
  }

  #fileName {
    margin-top: 10px;
    color: #6c757d;
    font-weight: bold;
  }

footer{
    background: linear-gradient(rgba(6, 30, 55, 1), rgba(74, 12, 103, 1));

}

.social-icons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px; /* Espaciado entre iconos */
    padding: 10px;
}

.social-icons a {
    color: #fff; /* Iconos blancos */
    font-size: 20px; /* Tamaño de los iconos */
    text-decoration: none;
    transition: color 0.3s;
}

.social-icons a:hover {
    color: #C9BDFF ; /* Color al pasar el mouse */
}


.cookie-settings {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1050; /* Higher than default modal z-index */
    background-color: #f8f9fa; /* Light background color */
    border-top: 1px solid #ddd;
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
  }
  .cookie-settings .btn-close {
    float: right;
  }