/*
 * BDITHOME Coaching Management - Modern WooCommerce checkout/payment design.
 * Version 6.5
 */

body.bd-modern-checkout {
    --bd-wc-primary: #1457c8;
    --bd-wc-primary-dark: #0a387f;
    --bd-wc-accent: #ffb703;
    --bd-wc-success: #0a9a68;
    --bd-wc-text: #12233f;
    --bd-wc-muted: #64748b;
    --bd-wc-border: #dbe5f2;
    --bd-wc-surface: #ffffff;
    background: #f3f7fc;
}

.bd-wc-checkout-page {
    position: relative;
    min-height: 70vh;
    overflow: hidden;
    background:
        radial-gradient(circle at 8% 15%, rgba(20, 87, 200, .10), transparent 28%),
        radial-gradient(circle at 94% 82%, rgba(10, 154, 104, .10), transparent 27%),
        #f3f7fc;
    padding: 0 0 64px;
}

.bd-wc-checkout-hero {
    position: relative;
    overflow: hidden;
    padding: 46px 16px 74px;
    color: #fff;
    background: linear-gradient(125deg, #082c68 0%, #1457c8 55%, #1476d4 100%);
}

.bd-wc-checkout-hero::before,
.bd-wc-checkout-hero::after {
    content: "";
    position: absolute;
    border-radius: 999px;
    pointer-events: none;
}

.bd-wc-checkout-hero::before {
    width: 340px;
    height: 340px;
    right: -120px;
    top: -180px;
    background: rgba(255,255,255,.09);
}

.bd-wc-checkout-hero::after {
    width: 230px;
    height: 230px;
    left: -100px;
    bottom: -145px;
    background: rgba(255,183,3,.16);
}

.bd-wc-checkout-hero-inner {
    position: relative;
    z-index: 2;
    width: min(1120px, calc(100% - 24px));
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.bd-wc-checkout-heading {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
}

.bd-wc-checkout-heading-icon {
    width: 66px;
    height: 66px;
    flex: 0 0 66px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    font-size: 25px;
    color: #0b3f91;
    background: linear-gradient(145deg, #fff, #e9f2ff);
    box-shadow: 0 18px 38px rgba(0,0,0,.18);
}

.bd-wc-checkout-heading small {
    display: block;
    margin: 0 0 3px;
    font-size: 13px;
    font-weight: 700;
    color: #cfe3ff;
}

.bd-wc-checkout-heading h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(29px, 5vw, 45px);
    line-height: 1.15;
    font-weight: 900;
    text-shadow: 0 6px 20px rgba(0,0,0,.14);
}

.bd-wc-checkout-heading p {
    margin: 8px 0 0;
    max-width: 660px;
    color: #e7f1ff;
    font-size: 14px;
    line-height: 1.65;
}

.bd-wc-secure-badge {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 15px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    backdrop-filter: blur(8px);
}

.bd-wc-checkout-shell {
    position: relative;
    z-index: 5;
    width: min(1120px, calc(100% - 24px));
    margin: -38px auto 0;
}

.bd-wc-progress {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin: 0 0 18px;
    padding: 14px;
    border: 1px solid rgba(219,229,242,.95);
    border-radius: 20px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 16px 38px rgba(13,52,109,.10);
    backdrop-filter: blur(10px);
}

.bd-wc-progress-item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    padding: 9px 12px;
    border-radius: 13px;
    color: #718096;
    font-size: 13px;
    font-weight: 800;
}

.bd-wc-progress-item i {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #edf2f8;
    color: #7b8da6;
}

.bd-wc-progress-item.is-done {
    color: #087b56;
    background: #edfdf7;
}
.bd-wc-progress-item.is-done i { color: #fff; background: #0a9a68; }
.bd-wc-progress-item.is-active {
    color: #104aa7;
    background: #edf5ff;
}
.bd-wc-progress-item.is-active i { color: #fff; background: #1457c8; }

.bd-wc-checkout-card {
    position: relative;
    overflow: hidden;
    padding: clamp(20px, 4vw, 42px);
    border: 1px solid var(--bd-wc-border);
    border-radius: 28px;
    background: var(--bd-wc-surface);
    box-shadow: 0 24px 58px rgba(13,52,109,.12);
}

.bd-wc-checkout-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 5px;
    background: linear-gradient(90deg, #0a9a68, #1457c8, #ffb703);
}

.bd-wc-order-context {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0 0 24px;
    padding: 14px 16px;
    border: 1px solid #dfe9f6;
    border-radius: 16px;
    background: linear-gradient(145deg, #f8fbff, #eff5fc);
}

.bd-wc-order-context div {
    min-width: 0;
}

.bd-wc-order-context small {
    display: block;
    color: #75849a;
    font-size: 11px;
    font-weight: 750;
}

.bd-wc-order-context strong {
    display: block;
    margin-top: 2px;
    color: #15335f;
    font-size: 15px;
    word-break: break-word;
}

.bd-wc-order-number {
    flex: 0 0 auto;
    padding: 8px 12px;
    border-radius: 999px;
    color: #1350ae;
    background: #e9f2ff;
    font-size: 12px;
    font-weight: 850;
}

.bd-wc-checkout-card .woocommerce {
    color: var(--bd-wc-text);
}

/* Messages */
body.bd-modern-checkout .woocommerce-error,
body.bd-modern-checkout .woocommerce-info,
body.bd-modern-checkout .woocommerce-message {
    margin: 0 0 20px !important;
    padding: 15px 17px 15px 50px !important;
    border: 1px solid #dbe7f4 !important;
    border-radius: 15px !important;
    background: #f6faff !important;
    box-shadow: none !important;
    color: #29415f !important;
    line-height: 1.55;
}
body.bd-modern-checkout .woocommerce-message { background: #effcf6 !important; border-color: #ccefe0 !important; }
body.bd-modern-checkout .woocommerce-error { background: #fff5f5 !important; border-color: #fed2d2 !important; }

/* Section titles */
body.bd-modern-checkout .woocommerce h2,
body.bd-modern-checkout .woocommerce h3,
body.bd-modern-checkout #order_review_heading,
body.bd-modern-checkout .woocommerce-order-details__title {
    color: #102f60;
    font-weight: 900;
    line-height: 1.3;
}
body.bd-modern-checkout #order_review_heading,
body.bd-modern-checkout .woocommerce-checkout h3 {
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e4ebf4;
    font-size: 21px;
}

/* Order review table */
body.bd-modern-checkout table.shop_table,
body.bd-modern-checkout .woocommerce table.shop_table {
    width: 100%;
    margin: 0 0 24px !important;
    overflow: hidden;
    border: 1px solid #dce6f2 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 18px !important;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15,50,98,.06);
}

body.bd-modern-checkout table.shop_table thead th {
    padding: 16px 18px !important;
    border: 0 !important;
    background: linear-gradient(135deg, #0d397e, #1457c8) !important;
    color: #fff !important;
    font-size: 13px;
    font-weight: 850;
    text-transform: none;
}

body.bd-modern-checkout table.shop_table tbody td,
body.bd-modern-checkout table.shop_table tbody th,
body.bd-modern-checkout table.shop_table tfoot td,
body.bd-modern-checkout table.shop_table tfoot th {
    padding: 16px 18px !important;
    border-top: 1px solid #e5ecf5 !important;
    color: #2d405e;
    background: #fff;
    font-size: 14px;
    vertical-align: middle;
}

body.bd-modern-checkout table.shop_table tbody tr:first-child td { border-top: 0 !important; }
body.bd-modern-checkout table.shop_table .product-name { color: #102f60; font-weight: 800; }
body.bd-modern-checkout table.shop_table .product-quantity { color: #0d58bf; font-weight: 850; }
body.bd-modern-checkout table.shop_table .product-total,
body.bd-modern-checkout table.shop_table tfoot td { text-align: right; white-space: nowrap; }
body.bd-modern-checkout table.shop_table tfoot tr:last-child th,
body.bd-modern-checkout table.shop_table tfoot tr:last-child td {
    color: #0b4bb0;
    background: #f1f7ff;
    font-size: 18px;
    font-weight: 950;
}

/* Payment area */
body.bd-modern-checkout #payment,
body.bd-modern-checkout .woocommerce-checkout-payment {
    padding: 20px !important;
    border: 1px solid #dce6f2 !important;
    border-radius: 20px !important;
    background: linear-gradient(145deg, #f8fbff, #f1f6fc) !important;
    box-shadow: none !important;
}

body.bd-modern-checkout #payment ul.payment_methods {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    list-style: none !important;
}

body.bd-modern-checkout #payment ul.payment_methods > li {
    position: relative;
    margin: 0 0 12px !important;
    padding: 16px !important;
    border: 2px solid #dbe6f2;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(17,55,105,.05);
    transition: .2s ease;
}

body.bd-modern-checkout #payment ul.payment_methods > li:hover,
body.bd-modern-checkout #payment ul.payment_methods > li:has(input:checked) {
    border-color: #2d75d6;
    box-shadow: 0 12px 26px rgba(20,87,200,.12);
}

body.bd-modern-checkout #payment ul.payment_methods label {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: #17345f;
    font-size: 15px;
    font-weight: 850;
    cursor: pointer;
}

body.bd-modern-checkout #payment ul.payment_methods input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: #1457c8;
}

body.bd-modern-checkout #payment ul.payment_methods img {
    max-height: 34px;
    width: auto;
    margin-left: 8px;
}

body.bd-modern-checkout #payment div.payment_box {
    margin: 14px 0 0 !important;
    padding: 14px 15px !important;
    border: 1px solid #d7e5f4;
    border-radius: 13px;
    background: #f2f7fd !important;
    color: #52647d !important;
    font-size: 13px;
    line-height: 1.6;
}
body.bd-modern-checkout #payment div.payment_box::before { display: none !important; }

body.bd-modern-checkout #payment .place-order {
    margin: 16px 0 0 !important;
    padding: 0 !important;
}

body.bd-modern-checkout #place_order,
body.bd-modern-checkout button.button.alt,
body.bd-modern-checkout .woocommerce #respond input#submit.alt,
body.bd-modern-checkout .woocommerce a.button.alt,
body.bd-modern-checkout .woocommerce button.button.alt,
body.bd-modern-checkout .woocommerce input.button.alt {
    width: 100%;
    min-height: 56px;
    padding: 14px 20px !important;
    border: 0 !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, #0a9a68, #087f70) !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    box-shadow: 0 14px 28px rgba(10,154,104,.23) !important;
    text-shadow: none !important;
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}

body.bd-modern-checkout #place_order:hover,
body.bd-modern-checkout button.button.alt:hover,
body.bd-modern-checkout .woocommerce a.button.alt:hover,
body.bd-modern-checkout .woocommerce button.button.alt:hover,
body.bd-modern-checkout .woocommerce input.button.alt:hover {
    transform: translateY(-2px);
    filter: brightness(1.04);
    box-shadow: 0 18px 34px rgba(10,154,104,.28) !important;
}

/* Regular form fields for full checkout */
body.bd-modern-checkout .woocommerce form .form-row { margin: 0 0 16px; }
body.bd-modern-checkout .woocommerce form .form-row label {
    display: block;
    margin: 0 0 7px;
    color: #27415f;
    font-size: 13px;
    font-weight: 800;
}
body.bd-modern-checkout .woocommerce form .input-text,
body.bd-modern-checkout .woocommerce form select,
body.bd-modern-checkout .woocommerce form textarea,
body.bd-modern-checkout .select2-container .select2-selection--single {
    min-height: 48px;
    padding: 11px 13px !important;
    border: 1px solid #d5e1ee !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #203957 !important;
    box-shadow: none !important;
}
body.bd-modern-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 24px; padding: 0; }
body.bd-modern-checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; }
body.bd-modern-checkout .woocommerce form .input-text:focus,
body.bd-modern-checkout .woocommerce form select:focus,
body.bd-modern-checkout .woocommerce form textarea:focus {
    outline: 0;
    border-color: #4a87db !important;
    box-shadow: 0 0 0 3px rgba(20,87,200,.10) !important;
}

