:root {
    --bg-primary: #0a0a0f;
    --bg-secondary: #12121a;
    --bg-tertiary: #1a1a25;
    --bg-card: #16161f;
    --text-primary: #ffffff;
    --text-secondary: #a1a1aa;
    --text-muted: #71717a;
    --accent-primary: #7c3aed;
    --accent-pink: #ec4899;
    --accent-cyan: #06b6d4;
    --accent-green: #22c55e;
    --border-color: rgba(255, 255, 255, 0.08);
    --border-subtle: rgba(255, 255, 255, 0.04);
    --shadow: rgba(0, 0, 0, 0.5);
    --gradient-primary: linear-gradient(135deg, var(--accent-primary), var(--accent-pink));
}

.cf-checkout-main {
    padding: 120px 24px 72px;
    min-height: 100vh;
    position: relative;
    overflow: hidden;
}

.cf-checkout-main::before {
    content: '';
    position: absolute;
    top: 8%;
    left: 50%;
    width: 680px;
    height: 680px;
    transform: translateX(-50%);
    background: radial-gradient(circle, rgba(124, 58, 237, 0.16) 0%, transparent 70%);
    pointer-events: none;
}

.cf-checkout-shell {
    width: min(1120px, 100%);
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

.cf-checkout-header {
    text-align: center;
    margin-bottom: 36px;
}

.cf-checkout-header .section-label {
    color: var(--accent-primary);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.cf-checkout-header h1 {
    font-family: 'Space Grotesk', sans-serif;
    font-size: clamp(32px, 5vw, 54px);
    margin: 8px 0;
}

.cf-checkout-header p {
    color: var(--text-secondary);
}

.cf-checkout-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 24px;
    align-items: start;
}

.cf-checkout-card {
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: 20px;
    padding: 28px;
    box-shadow: 0 20px 60px var(--shadow);
}

.cf-order-card {
    position: sticky;
    top: 100px;
}

.cf-card-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px;
}

.cf-card-heading h2,
.woocommerce-billing-fields h3,
#order_review_heading {
    font-family: 'Space Grotesk', sans-serif;
    font-size: 20px;
    font-weight: 700;
}

.woocommerce form .form-row {
    margin: 0 0 18px;
    padding: 0;
}

.woocommerce form .form-row label {
    display: block;
    color: var(--text-secondary);
    font-size: 14px;
    font-weight: 500;
    margin-bottom: 8px;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single {
    width: 100%;
    min-height: 48px;
    padding: 13px 16px;
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    color: var(--text-primary);
    font: inherit;
    transition: all 0.2s;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
    outline: none;
    border-color: var(--accent-primary);
    box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.15);
}

.cf-review-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 24px;
}

.cf-review-table th,
.cf-review-table td {
    padding: 14px 0;
    border-bottom: 1px solid var(--border-subtle);
    text-align: left;
}

.cf-review-table td:last-child,
.cf-review-table tfoot td {
    text-align: right;
}

.cf-review-table .order-total th,
.cf-review-table .order-total td {
    border-bottom: none;
    font-size: 20px;
    font-weight: 800;
    color: var(--text-primary);
}

.cf-product-summary {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cf-product-icon {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: rgba(124, 58, 237, 0.15);
    color: var(--accent-primary);
}

.cf-product-summary span {
    display: block;
    color: var(--text-secondary);
    font-size: 13px;
    margin-top: 2px;
}

.cf-payment-box {
    margin-top: 20px;
}

.wc_payment_methods {
    list-style: none;
    display: grid;
    gap: 12px;
    margin: 0 0 20px;
    padding: 0;
}

.wc_payment_method {
    background: var(--bg-secondary);
    border: 1px solid var(--border-color);
    border-radius: 14px;
    padding: 16px;
}

.wc_payment_method label {
    font-weight: 700;
}

.payment_box {
    color: var(--text-secondary);
    font-size: 14px;
    margin-top: 10px;
}

#place_order,
.woocommerce button.button.alt,
.woocommerce a.button,
.woocommerce button.button {
    width: 100%;
    min-height: 52px;
    border: none;
    border-radius: 12px;
    background: var(--gradient-primary);
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    cursor: pointer;
    box-shadow: 0 4px 15px rgba(124, 58, 237, 0.35);
}

.woocommerce-info,
.woocommerce-message,
.woocommerce-error {
    border: 1px solid var(--border-color);
    border-radius: 14px;
    background: var(--bg-card);
    color: var(--text-primary);
    padding: 16px 20px;
    margin: 0 auto 20px;
    max-width: 1120px;
}

.woocommerce-error {
    border-color: rgba(239, 68, 68, 0.35);
}

@media (max-width: 900px) {
    .cf-checkout-grid {
        grid-template-columns: 1fr;
    }

    .cf-order-card {
        position: static;
    }
}

.woocommerce-checkout .woocommerce {
    color: var(--text-primary);
}

.woocommerce form.checkout {
    margin: 0;
}

.woocommerce form.checkout::before,
.woocommerce form.checkout::after,
.woocommerce form .form-row::before,
.woocommerce form .form-row::after {
    content: none;
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last,
.woocommerce form .form-row-wide {
    float: none;
    width: 100%;
    clear: none;
}

.woocommerce table.shop_table,
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
    border: 0;
}

.woocommerce table.shop_table {
    border-collapse: collapse;
    color: var(--text-primary);
}

.woocommerce table.shop_table td,
.woocommerce table.shop_table th {
    padding: 14px 0;
    border-bottom: 1px solid var(--border-subtle);
}

.woocommerce-checkout #payment {
    background: transparent;
    border-radius: 0;
}

