/* Quick Checkout - Styles */

#qc_container {

    margin: 20px 0;

    padding: 20px;

    border: 2px dashed #eb3e32;

    border-radius: 10px;

    background: #fff;

    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
    order: -1;

}

.product-additional-info {
    display: flex;
    flex-direction: column;
}
.product-additional-info {
    display: flex;
    flex-direction: column;
}

.qc_field {

    margin-bottom: 14px;

}



.qc_field label {

    display: block;

    font-size: 14px;

    font-weight: 600;

    margin-bottom: 6px !important;

    text-align: left;

}



.qc_required {

    color: red;

}



.qc_input,

.qc_select {

    width: 100%;

    padding: 10px;

    border: 2px solid #ddd;

    border-radius: 6px;

    font-size: 14px;

}



.qc_input:focus,

.qc_select:focus {

    border-color: #e07b54;

    outline: none;

}



/* error */

.qc_error {

    border-color: #ff4d4f !important;

}



/* quantity */

.qc_quantity {

    margin-top: 20px;

}



.qc_qty_box {

    display: flex;

    align-items: center;

}



.qc_qty_box button {

    width: 36px;

    height: 36px;

    border: none;

    background: #eee;

    font-size: 18px;

    cursor: pointer;

}



#qc_quantity {

    width: 60px;

    text-align: center;

    border: 1px solid #ddd;

    height: 36px;

}



/* summary */

#qc_summary {

    margin-top: 20px;

    padding: 15px;

    border: 1px solid #eee;

    border-radius: 8px;

}



.qc_summary_row {

    display: flex;

    justify-content: space-between;

    margin-bottom: 8px;

    text-transform: initial;

}



.qc_summary_total {

    display: flex;

    justify-content: space-between;

    font-weight: 700;

    border-top: 1px solid #eee;

    padding-top: 8px;

}



/* promo */

#qc_promo_box {

    display: flex;

    margin-top: 10px;

    border: 2px solid #ff4d4f;

    border-radius: 6px;

    position: relative;

}



#qc_promo_code {

    flex: 1;

    padding: 10px;

    border: 2px solid #ddd;

    border-radius: 6px;

}



#qc_qty_label {

    color: #ff4d4f;

}



#qc_apply_promo {

    position: absolute;

    top: 50%;

    color: #fff;

    transform: translateY(-50%);

    right: 10px;

    padding: 8px 12px;

    border: none;

    background: #ff4d4f;

    cursor: pointer;

    border-radius: 6px;

    font-size: 14px;

    transition: all 0.5s ease-in-out;

}



#qc_apply_promo:hover {

    background: #000;

}



#qc_apply_promo:disabled {

    opacity: .5;

    cursor: not-allowed !important;

}



#qc_submit_btn {

    width: 100%;

    margin-top: 20px;

    height: 46px;

    background: #eb3e32;

    color: white;

    border: none;

    border-radius: 25px;

    font-size: 16px;

    font-weight: 700;

    cursor: pointer;

    transition: all 0.5s ease-in-out;

}

#qc_submit_btn:hover {

    background: #000;

}



#qc_submit_btn:disabled {

    opacity: 0.6;

}



.qc_flex_box {

    display: flex;

    align-items: center;

    gap: 16px;

}



#qc_success_msg,

#qc_error_msg {

    display: none;

    padding: 10px;

    margin-bottom: 10px;

    border-radius: 6px;

}



#qc_success_msg {

    background: #e6fffa;

    border: 1px solid #87e8de;

}



#qc_error_msg {

    background: #fff1f0;

    border: 1px solid #ffa39e;

}

.shake-animation {
    animation: shak 2s cubic-bezier(.36, .07, .19, .97) infinite;
}

@keyframes shak {



    10%,

    90% {

        transform: translate(-1px);

    }



    20%,

    80% {

        transform: translate(2px);

    }



    30%,

    50%,

    70% {

        transform: translate(-2px);

    }



    40%,

    60% {

        transform: translate(2px);

    }

}

#qc_clear_promo {

    position: absolute;

    right: 105px;

    top: 50%;

    transform: translateY(-50%);

    cursor: pointer;

    font-size: 20px;

    color: rgb(153, 153, 153);

}



#qc_applied_discount {

    color: #27ae60;

    font-weight: bold;

}

/* Overlay principal */

.qc-modal-overlay {

    position: fixed;

    inset: 0;

    z-index: 99999;

    display: flex;

    align-items: center;

    justify-content: center;

}



/* Fond sombre avec flou */

.qc-modal-backdrop {

    position: absolute;

    inset: 0;

    background: rgba(0, 0, 0, 0.5);

    backdrop-filter: blur(2px);

}



/* Boîte de dialogue (Modal) */

.qc-modal-content {

    position:relative; 

    top:50%; 

    left:50%; 

    transform:translate(-50%, -50%); 

    width:90%; 

    max-width:500px; 

    background:white; 

    border-radius:12px; 

    padding:24px; 

    box-shadow:0 20px 25px -5px rgba(0,0,0,0.1);

    animation: qcFadeIn 0.3s ease-out;

}



/* Bouton fermer */

.qc-modal-close {

    position: absolute;

    top: 12px;

    right: 12px;

    border: none;

    background: none;

    font-size: 28px;

    line-height: 1;

    color: #9ca3af;

    cursor: pointer;

    transition: color 0.2s;

}

.qc-modal-close:focus {

    outline: none;

}



.qc-modal-close:hover {

    color: #111827;

}



/* Popup promo */

.qc-modal-body {

    text-align: center;

}



.qc-modal-icon {

    margin: 0 auto 16px;

    color: #eb3e32;

    width: 64px;

    height: 64px;

    display: block;

}



.qc-modal-title {

    font-size: 18px;

    font-weight: 600;

    color: #1f2937;

    margin-bottom: 16px;

    margin-top: 0;

}



.qc-modal-alert {

    background: #fffbeb;

    border: 1px solid #fef3c7;

    border-radius: 8px;

    padding: 16px;

    text-align: left;

}



.qc-modal-list {

    margin: 0;

    padding-left: 20px;

    font-size: 14px;

    color: #92400e;

    list-style: disc;

}



.qc-modal-list li {

    margin-bottom: 8px;

}



.qc-modal-list li:last-child {

    margin-bottom: 0;

}



@keyframes qcFadeIn {

    from {

        opacity: 0;

    }

    to {

        opacity: 1;

    }

}
.qc-quickview-wrapper {
    margin: 15px 0;
    text-align: center;
}

.qc-btn-buy-now {
    background-color: #eb3e32 !important;
    color: #fff !important;
    font-weight: bold;
    font-size: 18px;
    width: 100%;
    padding: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: none;
    border-radius: 25px;
    text-decoration: none !important;
    transition: 0.3s;
}

.qc-btn-buy-now:hover {
    background-color: #d12a1f !important;
    transform: scale(1.02);
}