.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-183 .elementor-element.elementor-element-cd876d9{--display:flex;}/* Start custom CSS for text-editor, class: .elementor-element-63d54832 *//* ═══════════════════════════════════════════════════════════
   AZUREOPS — WOOCOMMERCE CHECKOUT
   Complete checkout stylesheet
   ═══════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════
   FONTS
   ═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');


/* ═══════════════════════════════════════════════════════════
   CHECKOUT PAGE
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout {
    font-family: 'DM Sans', sans-serif;
    color: #1a2340;

    background:
        radial-gradient(
            1200px 400px at 50% -80px,
            rgba(0,120,212,.06),
            transparent 60%
        ),
        #f4f7fb;
}


/* ═══════════════════════════════════════════════════════════
   PAGE TITLE
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout .entry-title,
.woocommerce-cart-form ~ .entry-title,
h1.entry-title {
    max-width: 1120px;
    margin: 0 auto;
    padding: 32px 20px 16px;

    font-family: 'Sora', sans-serif;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: -.5px;

    color: #0a1628;

    border-bottom: none !important;
}


/* Remove theme header rules */

.woocommerce-checkout .entry-header,
.woocommerce-checkout header.entry-header,
.woocommerce-checkout .page-header,
.woocommerce-checkout .woocommerce-products-header {
    border-bottom: none !important;
    box-shadow: none !important;
}


.woocommerce-checkout .entry-title + hr,
.woocommerce-checkout .entry-header + hr,
.woocommerce-checkout h1.entry-title ~ hr {
    display: none !important;
}


.woocommerce-checkout .entry-title + p,
.woocommerce-checkout-review-order-before-subtitle {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0 20px 18px;

    font-family: 'DM Sans', sans-serif;
    font-size: 14px;
    color: #5a6a84;
}


/* ═══════════════════════════════════════════════════════════
   MAIN CHECKOUT FORM
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout form.checkout {
    max-width: 1120px;
    margin: 0 auto;
    padding: 28px 20px 60px;

    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: 28px;

    align-items: start;
}


/* ═══════════════════════════════════════════════════════════
   SUCCESS / GENERAL WOOCOMMERCE NOTICES
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-error {
    box-sizing: border-box !important;

    max-width: 1120px !important;
    margin: 0 auto 18px !important;

    font-family: 'DM Sans', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;

    color: #1a2340 !important;

    background: #fff !important;

    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;

    border-radius: 0 !important;

    padding: 13px 20px !important;

    box-shadow: none !important;
}


/* Successful removed-product message */

.woocommerce-checkout .woocommerce-message {
    border-top: 2px solid #0f9d58 !important;
}


/* Error */

.woocommerce-checkout .woocommerce-error {
    border-top: 2px solid #d93025 !important;
}


/* Success icon */

.woocommerce-checkout .woocommerce-message::before {
    content: "✓" !important;

    position: static !important;

    display: inline-block !important;

    margin-right: 8px !important;

    font-family: Arial, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;

    color: #0f9d58 !important;
}


/* Error icon */

.woocommerce-checkout .woocommerce-error::before {
    position: static !important;
}


/* Notice links */

.woocommerce-checkout .woocommerce-message a,
.woocommerce-checkout .woocommerce-error a {
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}


/* Normal message links */

.woocommerce-checkout .woocommerce-message a {
    color: #0078d4 !important;
}


/* Undo link */

.woocommerce-checkout .woocommerce-message a[href*="undo_item"] {
    color: #d93025 !important;
    font-weight: 600 !important;
}


.woocommerce-checkout .woocommerce-message a:hover,
.woocommerce-checkout .woocommerce-error a:hover {
    text-decoration: underline !important;
}


/* ═══════════════════════════════════════════════════════════
   RETURNING CUSTOMER LOGIN
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout .woocommerce-form-login-toggle {
    width: 100%;
    max-width: 1120px;

    margin: 0 auto 18px;
}


.woocommerce-checkout .woocommerce-form-login-toggle
.woocommerce-info {
    box-sizing: border-box !important;

    width: 100% !important;
    max-width: none !important;

    background: transparent !important;

    border-top: 2px solid #0078d4 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;

    border-radius: 0 !important;

    padding: 14px 20px !important;
    margin: 0 !important;

    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.5 !important;

    color: #1a2340 !important;
}


/* Hide WooCommerce info icon */

.woocommerce-checkout .woocommerce-form-login-toggle
.woocommerce-info::before {
    display: none !important;
}


.woocommerce-checkout .woocommerce-form-login-toggle
a {
    color: #0078d4 !important;

    font-family: 'DM Sans', sans-serif !important;
    font-weight: 600 !important;

    text-decoration: none !important;
}