body.bd-modern-checkout .col2-set,
body.bd-modern-checkout .woocommerce-checkout-review-order {
    min-width: 0;
}
body.bd-modern-checkout .col2-set .col-1,
body.bd-modern-checkout .col2-set .col-2 {
    padding: 20px;
    border: 1px solid #dfe7f2;
    border-radius: 18px;
    background: #fff;
}

.bd-wc-trust-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 18px 0 0;
}

.bd-wc-trust-item {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 13px 14px;
    border: 1px solid #dce6f1;
    border-radius: 15px;
    background: #fff;
    color: #52657e;
    font-size: 12px;
    font-weight: 750;
}
.bd-wc-trust-item i {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    color: #1457c8;
    background: #edf5ff;
    font-size: 15px;
}

/* Dark mode */
html[data-cc-theme="dark"] body.bd-modern-checkout,
html[data-cc-theme="dark"] .bd-wc-checkout-page { background: #081424; }
html[data-cc-theme="dark"] .bd-wc-progress,
html[data-cc-theme="dark"] .bd-wc-checkout-card,
html[data-cc-theme="dark"] .bd-wc-trust-item { background: #102137; border-color: rgba(255,255,255,.08); }
html[data-cc-theme="dark"] .bd-wc-order-context { background: #132741; border-color: rgba(255,255,255,.08); }
html[data-cc-theme="dark"] .bd-wc-order-context strong,
html[data-cc-theme="dark"] .bd-wc-checkout-card .woocommerce,
html[data-cc-theme="dark"] body.bd-modern-checkout .woocommerce h2,
html[data-cc-theme="dark"] body.bd-modern-checkout .woocommerce h3,
html[data-cc-theme="dark"] body.bd-modern-checkout #order_review_heading { color: #f5f8ff; }
html[data-cc-theme="dark"] body.bd-modern-checkout table.shop_table,
html[data-cc-theme="dark"] body.bd-modern-checkout table.shop_table tbody td,
html[data-cc-theme="dark"] body.bd-modern-checkout table.shop_table tbody th,
html[data-cc-theme="dark"] body.bd-modern-checkout table.shop_table tfoot td,
html[data-cc-theme="dark"] body.bd-modern-checkout table.shop_table tfoot th,
html[data-cc-theme="dark"] body.bd-modern-checkout #payment ul.payment_methods > li,
html[data-cc-theme="dark"] body.bd-modern-checkout .col2-set .col-1,
html[data-cc-theme="dark"] body.bd-modern-checkout .col2-set .col-2 {
    background: #13243a;
    border-color: rgba(255,255,255,.08) !important;
    color: #d9e4f5;
}
html[data-cc-theme="dark"] body.bd-modern-checkout #payment,
html[data-cc-theme="dark"] body.bd-modern-checkout .woocommerce-checkout-payment { background: #0e1d30 !important; border-color: rgba(255,255,255,.08) !important; }
html[data-cc-theme="dark"] body.bd-modern-checkout table.shop_table .product-name,
html[data-cc-theme="dark"] body.bd-modern-checkout #payment ul.payment_methods label { color: #f5f8ff; }
html[data-cc-theme="dark"] body.bd-modern-checkout table.shop_table tbody td,
html[data-cc-theme="dark"] body.bd-modern-checkout table.shop_table tfoot th,
html[data-cc-theme="dark"] body.bd-modern-checkout table.shop_table tfoot td { border-top-color: rgba(255,255,255,.08) !important; }
html[data-cc-theme="dark"] body.bd-modern-checkout table.shop_table tfoot tr:last-child th,
html[data-cc-theme="dark"] body.bd-modern-checkout table.shop_table tfoot tr:last-child td { background: #102b50; color: #fff; }

@media (min-width: 900px) {
    body.bd-modern-checkout form.checkout.woocommerce-checkout {
        display: grid;
        grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
        gap: 28px;
        align-items: start;
    }
    body.bd-modern-checkout form.checkout.woocommerce-checkout > #customer_details { grid-column: 1; }
    body.bd-modern-checkout form.checkout.woocommerce-checkout > #order_review_heading,
    body.bd-modern-checkout form.checkout.woocommerce-checkout > #order_review { grid-column: 2; }
    body.bd-modern-checkout form.checkout.woocommerce-checkout > #order_review { position: sticky; top: 24px; }
}

@media (max-width: 760px) {
    .bd-wc-checkout-hero { padding: 34px 12px 64px; }
    .bd-wc-checkout-hero-inner { align-items: flex-start; }
    .bd-wc-secure-badge { display: none; }
    .bd-wc-checkout-heading-icon { width: 54px; height: 54px; flex-basis: 54px; border-radius: 18px; font-size: 21px; }
    .bd-wc-checkout-heading h1 { font-size: 30px; }
    .bd-wc-progress { grid-template-columns: 1fr; gap: 5px; padding: 10px; }
    .bd-wc-progress-item { justify-content: flex-start; min-height: 38px; }
    .bd-wc-checkout-card { padding: 20px 14px; border-radius: 22px; }
    .bd-wc-order-context { align-items: flex-start; flex-direction: column; }
    .bd-wc-trust-row { grid-template-columns: 1fr; }
    body.bd-modern-checkout table.shop_table thead th,
    body.bd-modern-checkout table.shop_table tbody td,
    body.bd-modern-checkout table.shop_table tbody th,
    body.bd-modern-checkout table.shop_table tfoot td,
    body.bd-modern-checkout table.shop_table tfoot th { padding: 13px 12px !important; }
    body.bd-modern-checkout table.shop_table thead th { font-size: 12px; }
    body.bd-modern-checkout table.shop_table tbody td,
    body.bd-modern-checkout table.shop_table tfoot th,
    body.bd-modern-checkout table.shop_table tfoot td { font-size: 13px; }
    body.bd-modern-checkout #payment { padding: 14px !important; }
}

/* =========================================================
 * Version 6.7 - Modern WooCommerce cart and empty cart
 * ========================================================= */
body.bd-modern-cart {
    --bd-cart-primary: #1457c8;
    --bd-cart-primary-dark: #082f70;
    --bd-cart-success: #0a9a68;
    --bd-cart-accent: #ffb703;
    --bd-cart-text: #12233f;
    --bd-cart-muted: #64748b;
    --bd-cart-border: #dbe5f2;
    background: #f3f7fc;
}

.bd-wc-cart-page {
    min-height: 72vh;
    padding-bottom: 66px;
    overflow: hidden;
    background:
        radial-gradient(circle at 7% 19%, rgba(20,87,200,.10), transparent 28%),
        radial-gradient(circle at 94% 82%, rgba(10,154,104,.10), transparent 27%),
        #f3f7fc;
}

.bd-wc-cart-hero {
    position: relative;
    overflow: hidden;
    padding: 48px 16px 78px;
    color: #fff;
    background: linear-gradient(125deg, #072b65 0%, #1457c8 57%, #1684dd 100%);
}
.bd-wc-cart-hero::before,
.bd-wc-cart-hero::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.bd-wc-cart-hero::before { width: 360px; height: 360px; right: -130px; top: -210px; background: rgba(255,255,255,.09); }
.bd-wc-cart-hero::after { width: 230px; height: 230px; left: -90px; bottom: -145px; background: rgba(255,183,3,.17); }
.bd-wc-cart-hero-inner {
    position: relative;
    z-index: 2;
    width: min(1120px, calc(100% - 24px));
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}
.bd-wc-cart-heading { display: flex; align-items: center; gap: 18px; min-width: 0; }
.bd-wc-cart-heading-icon {
    width: 68px;
    height: 68px;
    flex: 0 0 68px;
    display: grid;
    place-items: center;
    border-radius: 23px;
    color: #0b4297;
    background: linear-gradient(145deg,#fff,#e5f0ff);
    font-size: 26px;
    box-shadow: 0 18px 38px rgba(0,0,0,.18);
}
.bd-wc-cart-heading small { display: block; margin-bottom: 3px; color: #cfe2ff; font-size: 13px; font-weight: 750; }
.bd-wc-cart-heading h1 { margin: 0; color: #fff; font-size: clamp(29px,5vw,44px); line-height: 1.15; font-weight: 950; text-shadow: 0 6px 20px rgba(0,0,0,.15); }
.bd-wc-cart-heading p { max-width: 670px; margin: 8px 0 0; color: #e6f1ff; font-size: 14px; line-height: 1.65; }
.bd-wc-cart-secure {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 15px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    color: #fff;
    font-size: 13px;
    font-weight: 850;
    backdrop-filter: blur(8px);
}
.bd-wc-cart-shell { position: relative; z-index: 5; width: min(1120px, calc(100% - 24px)); margin: -42px auto 0; }
.bd-wc-cart-progress {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 9px;
    margin-bottom: 18px;
    padding: 13px;
    border: 1px solid rgba(219,229,242,.96);
    border-radius: 20px;
    background: rgba(255,255,255,.95);
    box-shadow: 0 16px 38px rgba(13,52,109,.10);
    backdrop-filter: blur(10px);
}
.bd-wc-cart-progress-item { min-height: 44px; padding: 9px 12px; border-radius: 13px; display: flex; align-items: center; justify-content: center; gap: 9px; color: #718096; font-size: 12px; font-weight: 850; }
.bd-wc-cart-progress-item i { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: #edf2f8; color: #7b8da6; }
.bd-wc-cart-progress-item.is-active { color: #104aa7; background: #edf5ff; }
.bd-wc-cart-progress-item.is-active i { color: #fff; background: #1457c8; }

.bd-wc-empty-card,
.bd-wc-cancelled-card,
.bd-wc-cart-content-card {
    position: relative;
    overflow: hidden;
    padding: clamp(25px,5vw,52px);
    border: 1px solid var(--bd-cart-border);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 24px 58px rgba(13,52,109,.12);
}
.bd-wc-empty-card::before,
.bd-wc-cancelled-card::before,
.bd-wc-cart-content-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg,#0a9a68,#1457c8,#ffb703); }
.bd-wc-empty-card,
.bd-wc-cancelled-card { text-align: center; }
.bd-wc-empty-visual,
.bd-wc-cancelled-icon {
    position: relative;
    width: 112px;
    height: 112px;
    margin: 0 auto 18px;
    display: grid;
    place-items: center;
    border-radius: 34px;
    background: linear-gradient(145deg,#edf5ff,#dcecff);
    color: #1457c8;
    font-size: 42px;
    box-shadow: 0 18px 38px rgba(20,87,200,.15);
}
.bd-wc-cancelled-icon { color: #cc5f12; background: linear-gradient(145deg,#fff7ed,#ffedd5); }
.bd-wc-empty-ring { position: absolute; inset: -9px; border: 2px dashed rgba(20,87,200,.25); border-radius: 41px; }
.bd-wc-empty-badge,
.bd-wc-status-pill { display: inline-flex; align-items: center; gap: 8px; padding: 7px 13px; border-radius: 999px; background: #eaf3ff; color: #1658b8; font-size: 12px; font-weight: 850; }
.bd-wc-status-pill { background: #fff2e8; color: #b84c08; }
.bd-wc-empty-card h2,
.bd-wc-cancelled-card h2 { margin: 14px 0 8px; color: #102f60; font-size: clamp(27px,4vw,38px); line-height: 1.25; font-weight: 950; }
.bd-wc-empty-card > p,
.bd-wc-cancelled-card > p { max-width: 680px; margin: 0 auto 24px; color: #62738c; font-size: 14px; line-height: 1.75; }
.bd-wc-empty-features {
    max-width: 880px;
    margin: 0 auto 27px;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 14px;
}
.bd-wc-empty-features > div {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    border: 1px solid #dfe8f3;
    border-radius: 17px;
    background: linear-gradient(145deg,#fbfdff,#f3f7fc);
    text-align: left;
}
.bd-wc-empty-features i { width: 43px; height: 43px; flex: 0 0 43px; display: grid; place-items: center; border-radius: 14px; background: #e9f3ff; color: #1457c8; }
.bd-wc-empty-features strong { display: block; color: #19395f; font-size: 13px; }
.bd-wc-empty-features small { display: block; margin-top: 2px; color: #718096; font-size: 11px; line-height: 1.4; }
.bd-wc-empty-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px; }
.bd-wc-primary-action,
.bd-wc-secondary-action {
    min-height: 52px;
    padding: 13px 20px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    font-size: 14px;
    font-weight: 900;
    text-decoration: none !important;
    transition: .2s ease;
}
.bd-wc-primary-action { color: #fff !important; background: linear-gradient(135deg,#0a9a68,#087f70); box-shadow: 0 14px 28px rgba(10,154,104,.22); }
.bd-wc-secondary-action { color: #1457c8 !important; border: 1px solid #cbdcf2; background: #f5f9ff; }
.bd-wc-primary-action:hover,
.bd-wc-secondary-action:hover { transform: translateY(-2px); }

.bd-wc-cancelled-order {
    max-width: 820px;
    margin: 0 auto 26px;
    padding: 15px;
    display: grid;
    grid-template-columns: minmax(0,1.5fr) repeat(2,minmax(120px,.6fr));
    gap: 10px;
    border: 1px solid #e1e9f3;
    border-radius: 18px;
    background: #f8fbff;
    text-align: left;
}
.bd-wc-cancelled-order > div { padding: 10px 12px; border-radius: 12px; background: #fff; }
.bd-wc-cancelled-order small { display: block; color: #7b8aa0; font-size: 10px; font-weight: 800; }
.bd-wc-cancelled-order strong { display: block; margin-top: 3px; color: #15355f; font-size: 14px; word-break: break-word; }

.bd-wc-cart-card-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.bd-wc-cart-card-heading small { display: block; color: #75849a; font-size: 11px; font-weight: 800; }
.bd-wc-cart-card-heading h2 { margin: 3px 0 0; color: #102f60; font-size: clamp(24px,3vw,32px); font-weight: 950; }
.bd-wc-cart-card-heading > span { padding: 9px 12px; border-radius: 999px; background: #edf8f4; color: #087d59; font-size: 11px; font-weight: 850; }
.bd-wc-cart-content-entry .woocommerce { color: var(--bd-cart-text); }

/* Classic cart table */
body.bd-modern-cart .woocommerce-cart-form { min-width: 0; }
body.bd-modern-cart table.shop_table.cart {
    width: 100%;
    margin: 0 0 24px !important;
    overflow: hidden;
    border: 1px solid #dce6f2 !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 20px !important;
    background: #fff;
    box-shadow: 0 10px 26px rgba(15,50,98,.06);
}
body.bd-modern-cart table.shop_table.cart thead th { padding: 16px 14px !important; border: 0 !important; background: linear-gradient(135deg,#0d397e,#1457c8) !important; color: #fff !important; font-size: 12px; font-weight: 850; }
body.bd-modern-cart table.shop_table.cart tbody td { padding: 16px 14px !important; border-top: 1px solid #e5ecf5 !important; color: #2d405e; background: #fff; vertical-align: middle; }
body.bd-modern-cart table.shop_table.cart .product-thumbnail img { width: 64px; height: 64px; object-fit: cover; border-radius: 14px; border: 1px solid #e2eaf3; }
body.bd-modern-cart table.shop_table.cart .product-name a { color: #123868; font-weight: 850; text-decoration: none; }
body.bd-modern-cart table.shop_table.cart .product-price,
body.bd-modern-cart table.shop_table.cart .product-subtotal { color: #0d58bf; font-weight: 900; white-space: nowrap; }
body.bd-modern-cart table.shop_table.cart a.remove { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; background: #fff1f2; color: #e11d48 !important; font-size: 21px; line-height: 1; }
body.bd-modern-cart table.shop_table.cart a.remove:hover { background: #e11d48; color: #fff !important; }
body.bd-modern-cart .quantity .qty { width: 76px; min-height: 43px; border: 1px solid #d5e1ee; border-radius: 11px; background: #fff; color: #15355f; font-weight: 800; text-align: center; }
body.bd-modern-cart table.shop_table.cart td.actions { padding: 16px !important; background: #f8fbff; }
body.bd-modern-cart table.shop_table.cart td.actions .coupon { display: flex; gap: 9px; }
body.bd-modern-cart table.shop_table.cart td.actions .input-text { min-height: 45px; padding: 10px 12px !important; border: 1px solid #d5e1ee !important; border-radius: 11px !important; }
body.bd-modern-cart .woocommerce button.button,
body.bd-modern-cart .woocommerce a.button { min-height: 45px; padding: 12px 16px !important; border: 0 !important; border-radius: 12px !important; background: #e9f2ff !important; color: #1457c8 !important; font-weight: 850 !important; }
body.bd-modern-cart .woocommerce button.button:hover,
body.bd-modern-cart .woocommerce a.button:hover { background: #dbeaff !important; color: #0b408e !important; }
body.bd-modern-cart .cart-collaterals { display: flex; justify-content: flex-end; }
body.bd-modern-cart .cart_totals { width: min(100%,480px) !important; float: none !important; padding: 23px; border: 1px solid #dce6f2; border-radius: 20px; background: linear-gradient(145deg,#fafdff,#f1f6fc); box-shadow: 0 12px 30px rgba(15,50,98,.07); }
body.bd-modern-cart .cart_totals h2 { margin: 0 0 15px; color: #102f60; font-size: 23px; font-weight: 950; }
body.bd-modern-cart .cart_totals table { margin: 0 0 16px !important; border: 0 !important; }
body.bd-modern-cart .cart_totals th,
body.bd-modern-cart .cart_totals td { padding: 13px 10px !important; border-top: 1px solid #e2eaf3 !important; color: #38506f; }
body.bd-modern-cart .cart_totals .order-total th,
body.bd-modern-cart .cart_totals .order-total td { color: #0b4bb0; font-size: 18px; font-weight: 950; }
body.bd-modern-cart .wc-proceed-to-checkout { padding: 0 !important; }
body.bd-modern-cart .wc-proceed-to-checkout a.checkout-button { width: 100%; min-height: 55px; margin: 0 !important; padding: 15px 20px !important; display: flex !important; align-items: center; justify-content: center; border-radius: 15px !important; background: linear-gradient(135deg,#0a9a68,#087f70) !important; color: #fff !important; font-size: 15px !important; font-weight: 950 !important; box-shadow: 0 14px 28px rgba(10,154,104,.22); }
body.bd-modern-cart .wc-proceed-to-checkout a.checkout-button:hover { transform: translateY(-2px); filter: brightness(1.04); }

/* WooCommerce Cart block */
body.bd-modern-cart .wc-block-cart { color: #243b5a; }
body.bd-modern-cart .wc-block-cart-items { overflow: hidden; border: 1px solid #dce6f2 !important; border-radius: 18px; background: #fff; }
body.bd-modern-cart .wc-block-cart-items__row { border-bottom-color: #e5ecf5 !important; }
body.bd-modern-cart .wc-block-components-sidebar { padding: 22px !important; border: 1px solid #dce6f2; border-radius: 20px; background: #f8fbff; }
body.bd-modern-cart .wc-block-components-button:not(.is-link) { min-height: 54px; border-radius: 15px; background: linear-gradient(135deg,#0a9a68,#087f70); color: #fff; font-weight: 900; box-shadow: 0 14px 28px rgba(10,154,104,.22); }

.bd-wc-cart-trust-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top: 18px; }
.bd-wc-cart-trust-row > div { display: flex; align-items: center; justify-content: center; gap: 10px; padding: 13px 14px; border: 1px solid #dce6f1; border-radius: 15px; background: #fff; color: #52657e; font-size: 12px; font-weight: 800; }
.bd-wc-cart-trust-row i { color: #1457c8; }

html[data-cc-theme="dark"] body.bd-modern-cart,
html[data-cc-theme="dark"] .bd-wc-cart-page { background: #081424; }
html[data-cc-theme="dark"] .bd-wc-cart-progress,
html[data-cc-theme="dark"] .bd-wc-empty-card,
html[data-cc-theme="dark"] .bd-wc-cancelled-card,
html[data-cc-theme="dark"] .bd-wc-cart-content-card,
html[data-cc-theme="dark"] .bd-wc-cart-trust-row > div { background: #102137; border-color: rgba(255,255,255,.08); }
html[data-cc-theme="dark"] .bd-wc-empty-card h2,
html[data-cc-theme="dark"] .bd-wc-cancelled-card h2,
html[data-cc-theme="dark"] .bd-wc-cart-card-heading h2 { color: #f5f8ff; }
html[data-cc-theme="dark"] .bd-wc-empty-card > p,
html[data-cc-theme="dark"] .bd-wc-cancelled-card > p { color: #c3d1e5; }
html[data-cc-theme="dark"] .bd-wc-empty-features > div,
html[data-cc-theme="dark"] .bd-wc-cancelled-order,
html[data-cc-theme="dark"] .bd-wc-cancelled-order > div,
html[data-cc-theme="dark"] body.bd-modern-cart table.shop_table.cart,
html[data-cc-theme="dark"] body.bd-modern-cart table.shop_table.cart tbody td,
html[data-cc-theme="dark"] body.bd-modern-cart .cart_totals { background: #13243a; border-color: rgba(255,255,255,.08) !important; color: #d9e4f5; }
html[data-cc-theme="dark"] .bd-wc-empty-features strong,
html[data-cc-theme="dark"] .bd-wc-cancelled-order strong,
html[data-cc-theme="dark"] body.bd-modern-cart table.shop_table.cart .product-name a,
html[data-cc-theme="dark"] body.bd-modern-cart .cart_totals h2 { color: #f5f8ff; }

@media (max-width: 820px) {
    .bd-wc-cart-progress { grid-template-columns: repeat(2,1fr); }
    .bd-wc-empty-features { grid-template-columns: 1fr; }
    .bd-wc-cancelled-order { grid-template-columns: 1fr; }
    body.bd-modern-cart .cart-collaterals { display: block; }
    body.bd-modern-cart .cart_totals { width: 100% !important; }
}
@media (max-width: 760px) {
    .bd-wc-cart-hero { padding: 34px 12px 65px; }
    .bd-wc-cart-secure { display: none; }
    .bd-wc-cart-heading-icon { width: 54px; height: 54px; flex-basis: 54px; border-radius: 18px; font-size: 21px; }
    .bd-wc-cart-heading h1 { font-size: 29px; }
    .bd-wc-empty-card,
    .bd-wc-cancelled-card,
    .bd-wc-cart-content-card { padding: 24px 15px; border-radius: 23px; }
    .bd-wc-cart-card-heading { align-items: flex-start; flex-direction: column; }
    .bd-wc-cart-trust-row { grid-template-columns: 1fr; }
    body.bd-modern-cart table.shop_table.cart thead { display: none; }
    body.bd-modern-cart table.shop_table.cart tbody tr { display: block; padding: 12px; border-bottom: 1px solid #e5ecf5; }
    body.bd-modern-cart table.shop_table.cart tbody td { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 10px !important; border: 0 !important; text-align: right !important; }
    body.bd-modern-cart table.shop_table.cart tbody td::before { color: #6b7c94; font-size: 11px; font-weight: 800; text-align: left; }
    body.bd-modern-cart table.shop_table.cart .product-thumbnail { justify-content: center; }
    body.bd-modern-cart table.shop_table.cart td.actions { display: block; text-align: left !important; }
    body.bd-modern-cart table.shop_table.cart td.actions .coupon { margin-bottom: 10px; }
}
@media (max-width: 480px) {
    .bd-wc-cart-progress { grid-template-columns: 1fr; gap: 5px; padding: 10px; }
    .bd-wc-cart-progress-item { justify-content: flex-start; min-height: 38px; }
    .bd-wc-empty-actions { flex-direction: column; }
    .bd-wc-primary-action,
    .bd-wc-secondary-action { width: 100%; }
}
