/* Estilos generales */
body, html {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f9f9f9;
    display: flex;
    flex-direction: column;
}
h1, h2 {
    margin: 10px 0;
    text-align: center;
}

/* Centrar el contenido del producto */
.product-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
}
/* Estructura principal del producto */
.product-section {
    width: 89%;
    height: 750px;
    display: flex;
    align-content: center;
    gap: 10px; /* Reducción del espacio entre columnas */
    background-color: #f9f9f9;
    border-radius: 10px;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.712);
    padding: 15px;
}
.left-main{
    display: flex;
    flex-direction: row;
    width: 60%;
    height: 100%;
}
/* Columna Izquierda - Imágenes secundarias mejoradas */
/* Contenedor general del carrusel */
.left-column {
    position: relative;
    width: 15%;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
}
/* Columna Izquierda - Imágenes secundarias mejoradas */
/* Contenedor general del carrusel */
.left-column {
    position: relative;
    width: 15%;
    height: 100%;
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow: hidden;
}

/* Contenedor del carrusel */
.vertical-carousel {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 98%;
    height: 100%;
    overflow: hidden;
    scroll-behavior: smooth;
    align-items: center;
    border: 1px solid #ccc;
    border-radius: 10px;
}

/* Miniaturas */
.img-left {
    width: 90%;
    height: auto;
    border-radius: 10px;
    transition: transform 0.2s, box-shadow 0.2s;
    cursor: pointer;
}

.img-left:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

/* Imagen seleccionada en el carrusel */
.img-left.selected {
    border: 4px solid red;
}

/* Botones del carrusel */
.carousel-button {
    position: relative;
    width: 40px;
    height: 40px;
    background-color: rgba(0, 0, 0, 0.7);
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    z-index: 10;
}

.carousel-button.up,
.carousel-button.down {
    align-self: center;
}

.carousel-button.left,
.carousel-button.right {
    display: none;
}

.carousel-button:hover {
    background-color: rgba(0, 0, 0, 0.8);
}

/* Imagen Principal del Producto */
.main-image { 
    width: 90%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-left: 20px;
    margin-top: 10px;
    overflow: hidden;
    position: relative;
    gap: 10px;
    max-width: 900px; /* ajustalo a lo que uses */
    margin: auto;
}

/* Zoom Overlay */
.zoom-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

.zoom-overlay img {
    max-width: 80%;
    max-height: 80%;
}

/* Botón para cerrar el zoom */
.btn-close {
    position: absolute;
    top: 10px;
    right: 10px;
    background: red;
    color: white;
    border: none;
    padding: 10px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 16px;
    z-index: 1100;
}

#zoomTitle{
    margin: 0;
    padding: 10px;
    position: absolute;
    color: white;
    font-size: 20px;
    top: 5%;
    background-color: #808080b0;
    border-radius: 10px;
}

.main-image {
    position: relative;
}

.img-centro {
    cursor: zoom-in;
    width: auto;
    max-width: 90vw; 
    height: auto;
    max-height: 85vh;
    transition: transform 0.5s ease;
    border-radius: 15px;
    object-fit: contain;
    border: 1px solid;
    display: block; 
    position: relative;
    z-index: 1; 
}


.share-buttons {
  position: absolute;
  top: 50px;
  right: 15%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background-color: rgba(255, 255, 255, 0.7);
  padding: 8px;
  border-radius: 8px;
  z-index: 10;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}


.share-buttons a img {
    width: 36px;
    height: 36px;
    cursor: pointer;
}


@media (max-width: 2022px) {
  .share-buttons {
    right:10%;
    }
}

@media (max-width: 1782px) {
  .share-buttons {
    right:7%;
    }
}

@media (max-width: 1646px) {
  .share-buttons {
    right:3%;
    }
}

@media (max-width: 1518px) {
  .share-buttons {
    right:1%;
    }
}


@media (max-width: 545px) {
  .share-buttons {
    top: auto;          
    right: auto;        
    bottom: 20px;       
    left: 50%;          
    transform: translateX(-50%); 
    flex-direction: row;
    gap: 10px;              /* un poco menos de gap */
    background-color: rgba(255, 255, 255, 0.9);
    padding: 6px 10px;      /* menos padding para que quede más compacto */
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);

    width: auto;            /* que se ajuste al contenido */
    max-width: 70%;         /* máximo 90% del ancho de pantalla */
    max-height:70%;
    justify-content: center; /* centrar los botones */
  }
}
@media (max-width: 870px) {
  .share-buttons {
    position: absolute;
    top: 50px;
    right: 20px; 
    display: flex;
    flex-direction: column;
    gap: 10px;
    background-color: rgba(255, 255, 255, 0.7);
    padding: 8px;
    border-radius: 8px;
    z-index: 10;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    }
}

