:root {
  /* Colores base */
  --brand-primary: rgb(81, 44, 206);        /* azul de marca */
  --brand-light:   rgb(150, 44, 206);       /* fondo suave */
  --brand-dark:    #0e1b4d;                 /* para hover / active */

  /* Variantes del color primario */
  --brand-primary-light: rgb(120, 90, 230); /* hover suave */
  --brand-primary-dark:  rgb(60, 30, 170);  /* más oscuro que primary */

  /* Para texto sobre fondo claro/oscuro */
  --text-on-light: #0e1b4d;                 /* texto oscuro */
  --text-on-dark:  #ffffff;                 /* texto claro */

  /* Fondo general y bordes */
  --background-base: #f5f7fa;
  --border-color: rgba(81, 44, 206, 0.3);   /* borde sutil con el primario */

  /* Sombras con color */
  --shadow-brand: 0 4px 10px rgba(81, 44, 206, 0.3);
}


 body > div:nth-child(1) > nav > div.logo-container.d-flex.flex-row.align-items-center > a > img{
    border-radius: 100px;
  }
  .btn{
  align-content: center;
}
.card-footer p{
      margin: 7px;
}
.navbar{
      padding: 10px 50px !important;
    display: flex
;
    align-items: center;
    justify-content: center;
    align-content: center;
    flex-direction: row;
}
.card-footer div{
  gap: 3px;
}
  /* Estilo responsivo para el modal */
  #videoModal .modal-dialog {
    max-width: 90vw;
    width: 100%;
    margin: auto;
  }

  #videoModal .modal-content {
    background-color: #000;
    border: none;
    border-radius: 0;
  }

  #videoModal .modal-body {
    padding: 0;
  }

  #videoFrame {
    width: 100%;
    height: 70vh; /* Ocupa 70% de la altura visible */
    border: none;
  }

  @media (max-width: 768px) {
    #videoFrame {
      height: 50vh; /* Más chico en celulares */
    }
  }
/* main section */
body > div:nth-child(1) > nav > div.logo-container.d-flex.flex-row.align-items-center > a > img{
    width: 50%;text-align: right;
}
body > div:nth-child(1){
    margin: 0;
    width: 100%;
    max-width: 100%;
    padding: 0;
}
.logo-img {
  object-fit: contain;
  height: 150px;
  max-width: 100%;
}
.navbar-brand{
  display: flex
;
    justify-content: center;
}
@media (min-width: 992px) {
    body > div:nth-child(1){
        margin: 0;
        max-width: 100%;
        width: 100%;
        padding: 0;
    }
}
/* main section */

/* header  */
.nav-link {
    font-size:17px;
}
/* header  */

/* carousel section  */

.buy-now-button {
    background-color: black;
    color:white;
    border-radius:10px;
    padding:10px 20px;
}
.carousel-indicators li{
    background-color: yellow;
    padding:2px;
    border-radius:12px;

}
.carousel-inner{
    background: url(../images/bg-1.png)  no-repeat center, url(../images/bg-2.png) left bottom no-repeat;
    background-size: 50px, 150px, auto;
    height:500px;
}
.col-md-7 {
    padding:20px;
    height:100%;
}
.col-md-5 {
    padding:5px;
    height:100%;
}
/* carousel section  */

/* smartphone-section  */
.smartphone-head  h5{
    font-weight:600;
    color:black;
}
.smartphone-head p a {
    color:rgb(224, 186, 12);
}
.categories img {
    width:100px;
}

.card{
    border:none;
    box-shadow:5px 5px 5px rgb(192, 182, 182);
    border-radius:10px;
    text-align:center;
}
.card-body{
    display: flex
    ;
        flex-direction: column;
        justify-content: space-around;
        margin-bottom: -20px;
}
.card-text {
  min-height: 80px;
    max-height: 150px;        /* Altura fija */
    overflow-y: auto;        /* Scroll vertical si supera la altura */
    position: relative;
    padding-right: 1rem;     /* Espacio para la barra de scroll */
    
    /* Ocultar scroll en Firefox */
    scrollbar-width: none;
    /* Ocultar scroll en IE 10+ */
    -ms-overflow-style: none;
  }
  
  /* Ocultar scroll en WebKit (Chrome, Safari, Edge) */
  .card-text::-webkit-scrollbar {
    display: none;
  }
  
  /* Puntos suspensivos al final de la caja */
  .card-text::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    background: white;       /* Mismo fondo que la card */
    padding-left: 0.5rem;
    line-height: 1.2;        /* Ajusta según tu font-size */
    font-weight: bold;
  }
  
  
.card-footer {
    background-color:white;
    border-top:none;
}
.card-title {
    font-weight:600;
}
.card img {
    height:300px;
}
/* smartphone-section  */

/* Categories-section  */
.categories-heading {
    font-weight:600;
    text-align:center;
}
.catagoies-section img{
 margin-bottom:10px;
 width:150px;
 border-radius:10px;
}
.heading span {
    height: 5px;
    width: 100px;
    display: block;
    margin: auto;
    border-radius: 12px;
    background: #f3a616;
}
/* Categories-section  */

/* Filtros del navbar */
.filter-row {
    gap: 10px;
    flex-wrap: wrap;
}
.navbar{
    justify-content: center;
   
}

.filter-row select.form-control {
    font-size: 15px;
    border-radius: 8px;
    padding: 8px 12px;
    border: 1px solid #ccc;
    background-color: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
    transition: all 0.2s ease-in-out;
    font-weight: 500;
}

