/* ================================================================
   MOBIMINT — Mobile Checkout Styles  v2.3.0  (definitive)
   ================================================================ */

:root {
    --primary:      #6c63ff;
    --primary-dk:   #574fd6;
    --primary-lt:   rgba(108,99,255,0.07);
    --primary-ring: rgba(108,99,255,0.18);
    --surface:      #f4f4f8;
    --card:         #ffffff;
    --border:       #e6e6ee;
    --text:         #18181b;
    --text-2:       #52525b;
    --muted:        #71717a;
    --success:      #16a34a;
    --success-bg:   #f0fdf4;
    --success-bdr:  #bbf7d0;
    --error:        #dc2626;
    --error-bg:     #fef2f2;
    --error-bdr:    #fecaca;
    --radius:       14px;
    --radius-sm:    10px;
    --radius-xs:    7px;
    --shadow:       0 1px 10px rgba(0,0,0,0.06);
    --shadow-md:    0 4px 20px rgba(0,0,0,0.10);
    --shadow-btn:   0 6px 22px rgba(108,99,255,0.36);
    --topbar-h:     56px;
    --footer-h:     82px;
}

*,*::before,*::after { box-sizing:border-box; -webkit-tap-highlight-color:transparent; }

html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; margin-top:0 !important; }

body.mobile-checkout-body {
    margin:0 !important;
    padding:0 !important;
    padding-bottom:calc(var(--footer-h) + 24px) !important;
    background:var(--surface) !important;
    color:var(--text) !important;
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif !important;
    font-size:15px !important;
    line-height:1.55 !important;
    -webkit-font-smoothing:antialiased !important;
    overflow-x:hidden !important;
    overscroll-behavior-y:none;
    margin-top:0 !important;
}

#wpadminbar { display:none !important; }

/* ── Topbar ─────────────────────────────────────────────────── */
.mco-topbar {
    position:sticky; top:0; z-index:500;
    height:var(--topbar-h);
    display:flex; align-items:center; justify-content:space-between;
    padding:0 16px;
    background:var(--card);
    border-bottom:1px solid var(--border);
    box-shadow:var(--shadow);
}
.mco-topbar-title { font-size:16px; font-weight:700; color:var(--text); letter-spacing:-0.01em; }
.mco-secure {
    display:flex; align-items:center; gap:5px;
    font-size:11px; font-weight:600; color:var(--success);
    background:var(--success-bg); border:1px solid var(--success-bdr);
    padding:5px 10px; border-radius:20px; white-space:nowrap;
}

/* ── Notices ────────────────────────────────────────────────── */
.mco-notices { padding:12px 14px 0; max-width:540px; margin:0 auto; }
.mco-notices:empty { display:none; }

.woocommerce-error,.woocommerce-message,.woocommerce-info {
    background:var(--primary-lt) !important;
    border:1px solid var(--primary-ring) !important;
    border-left:4px solid var(--primary) !important;
    border-radius:var(--radius-sm) !important;
    padding:12px 14px !important; margin:0 0 10px !important;
    list-style:none !important; font-size:13.5px !important;
    color:var(--text) !important; box-shadow:none !important;
}
.woocommerce-error {
    background:var(--error-bg) !important;
    border-color:var(--error-bdr) !important;
    border-left-color:var(--error) !important;
    color:var(--error) !important;
}
.woocommerce-error li,.woocommerce-message li,.woocommerce-info li {
    padding:2px 0 !important; margin:0 !important;
    list-style:none !important; background:transparent !important; border:none !important;
}
.mobile-checkout-body .woocommerce-message,
.mobile-checkout-body .woocommerce-info { display:block !important; }

/* ── Wrap ───────────────────────────────────────────────────── */
.mco-wrap { max-width:540px; margin:0 auto; padding:14px 14px 0; }

/* ── Cards ──────────────────────────────────────────────────── */
.mco-card {
    background:var(--card);
    border-radius:var(--radius);
    border:1px solid rgba(0,0,0,0.05);
    margin-bottom:10px;
    box-shadow:var(--shadow);
    overflow:hidden;
    padding:0;
}
.mco-card-title {
    display:flex; align-items:center; gap:7px;
    font-size:10.5px; font-weight:700; text-transform:uppercase;
    letter-spacing:0.09em; color:var(--muted);
    padding:13px 14px 12px;
    border-bottom:1px solid var(--border);
    margin:0;
}
.mco-card-title svg { color:var(--primary); flex-shrink:0; }