.woocommerce-checkout .woocommerce-form-login-toggle
a:hover {
    text-decoration: underline !important;
}


/* Login form */

.woocommerce-checkout .woocommerce-form-login {
    width: 100%;
    max-width: 1120px;

    box-sizing: border-box;

    background: #fff;

    border: 1px solid #c9d3e2;
    border-radius: 14px;

    padding: 22px;
    margin: 0 auto 24px;

    box-shadow:
        0 1px 2px rgba(10,22,40,.06),
        0 14px 34px rgba(10,22,40,.08);
}


.woocommerce-checkout .woocommerce-form-login .form-row {
    margin-bottom: 14px;
}


.woocommerce-checkout .woocommerce-form-login .form-row:last-child {
    margin-bottom: 0;
}


.woocommerce-checkout .woocommerce-form-login label {
    display: block;

    margin-bottom: 6px;

    font-family: 'DM Sans', sans-serif;
    font-size: 12.5px;
    font-weight: 600;

    color: #5a6a84;
}


.woocommerce-checkout .woocommerce-form-login
.input-text {
    width: 100%;
    height: 44px;

    box-sizing: border-box;

    border: 1.5px solid #c9d3e2;
    border-radius: 9px;

    padding: 10px 14px;

    font-family: 'DM Sans', sans-serif;
    font-size: 14px;

    background: #fbfcfe;
    color: #1a2340;
}


.woocommerce-checkout .woocommerce-form-login
.input-text:focus {
    outline: none;

    border-color: #0078d4;

    background: #fff;

    box-shadow: 0 0 0 4px rgba(0,120,212,.10);
}


.woocommerce-checkout .woocommerce-form-login
button.button {
    height: 44px;

    background: #0078d4 !important;
    color: #fff !important;

    border: none !important;
    border-radius: 8px !important;

    padding: 0 22px !important;

    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}


.woocommerce-checkout .woocommerce-form-login
.woocommerce-form-login__rememberme {
    font-size: 12px;
    color: #5a6a84;
}


.woocommerce-checkout .woocommerce-form-login
.lost_password a {
    color: #0078d4;

    font-size: 12.5px;
    font-weight: 600;

    text-decoration: none;
}


/* ═══════════════════════════════════════════════════════════
   COUPON TOGGLE
   IMPORTANT:
   Do NOT set display on form.checkout_coupon.
   WooCommerce controls its visibility.
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout .woocommerce-form-coupon-toggle {
    width: 100%;
    max-width: 1120px;

    margin: 0 auto 18px;
}


.woocommerce-checkout .woocommerce-form-coupon-toggle
.woocommerce-info {
    box-sizing: border-box !important;

    width: 100% !important;
    max-width: none !important;

    background: transparent !important;

    border-top: 2px solid #0078d4 !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;

    border-radius: 0 !important;

    padding: 14px 20px !important;
    margin: 0 !important;

    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    line-height: 1.5 !important;

    color: #1a2340 !important;
}


/* Hide WooCommerce info icon */

.woocommerce-checkout .woocommerce-form-coupon-toggle
.woocommerce-info::before {
    display: none !important;
}


.woocommerce-checkout .woocommerce-form-coupon-toggle
.woocommerce-info a {
    color: #0078d4 !important;

    font-family: 'DM Sans', sans-serif !important;
    font-weight: 600 !important;

    text-decoration: none !important;
}


.woocommerce-checkout .woocommerce-form-coupon-toggle
.woocommerce-info a:hover {
    text-decoration: underline !important;
}


/* ═══════════════════════════════════════════════════════════
   COUPON FORM
   IMPORTANT:
   There is intentionally NO display:flex/display:block rule
   on form.checkout_coupon.

   WooCommerce hides this form initially and reveals it when
   "Click here to enter your code" is clicked.
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout form.checkout_coupon {
    width: 100% !important;
    max-width: 1120px !important;

    box-sizing: border-box !important;

    background: #fff !important;

    border: 1px solid #c9d3e2 !important;
    border-radius: 14px !important;

    padding: 18px 20px !important;

    margin: 0 auto 24px !important;

    box-shadow:
        0 1px 2px rgba(10,22,40,.06),
        0 14px 34px rgba(10,22,40,.08) !important;
}


/*
   Reset WooCommerce floating behavior.

   inline-block is used only on the internal rows.
   The parent form remains controlled by WooCommerce.
*/

.woocommerce-checkout form.checkout_coupon
.form-row-first,
.woocommerce-checkout form.checkout_coupon
.form-row-last {
    box-sizing: border-box !important;

    float: none !important;
    clear: none !important;

    display: inline-block !important;

    vertical-align: middle !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
}


/* Coupon input column */

.woocommerce-checkout form.checkout_coupon
.form-row-first {
    width: calc(100% - 151px) !important;

    padding-right: 10px !important;
}


