/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Sep 17 2026 | 18:40:18 */
/* ============================================================
   BLOSSOM BLOEMISTERIJ
   SALIENT + WOOCOMMERCE MULTISTEP CHECKOUT
   Modern 2-column checkout design
   ============================================================ */


/* ------------------------------------------------------------
   1. MAIN CHECKOUT AREA
   ------------------------------------------------------------ */
.woocommerce-checkout-review-order-table .product-container {
	padding: 0;
}
.thwmsc-tab-panel {
	padding: 0;
}
.checkout .woocommerce-billing-fields {
	padding-bottom: 0;
}
.thwmsc-mobile-accordion .thwmsc-accordion-label.active {
	color: #fff !important;
	background: #642e91 !important;
}
span.thwmsc-tab-label {
	padding-top: 15px !important;
}
#thwmsc_wrapper {
    max-width: 100% !important;
}

#thwmsc_wrapper .thwmsc-tab-panels {
    background: transparent !important;
}

#thwmsc_wrapper .thwmsc-tab-panel {
    background: transparent !important;
}


/* Main billing content card */

#thwmsc-tab-content-0 {
    background: #ffffff !important;
    border: 1px solid #eee5f5 !important;
    border-radius: 14px !important;
    padding: 32px 36px 35px !important;
    box-shadow: 0 8px 30px rgba(65, 53, 159, 0.06);
}


/* ------------------------------------------------------------
   2. SECTION HEADING
   ------------------------------------------------------------ */

#thwmsc-tab-content-0 .woocommerce-billing-fields > h3,
#thwmsc-tab-content-0 #blossom-address-heading {

    color: #642e91  !important;

    font-size: 22px !important;

    font-weight: 700 !important;

    line-height: 1.3 !important;

    margin: 0 0 24px !important;
}


/* Address heading */

#thwmsc-tab-content-0 #blossom-address-heading {

    border-top: 1px solid #eee8f5;

    padding-top: 28px;

    margin-top: 12px !important;

    margin-bottom: 22px !important;
}


/* ------------------------------------------------------------
   3. BILLING FIELD WRAPPER
   ------------------------------------------------------------ */

#thwmsc-tab-content-0 .woocommerce-billing-fields__field-wrapper {

    display: grid !important;

    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);

    column-gap: 24px;

    row-gap: 0;

    width: 100%;
}


/* ------------------------------------------------------------
   4. DEFAULT FIELD
   ------------------------------------------------------------ */

#thwmsc-tab-content-0 .woocommerce-billing-fields__field-wrapper > .form-row {

    width: 100% !important;

    float: none !important;

    clear: none !important;

    margin: 0 0 20px !important;

    padding: 0 !important;

    box-sizing: border-box;
}


/* ------------------------------------------------------------
   5. FIELD POSITIONS
   ------------------------------------------------------------ */


/* First name / Last name */

#billing_first_name_field {
    grid-column: 1;
}

#billing_last_name_field {
    grid-column: 2;
}


/* Email / Phone */

#billing_email_field {
    grid-column: 1;
}

#billing_phone_field {
    grid-column: 2;
}


/* Customer type / Company */

#billing_customer_type_field {
    grid-column: 1;
}

#billing_company_field {
    grid-column: 2;
}


/* Reference */

#billing_reference_field {
    grid-column: 1 / -1;
}


/* Recipient */

#billing_recipient_name_field {
    grid-column: 1 / -1;
}


/* Country / Street */

#billing_country_field {
    grid-column: 1;
}

#billing_address_1_field {
    grid-column: 2;
}


/* Postcode / City */

#billing_postcode_field {
    grid-column: 1;
}

#billing_city_field {
    grid-column: 2;
}


/* Hidden state */

#billing_state_field {
    display: none !important;
}


/* ------------------------------------------------------------
   6. FIELD LABELS
   Floating / overlapping style
   ------------------------------------------------------------ */

#thwmsc-tab-content-0 .form-row > label {

    position: relative;

    z-index: 3;

    display: table;

    width: auto !important;

    max-width: calc(100% - 20px);

    margin: 0 0 -9px 10px !important;

    padding: 1px 8px 2px !important;

    background: #ffffff;

    border-radius: 20px;

    color: #4b3b82 !important;

    font-size: 12px !important;

    font-weight: 600 !important;

    line-height: 17px !important;

    letter-spacing: 0;

    box-sizing: border-box;
}


/* Required star */

#thwmsc-tab-content-0 .form-row > label .required {

    color: #ec3ca7 !important;

    text-decoration: none !important;
}


/* Optional */

#thwmsc-tab-content-0 .form-row > label .optional {

    color: #8065a3 !important;

    font-weight: 500;
}


/* ------------------------------------------------------------
   7. INPUT WRAPPER
   ------------------------------------------------------------ */

#thwmsc-tab-content-0 .woocommerce-input-wrapper {

    position: relative;

    z-index: 1;

    display: block;

    width: 100%;
}


/* ------------------------------------------------------------
   8. INPUTS
   ------------------------------------------------------------ */

#thwmsc-tab-content-0 input.input-text,
#thwmsc-tab-content-0 input[type="text"],
#thwmsc-tab-content-0 input[type="email"],
#thwmsc-tab-content-0 input[type="tel"],
#thwmsc-tab-content-0 select,
#thwmsc-tab-content-0 textarea {

    width: 100% !important;

    box-sizing: border-box !important;

    background: #ffffff !important;

    border: 1px solid #d9d1e8 !important;

    border-radius: 9px !important;

    color: #333333 !important;

    font-size: 14px !important;

    box-shadow: none !important;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}


