/* Blight Studios – cart + checkout (loaded only on those pages) */
:root { --ck-bg: #121212; --ck-card: #181818; --ck-line: #2A2A2A; --ck-text: #C9C9C9; --ck-muted: #8A8A8A; --ck-white: #FFFFFF; --ck-accent: #F15822; --ck-accent-2: #F7941D; --ck-ok: #3DDC84; }

/* ---------- shared ---------- */
.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce { color: var(--ck-text); }
.woocommerce-Price-currencySymbol { margin: 0 !important; padding: 0 !important; }
.woocommerce .woocommerce-Price-amount { white-space: nowrap; }
.woocommerce table.shop_table { border: 0 !important; border-radius: 0; background: transparent; }
.woocommerce table.shop_table th, .woocommerce table.shop_table td { border-color: var(--ck-line) !important; vertical-align: middle; }
.woocommerce table.shop_table th { color: var(--ck-white); font-weight: 600; font-size: 13px; letter-spacing: .02em; }
.woocommerce table.shop_table td { font-size: 14px; }
.woocommerce table.shop_table th.product-price, .woocommerce table.shop_table td.product-price, .woocommerce table.shop_table td.product-subtotal, .woocommerce table.shop_table th.product-subtotal { white-space: nowrap; text-align: right; }
dl.variation { display: grid; grid-template-columns: max-content 1fr; gap: 3px 8px; margin: 8px 0 0 !important; font-size: 12.5px; line-height: 1.4; }
dl.variation dt { margin: 0 !important; padding: 0 !important; color: var(--ck-muted); font-weight: 500; float: none !important; }
dl.variation dd { margin: 0 !important; padding: 0 !important; color: var(--ck-text); float: none !important; }
dl.variation dd p { margin: 0 !important; display: inline; }
.woocommerce a.remove { color: var(--ck-muted) !important; font-size: 18px; line-height: 20px; }
.woocommerce a.remove:hover { background: transparent !important; color: var(--ck-accent) !important; }
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info { background: var(--ck-card) !important; border: 1px solid var(--ck-line) !important; border-top: 3px solid var(--ck-accent) !important; color: var(--ck-text) !important; border-radius: 12px; font-size: 14px; }
.woocommerce .woocommerce-message::before, .woocommerce .woocommerce-info::before { color: var(--ck-accent-2) !important; }
.woocommerce .woocommerce-error { border-radius: 12px; }
.woocommerce form .form-row label { font-size: 13px; color: var(--ck-text); margin-bottom: 4px; }
.woocommerce form .form-row .required { color: var(--ck-accent-2); text-decoration: none; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container--default .select2-selection--single { background: #0F0F0F !important; border: 1px solid var(--ck-line) !important; border-radius: 10px !important; color: var(--ck-white) !important; padding: 12px 14px !important; height: auto !important; font-size: 14px; box-shadow: none !important; }
.woocommerce form .form-row input.input-text:focus, .woocommerce form .form-row textarea:focus { border-color: var(--ck-accent-2) !important; outline: 0; }
.select2-container--default .select2-selection--single .select2-selection__rendered { color: var(--ck-white) !important; line-height: 22px !important; padding: 0 !important; }
.select2-container--default .select2-selection--single .select2-selection__arrow { top: 50% !important; transform: translateY(-50%); right: 10px !important; }
.select2-dropdown { background: #161616 !important; border-color: var(--ck-line) !important; color: var(--ck-white); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--ck-accent) !important; }
.select2-container--default .select2-search--dropdown .select2-search__field { background: #0F0F0F; border-color: var(--ck-line); color: #fff; }
.woocommerce form .form-row textarea { min-height: 96px; }
.woocommerce form .form-row.form-row-first, .woocommerce form .form-row.form-row-last { width: calc(50% - 8px); }
.woocommerce form .form-row.form-row-last { float: right; }
@media (max-width: 767px) { .woocommerce form .form-row.form-row-first, .woocommerce form .form-row.form-row-last { width: 100%; float: none; } }

/* ---------- cart ---------- */
.woocommerce-cart .woocommerce-cart-form { margin-bottom: 26px; }
.woocommerce-cart table.shop_table { border: 1px solid var(--ck-line) !important; border-radius: 14px; overflow: hidden; background: var(--ck-card); }
.woocommerce-cart table.shop_table thead th { background: #1F1F1F; padding: 14px 16px; border-bottom: 1px solid var(--ck-line) !important; }
.woocommerce-cart table.shop_table td { padding: 18px 16px; }
.woocommerce-cart table.shop_table td.product-thumbnail img { width: 84px; border-radius: 10px; }
.woocommerce-cart table.shop_table td.product-name a { color: var(--ck-white); font-weight: 600; font-size: 15px; }
.woocommerce-cart table.shop_table td.product-quantity .quantity { margin: 0; }
.woocommerce-cart table.shop_table td.actions { padding: 0 !important; border: 0 !important; }
.woocommerce-cart button[name="update_cart"] { display: none !important; }
.woocommerce-cart .cart-collaterals { display: grid !important; grid-template-columns: minmax(0, 1fr) 420px; gap: 30px; align-items: start; }
@media (max-width: 991px) { .woocommerce-cart .cart-collaterals { grid-template-columns: 1fr; } }
.woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; float: none !important; grid-column: 2; border: 1px solid var(--ck-line); border-radius: 14px; padding: 22px 24px; background: var(--ck-card); }
@media (max-width: 991px) { .woocommerce-cart .cart-collaterals .cart_totals { grid-column: 1; } }
.woocommerce-cart .cart_totals h2 { font-size: 18px; margin: 0 0 12px; color: var(--ck-white); }
.woocommerce-cart .cart_totals table.shop_table { border: 0 !important; background: transparent; }
.woocommerce-cart .cart_totals table.shop_table th, .woocommerce-cart .cart_totals table.shop_table td { padding: 12px 0; border: 0 !important; border-top: 1px solid var(--ck-line) !important; background: transparent !important; }
.woocommerce-cart .cart_totals table.shop_table tr:first-child th, .woocommerce-cart .cart_totals table.shop_table tr:first-child td { border-top: 0 !important; }
.woocommerce-cart .cart_totals table.shop_table td { text-align: right; }
.woocommerce-cart .cart_totals tr.order-total th, .woocommerce-cart .cart_totals tr.order-total td { font-size: 17px; color: var(--ck-white); }
.blight-ship-note td small, .blight-later td small { display: block; font-size: 12px; color: var(--ck-muted); line-height: 1.4; margin-top: 2px; }
.woocommerce-cart .wc-proceed-to-checkout { padding: 6px 0 0 !important; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: block; width: 100%; text-align: center; font-size: 16px !important; padding: 15px 20px !important; margin: 0 !important; }
.blight-cart-hint { margin: 12px 0 0; font-size: 12.5px; color: var(--ck-muted); text-align: center; line-height: 1.5; }
.woocommerce-cart .coupon-wrapper, .woocommerce-cart .cart-collaterals .coupon, .woocommerce-cart .woocommerce-cart-form .coupon { border: 1px solid var(--ck-line) !important; border-radius: 14px; padding: 16px 18px !important; background: transparent !important; margin: 0 !important; }
.woocommerce-cart .cart-collaterals > *:not(.cart_totals) { grid-column: 1; }
.woocommerce-cart .coupon h3, .woocommerce-cart .coupon-wrapper h3 { font-size: 14px !important; margin: 0 0 8px !important; color: var(--ck-white); }
.woocommerce-cart .coupon input.input-text { background: #0F0F0F !important; border: 1px solid var(--ck-line) !important; border-radius: 10px !important; color: #fff !important; }
.woocommerce-cart .return-to-shop a { border-radius: 999px; }

/* ---------- checkout: two columns ---------- */
.woocommerce-checkout .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-checkout form.checkout { display: grid !important; grid-template-columns: minmax(0, 1fr) 400px; gap: 40px; align-items: start; width: 100% !important; }
@media (max-width: 1100px) { .woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr) 360px; gap: 28px; } }
@media (max-width: 991px) { .woocommerce-checkout form.checkout { grid-template-columns: 1fr !important; } }
.woocommerce-checkout form.checkout > .blight-step, .woocommerce-checkout form.checkout #customer_details, .woocommerce-checkout form.checkout #blight-payment-slot { grid-column: 1; }
.woocommerce-checkout form.checkout .woocommerce-checkout-order-review-wrap, .woocommerce-checkout form.checkout #order_review_heading, .woocommerce-checkout form.checkout #order_review { grid-column: 2; }
.woocommerce-checkout form.checkout .woocommerce-checkout-order-review-wrap { grid-row: 1 / span 4; position: sticky; top: 96px; }
@media (max-width: 991px) { .woocommerce-checkout form.checkout .woocommerce-checkout-order-review-wrap, .woocommerce-checkout form.checkout #order_review_heading, .woocommerce-checkout form.checkout #order_review { grid-column: 1; grid-row: auto; position: static; } }
.woocommerce-checkout #customer_details.col2-set { width: 100% !important; margin: 0; }
.woocommerce-checkout #customer_details.col2-set .col-1, .woocommerce-checkout #customer_details.col2-set .col-2 { width: 100% !important; float: none !important; padding: 0 !important; margin: 0 !important; }
.woocommerce-checkout #customer_details .col-2 { margin-top: 8px !important; }
.woocommerce-checkout .woocommerce-billing-fields h3, .woocommerce-checkout .woocommerce-additional-fields > h3 { display: none; }
.woocommerce-checkout .woocommerce-billing-fields, .woocommerce-checkout .woocommerce-shipping-fields, .woocommerce-checkout .woocommerce-additional-fields, .woocommerce-checkout #payment { background: var(--ck-card); border: 1px solid var(--ck-line); border-radius: 16px; padding: 22px 24px 10px; margin: 0 0 14px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper::after, .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper::after { content: ""; display: table; clear: both; }
.woocommerce-checkout .woocommerce-shipping-fields h3 { font-size: 14px; margin: 0; padding: 0 0 12px; color: var(--ck-white); }
.woocommerce-checkout .woocommerce-shipping-fields h3 label { display: flex; align-items: center; gap: 10px; cursor: pointer; font-weight: 500; }
.woocommerce-checkout .woocommerce-shipping-fields h3 input { margin: 0; accent-color: var(--ck-accent); width: 16px; height: 16px; }
.woocommerce-checkout .woocommerce-shipping-fields { padding-bottom: 22px; }
.woocommerce-checkout .woocommerce-additional-fields { padding: 18px 24px 8px; }
.woocommerce-checkout .woocommerce-additional-fields .form-row { margin-bottom: 8px; }
.blight-step { display: grid; grid-template-columns: 30px 1fr; gap: 2px 12px; align-items: center; margin: 4px 0 14px; }
.blight-step span { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--ck-accent); color: #fff; font-weight: 700; font-size: 14px; grid-row: 1 / span 2; }
.blight-step b { font-size: 19px; color: var(--ck-white); font-weight: 600; line-height: 1.2; }
.blight-step small { font-size: 12.5px; color: var(--ck-muted); line-height: 1.4; }
#blight-payment-slot { margin-top: 18px; }

/* order summary card (right) */
.woocommerce-checkout #order_review_heading { font-size: 18px; margin: 0 0 12px !important; color: var(--ck-white); }
.woocommerce-checkout #order_review { border: 1px solid var(--ck-line); border-radius: 16px; padding: 22px 24px; background: var(--ck-card); }
.woocommerce-checkout table.woocommerce-checkout-review-order-table { border: 0 !important; margin: 0 !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table thead { display: none; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table th, .woocommerce-checkout table.woocommerce-checkout-review-order-table td { padding: 12px 0; border: 0 !important; border-top: 1px solid var(--ck-line) !important; background: transparent !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tbody tr:first-child td { border-top: 0 !important; padding-top: 0; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name { padding-right: 12px; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name img, .woocommerce-checkout table.woocommerce-checkout-review-order-table .product-thumbnail img { width: 64px; border-radius: 10px; float: left; margin: 0 12px 0 0; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name .product-quantity { color: var(--ck-muted); font-weight: 500; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name strong, .woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name > a { color: var(--ck-white); font-weight: 600; font-size: 14px; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-total { text-align: right; white-space: nowrap; vertical-align: top; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th { font-weight: 500; color: var(--ck-text); }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td { text-align: right; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.fee th, .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.fee td { font-size: 13px; color: var(--ck-muted); padding: 8px 0; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.fee.is-later td .amount { color: var(--ck-muted); }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th { vertical-align: top; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td { font-size: 13px; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table ul#shipping_method { margin: 0; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table ul#shipping_method li { padding: 0; margin: 0; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table ul#shipping_method li label { font-size: 13px; color: var(--ck-text); }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total th, .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.order-total td { font-size: 20px; color: var(--ck-white); font-weight: 700; padding-top: 14px; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.blight-later th, .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.blight-later td { font-size: 13px; color: var(--ck-muted); border-top: 0 !important; padding-top: 0; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.blight-later td .amount { color: var(--ck-text); }
.woocommerce-checkout .woocommerce-shipping-destination { font-size: 12px; color: var(--ck-muted); margin: 4px 0 0; }

/* payment methods */
.woocommerce-checkout #payment { padding: 22px 24px 22px; background: var(--ck-card) !important; }
.woocommerce-checkout #payment ul.payment_methods { border: 0 !important; padding: 0 !important; margin: 0 0 20px !important; list-style: none; display: grid; gap: 8px; }
.woocommerce-checkout #payment ul.payment_methods li { margin: 0 !important; padding: 0 !important; border: 1px solid var(--ck-line); border-radius: 12px; background: #1F1F1F; overflow: hidden; }
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { border-color: var(--ck-accent); background: rgba(241, 88, 34, .07); }
.woocommerce-checkout #payment ul.payment_methods li > label { display: flex; align-items: center; gap: 10px; margin: 0 !important; padding: 14px 16px !important; font-size: 14.5px; font-weight: 600; color: var(--ck-white); cursor: pointer; }
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] { position: static !important; margin: 0 !important; width: 16px; height: 16px; accent-color: var(--ck-accent); flex: 0 0 auto; }
.woocommerce-checkout #payment ul.payment_methods li img { display: none; }
.woocommerce-checkout #payment div.payment_box { margin: 0 !important; padding: 0 16px 14px 42px !important; background: transparent !important; color: var(--ck-muted) !important; font-size: 13px; line-height: 1.5; border-radius: 0 !important; }
.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
.woocommerce-checkout #payment div.payment_box p { margin: 0; }
.woocommerce-checkout .woocommerce-privacy-policy-text p { font-size: 12px; color: var(--ck-muted); line-height: 1.5; margin: 0 0 16px; }
.woocommerce-checkout .woocommerce-privacy-policy-text a { color: var(--ck-text); text-decoration: underline; }
.woocommerce-checkout #payment .place-order { padding: 0 !important; margin: 0 !important; }
.woocommerce-checkout #payment button#place_order { display: block; width: 100%; font-size: 16px !important; padding: 16px 20px !important; margin: 0 !important; border-radius: 999px !important; }
.blight-checkout-trust { display: flex; flex-wrap: wrap; gap: 6px 16px; justify-content: center; margin: 14px 0 0; font-size: 12px; color: var(--ck-muted); }
.woocommerce-checkout .blight-coupon { max-width: 560px; margin: 26px auto 0; text-align: center; }
.woocommerce-checkout .blight-coupon .woocommerce-form-coupon-toggle .woocommerce-info { background: transparent !important; border: 0 !important; padding: 0 !important; margin: 0 0 8px !important; font-size: 13px; color: var(--ck-muted) !important; }
.woocommerce-checkout .blight-coupon .woocommerce-form-coupon-toggle .woocommerce-info::before { display: none; }
.woocommerce-checkout .blight-coupon .woocommerce-form-coupon-toggle a { color: var(--ck-accent-2); text-decoration: underline; }
.woocommerce-checkout .blight-coupon form.checkout_coupon { border: 1px solid var(--ck-line); border-radius: 12px; padding: 14px 16px; margin: 0; display: flex; gap: 8px; align-items: center; }
.woocommerce-checkout .blight-coupon form.checkout_coupon p { margin: 0; flex: 1 1 auto; }
.woocommerce-checkout .blight-coupon form.checkout_coupon .form-row { width: 100%; }
.woocommerce-checkout .blight-coupon form.checkout_coupon p:first-child { display: none; }

/* payment plans (rendered inside #payment before the button) */
.blight-plans { margin: 0 0 20px; }
.blight-plans h3 { font-size: 15px; margin: 0 0 4px; color: var(--ck-white); }
.blight-plans-intro { font-size: 12.5px; color: var(--ck-muted); line-height: 1.5; margin: 0 0 10px; }
.blight-plans-intro strong { color: var(--ck-accent-2); }
.blight-plan { display: grid; grid-template-columns: 18px 1fr; gap: 2px 10px; align-items: center; padding: 11px 14px; margin: 0 0 6px; border: 1px solid var(--ck-line); border-radius: 12px; background: #1F1F1F; cursor: pointer; transition: border-color .15s, background .15s; }
.blight-plan:hover { border-color: #5A5A5A; }
.blight-plan.is-active { border-color: var(--ck-accent); background: rgba(241, 88, 34, .07); }
.blight-plan.is-disabled { opacity: .4; cursor: not-allowed; }
.blight-plan input { margin: 0 !important; accent-color: var(--ck-accent); width: 16px; height: 16px; }
.blight-plan-main { font-size: 14px; color: var(--ck-white); display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.blight-plan-main em { font-style: normal; font-size: 11.5px; font-weight: 600; color: var(--ck-accent-2); padding: 2px 8px; border-radius: 999px; background: rgba(247, 148, 29, .12); }
.blight-plan small { grid-column: 2; font-size: 12.5px; line-height: 1.4; color: var(--ck-muted); }
.blight-schedule { margin: 12px 0 0; padding: 12px 14px; border-radius: 12px; background: #121212; border: 1px solid var(--ck-line); }
.blight-schedule h4 { margin: 0 0 6px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: var(--ck-muted); }
.blight-schedule table { width: 100%; border-collapse: collapse; margin: 0; }
.blight-schedule td { padding: 7px 4px; border: 0; border-top: 1px solid #262626; font-size: 13px; color: var(--ck-text); }
.blight-schedule tr:first-child td { border-top: 0; }
.blight-schedule td:nth-child(2) { color: var(--ck-muted); text-align: center; }
.blight-schedule td:last-child { text-align: right; font-weight: 600; color: var(--ck-white); white-space: nowrap; }
.blight-schedule tr.is-now td { color: var(--ck-white); }
.blight-schedule tr.is-now td:first-child::after { content: "due today"; margin-left: 8px; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: var(--ck-ok); }
.blight-schedule p { margin: 8px 0 0; font-size: 12px; color: var(--ck-muted); line-height: 1.5; }
.blight-order-plan { margin-top: 24px; }
.blight-order-plan h2 { font-size: 18px; }
.blight-schedule-table td, .blight-schedule-table th { font-size: 14px; }

/* the theme's 4-feature strip under cart/checkout adds nothing here */
.woocommerce-cart .footer-1743 .elementor-element-33ca4ab, .woocommerce-checkout .footer-1743 .elementor-element-33ca4ab { display: none; }

/* theme overrides: no 60px grey boxes around the columns, native radios instead of the theme's tick */
.woocommerce-checkout #customer_details, .woocommerce-checkout-order-review-wrap, .woocommerce-checkout #customer_details ~ .woocommerce-checkout-review-order { background: transparent !important; padding: 0 !important; overflow: visible !important; margin-bottom: 0 !important; }
.woocommerce-checkout #payment ul.payment_methods li label::before, .woocommerce-checkout #payment ul.payment_methods li label::after { display: none !important; content: none !important; }
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] { opacity: 1 !important; appearance: auto !important; -webkit-appearance: radio !important; }
.woocommerce-checkout #payment ul.payment_methods li label { display: flex !important; }
.woocommerce-page #payment.woocommerce-checkout-payment ul.payment_methods .payment_box p { font-size: 13px !important; line-height: 1.5 !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th, .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals th { white-space: nowrap; width: 1%; padding-right: 16px; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name::after { content: ""; display: table; clear: both; }
.woocommerce-checkout #payment ul.payment_methods + div.form-row.place-order { border-top: 0 !important; padding: 0 !important; }
.woocommerce-checkout #payment div.form-row.place-order > #place_order { float: none !important; width: 100% !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name { width: auto !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-total, .woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td { width: 1% !important; white-space: nowrap; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td, .woocommerce-checkout table.woocommerce-checkout-review-order-table tr.blight-later td { white-space: normal; width: auto !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name img { width: 56px !important; height: 56px; object-fit: cover; }
/* payment method rows: radio | title, description under the title */
.woocommerce-checkout #payment ul.payment_methods li { display: grid !important; grid-template-columns: 16px 1fr; gap: 0 12px; align-items: center; padding: 13px 16px !important; }
.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] { grid-column: 1; grid-row: 1; }
.woocommerce-checkout #payment ul.payment_methods li > label { grid-column: 2; grid-row: 1; padding: 0 !important; }
.woocommerce-checkout #payment div.payment_box { grid-column: 2; padding: 6px 0 0 !important; }
.blight-plans .blight-plan { width: 100% !important; display: grid !important; float: none !important; }
/* summary table: fixed layout so the theme's inline-block markup can never push it wider than the card */
.woocommerce-checkout table.woocommerce-checkout-review-order-table { table-layout: fixed !important; width: 100% !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-name { width: 62% !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table td.product-total { width: 38% !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot th { width: auto !important; white-space: normal; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table tfoot td { width: auto !important; white-space: normal; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table .checkout-review-order-details { display: block !important; overflow: hidden; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table .checkout-review-order-details .product-total { display: none !important; }
.woocommerce-checkout table.woocommerce-checkout-review-order-table .checkout-review-order-title { display: block; font-weight: 600; color: var(--ck-white); font-size: 14px; line-height: 1.3; }
.woocommerce table.shop_table dl.variation, .woocommerce-checkout table.woocommerce-checkout-review-order-table dl.variation { display: grid !important; grid-template-columns: auto 1fr !important; gap: 3px 8px !important; clear: both; padding-top: 8px; }
.woocommerce table.shop_table dl.variation dt, .woocommerce table.shop_table dl.variation dd { display: block !important; width: auto !important; min-width: 0; }
.blight-ship-cost { display: block; font-weight: 600; color: var(--ck-white); }
.blight-ship-cost + small { display: block; font-size: 12px; color: var(--ck-muted); line-height: 1.35; margin-top: 2px; }
.woocommerce-checkout #payment button#place_order, .woocommerce-cart a.checkout-button, .blight-lead-form button { text-transform: none !important; letter-spacing: 0 !important; }
/* sticky summary needs no overflow:hidden ancestor (theme .inner-wrapper) */
.woocommerce-checkout .inner-wrapper, .woocommerce-checkout .inner-wrapper > * { overflow: visible !important; }
.woocommerce-checkout-order-review-wrap table.shop_table tbody th, .woocommerce-checkout-order-review-wrap table.shop_table tbody td, .woocommerce-checkout-order-review-wrap table.shop_table tfoot th, .woocommerce-checkout-order-review-wrap table.shop_table tfoot td { padding: 11px 0 !important; line-height: 1.4 !important; height: auto !important; }
.woocommerce-checkout-order-review-wrap table.shop_table tbody td.product-name { padding: 0 12px 14px 0 !important; }
/* order received / my account: item meta on separate lines */
.woocommerce ul.wc-item-meta { list-style: none; margin: 6px 0 0; padding: 0; }
.woocommerce ul.wc-item-meta li { display: block; margin: 0 0 2px; font-size: 12.5px; color: var(--ck-muted); }
.woocommerce ul.wc-item-meta li p { display: inline; margin: 0; color: var(--ck-text); }
.woocommerce-order-received .woocommerce-order-details table.shop_table th, .woocommerce-order-received .woocommerce-order-details table.shop_table td { padding: 12px 0 !important; }
.woocommerce-order-received .woocommerce-order-overview { border: 1px solid var(--ck-line); border-radius: 14px; padding: 18px !important; margin-bottom: 20px; }
.woocommerce-order-received .woocommerce-thankyou-order-received { font-size: 22px; font-weight: 600; color: var(--ck-white); border-left: 3px solid var(--ck-accent); padding: 8px 16px; margin: 0 0 22px; }
/* body { overflow-x:hidden; overflow-y:auto } (theme) turns body into the scroll container and kills position:sticky – clip does not */
body.woocommerce-checkout { overflow-x: clip !important; overflow-y: visible !important; }

/* phones/tablets: order summary collapses to a bar at the top of the checkout */
.blight-summary-toggle { display: none !important; }
@media (max-width: 991px) {
	.woocommerce-checkout form.checkout .woocommerce-checkout-order-review-wrap { order: -1; margin-bottom: 18px; }
	.woocommerce-checkout form.checkout #order_review_heading { display: none; }
	.blight-summary-toggle { display: flex !important; width: 100%; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; border: 1px solid var(--ck-line); border-radius: 14px; background: var(--ck-card); color: var(--ck-white); font-size: 14px; font-weight: 600; cursor: pointer; text-transform: none !important; letter-spacing: 0 !important; }
	.blight-summary-toggle b { color: var(--ck-accent-2); font-size: 16px; }
	.blight-summary-toggle span::after { content: " ▾"; color: var(--ck-muted); }
	.woocommerce-checkout-order-review-wrap.is-open .blight-summary-toggle span::after { content: " ▴"; }
	.woocommerce-checkout-order-review-wrap #order_review { display: none; margin-top: 10px; }
	.woocommerce-checkout-order-review-wrap.is-open #order_review { display: block; }
	.blight-schedule td { font-size: 12.5px; padding: 6px 2px; }
	.blight-schedule tr.is-now td:first-child::after { display: block; margin: 0; }
}

/* ---- no white flash while totals refresh: dark, quiet overlay ---- */
.woocommerce .blockUI.blockOverlay, .blockUI.blockOverlay { background: #0F0F0F !important; opacity: .45 !important; background-image: none !important; }
.woocommerce .blockUI.blockOverlay::before { display: none !important; }
.woocommerce-checkout .blockUI.blockOverlay::after, .woocommerce-cart .blockUI.blockOverlay::after { content: ""; position: absolute; top: 50%; left: 50%; width: 22px; height: 22px; margin: -11px 0 0 -11px; border: 2px solid rgba(255,255,255,.25); border-top-color: var(--ck-accent-2); border-radius: 50%; animation: blight-spin .8s linear infinite; }
@keyframes blight-spin { to { transform: rotate(360deg); } }

/* ---- plan (i) + custom plan request ---- */
.blight-plan-main .blight-tip-btn { width: 18px !important; height: 18px !important; min-width: 0 !important; line-height: 16px !important; border-radius: 50% !important; border: 1px solid #6A6A6A !important; background: transparent !important; color: #BDBDBD !important; font-family: Georgia, serif !important; font-size: 11px !important; font-weight: 600 !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; cursor: help; flex: 0 0 auto; }
#blight-tooltip { position: absolute; z-index: 99999; max-width: 320px; padding: 10px 13px; border-radius: 10px; background: #F4F4F4; color: #161616; font-size: 12.5px; line-height: 1.45; box-shadow: 0 10px 30px rgba(0,0,0,.45); }
#blight-tooltip[hidden] { display: none; }
#blight-tooltip::after { content: ""; position: absolute; left: 50%; bottom: -6px; margin-left: -6px; border: 6px solid transparent; border-top-color: #F4F4F4; border-bottom: 0; }
#blight-tooltip.is-below::after { bottom: auto; top: -6px; border-top: 0; border-bottom: 6px solid #F4F4F4; }
.blight-plan-custom { margin: 4px 0 0; border: 1px dashed var(--ck-line); border-radius: 12px; background: transparent; }
.blight-plan-custom-toggle { display: flex !important; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; padding: 12px 14px !important; border: 0 !important; background: transparent !important; color: var(--ck-white) !important; text-align: left; box-shadow: none !important; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; }
.blight-plan-custom-toggle b { font-size: 14px; font-weight: 600; }
.blight-plan-custom-toggle span { font-size: 12.5px; color: var(--ck-muted); }
.blight-plan-custom-toggle::after { content: "▾"; position: absolute; right: 16px; top: 14px; color: var(--ck-muted); }
.blight-plan-custom { position: relative; }
.blight-plan-custom.is-open .blight-plan-custom-toggle::after { content: "▴"; }
.blight-plan-custom-form { padding: 0 14px 14px; }
.blight-plan-custom-form p { margin: 0 0 8px; font-size: 12.5px; color: var(--ck-muted); }
.blight-plan-custom-row { display: flex; gap: 8px; }
.blight-plan-custom-row input { flex: 1 1 auto; min-width: 0; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--ck-line); background: #0F0F0F; color: #fff; font-size: 14px; }
.blight-plan-custom-row button { flex: 0 0 auto; border: 0 !important; border-radius: 10px !important; padding: 10px 18px !important; background: var(--ck-accent) !important; color: #fff !important; font-weight: 600 !important; font-size: 13px !important; text-transform: none !important; letter-spacing: 0 !important; }
.blight-plan-custom-msg { margin-top: 8px; font-size: 13px; color: var(--ck-ok); }
.blight-plan-custom-msg.is-error { color: #ff7b7b; }
.blight-ship-hint { display: block; font-size: 13px; color: var(--ck-text); }
.blight-ship-hint small { display: block; font-size: 12px; color: var(--ck-muted); margin-top: 2px; }
.blight-checkout-trust a { color: var(--ck-accent-2); text-decoration: none; }

.blight-plan-custom-row button.is-busy { background: #555 !important; color: #ccc !important; cursor: wait; }
.blight-plan-custom-row button.is-done { background: #2E7D4F !important; }