/* Coupon button column */

.woocommerce-checkout form.checkout_coupon
.form-row-last {
    width: 147px !important;
}


/* Input */

.woocommerce-checkout form.checkout_coupon
input.input-text {
    display: block !important;

    width: 100% !important;
    height: 44px !important;

    box-sizing: border-box !important;

    border: 1.5px solid #c9d3e2 !important;
    border-radius: 8px !important;

    padding: 10px 13px !important;

    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;

    color: #1a2340 !important;

    background: #fff !important;
}


.woocommerce-checkout form.checkout_coupon
input.input-text:focus {
    outline: none !important;

    border-color: #0078d4 !important;

    box-shadow: 0 0 0 4px rgba(0,120,212,.10) !important;
}


/* Apply Coupon */

.woocommerce-checkout form.checkout_coupon
button.button {
    display: block !important;

    width: 100% !important;
    height: 44px !important;

    box-sizing: border-box !important;

    margin: 0 !important;
    padding: 0 16px !important;

    background: #0078d4 !important;
    color: #fff !important;

    border: none !important;
    border-radius: 8px !important;

    font-family: 'DM Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;

    line-height: 44px !important;

    cursor: pointer !important;

    transition:
        background .15s ease,
        transform .15s ease !important;
}


.woocommerce-checkout form.checkout_coupon
button.button:hover {
    background: #006bbd !important;

    transform: translateY(-1px) !important;
}


/* Remove paragraph spacing */

.woocommerce-checkout form.checkout_coupon p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}


/* Clear floats without controlling visibility */

.woocommerce-checkout form.checkout_coupon::after {
    content: "";
    display: table;
    clear: both;
}


/* ═══════════════════════════════════════════════════════════
   DELIVERY DETAILS — LEFT COLUMN
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout form.checkout > .col2-set {
    grid-column: 1;
    grid-row: 1 / span 2;

    width: 100%;

    float: none;

    margin: 0;
    padding: 0;

    display: block;
}


.woocommerce-checkout .col2-set .col-1,
.woocommerce-checkout .col2-set .col-2 {
    width: 100%;

    float: none;

    margin: 0;
    padding: 0;
}


/* Billing card */

.woocommerce-checkout .woocommerce-billing-fields {
    background: #fff !important;

    border: 1.5px solid #c9d3e2 !important;
    border-radius: 16px;

    padding: 28px 28px 24px;

    margin: 0 0 20px;

    box-shadow:
        0 1px 2px rgba(10,22,40,.05),
        0 18px 40px rgba(10,22,40,.07);
}


/* ═══════════════════════════════════════════════════════════
   DELIVERY / ORDER HEADINGS
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout .woocommerce-billing-fields h3 {
    display: flex;

    align-items: center;

    gap: 10px;

    font-family: 'Sora', sans-serif;

    font-size: 17px;
    font-weight: 700;

    color: #0a1628;

    letter-spacing: -.2px;

    margin: 0 0 22px;
    padding-bottom: 16px;

    border-bottom: 1px solid #eef1f6;
}


/* Delivery number */