/* Form cards — inner padding for fields */
#mco-billing-card .woocommerce-billing-fields,
#mco-billing-card .woocommerce-checkout-fields,
#mco-shipping-card .woocommerce-shipping-fields,
#mco-notes-card .woocommerce-additional-fields,
#mco-notes-card > *:not(.mco-card-title) {
    padding:14px 14px 4px !important;
}

/* Order card — no padding, table controls its own */
#mco-order-card .woocommerce-checkout-review-order { padding:0; }

/* ── Empty cart ─────────────────────────────────────────────── */
.mco-empty-cart { text-align:center; padding:44px 20px; }
.mco-empty-icon { font-size:52px; margin-bottom:12px; }
.mco-empty-cart h3 { font-size:18px; margin:0 0 6px; color:var(--text); }
.mco-empty-cart p  { font-size:14px; color:var(--muted); margin:0; }

/* ── WC headings hidden ─────────────────────────────────────── */
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
.woocommerce-additional-fields > h3,
#order_review_heading { display:none !important; }

/* ── Form rows ──────────────────────────────────────────────── */
.woocommerce form .form-row,
.woocommerce-checkout .form-row {
    padding:0 !important; margin:0 0 10px !important;
    float:none !important; width:100% !important;
    clear:both !important; position:relative !important;
}
.woocommerce form .form-row-first,
.woocommerce form .form-row-last { width:calc(50% - 5px) !important; margin-bottom:10px !important; }
.woocommerce form .form-row-first { float:left !important; clear:none !important; }
.woocommerce form .form-row-last  { float:right !important; clear:none !important; }
.woocommerce-checkout .woocommerce-billing-fields::after,
.woocommerce-checkout .woocommerce-shipping-fields::after,
.woocommerce-checkout .col2-set::after { content:''; display:table; clear:both; }

/* ── Labels ─────────────────────────────────────────────────── */
.woocommerce form .form-row label,
.woocommerce-checkout .form-row label {
    display:block !important; font-size:11px !important; font-weight:700 !important;
    text-transform:uppercase !important; letter-spacing:0.06em !important;
    color:var(--muted) !important; margin-bottom:5px !important; line-height:1.4 !important;
}
.woocommerce form .form-row .required { color:var(--primary) !important; }

