/* =============================================================================
   quickorder.css – Styles module Commande Rapide
   Compatible Bootstrap 4 & 5 (PrestaShop 8 theme Hummingbird / Classic)
   ============================================================================= */

/* ── Bouton déclencheur ─────────────────────────────────────────────────────── */
/* Même style que le bouton "Ajouter au panier" du thème Amazonas */

.quickorder-btn {
    margin-top: 0;
}

/* Séparateur vertical identique à l'icône du btn add-to-cart */
.quickorder-btn .fa {
    border-right: 1px solid rgba(255, 255, 255, 0.26);
    margin-right: 7px;
    padding-right: 12px;
}

/* ── Modal ──────────────────────────────────────────────────────────────────── */

/* Z-index élevé pour s'afficher au-dessus de la quickview et autres modals */
#quickOrderModal {
    z-index: 99999 !important;
}
.modal-backdrop + .modal-backdrop {
    z-index: 99998 !important;
}

#quickOrderModal .modal-content {
    border-radius: 0.75rem;
    overflow:      hidden;
    box-shadow:    0 1rem 3rem rgba(0, 0, 0, 0.175);
}

/* En-tête */
.quickorder-modal__header {
    background:    linear-gradient(135deg, #f5a623 0%, #f76b1c 100%);
    color:         #fff;
    padding:       1.25rem 1.5rem 1rem;
    flex-wrap:     wrap;
    gap:           0.25rem;
    border-bottom: none;
    position:      relative;
}

.quickorder-modal__title {
    display:     flex;
    align-items: center;
    gap:         0.5rem;
    font-size:   1.2rem;
    font-weight: 700;
    margin:      0;
    color:       #fff;
}

.quickorder-modal__icon {
    font-size: 1.4rem;
}

.quickorder-modal__subtitle {
    width:      100%;
    font-size:  0.82rem;
    opacity:    0.9;
    margin:     0.2rem 0 0;
}

.quickorder-modal__close {
    color:    #fff !important;
    opacity:  0.8;
    position: absolute;
    top:      0.75rem;
    right:    1rem;
}

.quickorder-modal__close:hover {
    opacity: 1;
}

/* Corps */
#quickOrderModal .modal-body {
    padding: 1.5rem;
}

/* Résumé produit */
.quickorder-product-summary {
    font-size:     0.9rem;
    padding:       0.6rem 1rem;
    border-radius: 0.4rem;
    margin-bottom: 1rem;
}

/* Labels */
#quickOrderModal .form-control-label {
    font-weight:   600;
    font-size:     0.85rem;
    margin-bottom: 0.25rem;
}

#quickOrderModal .required {
    color: #e74c3c;
    margin-left: 2px;
}

/* Inputs */
#quickOrderModal .form-control {
    border-radius: 0.4rem;
    font-size:     0.9rem;
    transition:    border-color 0.15s ease, box-shadow 0.15s ease;
}

#quickOrderModal .form-control:focus {
    border-color: #f5a623;
    box-shadow:   0 0 0 0.2rem rgba(245, 166, 35, 0.25);
}

#quickOrderModal .form-control.is-valid {
    border-color: #28a745;
}

#quickOrderModal .form-control.is-invalid {
    border-color: #dc3545;
}

/* Textarea commentaire */
#qo-comment {
    resize: vertical;
    min-height: 70px;
}

/* Mention RGPD */
.quickorder-rgpd {
    display:     flex;
    align-items: flex-start;
    gap:         0.3rem;
    font-size:   0.78rem;
    color:       #6c757d;
    margin-top:  0.75rem;
    margin-bottom: 0;
}

.quickorder-rgpd .material-icons {
    font-size: 0.95rem;
    margin-top: 1px;
}

/* ── Pied de modal ───────────────────────────────────────────────────────────── */

.quickorder-modal__footer {
    padding:       1rem 1.5rem;
    border-top:    1px solid rgba(0, 0, 0, 0.08);
    gap:           0.5rem;
    flex-wrap:     wrap;
}

.quickorder-submit {
    min-width:   180px;
    font-weight: 600;
    display:     inline-flex;
    align-items: center;
    justify-content: center;
    gap:         0.4rem;
}

.quickorder-submit:disabled {
    opacity: 0.75;
    cursor:  not-allowed;
}

.quickorder-submit .spinner-border {
    width:        1rem;
    height:       1rem;
    border-width: 0.15em;
}

/* ── Alertes ─────────────────────────────────────────────────────────────────── */

#qo-alert {
    font-size:     0.88rem;
    border-radius: 0.4rem;
    margin-bottom: 1rem;
}

#qo-alert ul {
    padding-left: 1.2rem;
    margin:       0;
}

#qo-alert li {
    margin-bottom: 0.15rem;
}

#qo-alert.alert-success {
    background-color: #d4edda;
    border-color:     #c3e6cb;
    color:            #155724;
}

#qo-alert.alert-danger {
    background-color: #f8d7da;
    border-color:     #f5c6cb;
    color:            #721c24;
}

/* ── Hauteur max modal (desktop) ─────────────────────────────────────────────── */

#quickOrderModal .modal-dialog {
    max-height: 95vh;
}

#quickOrderModal .modal-content {
    max-height: 90vh;
    display:    flex;
    flex-direction: column;
}

#quickOrderModal .modal-body {
    overflow-y: auto;
    flex:       1 1 auto;
}

/* ── Responsive Mobile ───────────────────────────────────────────────────────── */

@media (max-width: 575.98px) {
    #quickOrderModal .modal-dialog {
        margin:     0.5rem;
        max-height: 98vh;
    }

    #quickOrderModal .modal-content {
        border-radius: 0.5rem;
    }

    .quickorder-modal__header {
        padding: 1rem;
    }

    #quickOrderModal .modal-body {
        padding: 1rem;
    }

    .quickorder-modal__footer {
        padding:         0.75rem 1rem;
        flex-direction:  column;
    }

    .quickorder-submit,
    .quickorder-modal__footer .btn-outline-secondary {
        width: 100%;
    }

    .quickorder-btn {
        width:           100%;
        justify-content: center;
    }
}

/* ── Accessibilité : focus visible ───────────────────────────────────────────── */

.quickorder-btn:focus-visible,
.quickorder-submit:focus-visible {
    outline:        3px solid #f5a623;
    outline-offset: 2px;
}
