/* 
MOBILE VISUAL IMPROVEMENTS - TOPPINGS COMO TAMAÑOS
NO modifica colores, funcionalidad, o JavaScript existente
Solo mejora presentación visual para móvil
*/

/* MEJORAS PARA MÓVIL Y DESKTOP - Sección informativa de toppings */
.product-info-section .toppings-category-title {
    margin-bottom: 16px !important;
    margin-top: 8px !important;
}

.product-info-section .toppings-grid-info {
    margin-top: 12px !important;
    /* Layout vertical para mejor legibilidad */
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}

.product-info-section .topping-info {
    /* Cajas más altas para textos largos */
    min-height: 50px !important;
    padding: 12px 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: rgba(245, 245, 220, 0.3) !important;
    border-radius: 8px !important;
    border: 1px solid rgba(138, 0, 40, 0.1) !important;
}

.product-info-section .topping-name {
    flex: 1 !important;
    word-wrap: break-word !important;
    line-height: 1.3 !important;
}

.product-info-section .topping-price {
    margin-left: 12px !important;
    font-weight: bold !important;
    white-space: nowrap !important;
}

/* MEJORAS PARA MÓVIL Y DESKTOP - Botón cerrar modal */
.multiple-customization-close {
    background: var(--vino-tinto-medio) !important;
    color: white !important;
    border: none !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    z-index: 1000 !important;
    line-height: 1 !important;
}

/* Ajuste para móvil - botón más abajo */
@media (max-width: 768px) {
    .multiple-customization-close {
        top: 45px !important;
        right: 10px !important;
    }
}

/* Otros botones de cerrar */
.modal-close,
.close-btn,
.btn-close,
button[onclick*="close"],
button:contains("×"),
[class*="close"]:contains("×") {
    background: var(--vino-tinto-medio) !important;
    color: white !important;
    border: none !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 18px !important;
    font-weight: bold !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    position: absolute !important;
    top: 15px !important;
    right: 15px !important;
    z-index: 1000 !important;
}

.multiple-customization-close:hover,
.modal-close:hover,
.close-btn:hover,
.btn-close:hover,
button[onclick*="close"]:hover {
    background: var(--vino-tinto-oscuro) !important;
    transform: scale(1.1) !important;
    box-shadow: 0 4px 12px rgba(138, 0, 40, 0.3) !important;
}

/* SOLO EN MÓVIL - NO afecta desktop */
@media (max-width: 768px) {
    
    /* ✅ LAYOUT: Cada topping ocupa todo el ancho como tamaños */
    .toppings-grid {
        display: flex !important;
        flex-direction: column !important;
        gap: 12px !important;
        margin-bottom: 16px !important;
    }
    
    /* ✅ MEJORA PRINCIPAL: Toppings con diseño IDÉNTICO a tamaños */
    .topping-option {
        /* Ocultar checkbox pero conservar funcionalidad */
        position: relative !important;
        display: block !important;
        width: 100% !important;
        padding: 20px 15px !important;
        margin: 0 0 12px 0 !important;
        background: white !important;
        border: 2px solid #e0e0e0 !important;
        border-radius: 12px !important;
        cursor: pointer !important;
        transition: all 0.3s ease !important;
        min-height: 110px !important;
        text-align: center !important;
        /* Prevenir overflow */
        overflow: hidden !important;
    }
    
    /* Ocultar checkbox area pero mantener funcional */
    .topping-option .topping-checkbox {
        position: absolute !important;
        opacity: 0 !important;
        width: 100% !important;
        height: 100% !important;
        z-index: 1 !important;
    }
    
    .topping-option input[type="checkbox"] {
        width: 100% !important;
        height: 100% !important;
        margin: 0 !important;
        cursor: pointer !important;
    }
    
    /* Contenido del topping - layout VERTICAL */
    .topping-option .topping-info {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        gap: 4px !important;
        pointer-events: none !important;
        position: relative !important;
    }
    
    /* Emoji grande arriba - cada elemento en su línea */
    .topping-option .topping-icon {
        display: block !important;
        font-size: 2em !important;
        line-height: 1.2 !important;
        margin-bottom: 8px !important;
    }
    
    /* Nombre del topping - en su propia línea con wrap automático */
    .topping-option .topping-name {
        display: block !important;
        font-size: 1.1em !important;
        font-weight: 600 !important;
        margin: 0 !important;
        color: var(--vino-tinto-medio) !important;
        line-height: 1.3 !important;
        /* Control de texto largo */
        max-width: 90% !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        white-space: normal !important;
        text-align: center !important;
        padding: 0 5px !important;
    }
    
    /* Precio abajo - en su propia línea */
    .topping-option .topping-price {
        display: block !important;
        font-size: 1.1em !important;
        font-weight: bold !important;
        color: var(--dorado-acento) !important;
        margin: 4px 0 0 0 !important;
    }
    
    /* Estados de selección igual a tamaños */
    .topping-option:has(input:checked),
    .topping-option.selected {
        border-color: var(--vino-tinto-medio) !important;
        background: rgba(138, 0, 40, 0.05) !important;
    }
    
    .topping-option:hover {
        border-color: var(--vino-tinto-medio) !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
    }
    
    /* ✅ SOLO MEJORA: Botones más grandes para dedos */
    .btn,
    button {
        min-height: 44px !important;
        min-width: 44px !important;
        padding: 12px 16px !important;
    }
    
    /* ✅ SOLO MEJORA: Quantity controls táctiles */
    .qty-btn {
        min-width: 44px !important;
        min-height: 44px !important;
    }
    
    .quantity-controls input {
        min-height: 44px !important;
        font-size: 16px !important; /* Previene zoom en iOS */
    }
    
    /* ✅ SOLO MEJORA: Text más legible en móvil */
    .toppings-price-display {
        font-size: 1.2em !important;
    }
    
    /* ✅ FIX TABS OVERLAP: Tabs de producto sin sobreponer */
    .tabs-nav {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
        padding: 10px !important;
        justify-content: center !important;
    }
    
    .tab-btn {
        flex: 0 0 auto !important;
        min-width: 45% !important;
        padding: 12px 10px !important;
        font-size: 0.9em !important;
        white-space: normal !important;
        line-height: 1.3 !important;
        text-align: center !important;
        margin: 0 !important;
    }
    
    /* Para pantallas muy pequeñas */
    @media (max-width: 380px) {
        .tab-btn {
            min-width: 100% !important;
            font-size: 1em !important;
        }
    }
}

/* ✅ SOLO MEJORA: Focus states más visibles en móvil */
@media (max-width: 768px) {
    .topping-option:focus-within,
    .btn:focus,
    button:focus {
        outline: 3px solid var(--dorado-acento) !important;
        outline-offset: 2px !important;
    }
}