/* ============================================= */
/* == DEFINICIÓN DE COLORES PARA TEMAS == */
/* ============================================= */

:root {
  /* TEMA CLARO (POR DEFECTO) */
  --color-fondo: #ffffff;
  --color-texto: #212529;
  --color-texto-secundario: #6c757d;
  --color-tarjeta-fondo: #FFFFFF;
  --color-borde: #dee2e6;
  --color-borde-claro: #eee;
  --color-sutil: rgba(0, 0, 0, 0.04);
  --color-sombra: rgba(0,0,0,0.1);
}

[data-theme="dark"] {
  /* TEMA OSCURO */
  --color-fondo: #121212;
  --color-texto: #E0E0E0;
  --color-texto-secundario: #adb5bd;
  --color-tarjeta-fondo: #1E1E1E;
  --color-borde: #444444;
  --color-borde-claro: #333333;
  --color-sutil: rgba(255, 255, 255, 0.05);
  --color-sombra: rgba(255,255,255,0.05);
}

/* --- ESTILOS GENERALES --- */
body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: var(--color-fondo);
    color: var(--color-texto);
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* ========================================================== */
/* --- CARRITO (OFFCANVAS) --- */
/* ========================================================== */
.offcanvas-header { 
    justify-content: space-between; 
}

.offcanvas-body { 
    padding: 0; 
}

#cart-items { 
    list-style: none; 
    margin-bottom: 0; 
    height: 100%;
}

.cart-item { 
    display: flex; 
    align-items: center; 
    padding: 1.25rem 1rem; 
    border-bottom: 1px solid var(--color-borde-claro); 
}

.cart-item-image { 
    width: 80px; 
    height: 80px; 
    object-fit: contain; 
    margin-right: 15px; 
    border: 1px solid var(--color-borde); 
    border-radius: 8px; 
    flex-shrink: 0; 
}

.cart-item-details { 
    flex-grow: 1; 
    display: flex; 
    flex-direction: column; 
    justify-content: space-between; 
    min-height: 80px; 
}

.cart-item-details h6 { 
    font-size: 1rem; 
    font-weight: 600; 
    margin-bottom: 4px; 
    line-height: 1.3; 
    color: var(--color-texto); 
}

.cart-item-price { 
    font-size: 0.9rem; 
    color: var(--color-texto-secundario); 
    margin-bottom: 8px; 
}

.cart-footer { 
    padding: 1rem; 
    background-color: var(--color-tarjeta-fondo); 
    border-top: 1px solid var(--color-borde-claro); 
}

.dropdown-toggle::after { 
    display: none; 
}

.offcanvas-header .btn-close { 
    padding: 0; 
    margin: 0; 
}

/* --- ESTILOS PARA MENSAJE DE CARRITO VACÍO CON ÍCONO SVG --- */
.empty-cart-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    text-align: center;
    padding: 2rem;
}

.empty-cart-icon {
    width: 120px;
    height: 120px;
    stroke: var(--color-borde);
    stroke-width: 1.5;
    margin-bottom: 1.5rem;
}

.empty-cart-container h4 {
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--color-texto);
    margin: 0 0 0.5rem 0;
}

.empty-cart-container p {
    font-size: 1rem;
    color: var(--color-texto-secundario);
    margin: 0;
}

/* --- ESTILOS PARA LOS BOTONES DE CANTIDAD EN OFFCANVAS --- */
.cart-item .button-group {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.cart-item .btn-quantity {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
    font-weight: bold;
    transition: all 0.2s ease;
    border: none;
}

.cart-item .btn-quantity[data-delta="1"] {
    background-color: #F7C044;
    color: #333;
}

.cart-item .btn-quantity[data-delta="1"]:hover {
    opacity: 0.9;
}

.cart-item .btn-quantity[data-delta="-1"] {
    background-color: transparent;
    color: #8B572A;
    border: 1.5px solid #F7C044;
}

.cart-item .btn-quantity[data-delta="-1"]:hover {
    background-color: rgba(247, 192, 68, 0.1);
}

.cart-item .quantity-display {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--color-texto);
    min-width: 20px;
    text-align: center;
}

/* ========================================================== */
/* --- CARRUSEL DE HOME --- */
/* ========================================================== */
.carousel,
.carousel-inner {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0,0,0,0.3);
}

.carousel-inner img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

/* ========================================================== */
/* ✅ MODIFICACIONES RESPONSIVE PARA MÓVILES */
/* ========================================================== */
@media (max-width: 575.98px) {
    /* Carrusel de Home más bajo en móviles */
    .carousel-item {
        height: 130px; 
    }
    
    .carousel-item img {
        height: 100%;
        object-fit: cover; 
    }
    
    /* Títulos generales */
    .container h3, .container h4 {
        font-size: 1.2rem;
    }
}