@media (max-width: 777px) {
  .share-buttons {
    position: absolute;
    top: 50px;
    right: 0px; 
    display: flex;
    flex-direction: column;
    gap: 10px;
    background-color: rgba(255, 255, 255, 0.7);
    padding: 8px;
    border-radius: 8px;
    z-index: 10;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    }
}

@media (max-width: 735px) {
.share-buttons {
    top: auto;          
    right: auto;        
    bottom: 20px;       
    left: 50%;          
    transform: translateX(-50%); 
    flex-direction: row;
    gap: 15px;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 10px 15px;
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  }
}

@media (max-width: 580px) {
  .share-buttons {
    top: 50px;
    right: 20px;
    bottom: auto;
    left: auto;
    transform: none;
    flex-direction: column;
    gap: 10px;
    background-color: rgba(255, 255, 255, 0.85);
    padding: 8px;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  }
}


@media (max-width: 545px) {
  .share-buttons {
    top: auto;          
    right: auto;        
    bottom: 20px;       
    left: 50%;          
    transform: translateX(-50%); 
    flex-direction: row;
    gap: 10px;              /* un poco menos de gap */
    background-color: rgba(255, 255, 255, 0.9);
    padding: 6px 10px;      /* menos padding para que quede más compacto */
    border-radius: 12px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);

    width: auto;            /* que se ajuste al contenido */
    max-width: 70%;         /* máximo 90% del ancho de pantalla */
    max-height:70%;
    justify-content: center; /* centrar los botones */
  }
  .share-buttons a img {
    width: 28px;            /* más pequeñas */
    height: 28px;
  }
}



.titulo-producto{
    width: 100%;
    height: 5%;
    margin: 0;
    font-size: 26px;
    font-family: sans-serif;
    text-align: center;
    text-transform: uppercase;
}
.img-centro { 
    cursor: zoom-in;
    width: auto;
    max-width: 90%;
    height: auto;
    max-height: 85%;
    transition: transform 0.5s ease;
    border-radius: 15px;
    object-fit: contain;
    border: 1px solid;
}
.zoom-overlay { 
    display: none; 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background-color: rgba(0, 0, 0, 0.8); 
    justify-content: center; 
    align-items: center; 
    z-index: 9999; 
    cursor: zoom-in; 
} 
.zoom-overlay img { 
    max-width: 90%; 
    max-height: 90%; 
    border-radius: 10px; 
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.5);
    transition: transform 0.3s ease; /* Transición suave */
    transform-origin: center center;
}
.zoom-overlay img:active{
    transform: scale(2); /* Zoom 2x */
}
.btn-nav {
    position: absolute;
    top: 50%;
    transform: translateY(-5%);
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    font-size: 2rem;
    padding: 10px;
    cursor: pointer;
    z-index: 10;
}

#btnPrev { left: 10px; }
#btnNext { right: 10px; }

.btn-nav:hover {
    background-color: rgba(0, 0, 0, 0.7);
}
/* Columna Derecha - Información del Producto */
.right-column {
    border: 1px solid #ccc;
    border-radius: 10px;
    width: 40%;
    height: 97%;
    display: flex;
    flex-direction: column;
    padding: 10px;
    gap: 10px;
    align-content: center;
    align-items: center;
}
.colores{
    width: 100%;
    height: 30%;
}
.colores p{
    margin: 5px;
    height: 30%;
    font-size: 19px;
    text-align: center;
}

.colores#descripcion p{
    text-align: left;
}
#descripcion{
    height: 20%;
    border: 1px solid #ccc;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}
#descripcion p{
    font-size: 17px;
}

#colores-metalicos{
    height: auto;
    max-height: 67%;
}
.adicionales{
    width: 100%;
    height: 20%;
}
.adicionales h3{
    margin: 10px;
    font-size: 20px;
    text-align: center;
}



/*desplegable de bases*/
.contenedor-base {
    display: flex;
    width: 100%;
    height: 20%;
    position: relative;
    font-family: Arial, sans-serif;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
}