/* Normal inputs */

#thwmsc-tab-content-0 input.input-text,
#thwmsc-tab-content-0 input[type="text"],
#thwmsc-tab-content-0 input[type="email"],
#thwmsc-tab-content-0 input[type="tel"] {

    height: 48px !important;

    padding: 12px 14px !important;
}


/* ------------------------------------------------------------
   9. INPUT FOCUS
   ------------------------------------------------------------ */

#thwmsc-tab-content-0 input.input-text:focus,
#thwmsc-tab-content-0 input[type="text"]:focus,
#thwmsc-tab-content-0 input[type="email"]:focus,
#thwmsc-tab-content-0 input[type="tel"]:focus,
#thwmsc-tab-content-0 textarea:focus {

    border-color: #642e91  !important;

    box-shadow: 0 0 0 3px rgba(65, 53, 159, 0.08) !important;

    outline: none !important;
}


/* ------------------------------------------------------------
   10. PLACEHOLDERS
   ------------------------------------------------------------ */

#thwmsc-tab-content-0 input::placeholder,
#thwmsc-tab-content-0 textarea::placeholder {

    color: #a6a1ad !important;

    opacity: 1 !important;
}


/* ------------------------------------------------------------
   11. COUNTRY SELECT
   ------------------------------------------------------------ */


/* Native select */

#thwmsc-tab-content-0 #billing_country {

    height: 48px !important;

    min-height: 48px !important;

    padding: 10px 38px 10px 14px !important;

    border: 1px solid #d9d1e8 !important;

    border-radius: 9px !important;

    background-color: #ffffff !important;

    color: #333333 !important;

    font-size: 14px !important;
}


/* SelectWoo / Select2 visible box */

#thwmsc-tab-content-0 #billing_country_field .select2-container {

    width: 100% !important;

    height: 48px !important;
}


#thwmsc-tab-content-0
#billing_country_field
.select2-container
.select2-selection--single {

    height: 48px !important;

    min-height: 48px !important;

    border: 1px solid #d9d1e8 !important;

    border-radius: 9px !important;

    background: #ffffff !important;

    box-shadow: none !important;
}


#thwmsc-tab-content-0
#billing_country_field
.select2-selection__rendered {

    height: 48px !important;

    line-height: 48px !important;

    padding-left: 14px !important;

    color: #333333 !important;

    font-size: 14px !important;
}


#thwmsc-tab-content-0
#billing_country_field
.select2-selection__arrow {

    height: 48px !important;

    right: 10px !important;
}


/* ------------------------------------------------------------
   12. DATE FIELD
   ------------------------------------------------------------ */

#orddd-lite-checkout-fields {

    grid-column: 1 / -1;

    width: 100%;

    margin-top: 2px;
}


#orddd-lite-checkout-fields #e_deliverydate_field {

    width: 100% !important;

    margin-bottom: 20px !important;
}


#orddd-lite-checkout-fields #e_deliverydate {

    width: 100% !important;

    height: 48px !important;

    padding: 12px 14px !important;

    background: #ffffff !important;

    border: 1px solid #d9d1e8 !important;

    border-radius: 9px !important;

    cursor: pointer !important;
}


/* ------------------------------------------------------------
   13. ORDER NOTES
   ------------------------------------------------------------ */

#thwmsc-tab-content-0 .woocommerce-additional-fields {

    width: 100%;

    margin-top: 4px;

    padding-top: 4px;
}


#thwmsc-tab-content-0 #order_comments_field {

    width: 100% !important;

    margin-bottom: 22px !important;
}


#thwmsc-tab-content-0 #order_comments {

    width: 100% !important;

    min-height: 100px !important;

    padding: 14px !important;

    resize: vertical;

    line-height: 1.5;

    border-radius: 9px !important;

    border: 1px solid #d9d1e8 !important;

    background: #ffffff !important;
}


/* ------------------------------------------------------------
   14. CUSTOMER TYPE
   ------------------------------------------------------------ */

#billing_customer_type_field {

    background: #faf8fd;

    border: 1px solid #eee7f5;

    border-radius: 9px;

    padding: 9px 14px 10px !important;

    min-height: 48px;

    box-sizing: border-box;
}


/* Main "Ik bestel als" label */

#billing_customer_type_field > label:first-child {
	display: block !important;
	margin: 0 0 6px 0 !important;
	padding: 10px 0 0 10px !important;
	background: transparent !important;
	color: #4b3b82 !important;
	font-size: 12px !important;
	font-weight: 600 !important;
}

/* Radio labels */

#billing_customer_type_field label.radio {

    display: inline-flex !important;

    align-items: center;

    margin: 0 20px 0 0 !important;

    padding: 0 !important;

    background: transparent !important;

    color: #555 !important;

    font-size: 13px !important;

    font-weight: 500 !important;
}


/* Radio */

#billing_customer_type_field input[type="radio"] {

    margin-right: 7px !important;

    accent-color: #642e91 ;
}


/* ------------------------------------------------------------
   15. BUTTON
   ------------------------------------------------------------ */

#thwmsc-tab-content-0 .thwmsc-buttons {

    margin-top: 4px;

    padding-top: 4px;
}