.woocommerce-checkout .woocommerce-billing-fields h3::before {
    content: "1";

    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 24px;
    height: 24px;

    flex: 0 0 24px;

    border-radius: 50%;

    background: linear-gradient(135deg, #0078d4, #00b4d8);

    color: #fff;

    font-size: 12px;
    font-weight: 700;
}


/* Order number */

.woocommerce-checkout form.checkout >
#order_review_heading::before {
    content: "2";

    display: inline-flex;

    align-items: center;
    justify-content: center;

    width: 24px;
    height: 24px;

    flex: 0 0 24px;

    border-radius: 50%;

    margin-right: 10px;

    background: linear-gradient(135deg, #0078d4, #00b4d8);

    color: #fff;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 0;

    vertical-align: middle;
}


/* ═══════════════════════════════════════════════════════════
   FORM FIELDS
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout .form-row {
    margin-bottom: 16px;
}


.woocommerce-checkout .form-row label {
    display: block;

    font-family: 'DM Sans', sans-serif;

    font-size: 12.5px;
    font-weight: 600;

    color: #5a6a84;

    margin-bottom: 6px;
}


.woocommerce-checkout .form-row .required {
    color: #0078d4;

    text-decoration: none;
}


.woocommerce-checkout input.input-text,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    width: 100%;

    box-sizing: border-box;

    border: 1.5px solid #c9d3e2;

    border-radius: 9px;

    padding: 12px 14px;

    font-family: 'DM Sans', sans-serif;

    font-size: 14px;

    color: #1a2340;

    background: #fbfcfe;

    transition:
        border-color .15s ease,
        box-shadow .15s ease,
        background .15s ease;
}


.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    outline: none;

    border-color: #0078d4;

    background: #fff;

    box-shadow: 0 0 0 4px rgba(0,120,212,.10);
}


.woocommerce-checkout select {
    min-height: 46px;
}


.woocommerce-checkout textarea {
    min-height: 100px;

    resize: vertical;
}


/* First / Last name */

.woocommerce-checkout .form-row-first,
.woocommerce-checkout .form-row-last {
    width: 48%;
}


.woocommerce-checkout .form-row-first {
    float: left;
}


.woocommerce-checkout .form-row-last {
    float: right;
}


.woocommerce-checkout .form-row-wide {
    width: 100%;
}


.woocommerce-checkout .form-row::after {
    content: "";

    display: table;

    clear: both;
}


/* ═══════════════════════════════════════════════════════════
   CREATE ACCOUNT / NEW CUSTOMER
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout .woocommerce-account-fields {
    margin-top: 8px !important;

    padding-top: 16px !important;

    border-top: 1px solid #eef1f6 !important;
}


.woocommerce-checkout .woocommerce-account-fields
.create-account {
    margin: 0 !important;
}


.woocommerce-checkout .woocommerce-account-fields
.create-account label {
    display: flex !important;

    align-items: flex-start !important;

    gap: 8px !important;

    font-family: 'DM Sans', sans-serif !important;

    font-size: 13px !important;
    font-weight: 600 !important;

    color: #1a2340 !important;

    cursor: pointer !important;
}


.woocommerce-checkout .woocommerce-account-fields
.create-account input[type="checkbox"] {
    width: 15px !important;
    height: 15px !important;

    flex: 0 0 15px !important;

    margin: 1px 0 0 !important;

    accent-color: #0078d4 !important;
}


/* Username / password fields */

.woocommerce-checkout .woocommerce-account-fields
#account_username_field,
.woocommerce-checkout .woocommerce-account-fields
#account_password_field {
    margin-top: 14px !important;
}


.woocommerce-checkout .woocommerce-account-fields
.form-row label {
    font-family: 'DM Sans', sans-serif !important;

    font-size: 12.5px !important;
    font-weight: 600 !important;

    color: #5a6a84 !important;
}


.woocommerce-checkout .woocommerce-account-fields
.input-text {
    width: 100% !important;

    box-sizing: border-box !important;

    height: 44px !important;

    border: 1.5px solid #c9d3e2 !important;

    border-radius: 9px !important;

    padding: 10px 14px !important;

    font-family: 'DM Sans', sans-serif !important;

    font-size: 14px !important;

    background: #fbfcfe !important;

    color: #1a2340 !important;
}


.woocommerce-checkout .woocommerce-account-fields
.input-text:focus {
    outline: none !important;

    border-color: #0078d4 !important;

    background: #fff !important;

    box-shadow: 0 0 0 4px rgba(0,120,212,.10) !important;
}


/* ═══════════════════════════════════════════════════════════
   YOUR ORDER HEADING
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout form.checkout >
#order_review_heading {
    grid-column: 2;
    grid-row: 1;

    width: auto;

    float: none;
    clear: none;

    box-sizing: border-box;

    margin: 0;

    padding: 26px 26px 18px;

    background: #fff;

    border: 1.5px solid #c9d3e2 !important;
    border-bottom: none !important;

    border-radius: 16px 16px 0 0;

    font-family: 'Sora', sans-serif;

    font-size: 17px;
    font-weight: 700;

    color: #0a1628;

    letter-spacing: -.2px;
}


/* ═══════════════════════════════════════════════════════════
   YOUR ORDER
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout form.checkout >
#order_review {
    grid-column: 2;
    grid-row: 2;

    width: auto;

    float: none;
    clear: none;

    box-sizing: border-box;

    margin: 0 0 20px;

    padding: 0 26px 26px;

    background: #fff;

    border: 1.5px solid #c9d3e2 !important;
    border-top: none !important;

    border-radius: 0 0 16px 16px;

    box-shadow:
        0 1px 2px rgba(10,22,40,.05),
        0 18px 40px rgba(10,22,40,.07);
}


/* Sticky order summary */

@media (min-width: 992px) {

    .woocommerce-checkout form.checkout >
    #order_review_heading,
    .woocommerce-checkout form.checkout >
    #order_review {
        position: sticky;
    }


    .woocommerce-checkout form.checkout >
    #order_review_heading {
        top: 20px;

        z-index: 2;
    }


    .woocommerce-checkout form.checkout >
    #order_review {
        top: 68px;
    }
}


/* Review wrapper */

.woocommerce-checkout .woocommerce-checkout-review-order {
    background: transparent;

    border: none;

    border-radius: 0;

    box-shadow: none;

    padding: 0;

    margin: 0;
}