.contenedor-base p{
    margin: 5px;
    height: 20%;
    font-size: 16px;
    text-align: center;
}

#btnAbrirBase{
    width: 85%;
    /* margin: auto; */
    /* display: block; */
    font-weight: bold;
    height: auto;
    max-height: 80%;
}

.close-popup, .close-popup-consulta {
    position: absolute;
    top: 10px;
    right: 5px;
    background: red;
    color: white;
    border: none;
    padding: 5px 15px 5px 15px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 30px;
    z-index: 1100;
}
/*Popup de telas*/
.popup, .popup-consulta {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    z-index: 1002;
}
body.no-scroll {
    overflow: hidden;
    height: 100vh;
}
.popup-content {
    background: white;
    padding: 20px;
    border-radius: 10px;
    max-width: 400px;
    width: 100%;
    text-align: center;
}
/*Boton de bases*/
/* From Uiverse.io by cssbuttons-io */ 
.btn-bases {
    padding: 1.3em 3em;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 2.5px;
    font-weight: 500;
    color: #000;
    background-color: #fff;
    border: 1px solid rgb(0 49 207);
    border-radius: 45px;
    box-shadow: 0px 8px 15px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease 0s;
    cursor: pointer;
    outline: none;
  }
  
  .btn-bases:hover {
    background-color: rgb(0 49 207);
    box-shadow: 0px 15px 20px rgba(0, 48, 207, 0.925);
    color: #fff;
    transform: translateY(-7px);
  }
  
  .btn-bases:active {
    transform: translateY(-1px);
  }


.dropdown-selected {
    width: 100%;
    padding: 10px 0 10px 0;
    font-size: 18px;
    border: 1px solid #ccc;
    border-radius: 20px;
    appearance: none;
    background: #fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="red"><path d="M7 10l5 5 5-5z"/></svg>') no-repeat right 10px center;
    background-size: 16px;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-weight: bold;
}