#thwmsc-tab-content-0 .thwmsc-buttons .thwmsc-btn {

    min-height: 46px !important;

    padding: 12px 27px !important;

    border: none !important;

    border-radius: 25px !important;

    background: #ec3ca7 !important;

    color: #ffffff !important;

    font-size: 14px !important;

    font-weight: 600 !important;

    line-height: 1.3 !important;

    box-shadow: none !important;

    transition: all .2s ease;
}


#thwmsc-tab-content-0 .thwmsc-buttons .thwmsc-btn:hover {

    background: #642e91 !important;

    transform: translateY(-1px);

    box-shadow: 0 6px 16px rgba(100, 46, 145, .18) !important;
}


/* ------------------------------------------------------------
   16. MULTISTEP PROGRESS
   Keep your existing colours but make it cleaner
   ------------------------------------------------------------ */

#thwmsc_wrapper .thwmsc-layout-time-line ul.thwmsc-tabs {

    margin-bottom: 25px;
}


#thwmsc_wrapper .thwmsc-layout-time-line ul.thwmsc-tabs li a {

    border-top-width: 3px !important;

    background: transparent !important;

    color: #777 !important;
}


#thwmsc_wrapper
.thwmsc-layout-time-line
ul.thwmsc-tabs
li
a.active {

    background: transparent !important;

    color: #642e91  !important;

    border-top-color: #642e91  !important;
}


#thwmsc_wrapper .thwmsc-layout-time-line
ul.thwmsc-tabs
span.thwmsc-index {

    width: 28px !important;

    height: 28px !important;

    line-height: 26px !important;

    border: 1px solid #d9d1e8 !important;

    background: #ffffff !important;

    color: #555 !important;

    font-size: 12px !important;
}


#thwmsc_wrapper .thwmsc-layout-time-line
ul.thwmsc-tabs
li
a.active
span.thwmsc-index {

    border-color: #642e91  !important;

    color: #642e91  !important;
}


/* Progress bar */

#thwmsc_wrapper .thwmsc-progress-bar {

    height: 5px !important;

    border-radius: 10px !important;

    background: #eeeaf3 !important;

    margin-top: 4px;
}


#thwmsc_wrapper .thwmsc-progress-bar .progress-bar {

    height: 5px !important;

    border-radius: 10px !important;

    background: #642e91  !important;
}


/* ------------------------------------------------------------
   17. VALIDATION / ERROR
   ------------------------------------------------------------ */

#thwmsc-tab-content-0
.form-row.woocommerce-invalid
input.input-text,
#thwmsc-tab-content-0
.form-row.woocommerce-invalid
select {

    border-color: #e35b6b !important;

    box-shadow: 0 0 0 3px rgba(227, 91, 107, .07) !important;
}


/* ------------------------------------------------------------
   18. REMOVE OLD WOOCOMMERCE / SALIENT SPACING
   ------------------------------------------------------------ */

#thwmsc-tab-content-0 .form-row {

    padding-left: 0 !important;

    padding-right: 0 !important;
}


/* Prevent Salient from stretching fields */

#thwmsc-tab-content-0 .form-row input,
#thwmsc-tab-content-0 .form-row select,
#thwmsc-tab-content-0 .form-row textarea {

    box-sizing: border-box !important;
}


/* ------------------------------------------------------------
   19. DESKTOP WIDTH
   ------------------------------------------------------------ */

@media only screen and (min-width: 1000px) {

    #thwmsc-tab-content-0 {

        max-width: 100%;

        margin-left: auto;

        margin-right: auto;
    }

}


/* ------------------------------------------------------------
   20. TABLET
   ------------------------------------------------------------ */

@media only screen and (max-width: 900px) and (min-width: 601px) {

    #thwmsc-tab-content-0 {

        padding: 28px 25px !important;
    }

    #thwmsc-tab-content-0
    .woocommerce-billing-fields__field-wrapper {

        column-gap: 18px;
    }

}


/* ------------------------------------------------------------
   21. MOBILE
   ------------------------------------------------------------ */

@media only screen and (max-width: 600px) {

    #thwmsc-tab-content-0 {

        padding: 22px 17px 25px !important;

        border-radius: 10px !important;
    }


    #thwmsc-tab-content-0
    .woocommerce-billing-fields__field-wrapper {

        display: block !important;
    }


    #thwmsc-tab-content-0
    .woocommerce-billing-fields__field-wrapper
    > .form-row {

        width: 100% !important;

        margin-bottom: 17px !important;
    }


    /* Everything full width */

    #billing_first_name_field,
    #billing_last_name_field,
    #billing_email_field,
    #billing_phone_field,
    #billing_customer_type_field,
    #billing_company_field,
    #billing_reference_field,
    #billing_recipient_name_field,
    #billing_country_field,
    #billing_address_1_field,
    #billing_postcode_field,
    #billing_city_field {

        grid-column: auto !important;
    }


    #thwmsc-tab-content-0
    .woocommerce-billing-fields > h3,
    #thwmsc-tab-content-0
    #blossom-address-heading {

        font-size: 20px !important;
    }


    #thwmsc-tab-content-0 .form-row > label {

        font-size: 11px !important;

        margin-left: 8px !important;
    }


    #thwmsc_wrapper
    .thwmsc-layout-time-line
    ul.thwmsc-tabs
    span.thwmsc-tab-label {

        font-size: 11px !important;
    }


    #thwmsc_wrapper
    .thwmsc-layout-time-line
    ul.thwmsc-tabs
    li {

        width: 33.333% !important;
    }

}