.filter-row select.form-control:focus {
    border-color: #4a8df0;
    box-shadow: 0 0 0 3px rgba(74, 141, 240, 0.3);
    outline: none;
}
body > div:nth-child(1) > nav > div.logo-container.d-flex.flex-row.align-items-center{
  top:20px;
}
body > div:nth-child(1) > nav > button{
      top: 20px;
    padding-bottom: 13px;
}


#phones-container div div{
  display: flex
;
    justify-content: center;
}
/* Adaptación para mobile */
@media (max-width: 768px) { 
    .filter-row {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-row .col-auto {
        width: 100%;
    }
}
.navbar-brand, .nav-link {
    font-weight: 500;
  }

  .info-card {
    background-color: #f8f9fa;
    border-radius: 1rem;
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.1);
    padding: 1rem 2rem;
  }

  .info-card i {
    font-size: 1.3rem;
    color: #0d6efd;
  }

  .buy-btn {
    border-radius: 50px;
    padding: 0.5rem 1.5rem;
  }

  .text-start{
    font-size: 1.9rem;
          font-weight: 900;
          line-height: 1.1;
         background: linear-gradient(135deg, 
  var(--brand-dark) 0%, 
  var(--brand-primary) 35%, 
  var(--brand-light) 70%, 
  #fe3e93 100%);

          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
          background-clip: text;
          text-fill-color: transparent;
          text-transform: uppercase;
          letter-spacing: 1px;
          font-family: inherit;
    
  }

  .card-img-top{
        width: 100%;
    height: 100%;
 
  }
  .img-container{
      width: 100%;
    height: 300px;
  }
  .phones-container .row {
        display: flex
;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
    align-content: center;
    align-items: stretch;
    justify-content: center;
}
/* Contenedor de filtros con degradado muy suave de fondo */
.filter-row {
  position: relative;
  background-color: #fff;
  border-radius: .5rem;
  overflow: hidden;
}

/* Pseudo-elemento para poner el degradado de marca con baja opacidad */
.filter-row::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
  135deg,
  var(--brand-light) 0%,
  #6aa6f6 35%,         /* azul intermedio */
  #a06af7 65%,         /* mezcla lila con tu marca */
  #f84787 85%,         /* rosa intenso */
  #fe3e93 100%         /* rosa claro */
);

  opacity: 0.08; /* muy sutil */
  pointer-events: none;
}

/* Aseguramos que el contenido quede arriba */
.filter-row > * {
  position: relative;
  z-index: 1;
}

/* Estilos para los selects */
.filter-row .form-control {
  background-color: #fafafa;
  border: 1px solid #ddd;
  border-radius: .25rem;
  padding: .4rem .8rem;
  font-weight: 500;
  color: #333;
  transition: border-color .3s, box-shadow .3s;
}

/* Placeholder gris suave */
.filter-row .form-control option[value=""] {
  color: #888;
}

/* Al recibir foco, resaltamos con color de marca */
.filter-row .form-control:focus {
  border-color: #2c74eb;
  box-shadow: 0 0 0 .2rem rgba(44, 116, 235, 0.25);
  background-color: #fff;
}

/* Ajustes responsivos y espaciamiento */
@media (max-width: 576px) {
  .filter-row {
    flex-direction: column;
    gap: .5rem;
  }
}
/* Aplica el estilo de marca a todos los paginadores */
.pagination .page-link {
  color: var(--brand-primary);
  border-color: var(--brand-primary);
}

/* Fondo y texto para la página activa */
.pagination .page-item.active .page-link {
  background-color: var(--brand-primary);
  color: #fff;
  border-color: var(--brand-primary);
}

/* Hover en los enlaces */
.pagination .page-link:hover {
  background-color: var(--brand-light);
  border-color: var(--brand-primary);
}

/* Flechas “Anterior / Siguiente” con un poco de padding extra */
.pagination .page-item:first-child .page-link,
.pagination .page-item:last-child .page-link {
  padding: 0.5rem 1rem;
}

 .banner-scroll {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: var(--brand-dark);
    color: white;
    overflow: hidden;
    height: 32px;
    display: flex;
    align-items: center;
    font-family: sans-serif;
    font-size: 15px;
    z-index: 9999; /* Asegura que quede encima de todo */
  }

  .banner-track {
    display: flex;
    width: max-content;
    animation: scroll-left 20s linear infinite;
  }

  .banner-content {
    white-space: nowrap;
    padding-right: 50px;
  }

  @keyframes scroll-left {
    0% {
      transform: translateX(0%);
    }
    100% {
      transform: translateX(-50%);
    }
  }
  #videoFrame {
  width: 100%;
  height: 56.25vw; /* Esto mantiene proporción 16:9 */
  max-height: 90vh;
  border: none;
}

/* Contenedor de cada card */
 .card {
  position: relative;
  overflow: hidden;
  background: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  transition: transform 0.5s ease, box-shadow 0.5s ease;
}

/* El “resplandor” iridiscente */
 .card::before {
  content: "";
  position: absolute;
  top: -70%;
  left: -50%;
  width: 200%;
  height: 200%;
 
  transform: rotate(-45deg) translate(-100%, -100%);
  transition: transform 0.5s ease, opacity 0.7s ease;
  opacity: 0;
  pointer-events: none;
}

/* Hover sobre la card */
 .card:hover {
  transform: scale(1.04) translateY(-4px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
  z-index: 1;
}

/* Mostrar y animar el resplandor */
 .card:hover::before {
  opacity: 1;
  transform: rotate(-45deg) translate(100%, 100%);
}

/* Opcional: resaltar el título y botones */

 .card:hover .btn {
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}



.spinner {
  width: 40px;
  height: 40px;
  border: 4px solid rgba(0,0,0,0.1);
  border-left-color: #333;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin: 0 auto 1rem;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}