/* ═══════════════════════════════════════════════════════════
   PAYMENT
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout .woocommerce-checkout-payment {
    background: transparent;

    border: none;

    border-radius: 0;

    box-shadow: none;

    padding: 14px 0 0;

    margin: 22px 0 0;
}


.woocommerce-checkout ul.wc_payment_methods {
    list-style: none;

    margin: 0;

    padding: 0;
}


.woocommerce-checkout ul.wc_payment_methods
li.wc_payment_method {
    box-sizing: border-box;

    border: 1.5px solid #c9d3e2;

    border-radius: 12px;

    padding: 16px 18px;

    margin-bottom: 10px;

    background: #fff;

    transition:
        border-color .15s ease,
        background .15s ease,
        box-shadow .15s ease;
}


.woocommerce-checkout ul.wc_payment_methods
li.wc_payment_method:has(input:checked) {
    border-color: #0078d4;

    background: #f2f8fd;

    box-shadow: 0 0 0 4px rgba(0,120,212,.08);
}


.woocommerce-checkout ul.wc_payment_methods
input[type="radio"] {
    accent-color: #0078d4;

    width: 16px;
    height: 16px;

    margin-right: 8px;

    vertical-align: middle;
}


.woocommerce-checkout ul.wc_payment_methods
li.wc_payment_method:only-child
input[type="radio"] {
    display: none !important;
}


.woocommerce-checkout ul.wc_payment_methods
li.wc_payment_method:only-child
label {
    padding-left: 0;

    margin-left: 0;
}


.woocommerce-checkout ul.wc_payment_methods label {
    display: flex;

    align-items: center;

    flex-wrap: nowrap;

    gap: 10px;

    font-family: 'DM Sans', sans-serif;

    font-size: 14px;
    font-weight: 600;

    color: #0a1628;

    cursor: pointer;
}


.woocommerce-checkout ul.wc_payment_methods
label img {
    flex-shrink: 0;

    vertical-align: middle;
}


/* Payment box */

.woocommerce-checkout .payment_box,
.woocommerce-checkout .payment_box p,
.woocommerce-checkout .payment_box a {
    font-family: 'DM Sans', sans-serif !important;
}


.woocommerce-checkout .payment_box {
    background: #eaf4fc !important;

    border: none !important;

    border-radius: 8px;

    padding: 12px 14px;

    margin-top: 12px;

    font-size: 12.5px;

    line-height: 1.6;

    color: #4e5d75;

    box-shadow: none !important;
}


.woocommerce-checkout .payment_box p {
    margin: 0;

    font-size: 12.5px;

    line-height: 1.6;

    color: #4e5d75;
}


.woocommerce-checkout .payment_box a {
    color: #0078d4;

    font-weight: 500;
}


/* ═══════════════════════════════════════════════════════════
   ORDER TABLE
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout table.shop_table {
    width: 100%;

    border-collapse: collapse;

    font-size: 14px;

    margin: 0 0 6px;

    font-variant-numeric: tabular-nums;
}


/* Hard reset theme table styling */

.woocommerce-checkout table.shop_table,
.woocommerce-checkout table.shop_table tr,
.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td,
.woocommerce-checkout table.shop_table thead tr,
.woocommerce-checkout table.shop_table tbody tr,
.woocommerce-checkout table.shop_table tfoot tr,
.woocommerce-checkout table.shop_table
tbody tr:nth-child(odd) td,
.woocommerce-checkout table.shop_table
tbody tr:nth-child(even) td {
    border: 0 !important;

    box-shadow: none !important;

    background-image: none !important;
}


.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
    border: none;
}


.woocommerce-checkout table.shop_table th {
    text-align: left;

    color: #4e5d75;

    font-size: 13px;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: .3px;

    padding: 0 4px 10px;

    border-bottom: 1px solid #e3e8f0;
}


.woocommerce-checkout table.shop_table th:last-child,
.woocommerce-checkout table.shop_table td:last-child {
    text-align: right;
}


.woocommerce-checkout table.shop_table td {
    padding: 13px 4px;

    color: #1a2340;

    border-bottom: 1px solid #e3e8f0;

    vertical-align: middle;
}


/* Product name */

.woocommerce-checkout table.shop_table
.product-name {
    display: flex !important;

    align-items: flex-start;

    flex-wrap: nowrap;

    gap: 8px;

    font-weight: 500;
}


.woocommerce-checkout table.shop_table
.product-name > * {
    min-width: 0;
}


/* Remove product button */