/* ------------------------------------------------------------
   22. VERY SMALL MOBILE
   ------------------------------------------------------------ */

@media only screen and (max-width: 400px) {

    #thwmsc-tab-content-0 {

        padding-left: 14px !important;

        padding-right: 14px !important;
    }


    #thwmsc_wrapper
    .thwmsc-layout-time-line
    ul.thwmsc-tabs
    span.thwmsc-tab-label {

        font-size: 10px !important;
    }

}



/* ============================================================
   CHECKOUT – STEPS 1, 2 & 3 FINAL POLISH
   Add AFTER previous checkout CSS
   ============================================================ */


/* ============================================================
   STEP 1 — MORE BREATHING ROOM
   ============================================================ */

#thwmsc-tab-content-0 {
    padding: 38px 42px 42px !important;
}

#thwmsc-tab-content-0 .woocommerce-billing-fields__field-wrapper {
    column-gap: 28px !important;
}

#thwmsc-tab-content-0
.woocommerce-billing-fields__field-wrapper > .form-row {
    margin-bottom: 22px !important;
}


/* ============================================================
   STEP 2 — SHIPPING DETAILS CARD
   ============================================================ */

#thwmsc-tab-content-1 {
    background: #ffffff !important;
    border: 1px solid #eee5f5 !important;
    border-radius: 14px !important;
    padding: 38px 42px 42px !important;
    box-shadow: 0 8px 30px rgba(65, 53, 159, 0.06);
}


/* Heading */

#thwmsc-tab-content-1 .woocommerce-shipping-fields > h3,
#thwmsc-tab-content-1 #ship-to-different-address {
    color: #642e91  !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 0 25px !important;
}


/* Shipping field grid */

#thwmsc-tab-content-1
.woocommerce-shipping-fields__field-wrapper {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 28px;
    row-gap: 0;
    width: 100%;
}


/* Reset old WooCommerce field layout */

#thwmsc-tab-content-1
.woocommerce-shipping-fields__field-wrapper > .form-row {
    width: 100% !important;
    float: none !important;
    clear: none !important;
    margin: 0 0 22px !important;
    padding: 0 !important;
    box-sizing: border-box;
}


/* ------------------------------------------------------------
   STEP 2 FIELD POSITIONS
   ------------------------------------------------------------ */

/* First + last name */

#shipping_first_name_field {
    grid-column: 1;
}

#shipping_last_name_field {
    grid-column: 2;
}


/* Company full width */

#shipping_company_field {
    grid-column: 1 / -1;
}


/* Country / Street */

#shipping_country_field {
    grid-column: 1;
}

#shipping_address_1_field {
    grid-column: 2;
}


/* Postcode / City */

#shipping_postcode_field {
    grid-column: 1;
}

#shipping_city_field {
    grid-column: 2;
}


/* Phone full width */

#shipping_phone_field {
    grid-column: 1 / -1;
}


/* Hide state */

#shipping_state_field {
    display: none !important;
}


/* ============================================================
   STEP 2 LABELS — SAME FLOATING STYLE AS STEP 1
   ============================================================ */

#thwmsc-tab-content-1 .form-row > label {
    position: relative;
    z-index: 3;
    display: table;
    width: auto !important;
    max-width: calc(100% - 20px);
    margin: 0 0 -9px 10px !important;
    padding: 1px 8px 2px !important;

    background: #ffffff;
    border-radius: 20px;

    color: #4b3b82 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 17px !important;

    box-sizing: border-box;
}

#thwmsc-tab-content-1 .form-row > label .required {
    color: #ec3ca7 !important;
}

#thwmsc-tab-content-1 .form-row > label .optional {
    color: #8065a3 !important;
    font-weight: 500 !important;
}


/* ============================================================
   STEP 2 INPUTS
   ============================================================ */

#thwmsc-tab-content-1 .woocommerce-input-wrapper {
    display: block;
    position: relative;
    width: 100%;
}

#thwmsc-tab-content-1 input.input-text,
#thwmsc-tab-content-1 input[type="text"],
#thwmsc-tab-content-1 input[type="tel"],
#thwmsc-tab-content-1 select,
#thwmsc-tab-content-1 textarea {
    width: 100% !important;
    height: 48px !important;
    box-sizing: border-box !important;

    padding: 12px 14px !important;

    background: #ffffff !important;
    border: 1px solid #d9d1e8 !important;
    border-radius: 9px !important;

    color: #333333 !important;
    font-size: 14px !important;

    box-shadow: none !important;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}


/* Focus */

#thwmsc-tab-content-1 input:focus,
#thwmsc-tab-content-1 select:focus,
#thwmsc-tab-content-1 textarea:focus {
    border-color: #642e91  !important;
    box-shadow: 0 0 0 3px rgba(65, 53, 159, 0.08) !important;
    outline: none !important;
}


/* Select2 country */

#thwmsc-tab-content-1 .select2-container {
    width: 100% !important;
}

#thwmsc-tab-content-1
.select2-container
.select2-selection--single {
    height: 48px !important;
    border: 1px solid #d9d1e8 !important;
    border-radius: 9px !important;
    background: #fff !important;
}

