/**
 * Gommaffare.com - CSS Principale
 * File principale che importa tutti gli stili
 */

/* Importa il tema base */
@import url('theme.css');

/* Importa i componenti specifici */
@import url('components.css');

/* Importa le transizioni per il tema */
@import url('theme-transitions.css');

/* Importa gli stili inline centralizzati */
@import url('inline-styles.css');

/* Importa il range slider per i prezzi */

/* ===== STILI AGGIUNTIVI SPECIFICI ===== */

/* Override per compatibilità con Tailwind */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
}

/* Miglioramenti per la compatibilità dark mode */
.dark .bg-white {
    background-color: var(--bg-gray-800) !important;
}

.dark .text-gray-800 {
    color: var(--text-primary) !important;
}

.dark .text-gray-600 {
    color: var(--text-secondary) !important;
}

.dark .text-gray-500 {
    color: var(--text-muted) !important;
}

.dark .border-gray-200 {
    border-color: var(--border-light) !important;
}

.dark .border-gray-300 {
    border-color: var(--border-medium) !important;
}

/* Miglioramenti per i form */
.form-input:focus,
.form-select:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 3px var(--primary-light);
}

/* Miglioramenti per i pulsanti */
.btn:focus {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

/* Miglioramenti per l'accessibilità */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Miglioramenti per le immagini */
img {
    max-width: 100%;
    height: auto;
}

/* ===== RIMOZIONE SCROLLING ORIZZONTALE ===== */
body {
    overflow-x: hidden !important;
}

.container {
    overflow-x: hidden !important;
}

/* Rimuovi scrolling dalle sezioni prodotto */
.product-info-section {
    overflow-x: hidden !important;
}

/* Rimuovi scrolling dalle griglie */
.grid {
    overflow-x: hidden !important;
}

/* Rimuovi scrolling dai contenitori immagini */
.aspect-square {
    overflow: hidden !important;
}

/* Miglioramenti per i link */
a:focus {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

/* Miglioramenti per la stampa */
@media print {
    .no-print {
        display: none !important;
    }
    
    .print-break {
        page-break-before: always;
    }
    
    body {
        background: white !important;
        color: black !important;
    }
}

/* Miglioramenti per l'alto contrasto */
@media (prefers-contrast: high) {
    :root {
        --primary-color: #000000;
        --text-primary: #000000;
        --border-light: #000000;
    }
    
    .dark {
        --primary-color: #ffffff;
        --text-primary: #ffffff;
        --border-light: #ffffff;
    }
}

/* Miglioramenti per la riduzione del movimento */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ===== UTILITY CLASSES ===== */
.lazy {
    opacity: 0;
    transition: opacity 0.3s;
}

.lazy.loaded {
    opacity: 1;
}

.was-validated .form-control:invalid {
    border-color: #dc2626;
}

.was-validated .form-control:valid {
    border-color: #10b981;
}

/* ===== RESPONSIVE UTILITIES ===== */
@media (max-width: 768px) {
    .fixed-buttons-container {
        right: -0.5rem;
    }
    
    .assistance-button {
        min-width: 3.5rem;
        padding: 0.75rem;
    }
    
    .assistance-icon {
        font-size: 1.25rem;
    }
    
    .assistance-text {
        font-size: 0.625rem;
    }
    
    .chat-window {
        width: 18rem;
        height: 20rem;
    }
    
    .carrello-dropdown {
        width: 18rem;
    }
}