.woocommerce-checkout table.shop_table
tbody tr td.product-name a.remove,
.woocommerce-checkout table.shop_table
a.remove {
    display: inline-flex !important;

    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    float: none !important;

    box-sizing: content-box;

    min-width: 18px;
    min-height: 18px;

    padding: 0;

    margin: 1px 0 0 !important;

    border-radius: 50%;

    background: rgba(217,48,37,.08);

    font-size: 0 !important;

    line-height: 18px;

    text-decoration: none;

    opacity: 1 !important;

    visibility: visible !important;

    cursor: pointer;
}


.woocommerce-checkout table.shop_table
tbody tr td.product-name a.remove::before,
.woocommerce-checkout table.shop_table
a.remove::before {
    content: "\00d7";

    display: block;

    color: #d93025 !important;

    font-size: 15px !important;

    line-height: 18px;

    font-weight: 700;

    font-family: 'DM Sans', sans-serif;
}


.woocommerce-checkout table.shop_table
a.remove:hover {
    background: transparent !important;

    color: #b91c1c !important;
}


/* ═══════════════════════════════════════════════════════════
   TABLE FOOTER
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout table.shop_table
tfoot tr th,
.woocommerce-checkout table.shop_table
tfoot tr td {
    padding: 9px 4px;

    border-bottom: 1px solid #e3e8f0;

    font-size: 13.5px;

    color: #4e5d75;
}


/* ═══════════════════════════════════════════════════════════
   DISCOUNT / SAVINGS
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout table.shop_table
tfoot tr.cart-discount,
.woocommerce-checkout table.shop_table
tfoot tr.order-savings-row {
    display: table-row;
}


.woocommerce-checkout table.shop_table
tfoot tr.cart-discount th,
.woocommerce-checkout table.shop_table
tfoot tr.cart-discount td,
.woocommerce-checkout table.shop_table
tfoot tr.order-savings-row th,
.woocommerce-checkout table.shop_table
tfoot tr.order-savings-row td {
    padding: 8px 10px !important;

    font-size: 12.5px !important;

    font-weight: 700 !important;

    color: #0f9d58 !important;

    background: #e8f7ee;

    border-bottom: none !important;

    border-top: none !important;
}


.woocommerce-checkout table.shop_table
tfoot tr.cart-discount th:first-child,
.woocommerce-checkout table.shop_table
tfoot tr.order-savings-row th:first-child {
    border-radius: 8px 0 0 8px;
}


.woocommerce-checkout table.shop_table
tfoot tr.cart-discount td:last-child,
.woocommerce-checkout table.shop_table
tfoot tr.order-savings-row td:last-child {
    border-radius: 0 8px 8px 0;
}


/* ═══════════════════════════════════════════════════════════
   TOTAL
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout table.shop_table
tfoot tr.order-total th,
.woocommerce-checkout table.shop_table
tfoot tr.order-total td {
    font-family: 'DM Sans', sans-serif !important;

    font-size: 15px !important;

    font-weight: 700 !important;

    color: #0a1628 !important;

    letter-spacing: normal !important;

    border-top: 2px solid #0a1628 !important;

    padding-top: 14px !important;

    padding-bottom: 4px !important;
}


.woocommerce-checkout table.shop_table
tfoot tr.order-total td strong,
.woocommerce-checkout table.shop_table
tfoot tr.order-total td
.woocommerce-Price-amount,
.woocommerce-checkout table.shop_table
tfoot tr.order-total td
.amount {
    font-family: 'DM Sans', sans-serif !important;

    font-size: 15px !important;

    font-weight: 700 !important;

    color: #0a1628 !important;
}


/* ═══════════════════════════════════════════════════════════
   PRIVACY + TERMS
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    box-sizing: border-box !important;

    width: auto !important;

    max-width: none !important;

    margin: 18px 0 !important;

    padding: 0 !important;

    left: auto !important;

    right: auto !important;

    transform: none !important;

    font-family: 'DM Sans', sans-serif;

    font-size: 12px;

    color: #5a6a84;

    line-height: 1.6;
}


.woocommerce-checkout .woocommerce-privacy-policy-text a,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
    color: #0078d4;

    font-weight: 500;

    text-decoration: none;
}


.woocommerce-checkout .woocommerce-privacy-policy-text a:hover,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a:hover {
    text-decoration: underline;
}


.woocommerce-checkout .woocommerce-terms-and-conditions {
    max-height: 260px;

    overflow-y: auto;

    margin: 14px 0 16px;

    padding: 18px;

    background: #f8fafc;

    border: 1px solid #c9d3e2;

    border-radius: 9px;

    font-size: 12px;

    line-height: 1.7;

    color: #4e5d75;
}


.woocommerce-checkout .woocommerce-terms-and-conditions-link {
    color: #0078d4 !important;

    font-weight: 600;

    text-decoration: none !important;
}


.woocommerce-checkout .woocommerce-terms-and-conditions-link:hover {
    text-decoration: underline !important;
}


/* ═══════════════════════════════════════════════════════════
   CHECKBOXES
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout .validate-required {
    margin-bottom: 12px;
}


.woocommerce-checkout #payment
.form-row.place-order,
.woocommerce-checkout .woocommerce-checkout-payment
.form-row.place-order {
    padding: 0 !important;

    margin: 0 !important;
}


.woocommerce-checkout .validate-required label,
.woocommerce-checkout .woocommerce-form__label-for-checkbox {
    display: flex !important;

    align-items: flex-start;

    flex-wrap: nowrap;

    gap: 8px;

    font-size: 12.5px;

    color: #5a6a84;

    cursor: pointer;
}


.woocommerce-checkout .validate-required
input[type="checkbox"],
.woocommerce-checkout
.woocommerce-form__input-checkbox {
    width: 15px;

    height: 15px;

    flex-shrink: 0;

    accent-color: #0078d4;

    margin: 1px 0 0 !important;
}


/* ═══════════════════════════════════════════════════════════
   PLACE ORDER
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout #place_order {
    width: 100%;

    box-sizing: border-box;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 9px;

    background: linear-gradient(
        135deg,
        #0078d4,
        #00b4d8
    ) !important;

    color: #fff !important;

    border: none !important;

    border-radius: 10px !important;

    padding: 17px 24px !important;

    margin-top: 4px;

    font-family: 'Sora', sans-serif !important;

    font-size: 15px !important;

    font-weight: 700 !important;

    letter-spacing: .2px;

    text-transform: none !important;

    box-shadow:
        0 10px 24px rgba(0,120,212,.28);

    transition:
        transform .18s ease,
        box-shadow .18s ease,
        background .18s ease;

    cursor: pointer;
}


.woocommerce-checkout #place_order::before {
    content: "\1F512";

    font-size: 13px;

    line-height: 1;

    opacity: .9;
}


.woocommerce-checkout #place_order:hover {
    transform: translateY(-2px);

    box-shadow:
        0 14px 30px rgba(0,120,212,.38);

    background: linear-gradient(
        135deg,
        #1a86dc,
        #1ec1e6
    ) !important;
}


/* ═══════════════════════════════════════════════════════════
   SUPPORT PANEL
   ═══════════════════════════════════════════════════════════ */

