/* =========================================================
   WOOCOMMERCE - CHECKOUT
   VERSION COMPACTE NETTOYÉE
   ========================================================= */

body.woocommerce-checkout .woocommerce {
    width: min(1180px, calc(100% - 40px)) !important;
    max-width: 1180px !important;
    margin: 45px auto 80px !important;
    color: var(--text-sub) !important;
}

/* CODE PROMO / MESSAGES */

body.woocommerce-checkout .woocommerce-form-coupon-toggle {
    margin-bottom: 25px !important;
}

body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .woocommerce-message {
    margin: 0 !important;
    padding: 14px 18px !important;
    color: #999 !important;
    background: #171717 !important;
    border: 1px solid #292929 !important;
    border-top: 1px solid var(--accent) !important;
    border-radius: 3px !important;
}

body.woocommerce-checkout .woocommerce-info::before {
    display: none !important;
    content: none !important;
}

body.woocommerce-checkout .woocommerce-error::before,
body.woocommerce-checkout .woocommerce-message::before {
    color: var(--accent) !important;
}

body.woocommerce-checkout .woocommerce-info a {
    color: var(--accent) !important;
    text-decoration: none;
}

/* STRUCTURE PRINCIPALE */

body.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.55fr) minmax(350px, 0.85fr) !important;
    grid-template-areas:
        "customer heading"
        "customer review";
    column-gap: 35px !important;
    row-gap: 0 !important;
    align-items: start !important;
}

body.woocommerce-checkout #customer_details {
    grid-area: customer;
    display: block !important;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
}

body.woocommerce-checkout #order_review_heading {
    grid-area: heading;
    width: 100% !important;
    float: none !important;
    align-self: start !important;
    margin: 0 0 14px !important;
    padding: 0 0 12px !important;
    color: var(--text-main) !important;
    background: transparent !important;
    border: none !important;
    border-bottom: 1px solid var(--border) !important;
    font-family: var(--font-display) !important;
    font-size: 1.45rem !important;
    font-weight: 400 !important;
}

body.woocommerce-checkout #order_review {
    grid-area: review;
    width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    align-self: start !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 20px !important;
    background: #171717 !important;
    border: 1px solid #292929 !important;
    border-radius: 4px !important;
}

/* BLOCS FACTURATION / INFORMATIONS */

body.woocommerce-checkout .woocommerce-billing-fields,
body.woocommerce-checkout .woocommerce-additional-fields {
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 24px !important;
    background: #171717 !important;
    border: 1px solid #292929 !important;
    border-radius: 4px !important;
}

body.woocommerce-checkout .woocommerce-additional-fields {
    margin-top: 18px !important;
}

body.woocommerce-checkout .woocommerce-billing-fields > h3,
body.woocommerce-checkout .woocommerce-additional-fields > h3 {
    margin: 0 0 18px !important;
    padding: 0 0 12px !important;
    color: var(--text-main) !important;
    border-bottom: 1px solid #555 !important;
    font-family: var(--font-display) !important;
    font-size: 1.45rem !important;
    font-weight: 400 !important;
}

/* FORMULAIRE */

body.woocommerce-checkout .form-row {
    margin: 0 0 12px !important;
    padding: 0 !important;
}

body.woocommerce-checkout .form-row label {
    margin: 0 0 5px !important;
    color: #999 !important;
    font-size: 11px !important;
    font-weight: 400 !important;
}

body.woocommerce-checkout .required,
body.woocommerce-checkout .form-row .required {
    color: var(--accent) !important;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout textarea,
body.woocommerce-checkout select,
body.woocommerce-checkout .select2-container--default .select2-selection--single {
    width: 100% !important;
    box-sizing: border-box !important;
    min-height: 39px !important;
    height: 39px !important;
    padding: 8px 11px !important;
    color: #ddd !important;
    background: #0d0d0d !important;
    border: 1px solid #303030 !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    outline: none !important;
}

body.woocommerce-checkout textarea {
    min-height: 75px !important;
    height: 75px !important;
    resize: vertical;
}

body.woocommerce-checkout input.input-text:focus,
body.woocommerce-checkout textarea:focus,
body.woocommerce-checkout select:focus,
body.woocommerce-checkout .select2-container--default .select2-selection--single:focus {
    border-color: var(--accent) !important;
    outline: none !important;
}

body.woocommerce-checkout input::placeholder,
body.woocommerce-checkout textarea::placeholder {
    color: #666 !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #ddd !important;
    line-height: 21px !important;
}

body.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 37px !important;
}