.dropdown-options {
    display: none;
    position: absolute;
    width: 100%;
    max-height: 150px;
    overflow-y: auto;
    overflow-x:hidden;
    background-color: #fff;
    border: 1px solid #ccc;
    z-index: 1000;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.dropdown-option {
    padding: 10px;
    cursor: pointer;
    color: #333;
    border-bottom: 1px solid #eee;
}
.primer-comentario{
    font-weight: bold;
}
.dropdown-option:hover, .dropdown-option.selected {
    background-color: #007bff;
    color: #fff;
}

.dropdown-arrow {
    margin-left: 10px;
}
.product-block {
    width: 100%;
    height: 25%;
    text-align: center;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.product-plans{
    display: flex;
    width: 100%;
    height: 35%;
    border: 1px solid #ccc;
    flex-direction: column;
    align-items: center;
}
.product-plans p{
    margin: 0;
    height: 10%;
    font-size: 19px;
}
.planos{
    width: 100%;
    height: 90%;
    display: flex;
    justify-content: space-around;
    gap: 10px;
    flex-direction: row;
    overflow-x: auto; /* Permite el scroll horizontal */
    overflow-y: hidden; /* Oculta el scroll vertical */
    scroll-behavior: smooth; /* Scroll suave */
    align-items: center;
}
.img-planos{
    width: auto;
    max-width: 100%;
    max-height: 90%;
    height: auto;
    border-radius: 10px;
    transition: transform 0.2s, box-shadow 0.2s;
    object-fit: contain;
    border: 1px solid black;
}
.img-planos:hover{
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

/* Contenedor de los colores */
.materiales-contenedor p{
    margin: 0;
    height: 11%;
    font-size: 16px;
}
.materiales-contenedor {
    background-color: #f9f9f9;
    border-radius: 5px;
    width: 100%;
    height: 27%;
    text-align: center;
}

.dropdown-materiales {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 15%;
}

.dropdown-seleccionado {
    padding: 10px 15px;
    font-size: 18px;
    border: 1px solid #ccc;
    border-radius: 20px;
    appearance: none;
    background: #fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="red"><path d="M7 10l5 5 5-5z"/></svg>') no-repeat right 10px center;
    background-size: 16px;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dropdown-opciones {
    display: none;
    position: absolute;
    width: 100%;
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid #ccc;
    background-color: #fff;
    z-index: 1;
}
.dropdown-opciones.mostrar {
    display: block; /* Mostrar el desplegable cuando tenga la clase 'mostrar' */
}
.dropdown-opcion {
    border-bottom: 1px solid #eee;
    padding: 10px;
    cursor: pointer;
    text-align: left;
}

.dropdown-opcion:hover {
    background-color: #f1f1f1;
}

#titulo-colores {
    height: 10%;
    margin: 3px;
    font-size: 20px;
    color: #333;
}

.colores-contenedor {
    display: flex;
    padding: 4px;
    flex-wrap: wrap;
    gap: 10px;
    width: 98%;
    height: 47%;
    overflow-x: auto;
    margin: 0;
    border: 1px solid #ccc;
    align-content: flex-start;
    justify-content: center;
}

input[type="radio"] {
    display: none; /* Ocultar el input */
}

.img-color {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    cursor: pointer;
    border: 1px solid #000000;
    position: relative; /* Necesario para el ::after */
    display: flex;
    align-items: center;
    justify-content: center;
    transition: 0.3s;
}


/* Agregar tilde */
input[type="radio"]:checked + .img-color::after {
    content: '✔'; /* Símbolo de check */
    font-size: 24px;
    font-weight: bold;
    color: white;
    background-color: rgb(0, 255, 21);
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* Centrar en el círculo */
}

.precio-reserva{
    height: 25%;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 7px;
}
.precio-reserva p{
    margin: 0;
    height: 14%;
    font-size: 16px;
    margin-bottom: 5px;
}
.advertencia-consulta{
    color: red;
    margin: 0;
    width: 100%;
    font-size: 15px !important;
}
/*Boton de patas-brazos*/
.boton-elegante {
  padding: 15px 30px;
  border: 2px solid #2c2c2c;
  background-color: white;
  color: black;
  font-size: 1.2rem;
  cursor: pointer;
  border-radius: 30px;
  transition: all 0.4s ease;
  outline: none;
  position: relative;
  overflow: hidden;
  font-weight: bold;
}

.boton-elegante::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(
    circle,
    rgba(255, 255, 255, 0.25) 0%,
    rgba(255, 255, 255, 0) 70%
  );
  transform: scale(0);
  transition: transform 0.5s ease;
}

.boton-elegante:hover::after {
  transform: scale(4);
}

.boton-elegante:hover {
  border-color: #666666;
  background-color: rgb(0 45 190);
  color: white;
}
/*Boton de precios*/
.button-precio {
  position: relative;
  display: inline-block;
  padding: 15px 30px;
  text-align: center;
  font-size: 17px;
  letter-spacing: 1px;
  text-decoration: none;
  color: rgb(0, 60, 255);
  background: transparent;
  cursor: pointer;
  transition: ease-out 0.5s;
  border: 2px solid rgb(0, 60, 255);
  border-radius: 10px;
  box-shadow: inset 0 0 0 0 rgb(0, 60, 255);
}

.button-precio:hover {
  color: white;
  box-shadow: inset 0 -100px 0 0 rgb(0 49 207);
}

.button-precio:active {
  transform: scale(0.9);
}

/* Estilo para el popup de precios*/
.popup-precio {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    justify-content: center;
    align-items: center;
    z-index: 1002;
}
.popup-content {
    background-color: #fff;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    width: auto;
    max-width: 90%; /* Limitar el ancho máximo al 90% de la pantalla */
    text-align: center;
    overflow-y: auto; /* Permitir desplazamiento vertical si el contenido es muy alto */
    height: auto;
    max-height: 80%; /* Limitar la altura máxima al 80% de la pantalla */
}
.popup-content h2 {
    margin-bottom: 10px;
}
.popup-content ul {
    list-style-type: none;
    padding: 0;
}
.popup-content li {
    color: black;
    margin: 5px 0;
    font-size: 16px;
    cursor: pointer;
    padding: 15px 5px 15px 5px;
    border: 1px solid #ddd;
    border-radius: 5px;
    font-weight: normal;
}
.img-mano{
    width: 25px;
    height: 25px;
}
.popup-content li:hover {
    background-color: #f0f0f0;
}
.brazos-patas{
    width: 80%;
}
.muestra-patas{
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    gap: 10px;
}
.tarjeta-patas, .tarjeta-brazos{
    width: 30%;
    height: 250px;
    max-height: 20%;
}
.img-patas{
    width: 100%;
    height: auto;
    max-height: 75%;
    object-fit: contain;
}
/*Boton de consulta*/
.btn-consulta {
  position: relative;
  background: #ffffff;
  color: #000;
  padding: 15px;
  border-radius: 10px;
  width: 150px;
  height: 50px;
  font-size: 17px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.tooltip {
  position: absolute;
  top: 0;
  font-size: 14px;
  background: #ffffff;
  color: #ffffff;
  padding: 5px 8px;
  border-radius: 5px;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.tooltip::before {
  position: absolute;
  content: "";
  height: 8px;
  width: 8px;
  background: #ffffff;
  bottom: -3px;
  left: 50%;
  transform: translate(-50%) rotate(45deg);
  transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.btn-consulta:hover .tooltip {
  top: -45px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

svg:hover span,
svg:hover .tooltip {
  text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.1);
}

.btn-consulta:hover,
.btn-consulta:hover .tooltip,
.btn-consulta:hover .tooltip::before {
  background: linear-gradient(320deg, rgb(3, 77, 146), rgb(0, 60, 255));
  color: #ffffff;
}
/*Estilos cuando no existe las bases*/
.product-container:not(:has(.contenedor-base)) .precio-reserva {
    height: 25%;
}
.product-container:not(:has(.contenedor-base)) .product-block {
    height: 15%;
}
.product-container:not(:has(.contenedor-base)) .product-plans {
    height: 40%;
}
.product-container:not(:has(.contenedor-base)) .tapizados {
    height: 100%;
}
/*Estilos cuando no existen los colores*/
.product-container:not(:has(.colores)) .product-section {
    height: 650px;
}
/*Estilos cuando no existe el tapizado*/
.product-container:not(:has(.btn)) .product-section {
    height: 650px;
}
.product-container:not(:has(.btn)) .product-block {
    height: 15%;
}
.product-container:not(:has(.btn)) .colores {
    /* height: 25%; */
}
.product-container:not(:has(.btn)) .contenedor-base {
    height: 15%;
}
.product-container:not(:has(.btn)) .tapizados {
    height: 0;
}
/*Estilos cuando no existe ni tapizado ni bases(no existe el .product-block)*/
.product-container:not(:has(.btn, .contenedor-base)) .product-block {
    height: 0 !important;
}
/*Estilos cuando no existe ni colores ni tapizado*/
.product-container:not(:has(.colores, .btn)) .product-section {
    height: 600px;
}
.product-container:not(:has(.colores, .btn)) .product-block {
    height: 55%;
}
.product-container:not(:has(.colores, .btn)) .precio-reserva {
    height: 30%;
}
/*Estilo cuando solo existe un boton de tapizado*/
.product-container:not(:has(#tapizado-red)) .btn {
    width: 100%;
    font-size: 18px;
}
.product-container:not(:has(#tapizado-red)) .colores p {
    height: 20%;
}


/*Cuando existen Accesorios(o bases), brazos y tapizado a la vez*/
.product-container:has(.existe_base) .product-section {
    height: 850px !important; 
}
.existe_base{
    margin: 0 !important;
    width: 0 !important;
    height: 0 !important;
}
/*Estilos responsivos*/
@media (max-width:1080px){
    /*Cuando existen Accesorios(o bases), brazos y tapizado a la vez*/
    .product-container:has(.btn, .contenedor-base, .boton-elegante) .product-container {
        height: 1550px !important;
    }
    /*Cuando existen Accesorios(o bases), brazos y tapizado a la vez*/
    .product-container:has(.btn, .contenedor-base, .boton-elegante) .product-section {
        height: 100% !important;
    }
    main{
        padding-top: 30px;
    }
    .product-container{
        height: 1425px;
    }
    .product-section{
        height: 100%;
        width: 97%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .product-container:not(:has(.materiales-contenedor)) .product-container {
        height: 1300px;
    }
    .product-container:not(:has(.materiales-contenedor)) .product-section {
        height: 100%;
    }
    .left-main{
        width: 100%;
        height: 45%;
    }
    /*Columna Izquierda(ahora fila 1)*/
    .left-column{
        height: 100%;
        width: 20%;
        gap: 4px;
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-behavior: smooth;
        justify-content: flex-start;
        align-items: center;
    }
    .img-left{
        width: 85%;
        height: 30%;
        border-radius: 10px;
    }
    /*Columna de en medio(ahora fila 2)*/
    .main-image{
        display: flex;
        align-content: center;
        padding: 0;
    }
    /*Columna derecha(ahora fila 3)*/
    .right-column{
        height: 53%;
        width: 90%;
        display: flex;
        justify-content: flex-start;
        gap: 10px;
    }
    .colores{
        width: 80%;
        height: 20%;
    }
    /*Contenedor de materiales/colores*/
    .materiales-contenedor{
        width: 70%;
        height: 32%;
        margin: 0;
    }
    .materiales-contenedor p{
        margin: 0;
        height: 10%;
        font-size: 23px;
        margin-bottom: 5px;
    }
    #titulo-colores {
        height: 10%;
    }
    .dropdown-materiales{
        height: 15%;
    }
    .colores-contenedor{
        height: 46%;
    }
    /*Contenedor de Planos y Bases*/
    .product-block{
        width: 100%;
        height: 25%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
    }
    .contenedor-base{
        width: 90%;
        height: 55%;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 5px;
        justify-content: space-evenly;
    }
    .contenedor-base p{
        height: 10%;
    }
    .dropdown-options{
        top: 87%;
    }
    .dropdown-selected{
        width: 100%;
    }
    .precio-reserva{
        width: 80%;
        height: 20%;
    }
    .precio-reserva p{
        text-align: center;
    }
    .contenedor-desplegables{
        display: flex;
        flex-direction: column;
        width: 90%;
        height: 70%;
    }
    .dropdown-precio{
        width:100%;
    }
    .product-section:not(:has(.contenedor-base)) .product-plans {
        width: 80%;
    }
    .product-section:not(:has(.contenedor-base)) .product-block {
        justify-content: center;
    }
    .color-item{
        width: 15%;
    }
    /*Cuando no existen el de colores plasticos y tapizados*/
    .product-container:not(:has(.colores, .btn)) .right-column {
        justify-content: flex-start;
    }
    .product-container:not(:has(.colores, .btn)) .left-main {
        height: 55%;
    }
    .product-container:not(:has(.colores, .btn)) .right-column {
        height: 45%;
    }
    /*Cuando No existen tapizados y bases*/
    .product-container:not(:has(.contenedor-base, .btn)) .product-container {
        height: 1200px;
    }
    .product-container:not(:has(.contenedor-base, .btn)) .left-main {
        height: 55%;
    }
    .product-container:not(:has(.contenedor-base, .btn)) .right-column {
        height: 45%;
    }
    .product-container:not(:has(.contenedor-base, .btn)) .colores {
        height: 25%;
    }
    .product-container:not(:has(.contenedor-base, .btn)) .precio-reserva {
        height: 30%;
    }
}
@media (max-width:880px){
    .brazos-patas{
        width: 90%;
    }
    .materiales-contenedor{
        width: 80%;
    }
    .contenedor-base p {
        height: 20%;
    }
    .color-item{
        width: 20%;
    }
}
@media (max-width:780px){
    .tarjeta-patas{
        width: 40%;
    }
    .materiales-contenedor{
        width: 90%;
    }
}
@media(max-width:700px){
    .materiales-contenedor p{
        font-size: 20px;
    }
    .color-item{
        width: 30%;
        margin: 0;
    }
}
@media (max-width:600px){
    .tarjeta-patas{
        width: 45%;
    }
    /*Cuando existen Accesorios(o bases), brazos y tapizado a la vez*/
    .product-container:has(.btn, .contenedor-base, .boton-elegante) .product-container {
        height: 1525px !important;
    }
}
@media (max-width:580px){
    .product-container {
        height: 1400px;
    }
    .product-section{
        height: 100%;
    }
    .left-main {
        width: 100%;
        height: 44%;
        gap: 20px;
        flex-direction: column-reverse;
    }
    .left-column{
        width: 100%;
        flex-direction: row;
        height: 20%;
    }
    .carousel-button.up, .carousel-button.down {
        display: none;
    }
    .carousel-button.left, .carousel-button.right{
        display: flex;
    } 
    .vertical-carousel{
        flex-direction: row;
        overflow-x: auto;
    }
    .img-left{
        height: 90%;
    }
    .main-image{
        height: 80%;
        width: 100%;
        justify-content: flex-start;
    }
    .contenedor-select{
        height: 15%;
    }
    .img-centro{
        height: auto;
        width: auto;
        max-width: 97%;
        max-height: 90%;
    }
    .right-column {
        width: 100%;
        height: 54%;
    }
    .materiales-contenedor p {
        font-size: 18px;
    }
    .product-block{
        flex-direction: column;
        align-items: center;
    }
    .product-plans {
        width: 100%;
        height: 35%;
    }
    .contenedor-base {
        width: 90%;
        height: 50%;
        gap: 0;
        justify-content: flex-start;
    }
    .contenedor-base p {
        height: 30%;
    }
    .precio-reserva{
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 25%;
    }
    
    .product-section:not(:has(.contenedor-base)) .product-plans {
        width: 90%;
    }
    
    .tooltip-final{
        transform: translateX(-100%) !important;
    }
    #resumen h3{
        font-size: 23px !important;
    }
}
@media (max-width:480px){
    .tarjeta-patas{
        width: 80%;
    }
    .left-main{
        height: 40%;
    }
    .left-column{
        height: 20%;
    }
    .right-column{
        height: 58%;
    }
    .materiales-contenedor {
        width: 100%;
    }
    .dropdown-seleccionado{
        font-size: 17px;
    }
    .contenedor-base{
        width: 100%;
        height: 40%;
    }
    .materiales-contenedor p {
        font-size: 16px;
    }
    .colores-contenedor {
        height: 55%;
    }
    .colores{
        width: 100%;
    }
    .colores-contenedor{
        gap: 10px;
    }
    .color-item{
        width: 45%;
    }
    .product-container:not(:has(.btn, .contenedor-base)) .product-block {
        height: 0 !important;
    }
    .product-container:not(:has(.btn)) .product-block {
        height: 15%;
    }
    .product-container:has(.cascos-plasticos) .product-block {
        height: 50%; /* Ajusta el valor según necesites */
    }

    .tooltip-final{
        transform: translateX(-1%) !important;
    }
    #resumen h3{
        font-size: 25px !important;
    }
}
@media (max-width: 450px){
    #resumen h3{
        font-size: 23px !important;
    }
}
@media (max-width: 413px){
    #resumen h3{
        font-size: 22px !important;
    }
}
@media (max-width:400px){
    .btn{
        padding: 0.2em 0.75em;
    }
    .colores{
       height: 15%; 
    }
    .precio-reserva{
        height: 23%;
    }
    .product-container:not(:has(#tapizado-red)) .btn {
        padding: 0.5em 1.75em;
    }
    .product-container:not(:has(#tapizado-red)) .precio-reserva {
        height: 20%;
        gap: 4px;
    }
    .product-container:not(:has(#tapizado-red)) .colores {
        height: 25%;
    }
    .tarjeta-patas {
        width: 95%;
    }
    .left-main {
        height: 45%;
    }
    .right-column {
        height: 55%;
    }
    .contenedor-select{
        width: 100%;
    }
    .select-personalizado{
        width: 100%;
    }
    .materiales-contenedor {
        height: 31%;
    }
    .materiales-contenedor p{
        height: 12%;
    }
    .product-block{
        height: 25%;
    }
    #titulo-colores{
        font-size: 17px;
    }
    .contenedor-base {
        width: 100%;
        /* gap: 10px; */
    }
    .precio-reserva{
        gap: 10px;
    }
    .dropdown-seleccionado {
        font-size: 14px;
    }
    .contenedor-base{
        height: 50%;
        gap: 0;
    }
    /*Cuando no existe el tapizado*/
    .product-container:not(:has(.btn)) .product-container {
        height: 1300px;
    }
    .product-container:not(:has(.btn)) .left-main {
        height: 45%;
    }
    .product-container:not(:has(.btn)) .right-column {
        height: 55%;
    }
    .product-container:not(:has(.btn)) .colores {
        height: 25%;
    }
    .product-container:not(:has(.btn)) .product-block {
        height: 15%;
    }
    .product-container:not(:has(.btn)) .contenedor-base {
        height: 20%;
    }
    .product-container:not(:has(.btn)) .precio-reserva {
        height: 30%;
    }
    /*Cuando es tandem*/
    .product-container:has(.cascos-plasticos) .product-block {
        height: 35%; /* Ajusta el valor según necesites */
    }
    .product-container:has(.cascos-plasticos) .contenedor-base {
        height: 50%; /* Ajusta el valor según necesites */
    }
    .product-container:has(.cascos-plasticos) . {
        height: 50%; /* Ajusta el valor según necesites */
    }
    /*Cuando no existe el tapizado y desplegable de bases*/
    .product-container:not(:has(.contenedor-base, .btn)) .left-main {
        height: 45%;
    }
    .product-container:not(:has(.contenedor-base, .btn)) .right-column {
        height: 55%;
    }
    #resumen h3{
        font-size: 20px !important;
    }

}
@media(max-width: 359px){
    .tooltip-final{
        transform: translateX(-50%) !important;
    }
}

.comic-button{
    display: none;
}
@media (max-width:1080px){
    /* From Uiverse.io by Gautammsharma */ 
    .comic-button {
      display: inline-block;
      padding: 10px 20px;
      font-size: 24px;
      font-weight: bold;
      text-align: center;
      text-decoration: none;
      color: #fff;
      background-color: #ff5252;
      border: 2px solid #000;
      border-radius: 10px;
      box-shadow: 5px 5px 0px #000;
      transition: all 0.3s ease;
      cursor: pointer;
      margin-bottom: 10px;
      margin-left: auto;
      margin-right: auto;
    }
    
    .comic-button:hover {
      background-color: #fff;
      color: #ff5252;
      border: 2px solid #ff5252;
      box-shadow: 5px 5px 0px #ff5252;
    }
    
    .comic-button:active {
      background-color: #fcf414;
      box-shadow: none;
      transform: translateY(4px);
    }
}

/*Resumen*/
/* Estilos generales para el cuadro de resumen */
#resumen {
    background-color: #dddddd;
    border-radius: 8px;
    padding: 20px;
    width: 80%;
    margin: 0 auto;
    margin-bottom: 20px;
    font-family: Arial, sans-serif;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1);
}
.resumen-2{
    width: 90% !important;
    margin-bottom: 0 !important;
}

/* Estilos para el título del resumen */
#resumen h3 {
    color: #333;
    font-size: 25px;
    margin-bottom: 10px;
    margin-top: 10px;
}

/* Estilos para el contenido del resumen */
#resumenContenido, #resumenContenido-2 {
    font-size: 14px;
    color: #666;
    background-color: white;
    padding: 15px;
    border-radius: 5px;
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
    min-height: 50px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Estilos para cada fila del resumen como lista con línea divisora vertical */
/* Estilos para cada fila del resumen como lista con línea divisora vertical */
.resumen-item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    font-size: 18px;
    padding: 8px 0;
    font-weight: bold;
    border-bottom: 1px solid #ddd;
}