/* ── Inputs ─────────────────────────────────────────────────── */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea,
.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea {
    display:block !important; width:100% !important; padding:12px 13px !important;
    border:1.5px solid var(--border) !important; border-radius:var(--radius-sm) !important;
    font-size:15px !important; font-family:inherit !important;
    color:var(--text) !important; background:var(--surface) !important;
    outline:none !important; box-shadow:none !important;
    -webkit-appearance:none !important; appearance:none !important;
    transition:border-color 0.15s,background 0.15s,box-shadow 0.15s !important;
    line-height:1.4 !important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce-checkout input:focus,
.woocommerce-checkout select:focus,
.woocommerce-checkout textarea:focus {
    border-color:var(--primary) !important; background:#fff !important;
    box-shadow:0 0 0 3px var(--primary-ring) !important;
}
.woocommerce form .form-row.woocommerce-invalid input,
.woocommerce form .form-row.woocommerce-invalid select,
.woocommerce form .form-row.woocommerce-invalid textarea {
    border-color:var(--error) !important; box-shadow:0 0 0 3px rgba(220,38,38,0.12) !important;
}
.woocommerce form .form-row.woocommerce-validated input,
.woocommerce form .form-row.woocommerce-validated select { border-color:var(--success) !important; }
.woocommerce form .form-row select,
.woocommerce-checkout select {
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2371717a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") !important;
    background-repeat:no-repeat !important; background-position:right 13px center !important;
    padding-right:38px !important; cursor:pointer !important;
}
.woocommerce-checkout textarea { resize:vertical !important; min-height:80px !important; }
.woocommerce-input-wrapper .description { font-size:11.5px !important; color:var(--muted) !important; margin-top:4px !important; display:block !important; }
.woocommerce-form__label-for-checkbox {
    display:flex !important; align-items:center !important; gap:9px !important;
    font-size:14px !important; font-weight:500 !important; color:var(--text) !important;
    text-transform:none !important; letter-spacing:normal !important; cursor:pointer !important; margin-top:4px !important;
}
.woocommerce-form__input-checkbox,
input[type="checkbox"] {
    width:17px !important; height:17px !important;
    accent-color:var(--primary) !important; flex-shrink:0 !important; cursor:pointer !important;
}

/* ── Coupon ─────────────────────────────────────────────────── */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .showcoupon { font-size:13px !important; color:var(--primary) !important; cursor:pointer !important; text-decoration:none !important; }
.woocommerce-checkout .checkout_coupon {
    border:1.5px dashed var(--border) !important; border-radius:var(--radius-sm) !important;
    padding:14px !important; margin-top:10px !important; box-shadow:none !important; background:var(--surface) !important;
}
.woocommerce-checkout .checkout_coupon .form-row { display:flex !important; gap:8px !important; align-items:flex-end !important; flex-wrap:wrap !important; }
.woocommerce-checkout .checkout_coupon .button {
    flex-shrink:0 !important; padding:12px 16px !important; background:var(--primary) !important;
    color:#fff !important; border:none !important; border-radius:var(--radius-sm) !important;
    font-size:13px !important; font-weight:700 !important; cursor:pointer !important; white-space:nowrap !important;
}

/* ================================================================
   ORDER SUMMARY — product rows
   ================================================================ */

/* Hard-cap all images */
.woocommerce-checkout-review-order-table img,
.woocommerce-checkout-review-order-table .product-name img {
    width:44px !important; height:44px !important;
    min-width:44px !important; max-width:44px !important; max-height:44px !important;
    object-fit:cover !important; border-radius:10px !important;
    border:1px solid var(--border) !important;
    display:block !important; flex-shrink:0 !important; background:var(--surface) !important;
}

.mco-product-cell { display:flex !important; align-items:flex-start !important; gap:11px !important; min-width:0 !important; }
.mco-product-img {
    width:44px !important; height:44px !important;
    min-width:44px !important; max-width:44px !important; max-height:44px !important;
    object-fit:cover !important; border-radius:10px !important;
    border:1px solid var(--border) !important;
    flex-shrink:0 !important; display:block !important; background:var(--surface) !important;
}
.mco-product-name-text {
    font-size:13.5px !important; font-weight:600 !important; color:var(--text) !important;
    line-height:1.3 !important; display:block !important;
    overflow-wrap:break-word !important; word-break:break-word !important; min-width:0 !important;
}

/* Table — keep as real table, padding via cells */
.woocommerce-checkout-review-order-table {
    width:100% !important; border-collapse:collapse !important;
    font-size:13px !important; table-layout:auto !important;
}
.woocommerce-checkout-review-order-table thead { display:none !important; }
.woocommerce-checkout-review-order-table tbody tr { border-bottom:1px solid #f0f0f7 !important; }
.woocommerce-checkout-review-order-table tbody tr:last-child { border-bottom:none !important; }
.woocommerce-checkout-review-order-table tbody tr td {
    padding:13px 14px !important; vertical-align:top !important;
    line-height:1.4 !important; border:none !important;
}
.woocommerce-checkout-review-order-table .product-name {
    width:100% !important; max-width:0 !important;
    padding-left:14px !important; padding-right:10px !important;
}
.woocommerce-checkout-review-order-table .product-total {
    padding-right:14px !important; padding-left:0 !important;
    text-align:right !important; font-weight:700 !important; font-size:13.5px !important;
    white-space:nowrap !important; vertical-align:top !important; color:var(--text) !important;
}
.woocommerce-checkout-review-order-table .product-name .product-quantity {
    display:block !important; font-size:11px !important; font-weight:400 !important;
    color:var(--muted) !important; margin:2px 0 7px !important;
}

/* ── Variation pills ────────────────────────────────────────── */
.woocommerce-checkout-review-order-table .variation,
.woocommerce-checkout-review-order-table dl.variation {
    display:flex !important; flex-wrap:wrap !important; gap:5px !important;
    margin:0 !important; padding:0 !important; list-style:none !important; align-items:center !important;
}
.woocommerce-checkout-review-order-table .variation dt {
    display:inline-flex !important; align-items:center !important;
    padding:4px 6px 4px 9px !important;
    background:#f2f2f8 !important; border:1px solid #e2e2ee !important;
    border-right:none !important; border-radius:20px 0 0 20px !important;
    font-size:10.5px !important; font-weight:500 !important; color:#7070a0 !important;
    line-height:1 !important; margin:0 !important; white-space:nowrap !important;
}
.woocommerce-checkout-review-order-table .variation dd {
    display:inline-flex !important; align-items:center !important;
    padding:4px 9px 4px 6px !important;
    background:#eeedfe !important; border:1px solid #d0cdfa !important;
    border-left:1px solid #c8c4f6 !important; border-radius:0 20px 20px 0 !important;
    font-size:10.5px !important; font-weight:700 !important; color:#5046c8 !important;
    line-height:1 !important; margin:0 !important; white-space:nowrap !important;
}
.woocommerce-checkout-review-order-table .variation dt::after,
.woocommerce-checkout-review-order-table .variation dd::after,
.woocommerce-checkout-review-order-table .variation dt p::after,
.woocommerce-checkout-review-order-table .variation dd p::after { content:'' !important; display:none !important; }
.woocommerce-checkout-review-order-table .variation dt p,
.woocommerce-checkout-review-order-table .variation dd p {
    margin:0 !important; padding:0 !important; font-size:inherit !important; color:inherit !important; font-weight:inherit !important;
}

/* wc-item-meta fallback */
.woocommerce-checkout-review-order-table .wc-item-meta {
    display:flex !important; flex-wrap:wrap !important; gap:5px !important;
    margin:7px 0 0 !important; padding:0 !important; list-style:none !important;
}
.woocommerce-checkout-review-order-table .wc-item-meta li {
    display:inline-flex !important; align-items:stretch !important;
    padding:0 !important; margin:0 !important;
    border-radius:20px !important; overflow:hidden !important; border:1px solid #e2e2ee !important;
}
.woocommerce-checkout-review-order-table .wc-item-meta .wc-item-meta-label {
    display:inline-flex !important; align-items:center !important;
    padding:4px 6px 4px 9px !important; background:#f2f2f8 !important;
    border-right:1px solid #e2e2ee !important; font-size:10.5px !important;
    font-weight:500 !important; color:#7070a0 !important; margin:0 !important; white-space:nowrap !important;
}
.woocommerce-checkout-review-order-table .wc-item-meta p {
    display:inline-flex !important; align-items:center !important;
    padding:4px 9px 4px 6px !important; background:#eeedfe !important;
    font-size:10.5px !important; font-weight:700 !important; color:#5046c8 !important;
    margin:0 !important; white-space:nowrap !important;
}

/* ================================================================
   ORDER SUMMARY — tfoot (subtotal, shipping, tax, total)
   Strategy: keep tfoot as normal table-row-group.
   Each tr gets position:relative so we can use full-bleed on total.
   Padding is set on th/td directly — no display:block hacks.
   ================================================================ */

.woocommerce-checkout-review-order-table tfoot { border-top:1px solid var(--border) !important; }

/* Reset all tfoot cells first */
.woocommerce-checkout-review-order-table tfoot tr th,
.woocommerce-checkout-review-order-table tfoot tr td {
    padding:10px 5px !important;
    border:none !important;
    border-bottom:1px solid #f5f5fa !important;
    font-size:13px !important;
    vertical-align:middle !important;
    background:transparent !important;
    line-height:1.4 !important;
}
.woocommerce-checkout-review-order-table tfoot tr th {
    color:var(--text-2) !important; font-weight:500 !important; text-align:left !important;
}
.woocommerce-checkout-review-order-table tfoot tr td {
    color:var(--text) !important; font-weight:600 !important;
    text-align:right !important; white-space:nowrap !important;
}
.woocommerce-checkout-review-order-table tfoot tr:last-child th,
.woocommerce-checkout-review-order-table tfoot tr:last-child td { border-bottom:none !important; }

/* ── Shipping row ───────────────────────────────────────────── */
/* th = "SHIPMENT" label — small uppercase */
.woocommerce-checkout-review-order-table tfoot .shipping th {
    font-size:11px !important; font-weight:700 !important;
    text-transform:uppercase !important; letter-spacing:0.07em !important;
    color:var(--muted) !important;
    padding-bottom:6px !important;
    vertical-align:top !important;
}
/* td = contains the radio list */
.woocommerce-checkout-review-order-table tfoot .shipping td {
    text-align:left !important;
    padding-top:8px !important;
    padding-bottom:12px !important;
}

/* Shipping radio list */
.woocommerce-checkout-review-order-table tfoot .shipping #shipping_method,
#shipping_method {
    list-style:none !important; padding:0 !important; margin:0 !important;
    display:flex !important; flex-direction:column !important; gap:6px !important;
}
.woocommerce-checkout-review-order-table tfoot .shipping #shipping_method li,
#shipping_method li {
    display:flex !important; align-items:center !important; gap:10px !important;
    padding:10px 12px !important;
    border:1.5px solid var(--border) !important; border-radius:10px !important;
    background:#fafafa !important; cursor:pointer !important;
    transition:border-color 0.15s,background 0.15s !important;
    margin:0 !important; width:100% !important; float:none !important;
}
.woocommerce-checkout-review-order-table tfoot .shipping #shipping_method li:has(input:checked),
#shipping_method li:has(input:checked),
#shipping_method li.mco-selected {
    border-color:var(--primary) !important; background:#f5f4ff !important;
}
.woocommerce-checkout-review-order-table tfoot .shipping #shipping_method li input[type="radio"],
#shipping_method li input[type="radio"] {
    width:16px !important; height:16px !important;
    accent-color:var(--primary) !important; flex-shrink:0 !important; cursor:pointer !important; margin:0 !important;
}
.woocommerce-checkout-review-order-table tfoot .shipping #shipping_method li label,
#shipping_method li label {
    font-size:13px !important; font-weight:600 !important; color:var(--text) !important;
    cursor:pointer !important; text-transform:none !important; letter-spacing:normal !important;
    flex:1 !important; margin:0 !important;
    display:flex !important; justify-content:space-between !important; align-items:center !important; gap:8px !important;
}