.ao-checkout-support {
    background: #fff;

    border: 1.5px solid #c9d3e2;

    border-radius: 16px;

    padding: 22px 26px;

    margin-top: 20px;

    box-shadow:
        0 1px 2px rgba(10,22,40,.05),
        0 14px 30px rgba(10,22,40,.06);
}


.ao-checkout-support h4 {
    font-family: 'Sora', sans-serif;

    font-size: 14px;

    font-weight: 700;

    color: #0a1628;

    margin: 0 0 8px;
}


.ao-checkout-support p {
    font-size: 13px;

    line-height: 1.6;

    color: #5a6a84;

    margin: 0;
}


.ao-checkout-support a {
    color: #0078d4;

    font-weight: 600;

    text-decoration: none;
}


.ao-checkout-support a:hover {
    text-decoration: underline;
}


/* ═══════════════════════════════════════════════════════════
   TRUST STRIP
   ═══════════════════════════════════════════════════════════ */

.ao-checkout-trust {
    display: flex !important;

    flex-wrap: wrap;

    gap: 18px;

    justify-content: center;

    margin-top: 18px !important;

    padding-top: 16px;

    border-top: 1px solid #eef1f6;

    font-family: 'DM Sans', sans-serif;

    font-size: 11.5px;

    font-weight: 500;

    color: #5a6a84;
}


.ao-checkout-trust span {
    display: flex;

    align-items: center;

    gap: 5px;
}


.ao-checkout-trust span::before {
    content: "✓";

    color: #0f9d58;

    font-weight: 700;
}


/* ═══════════════════════════════════════════════════════════
   ADDITIONAL INFORMATION
   ═══════════════════════════════════════════════════════════ */

.woocommerce-checkout .woocommerce-additional-fields {
    display: none;
}