/* Aplica la línea divisora vertical */
.resumen-item span {
    font-weight: normal;
    text-align: right;
    padding-left: 10px;
    border-left: 2px solid #ddd; /* Línea divisoria entre descripción y resultado */
    padding-right: 10px;
}
.popupConsulta p{
    height: 3%;
}

/*Estilos del form*/
#consultaForm {
    width: 70%;
    margin: auto;
    padding: 20px;
    background: #f9f9f9;
    border-radius: 10px;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    align-items: center;
}

#consultaForm .form-group {
    margin-bottom: 15px;
    width: 80%;
}

#consultaForm label {
    display: block;
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
}

#consultaForm input,
#consultaForm textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 14px;
}

#consultaForm textarea {
    resize: none;
    height: 80px;
}
#btnEnviarConsulta{
    margin-top: 10px !important;
    margin-bottom: 10px !important;
    margin: 0 auto;
}
.info-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background-color: #007bff;
    color: #fff;
    font-size: 14px;
    text-align: center;
    line-height: 20px;
    border-radius: 50%;
    cursor: pointer;
    margin-left: 8px;
    position: relative;
}

.info-tooltip {
    position: absolute;
    background: rgba(0, 0, 0, 0.9);
    color: white;
    padding: 8px;
    font-size: 12px;
    border-radius: 5px;
    width: 200px;
    max-width: 200px;
    max-height: 200px;
    height: auto;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s, visibility 0.3s;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.2);
    /*white-space: pre-wrap;*/
    z-index: 100;
}

/* Mostrar tooltip en hover */
.info-icon:hover .info-tooltip {
    visibility: visible;
    opacity: 1;
}

/* Clase para hacer visible el tooltip al hacer clic */
.info-tooltip.show {
    visibility: visible;
    opacity: 1;
}
@media (max-width:470px){
    .info-tooltip{
        transform: translateX(-100%);
    }
}