/* ── Tax row ────────────────────────────────────────────────── */
.woocommerce-checkout-review-order-table tfoot .tax-rate th { color:var(--text-2) !important; font-weight:500 !important; }

/* ── Grand total row ────────────────────────────────────────── */
.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
    background:#f8f7ff !important;
    border-top:2px solid var(--border) !important;
    border-bottom:none !important;
    padding-top:14px !important; padding-bottom:14px !important;
}
.woocommerce-checkout-review-order-table tfoot .order-total th {
    font-size:15px !important; font-weight:800 !important; color:var(--text) !important;
}
.woocommerce-checkout-review-order-table tfoot .order-total td {
    font-size:17px !important; font-weight:800 !important; color:var(--primary) !important;
}
.woocommerce-checkout-review-order-table tfoot .order-total td .woocommerce-Price-amount,
.woocommerce-checkout-review-order-table tfoot .order-total td bdi {
    color:var(--primary) !important; font-size:17px !important; font-weight:800 !important;
}

/* ================================================================
   PAYMENT SECTION
   ================================================================ */

#payment { background:transparent !important; border:none !important; padding:0 !important; border-radius:0 !important; }
#payment .wc_payment_methods { list-style:none !important; padding:0 !important; margin:0 !important; }

#payment .wc_payment_methods li[class*="payment_method_"] {
    border:1.5px solid var(--border) !important; border-radius:12px !important;
    margin-bottom:8px !important; overflow:hidden !important;
    background:#fafafa !important;
    transition:border-color 0.15s,background 0.15s,box-shadow 0.15s !important;
}
#payment .wc_payment_methods li[class*="payment_method_"]:last-child { margin-bottom:0 !important; }
#payment .wc_payment_methods li[class*="payment_method_"].mco-payment-active {
    border-color:var(--primary) !important; background:#faf9ff !important;
    box-shadow:0 0 0 3px rgba(108,99,255,0.08) !important;
}
#payment .wc_payment_methods li[class*="payment_method_"] > label,
#payment .wc_payment_methods label:first-of-type {
    display:flex !important; align-items:center !important; gap:10px !important;
    padding:13px 14px !important; font-size:14px !important; font-weight:600 !important;
    color:var(--text) !important; cursor:pointer !important;
    text-transform:none !important; letter-spacing:normal !important; margin:0 !important; width:100% !important;
}
#payment .wc_payment_methods input[type="radio"] {
    width:16px !important; height:16px !important;
    accent-color:var(--primary) !important; flex-shrink:0 !important; cursor:pointer !important; margin:0 !important;
}
#payment .wc_payment_methods img {
    max-height:20px !important; max-width:44px !important;
    width:auto !important; height:auto !important; object-fit:contain !important;
    margin-left:auto !important; vertical-align:middle !important;
    flex-shrink:0 !important; border-radius:3px !important;
}
#payment .payment_box {
    padding:11px 14px 14px !important; background:#f5f4ff !important;
    border-top:1px solid #e8e6ff !important; font-size:12.5px !important;
    color:#6060a0 !important; margin:0 !important; border-radius:0 !important;
}
#payment .payment_box p { margin:0 0 8px !important; }
#payment .payment_box p:last-child { margin-bottom:0 !important; }
#payment .payment_box input[type="text"],
#payment .payment_box input[type="tel"],
#payment .payment_box input[type="number"],
#payment .payment_box select {
    display:block !important; width:100% !important; padding:11px 12px !important;
    border:1.5px solid var(--border) !important; border-radius:var(--radius-xs) !important;
    font-size:14px !important; font-family:inherit !important; color:var(--text) !important;
    background:#fff !important; outline:none !important; box-shadow:none !important;
    -webkit-appearance:none !important; appearance:none !important;
    margin-bottom:8px !important; transition:border-color 0.15s,box-shadow 0.15s !important;
}
#payment .payment_box input:focus,
#payment .payment_box select:focus { border-color:var(--primary) !important; box-shadow:0 0 0 3px var(--primary-ring) !important; }
#payment .payment_box .wc-stripe-elements-field,
#payment .payment_box .StripeElement,
#payment .payment_box iframe {
    border:1.5px solid var(--border) !important; border-radius:var(--radius-xs) !important;
    padding:12px !important; background:#fff !important;
    margin-bottom:8px !important; transition:border-color 0.15s !important;
}
#payment .payment_box .StripeElement--focus,
#payment .payment_box .wc-stripe-elements-field:focus-within {
    border-color:var(--primary) !important; box-shadow:0 0 0 3px var(--primary-ring) !important;
}
#payment #place_order,.woocommerce #payment #place_order,#place_order {
    position:fixed !important; top:-9999px !important; left:-9999px !important;
    width:1px !important; height:1px !important; opacity:0 !important;
}
#payment .place-order { margin:0 !important; padding:0 !important; }