/* ═══════════════════════════════════════════════════════════
   MOBILE
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 767px) {

    /* Page title */

    .woocommerce-checkout .entry-title {
        font-size: 22px;

        padding: 24px 14px 4px;
    }


    /* Main checkout */

    .woocommerce-checkout form.checkout {
        display: block;

        padding: 20px 14px 40px;
    }


    .woocommerce-checkout form.checkout >
    .col2-set {
        width: 100%;

        margin-bottom: 20px;
    }


    /* Order heading */

    .woocommerce-checkout form.checkout >
    #order_review_heading {
        width: 100%;

        margin: 0;

        border: 1px solid #c9d3e2;

        border-bottom: none;

        border-radius: 16px 16px 0 0;

        padding: 20px;

        position: static;
    }


    /* Order */

    .woocommerce-checkout form.checkout >
    #order_review {
        width: 100%;

        margin: 0 0 20px;

        padding: 0 18px 20px;

        border: 1px solid #c9d3e2;

        border-top: none;

        border-radius: 0 0 16px 16px;

        position: static;
    }


    /* Billing */

    .woocommerce-checkout .woocommerce-billing-fields {
        padding: 22px 18px 18px;
    }


    /* Name fields */

    .woocommerce-checkout .form-row-first,
    .woocommerce-checkout .form-row-last {
        width: 100%;

        float: none;
    }


    /* ═══════════════════════════════════════════════════════
       COUPON MOBILE

       The parent form's display is NOT touched.
       WooCommerce continues to control hidden/visible state.
       ═══════════════════════════════════════════════════════ */

    .woocommerce-checkout form.checkout_coupon {
        padding: 16px;
    }


    .woocommerce-checkout form.checkout_coupon
    .form-row-first,
    .woocommerce-checkout form.checkout_coupon
    .form-row-last {
        display: block !important;

        width: 100% !important;

        padding-right: 0 !important;

        margin-bottom: 10px !important;
    }


    .woocommerce-checkout form.checkout_coupon
    .form-row-last {
        margin-bottom: 0 !important;
    }


    .woocommerce-checkout form.checkout_coupon
    button.button {
        width: 100% !important;
    }


    /* Payment */

    .woocommerce-checkout .woocommerce-checkout-payment {
        margin-top: 18px;
    }


    /* Place order */

    .woocommerce-checkout #place_order {
        padding: 15px 20px !important;
    }


    /* Notices */

    .woocommerce-checkout .woocommerce-message,
    .woocommerce-checkout .woocommerce-error,
    .woocommerce-checkout .woocommerce-info {
        padding-left: 14px !important;

        padding-right: 14px !important;
    }


    /* Login */

    .woocommerce-checkout .woocommerce-form-login {
        padding: 18px;
    }


    /* Create account */

    .woocommerce-checkout .woocommerce-account-fields {
        margin-top: 6px !important;

        padding-top: 14px !important;
    }
}


/* ═══════════════════════════════════════════════════════════
   SMALL DESKTOP / TABLET
   ═══════════════════════════════════════════════════════════ */

@media (min-width: 768px) and (max-width: 991px) {

    .woocommerce-checkout form.checkout {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr);

        column-gap: 18px;
    }


    .woocommerce-checkout .woocommerce-billing-fields {
        padding: 22px 20px 20px;
    }


    .woocommerce-checkout form.checkout >
    #order_review_heading {
        padding-left: 20px;
        padding-right: 20px;
    }


    .woocommerce-checkout form.checkout >
    #order_review {
        padding-left: 20px;
        padding-right: 20px;
    }


    .woocommerce-checkout form.checkout_coupon
    .form-row-first {
        width: calc(100% - 151px) !important;
    }


    .woocommerce-checkout form.checkout_coupon
    .form-row-last {
        width: 147px !important;
    }
}


/* ═══════════════════════════════════════════════════════════
   FINAL THEME OVERRIDES
   ═══════════════════════════════════════════════════════════ */

/* Keep checkout typography consistent */

.woocommerce-checkout,
.woocommerce-checkout *,
.woocommerce-checkout button,
.woocommerce-checkout input,
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    font-family: 'DM Sans', sans-serif;
}


/* Keep major headings on Sora */

.woocommerce-checkout .entry-title,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading {
    font-family: 'Sora', sans-serif;
}


/* Prevent theme from introducing unexpected horizontal overflow */

.woocommerce-checkout {
    overflow-x: hidden;
}


/* Ensure checkout boxes don't exceed their parent */

.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout form.checkout > #order_review_heading,
.woocommerce-checkout form.checkout > #order_review {
    max-width: 100%;
}


/* Keep coupon form rows from inheriting theme widths */

.woocommerce-checkout form.checkout_coupon
.form-row-first,
.woocommerce-checkout form.checkout_coupon
.form-row-last {
    box-sizing: border-box !important;
}

/* ============================================================
   HIDE CONSOLIDATED CHECKOUT VALIDATION ERRORS

   Individual validation messages are already displayed
   inline beside their respective fields, so the duplicate
   WooCommerce error summary at the bottom is unnecessary.
   ============================================================ */

.woocommerce-checkout .woocommerce-NoticeGroup-checkout {
    display: none !important;
}

/* ═══════════════════════════════════════════════════════════
   END
   ═══════════════════════════════════════════════════════════ *//* End custom CSS */