/* PRÉNOM + NOM */

body.woocommerce-checkout #billing_first_name_field,
body.woocommerce-checkout #billing_last_name_field {
    width: 48.5% !important;
}

body.woocommerce-checkout #billing_first_name_field {
    float: left !important;
}

body.woocommerce-checkout #billing_last_name_field {
    float: right !important;
}

/* TABLEAU COMMANDE */

body.woocommerce-checkout table.shop_table {
    width: 100% !important;
    margin: 0 0 18px !important;
    background: transparent !important;
    border: 1px solid #292929 !important;
    border-collapse: collapse !important;
    border-radius: 0 !important;
}

body.woocommerce-checkout #order_review table.shop_table th,
body.woocommerce-checkout #order_review table.shop_table td {
    padding: 10px 9px !important;
    color: #aaa !important;
    background: transparent !important;
    border-color: #303030 !important;
    font-size: 13px !important;
}

body.woocommerce-checkout #order_review table.shop_table th {
    color: var(--accent) !important;
    font-size: 10px !important;
    font-weight: 500 !important;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

body.woocommerce-checkout .order-total strong,
body.woocommerce-checkout .order-total .amount,
body.woocommerce-checkout table.shop_table .order-total strong,
body.woocommerce-checkout table.shop_table .order-total .amount {
    color: var(--accent) !important;
}

/* PAIEMENT */

body.woocommerce-checkout #payment {
    margin-top: 20px;
    background: #111 !important;
    border: 1px solid #292929 !important;
    border-radius: 3px !important;
}

body.woocommerce-checkout #payment ul.payment_methods {
    padding: 15px !important;
    border-bottom: 1px solid #292929 !important;
}

body.woocommerce-checkout #payment .payment_box {
    color: #999 !important;
    background: #181818 !important;
}

body.woocommerce-checkout #payment .payment_box::before {
    border-bottom-color: #181818 !important;
}

body.woocommerce-checkout #payment .woocommerce-info,
body.woocommerce-checkout #payment .woocommerce-error,
body.woocommerce-checkout #payment .woocommerce-message {
    margin: 0 !important;
    padding: 14px !important;
    font-size: 0.78rem !important;
    line-height: 1.6 !important;
}

/* CONFIDENTIALITÉ */

body.woocommerce-checkout .woocommerce-privacy-policy-text {
    color: var(--text-muted);
    font-size: 0.72rem !important;
    line-height: 1.55 !important;
}

body.woocommerce-checkout .woocommerce-privacy-policy-text a {
    color: var(--accent);
}

/* BOUTON COMMANDER */

body.woocommerce-checkout #place_order,
body.woocommerce-checkout #place_order:hover,
body.woocommerce-checkout #place_order:focus,
body.woocommerce-checkout #place_order:active {
    width: 100% !important;
    padding: 13px 18px !important;
    color: #090909 !important;
    background: var(--accent) !important;
    border: 1px solid var(--accent) !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    outline: none !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

body.woocommerce-checkout #place_order:hover {
    background: var(--text-main) !important;
    border-color: var(--text-main) !important;
}

/* RESPONSIVE */

@media (max-width: 850px) {
    body.woocommerce-checkout form.checkout {
        display: block !important;
    }

    body.woocommerce-checkout #customer_details,
    body.woocommerce-checkout #order_review_heading,
    body.woocommerce-checkout #order_review {
        width: 100% !important;
    }

    body.woocommerce-checkout #order_review_heading {
        margin-top: 25px !important;
    }
}

@media (max-width: 550px) {
    body.woocommerce-checkout .woocommerce {
        width: calc(100% - 28px) !important;
        margin-top: 30px !important;
    }

    body.woocommerce-checkout #billing_first_name_field,
    body.woocommerce-checkout #billing_last_name_field {
        width: 100% !important;
        float: none !important;
    }

    body.woocommerce-checkout .woocommerce-billing-fields,
    body.woocommerce-checkout .woocommerce-additional-fields,
    body.woocommerce-checkout #order_review {
        padding: 17px !important;
    }
}

@media (min-width: 851px) {
    body.woocommerce-checkout input.input-text,
    body.woocommerce-checkout select,
    body.woocommerce-checkout .select2-container--default .select2-selection--single {
        min-height: 37px !important;
        height: 37px !important;
    }
}