﻿/* =========================================================
   GLOBAL / COMPARTIDO
   ========================================================= */

/* Quitar spinner en inputs number (Chrome) */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Base Remix Icon (si lo necesitas) */
:where([class^="ri-"])::before {
    content: "\f3c2";
}

/* Efecto "skeleton" (opcional) */
.skeleton {
    animation: skeleton-loading 1s linear infinite alternate;
}

@keyframes skeleton-loading {
    0% {
        background-color: rgba(200, 200, 200, 0.1);
    }

    100% {
        background-color: rgba(200, 200, 200, 0.3);
    }
}

/* Botones deshabilitados en general */
.disabled-btn {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Botón "seleccionado" (p.ej. color o talle) */
.btn-selected {
    background-color: #007BFF;
    color: #fff;
    border-color: #007BFF;
}

/* =========================================================
   CARRITO ESPECÍFICO
   ========================================================= */
.cart-img {
    width: 74px;
    height: 74px;
    object-fit: cover;
    border-radius: 4px;
}

/* Botones e input de cantidad (btnQty, qtyInput) */
.btnQty {
    background-color: #e2e8f0;
    color: #374151;
    font-weight: bold;
    border: 1px solid #d1d5db;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

    .btnQty:hover {
        background-color: #f3f4f6;
    }

.qtyInput {
    width: 60px;
    height: 40px;
    text-align: center;
    border-top: 1px solid #d1d5db;
    border-bottom: 1px solid #d1d5db;
    border-left: none;
    border-right: none;
}

.btnMinus {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-right: none;
}

.btnPlus {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
    border-left: none;
}

.filtros-activos {
    color: red !important; /* Ajusta a tu gusto */
}


/* =========================================================
   DETALLE ESPECÍFICO
   ========================================================= */

/* Card principal */
.detail-card {
    background-color: #fff;
    border-radius: 0.5rem; /* rounded-lg */
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    padding: 1.5rem; /* p-6 */
}

/* Zona de zoom */
.zoom-area {
    position: relative;
    cursor: zoom-in;
    overflow: hidden;
    border-radius: 0.5rem;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    max-height: 700px;
}

/* Imagen principal */
.main-image {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

/* Miniaturas */
.miniatura {
    width: 64px;
    height: 80px;
    object-fit: cover;
    border: 1px solid #ddd;
    border-radius: 4px;
    cursor: pointer;
    transition: transform 0.2s ease-in-out;
}

    .miniatura:hover {
        transform: scale(1.05);
    }

.miniatura-selected {
    border-color: #007BFF;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.3);
}

/* Ajustar miniaturas en pantallas pequeñas */
@media (max-width: 640px) {
    .miniatura {
        width: 52px;
        height: 68px;
    }
}

/* Clase para marcar cada tarjeta */
.product-card {
    cursor: pointer; /* Para indicar que se puede hacer click */
}

    /* Cuando está seleccionada, oscurecemos un poco */
    .product-card.selected {
        background-color: rgba(0,0,0,0.05);
        /* Ajusta el color/opa según quieras */
    }

/* =========================================================
   LOGIN / CAPTCHA ESPECÍFICO
   ========================================================= */
.captcha-container {
    position: relative;
    user-select: none;
}

.captcha-text {
    font-family: "Comic Sans MS", cursive, sans-serif;
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: 3px; /* Espaciado entre caracteres */
    color: #333; /* Un gris oscuro */
    text-shadow: 1px 1px 2px rgba(0,0,0,0.1);
}

.refresh-captcha {
    transition: transform 0.3s ease;
}

    .refresh-captcha:hover {
        transform: rotate(180deg);
    }



/* =========================================================
    BOTON FLOTANTE
========================================================= */
#btnScrollTop {
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 99;
    width: 50px;
    height: 50px;
    background-color: #0060CF;
    color: #fff;
    font-size: 20px;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

    #btnScrollTop:hover {
        opacity: 1;
    }

/* =========================================================
    REGISTRO
========================================================= */
:where([class^="ri-"])::before {
    content: "\f3c2";
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/*bug first lista*/
#productGrid > div:first-child {
    margin-bottom: 0 !important;
}


:where([class^="ri-"])::before {
    content: "\f3c2";
}

.password-strength-0 {
    width: 0%;
    background-color: transparent;
}

.password-strength-1 {
    width: 25%;
    background-color: #93c5fd;
}

.password-strength-2 {
    width: 50%;
    background-color: #60a5fa;
}

.password-strength-3 {
    width: 75%;
    background-color: #3b82f6;
}

.password-strength-4 {
    width: 100%;
    background-color: #2563eb;
}

/*botones bootbox*/
.same-btn-size {
    min-width: 200px;  
}

@media (max-width: 768px) {
    .grid-cols-2,
    .grid-cols-12 {
        display: block !important;
    }

        .grid-cols-2 > div,
        .grid-cols-12 > div[class*='col-span-'] {
            width: 100% !important;
            max-width: 100%;
            margin-bottom: 1rem;
        }

    #registrationForm {
        margin-top: 5rem; /* Espaciado visual desde el header */
    }
}

/* catalogo filtros */
#filterDropdown > button.filtros-activos {
    background-color: red !important;
    color: white !important;
}

#filterOptions button {
    color: #333 !important;
    background-color: #fff !important;
}

#filterDropdown > button.filtros-activos {
    background-color: red !important;
    color: white !important;
    border: 1px solid red !important; /* Evita perder el borde */
}