#thwmsc-tab-content-1
.select2-selection__rendered {
    line-height: 48px !important;
    padding-left: 14px !important;
}

#thwmsc-tab-content-1
.select2-selection__arrow {
    height: 48px !important;
    right: 10px !important;
}


/* ============================================================
   STEP 2 — SHIP TO DIFFERENT ADDRESS
   ============================================================ */

#thwmsc-tab-content-1 #ship-to-different-address {
    font-size: 15px !important;
}

#thwmsc-tab-content-1
#ship-to-different-address label {
    display: flex !important;
    align-items: center;
    gap: 8px;
}

#thwmsc-tab-content-1
#ship-to-different-address-checkbox {
    accent-color: #642e91 ;
}


/* ============================================================
   STEP 2 — ORDER NOTES
   ============================================================ */

#thwmsc-tab-content-1 .woocommerce-additional-fields {
    margin-top: 8px;
}

#thwmsc-tab-content-1 #order_comments {
    width: 100% !important;
    height: auto !important;
    min-height: 95px !important;

    padding: 14px !important;

    background: #ffffff !important;
    border: 1px solid #d9d1e8 !important;
    border-radius: 9px !important;

    resize: vertical;
}


/* ============================================================
   STEP 3 — ORDER CONFIRMATION CARD
   ============================================================ */

#thwmsc-tab-content-2 {
    background: #ffffff !important;
    border: 1px solid #eee5f5 !important;
    border-radius: 14px !important;

    padding: 38px 42px 42px !important;

    box-shadow: 0 8px 30px rgba(65, 53, 159, 0.06);
}


/* ============================================================
   STEP 3 — PRODUCT BOX
   ============================================================ */

#thwmsc-tab-content-2 .product-container {
    margin-bottom: 24px !important;
}

#thwmsc-tab-content-2 .cart_item {
    display: flex !important;
    align-items: center !important;

    gap: 25px;

    padding: 20px !important;

    background: #faf8fd !important;

    border: 1px solid #eee5f5 !important;
    border-radius: 12px !important;
}


/* Product image */

#thwmsc-tab-content-2 .product-image {
    flex: 0 0 145px;
}

#thwmsc-tab-content-2 .product-image img {
    display: block;
    width: 145px !important;
    height: 145px !important;

    object-fit: cover;

    border-radius: 9px !important;
}


/* Product information */

#thwmsc-tab-content-2 .product-info {
    flex: 1;
}

#thwmsc-tab-content-2 .product-info h4 {
    color: #642e91  !important;
    font-size: 17px !important;
    font-weight: 700 !important;

    margin: 0 0 10px !important;
}

#thwmsc-tab-content-2 .product-info h4 a {
    color: #642e91  !important;
}


/* Variation information */

#thwmsc-tab-content-2 .variation {
    margin: 0 !important;
}

#thwmsc-tab-content-2 .variation dt {
    font-weight: 600 !important;
    color: #555 !important;
}

#thwmsc-tab-content-2 .variation dd {
    margin-bottom: 5px !important;
    color: #777 !important;
}


/* ============================================================
   STEP 3 — ORDER TOTAL TABLE
   ============================================================ */

#thwmsc-tab-content-2 table.order-review {
    width: 100% !important;

    margin: 0 0 25px !important;

    border-collapse: separate !important;
    border-spacing: 0 !important;

    border: 1px solid #eee5f5 !important;
    border-radius: 10px !important;

    overflow: hidden;
}

#thwmsc-tab-content-2 table.order-review th,
#thwmsc-tab-content-2 table.order-review td {
    padding: 14px 16px !important;

    border: 0 !important;
    border-bottom: 1px solid #eee5f5 !important;

    font-size: 14px !important;
}

#thwmsc-tab-content-2 table.order-review th {
    width: 35%;
    color: #4b3b82 !important;
    font-weight: 600 !important;

    background: #faf8fd !important;
}

#thwmsc-tab-content-2 table.order-review tr:last-child th,
#thwmsc-tab-content-2 table.order-review tr:last-child td {
    border-bottom: 0 !important;
}


/* Total */

#thwmsc-tab-content-2 .order-total th,
#thwmsc-tab-content-2 .order-total td {
    font-size: 16px !important;
    font-weight: 700 !important;
}


/* ============================================================
   STEP 3 — SHIPPING METHODS
   ============================================================ */

#thwmsc-tab-content-2 #shipping_method {
    margin: 0 !important;
}

#thwmsc-tab-content-2 #shipping_method li {
    margin: 5px 0 !important;
}

#thwmsc-tab-content-2 #shipping_method input {
    accent-color: #642e91 ;
}


/* ============================================================
   STEP 3 — PAYMENT METHODS
   ============================================================ */

#thwmsc-tab-content-2
.woocommerce-checkout-payment {
    margin-top: 20px !important;

    background: #faf8fd !important;

    border: 1px solid #eee5f5 !important;
    border-radius: 12px !important;

    padding: 20px !important;
}

#thwmsc-tab-content-2
.woocommerce-checkout-payment ul.payment_methods {
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
}

#thwmsc-tab-content-2
.payment_methods li {
    padding: 10px 0 !important;
}

#thwmsc-tab-content-2
.payment_methods input[type="radio"] {
    accent-color: #642e91 ;
}


/* ============================================================
   STEP 3 — PRIVACY / TERMS
   ============================================================ */