/* ── Select2 ────────────────────────────────────────────────── */
.select2-container .select2-selection--single { height:46px !important; border:1.5px solid var(--border) !important; border-radius:var(--radius-sm) !important; background:var(--surface) !important; outline:none !important; }
.select2-container--default .select2-selection--single .select2-selection__rendered { line-height:46px !important; padding:0 38px 0 13px !important; font-size:15px !important; color:var(--text) !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { height:44px !important; right:9px !important; }
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single { border-color:var(--primary) !important; box-shadow:0 0 0 3px var(--primary-ring) !important; }
.select2-dropdown { border:1.5px solid var(--primary) !important; border-radius:var(--radius-sm) !important; box-shadow:var(--shadow-md) !important; z-index:99999 !important; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background:var(--primary) !important; }
.select2-search--dropdown .select2-search__field { border:1.5px solid var(--border) !important; border-radius:var(--radius-xs) !important; padding:8px 11px !important; font-size:14px !important; outline:none !important; width:100% !important; }
.select2-search--dropdown .select2-search__field:focus { border-color:var(--primary) !important; box-shadow:0 0 0 2px var(--primary-ring) !important; }
.select2-results__option { font-size:14px !important; padding:9px 12px !important; }

/* ── BlockUI ────────────────────────────────────────────────── */
.blockUI.blockOverlay { background:rgba(255,255,255,0.55) !important; z-index:400 !important; cursor:wait !important; }

/* ================================================================
   STICKY FOOTER
   ================================================================ */

.mco-sticky-footer {
    position:fixed; bottom:0; left:0; right:0; z-index:600;
    background:var(--card); border-top:1px solid var(--border);
    box-shadow:0 -4px 24px rgba(0,0,0,0.09);
    padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));
    display:flex; align-items:center; gap:12px;
}
.mco-footer-meta { display:flex; flex-direction:column; gap:1px; flex-shrink:0; min-width:0; }
.mco-footer-label { font-size:10.5px; font-weight:700; text-transform:uppercase; letter-spacing:0.07em; color:var(--muted); }
.mco-footer-total { font-size:17px; font-weight:800; color:var(--primary); line-height:1.2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mco-footer-total .woocommerce-Price-amount { color:var(--primary); }

.mco-place-btn {
    flex:1; display:flex; align-items:center; justify-content:center; gap:8px;
    padding:14px 16px; background:var(--primary); color:#fff;
    font-size:15px; font-weight:700; font-family:inherit; border:none;
    border-radius:var(--radius-sm); cursor:pointer; box-shadow:var(--shadow-btn);
    letter-spacing:0.01em; transition:background 0.15s,transform 0.12s,box-shadow 0.15s;
    -webkit-appearance:none; appearance:none; position:relative; overflow:hidden;
    min-width:0; user-select:none; -webkit-user-select:none;
}
.mco-place-btn:active { transform:scale(0.97); background:var(--primary-dk); box-shadow:none; }
.mco-place-btn:disabled,.mco-place-btn.mco-loading { opacity:0.78; pointer-events:none; transform:none; }
.mco-btn-icon { display:flex; align-items:center; flex-shrink:0; }
.mco-btn-text { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.mco-spinner { display:none; width:18px; height:18px; border:2.5px solid rgba(255,255,255,0.3); border-top-color:#fff; border-radius:50%; animation:mco-spin 0.65s linear infinite; flex-shrink:0; }
.mco-place-btn.mco-loading .mco-btn-icon,
.mco-place-btn.mco-loading .mco-btn-text { opacity:0.4; }
.mco-place-btn.mco-loading .mco-spinner { display:block; }
@keyframes mco-spin { to { transform:rotate(360deg); } }

.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-info { font-size:13px !important; }

/* ================================================================
   HIDE UNNECESSARY ELEMENTS
   ================================================================ */

.mobile-checkout-body .woocommerce-message .button,
.mobile-checkout-body .woocommerce-message a.button,
.mobile-checkout-body .woocommerce-info .button,
.mobile-checkout-body .woocommerce-info a.button,
.mobile-checkout-body .woocommerce-notices-wrapper a.button,
.mobile-checkout-body .wc-proceed-to-checkout,
.mobile-checkout-body .return-to-shop,
.mobile-checkout-body a[href*="/cart"].button,
.mobile-checkout-body a[href*="/basket"].button,
.mobile-checkout-body a[href*="cart"].wc-forward,
.mobile-checkout-body a[href*="basket"].wc-forward,
.mobile-checkout-body .widget_shopping_cart,
.mobile-checkout-body .woocommerce-mini-cart__buttons,
.mobile-checkout-body .wc-forward[href*="cart"],
.mobile-checkout-body .wc-backward,
.mobile-checkout-body .woocommerce-checkout-review-order-table .actions,
.mobile-checkout-body .fusion-widget-area,
.mobile-checkout-body .elementor-widget-woocommerce-cart,
.awb-off-canvas,
.awb-off-canvas-wrap.type-popup { display:none !important; }

.woocommerce-additional-fields {
    padding: 10px;
}


table.awb-cart-totals-table {
    width: 100%;
}

a.fusion-button.button-default.fusion-button-default-size.button.continue-checkout {
    display: none;
}