.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout #payment div.form-row {
    border: 0;
    padding: 0;
    margin: 0;
}

.woocommerce-checkout #payment div.payment_box {
    background: transparent;
    color: var(--text-secondary);
    padding: 0;
    margin: 10px 0 0;
}

.woocommerce-checkout #payment div.payment_box::before {
    display: none;
}

.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
    color: var(--text-secondary);
    font-size: 13px;
    margin-bottom: 16px;
}

.woocommerce-checkout .woocommerce-privacy-policy-text a,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper a {
    color: var(--accent-primary);
}

.woocommerce-checkout .select2-container .select2-selection--single {
    height: auto;
}

.woocommerce-checkout .blockUI.blockOverlay {
    background: rgba(10, 10, 15, 0.72) !important;
    border-radius: 20px;
}
.cf-order-received-main .cf-checkout-shell{max-width:1120px}.cf-order-status-card{text-align:center;margin-bottom:24px}.cf-order-status-icon{width:56px;height:56px;margin:0 auto 16px;border-radius:16px;background:var(--gradient-primary);color:white;display:grid;place-items:center;box-shadow:0 12px 30px rgba(124,58,237,.35)}.cf-order-status-card .section-label{color:var(--accent-primary);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.cf-order-status-card h1{font-family:'Space Grotesk',sans-serif;font-size:clamp(32px,5vw,54px);margin:8px 0}.cf-order-status-card p{color:var(--text-secondary)}.cf-order-received-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:24px;align-items:start;margin-bottom:24px}.cf-order-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cf-order-meta-grid div{padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px}.cf-order-meta-grid dt{color:var(--text-muted);font-size:13px;margin-bottom:6px}.cf-order-meta-grid dd{color:var(--text-primary);font-weight:700;word-break:break-word}.cf-status-pill{display:inline-flex;padding:5px 10px;border-radius:999px;background:rgba(34,197,94,.14);color:var(--accent-green);font-size:12px;font-weight:700}.cf-order-card-static{position:static}.cf-order-items-table tfoot th,.cf-order-items-table tfoot td{padding:12px 0;border-bottom:1px solid var(--border-subtle)}.cf-payment-instructions{margin-bottom:24px}.cf-order-next-card,.cf-order-actions-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.cf-order-next-card .btn,.cf-order-actions-row .btn,.cf-order-status-card .btn{min-height:46px;padding:0 20px;border-radius:12px;text-decoration:none;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-secondary{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary)}.woocommerce-order-received .woocommerce-order-overview,.woocommerce-order-received .woocommerce-thankyou-order-received,.woocommerce-order-received .woocommerce-order-details,.woocommerce-order-received .woocommerce-customer-details,.woocommerce-order-received .wc-bacs-bank-details,.woocommerce-order-received .woocommerce-bacs-bank-details{display:none}@media(max-width:900px){.cf-order-received-grid,.cf-order-meta-grid{grid-template-columns:1fr}}
.woocommerce-checkout form.login{width:min(760px,calc(100% - 48px));margin:120px auto 40px;padding:28px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 20px 60px var(--shadow);color:var(--text-primary)}.woocommerce-checkout form.login p{color:var(--text-secondary);margin-bottom:18px}.woocommerce-checkout form.login .form-row{float:none;width:100%;padding:0;margin:0 0 18px}.woocommerce-checkout form.login label{display:block;color:var(--text-secondary);font-size:14px;font-weight:600;margin-bottom:8px}.woocommerce-checkout form.login input.input-text{width:100%;min-height:48px;padding:13px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font:inherit}.woocommerce-checkout form.login .button{width:100%;min-height:50px;border:0;border-radius:12px;background:var(--gradient-primary);color:#fff;font-weight:700}.woocommerce-checkout form.login .lost_password a{color:var(--accent-primary)}

[data-theme="light"] {
    --bg-primary: #ffffff;
    --bg-secondary: #f8f9fa;
    --bg-tertiary: #f1f3f5;
    --bg-card: #ffffff;
    --text-primary: #1a1a2e;
    --text-secondary: #4a5568;
    --text-muted: #718096;
    --border-color: rgba(0, 0, 0, 0.1);
    --border-subtle: rgba(0, 0, 0, 0.08);
    --shadow: rgba(0, 0, 0, 0.1);
}