#thwmsc-tab-content-2
.woocommerce-privacy-policy-text {
    margin: 20px 0 !important;

    color: #666 !important;

    font-size: 13px !important;
    line-height: 1.7 !important;
}

#thwmsc-tab-content-2
.woocommerce-terms-and-conditions-wrapper {
    margin-top: 18px !important;
}


/* ============================================================
   ALL STEP BUTTONS
   ============================================================ */

#thwmsc_wrapper .thwmsc-buttons {
    margin-top: 14px !important;
}

#thwmsc_wrapper .thwmsc-buttons .thwmsc-btn {
    min-height: 44px !important;

    padding: 11px 25px !important;

    border: 0 !important;
    border-radius: 24px !important;

    background: #ec3ca7 !important;

    color: #ffffff !important;

    font-size: 13px !important;
    font-weight: 600 !important;

    box-shadow: none !important;
}

#thwmsc_wrapper .thwmsc-buttons .thwmsc-btn:hover {
    background: #642e91 !important;
}


/* Place order button */

#thwmsc-tab-content-2 #place_order {
    min-height: 46px !important;

    padding: 12px 28px !important;

    border: 0 !important;
    border-radius: 25px !important;

    background: #ec3ca7 !important;

    color: #ffffff !important;

    font-size: 14px !important;
    font-weight: 600 !important;

    box-shadow: none !important;
}

#thwmsc-tab-content-2 #place_order:hover {
    background: #642e91 !important;
}


/* ============================================================
   MOBILE — ALL STEPS
   ============================================================ */

@media only screen and (max-width: 600px) {

    #thwmsc-tab-content-0,
    #thwmsc-tab-content-1,
    #thwmsc-tab-content-2 {
        padding: 23px 17px 27px !important;
        border-radius: 10px !important;
    }


    /* Step 2 one column */

    #thwmsc-tab-content-1
    .woocommerce-shipping-fields__field-wrapper {
        display: block !important;
    }

    #thwmsc-tab-content-1
    .woocommerce-shipping-fields__field-wrapper > .form-row {
        width: 100% !important;
        margin-bottom: 17px !important;
    }


    /* Step 3 product */

    #thwmsc-tab-content-2 .cart_item {
        align-items: flex-start !important;
        gap: 15px;
        padding: 15px !important;
    }

    #thwmsc-tab-content-2 .product-image {
        flex: 0 0 90px;
    }

    #thwmsc-tab-content-2 .product-image img {
        width: 90px !important;
        height: 90px !important;
    }


    #thwmsc-tab-content-2 .product-info h4 {
        font-size: 15px !important;
    }


    /* Totals */

    #thwmsc-tab-content-2 table.order-review th,
    #thwmsc-tab-content-2 table.order-review td {
        padding: 11px !important;
    }

}

/* ============================================================
   STEP 3 – FINAL COMPACT ADJUSTMENTS
   ============================================================ */


/* ------------------------------------------------------------
   1. PAYMENT METHODS
   Stop Salient/WooCommerce spreading label + icon apart
   ------------------------------------------------------------ */

#thwmsc-tab-content-2
.woocommerce-checkout-payment
.payment_methods li {
    position: relative !important;

    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;

    gap: 8px !important;

    padding: 8px 0 !important;
    margin: 0 !important;
}


/* Radio button */

#thwmsc-tab-content-2
.payment_methods li > input[type="radio"] {
    flex: 0 0 auto !important;
    margin: 0 4px 0 0 !important;
}


/* Payment label */

#thwmsc-tab-content-2
.payment_methods li > label {
    display: inline-flex !important;
    align-items: center !important;

    width: auto !important;

    flex: 0 0 auto !important;

    margin: 0 !important;

    gap: 8px !important;
}


/* Payment logos - keep beside payment name */

#thwmsc-tab-content-2
.payment_methods li > label img {
    position: static !important;

    float: none !important;

    display: inline-block !important;

    width: auto !important;
    max-width: 38px !important;
    max-height: 25px !important;

    margin: 0 0 0 6px !important;

    vertical-align: middle !important;
}


/* ------------------------------------------------------------
   2. MAKE PAYMENT AREA MORE COMPACT
   ------------------------------------------------------------ */

#thwmsc-tab-content-2
.woocommerce-checkout-payment {
    padding: 18px 20px !important;
}


#thwmsc-tab-content-2
.woocommerce-checkout-payment
ul.payment_methods {
    margin: 0 0 10px !important;
    padding: 0 !important;
}


/* Remove unnecessary space after last payment method */

#thwmsc-tab-content-2
.payment_methods li:last-child {
    padding-bottom: 5px !important;
}


/* ------------------------------------------------------------
   3. PRIVACY TEXT – REDUCE SPACE
   ------------------------------------------------------------ */

#thwmsc-tab-content-2
.woocommerce-privacy-policy-text {
    margin: 8px 0 12px !important;

    font-size: 13px !important;
    line-height: 1.6 !important;
}


#thwmsc-tab-content-2
.woocommerce-privacy-policy-text p {
    margin: 0 !important;
}


/* ------------------------------------------------------------
   4. TERMS – LESS SPACE ABOVE/BELOW
   ------------------------------------------------------------ */

#thwmsc-tab-content-2
.woocommerce-terms-and-conditions-wrapper {
    margin: 8px 0 0 !important;
}


#thwmsc-tab-content-2
.woocommerce-terms-and-conditions-wrapper p {
    margin: 0 !important;
}


#thwmsc-tab-content-2
.woocommerce-terms-and-conditions-wrapper
.form-row {
    margin: 0 !important;
    padding: 0 !important;
}


/* Checkbox + text alignment */

#thwmsc-tab-content-2
.woocommerce-terms-and-conditions-checkbox-text {
    line-height: 1.5 !important;
}


#thwmsc-tab-content-2
input[name="terms"] {
    margin-right: 8px !important;
    accent-color: #642e91 ;
}


/* ------------------------------------------------------------
   5. MOVE "PLAATS BESTELLING" TO LEFT
   ------------------------------------------------------------ */

#thwmsc-tab-content-2
#payment
.form-row.place-order {
    display: flex !important;

    flex-direction: column !important;
    align-items: flex-start !important;

    width: 100% !important;

    margin: 14px 0 0 !important;
    padding: 0 !important;
}


/* Place order button */

#thwmsc-tab-content-2 #place_order {
    float: none !important;

    align-self: flex-start !important;

    margin: 14px 0 0 !important;

    min-width: 165px !important;
}


/* ------------------------------------------------------------
   6. REMOVE SALIENT FLOAT/CLEAR BEHAVIOUR
   ------------------------------------------------------------ */

#thwmsc-tab-content-2
#payment
.place-order:before,
#thwmsc-tab-content-2
#payment
.place-order:after {
    display: none !important;
    content: none !important;
}

/* ============================================================
   BLOSSOM CHECKOUT – FINAL RESPONSIVE RULES
   Add at the VERY BOTTOM of all checkout CSS
   ============================================================ */


/* ============================================================
   TABLET
   601px – 900px
   ============================================================ */

@media only screen and (min-width: 601px) and (max-width: 900px) {

    /* Cards */

    #thwmsc-tab-content-0,
    #thwmsc-tab-content-1,
    #thwmsc-tab-content-2 {
        padding: 30px 28px 34px !important;
    }


    /* Reduce two-column gap */

    #thwmsc-tab-content-0
    .woocommerce-billing-fields__field-wrapper,

    #thwmsc-tab-content-1
    .woocommerce-shipping-fields__field-wrapper {
        column-gap: 18px !important;
    }


    /* Slightly smaller headings */

    #thwmsc-tab-content-0 h3,
    #thwmsc-tab-content-1 h3 {
        font-size: 20px !important;
    }


    /* Step 3 product image */

    #thwmsc-tab-content-2 .product-image {
        flex: 0 0 120px !important;
    }

    #thwmsc-tab-content-2 .product-image img {
        width: 120px !important;
        height: 120px !important;
    }

}


/* ============================================================
   MOBILE
   600px AND BELOW
   ============================================================ */

@media only screen and (max-width: 600px) {

    /* --------------------------------------------------------
       ALL STEP CARDS
       -------------------------------------------------------- */

    #thwmsc-tab-content-0,
    #thwmsc-tab-content-1,
    #thwmsc-tab-content-2 {
        padding: 22px 16px 26px !important;

        border-radius: 10px !important;

        box-shadow: 0 5px 20px rgba(65, 53, 159, 0.05) !important;
    }


    /* --------------------------------------------------------
       STEP 1 – ONE COLUMN
       -------------------------------------------------------- */

    #thwmsc-tab-content-0
    .woocommerce-billing-fields__field-wrapper {
        display: block !important;
    }


    #thwmsc-tab-content-0
    .woocommerce-billing-fields__field-wrapper > .form-row {
        display: block !important;

        width: 100% !important;

        float: none !important;
        clear: both !important;

        margin: 0 0 18px !important;
    }


    /* Force all billing fields full width */

    #billing_first_name_field,
    #billing_last_name_field,
    #billing_email_field,
    #billing_phone_field,
    #billing_customer_type_field,
    #billing_company_field,
    #billing_reference_field,
    #billing_recipient_name_field,
    #billing_country_field,
    #billing_address_1_field,
    #billing_postcode_field,
    #billing_city_field {
        grid-column: auto !important;
        width: 100% !important;
    }


    /* --------------------------------------------------------
       STEP 2 – ONE COLUMN
       -------------------------------------------------------- */

    #thwmsc-tab-content-1
    .woocommerce-shipping-fields__field-wrapper {
        display: block !important;
    }


    #thwmsc-tab-content-1
    .woocommerce-shipping-fields__field-wrapper > .form-row {
        display: block !important;

        width: 100% !important;

        float: none !important;
        clear: both !important;

        margin: 0 0 18px !important;
    }


    /* --------------------------------------------------------
       INPUTS
       -------------------------------------------------------- */

    #thwmsc-tab-content-0 input.input-text,
    #thwmsc-tab-content-0 select,

    #thwmsc-tab-content-1 input.input-text,
    #thwmsc-tab-content-1 select {
        width: 100% !important;

        min-width: 0 !important;

        height: 48px !important;

        font-size: 16px !important;
    }


    /*
     * 16px is intentional.
     * It helps prevent unwanted input zoom on iPhone/iOS.
     */


    /* Floating labels */

    #thwmsc-tab-content-0 .form-row > label,
    #thwmsc-tab-content-1 .form-row > label {
        font-size: 11px !important;

        margin-left: 8px !important;
    }


    /* --------------------------------------------------------
       CUSTOMER TYPE
       -------------------------------------------------------- */

    #billing_customer_type_field {
        min-height: auto !important;

        padding: 12px 14px !important;
    }


    #billing_customer_type_field label.radio {
        margin-right: 14px !important;
    }


    /* --------------------------------------------------------
       ORDER NOTES
       -------------------------------------------------------- */

    #order_comments {
        min-height: 90px !important;
    }


    /* ========================================================
       STEP 3 – PRODUCT
       ======================================================== */

    #thwmsc-tab-content-2 .cart_item {
        display: flex !important;

        align-items: flex-start !important;

        gap: 14px !important;

        padding: 14px !important;
    }


    #thwmsc-tab-content-2 .product-image {
        flex: 0 0 80px !important;
    }


    #thwmsc-tab-content-2 .product-image img {
        width: 80px !important;
        height: 80px !important;

        object-fit: cover !important;
    }


    #thwmsc-tab-content-2 .product-info {
        min-width: 0 !important;
    }


    #thwmsc-tab-content-2 .product-info h4 {
        font-size: 14px !important;
        line-height: 1.4 !important;
    }


    #thwmsc-tab-content-2 .variation {
        font-size: 12px !important;
        line-height: 1.5 !important;
    }


    /* ========================================================
       STEP 3 – TOTALS TABLE
       ======================================================== */

    #thwmsc-tab-content-2 table.order-review {
        table-layout: auto !important;
    }


    #thwmsc-tab-content-2 table.order-review th {
        width: 32% !important;
    }


    #thwmsc-tab-content-2 table.order-review th,
    #thwmsc-tab-content-2 table.order-review td {
        padding: 11px 10px !important;

        font-size: 12px !important;

        vertical-align: top !important;
    }


    /* ========================================================
       STEP 3 – PAYMENT
       ======================================================== */

    #thwmsc-tab-content-2
    .woocommerce-checkout-payment {
        padding: 15px !important;
    }


    #thwmsc-tab-content-2
    .payment_methods li {
        padding: 8px 0 !important;
    }


    /* Keep payment name + icon together */

    #thwmsc-tab-content-2
    .payment_methods li > label {
        display: inline-flex !important;

        width: auto !important;

        align-items: center !important;

        gap: 6px !important;
    }


    #thwmsc-tab-content-2
    .payment_methods li > label img {
        position: static !important;

        float: none !important;

        max-width: 34px !important;
        max-height: 24px !important;

        margin-left: 4px !important;
    }


    /* --------------------------------------------------------
       PRIVACY
       -------------------------------------------------------- */

    #thwmsc-tab-content-2
    .woocommerce-privacy-policy-text {
        margin: 8px 0 12px !important;

        font-size: 12px !important;

        line-height: 1.6 !important;
    }


    /* --------------------------------------------------------
       TERMS
       -------------------------------------------------------- */

    #thwmsc-tab-content-2
    .woocommerce-terms-and-conditions-wrapper {
        margin-top: 8px !important;
    }


    #thwmsc-tab-content-2
    .woocommerce-terms-and-conditions-checkbox-text {
        font-size: 13px !important;

        line-height: 1.5 !important;
    }


    /* --------------------------------------------------------
       PLACE ORDER
       -------------------------------------------------------- */

    #thwmsc-tab-content-2
    #payment
    .form-row.place-order {
        display: block !important;

        width: 100% !important;

        margin-top: 15px !important;
    }


    #thwmsc-tab-content-2 #place_order {
        float: none !important;

        width: 100% !important;

        max-width: none !important;

        margin: 12px 0 0 !important;
    }


    /* --------------------------------------------------------
       PREVIOUS / NEXT
       -------------------------------------------------------- */

    #thwmsc_wrapper .thwmsc-buttons {
        margin-top: 15px !important;
    }


    #thwmsc_wrapper
    .thwmsc-buttons
    .thwmsc-btn {
        min-height: 44px !important;

        padding: 11px 20px !important;
    }

}


/* ============================================================
   VERY SMALL PHONES
   400px AND BELOW
   ============================================================ */

@media only screen and (max-width: 400px) {

    #thwmsc-tab-content-0,
    #thwmsc-tab-content-1,
    #thwmsc-tab-content-2 {
        padding: 19px 13px 23px !important;
    }


    /* Smaller product image */

    #thwmsc-tab-content-2 .product-image {
        flex-basis: 70px !important;
    }

    #thwmsc-tab-content-2 .product-image img {
        width: 70px !important;
        height: 70px !important;
    }


    /* Progress labels */

    #thwmsc_wrapper
    .thwmsc-layout-time-line
    ul.thwmsc-tabs
    span.thwmsc-tab-label {
        font-size: 10px !important;
    }

}

/* ============================================================
   FACTUURADRES – FULL WIDTH ROW
   ============================================================ */

#thwmsc-tab-content-0 #blossom-address-heading {
    grid-column: 1 / -1 !important;
    width: 100% !important;

    margin: 8px 0 24px !important;
    padding: 24px 0 0 !important;

    border-top: 1px solid #eee5f5 !important;

    color: #642e91  !important;
    font-size: 22px !important;
    font-weight: 700 !important;
}


/* Country starts new row on LEFT */

#billing_country_field {
    grid-column: 1 !important;
}


/* Street on RIGHT */

#billing_address_1_field {
    grid-column: 2 !important;
}