/* Space Neon cart/checkout v2 — Shopify-like redesign. Scoped to .sn-checkout-v2. */
/* Layout rules deliberately outrank Astra's customizer CSS and WooCommerce's
   layout grid (floats + 40-55% widths on #customer_details, #order_review and
   .cart_totals), which otherwise squeeze the summary/payment columns. */
.sn-checkout-v2{
  --sn-pink:#e6007e;
  --sn-pink-dark:#c6006c;
  --sn-purple:#440099;
  --sn-yellow:#ffed00;
  --sn-ink:#182236;
  --sn-muted:#637083;
  --sn-line:#e4e7ec;
  --sn-soft:#f7f8fb;
  --sn-success:#0f9d58;
  --sn-danger:#e11d48;
  --sn-radius:18px;
  background:linear-gradient(180deg,#fff 0,#f7f8fb 45%,#fff 100%);
  color:var(--sn-ink);
  padding:clamp(34px,5vw,72px) 0 76px;
  min-height:60vh;
}
.sn-checkout-v2 *{box-sizing:border-box}
.sn-checkout-v2__wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}
.sn-checkout-v2__heading{text-align:center;margin:24px auto 34px}
.sn-checkout-v2__eyebrow{color:var(--sn-pink);font-size:13px;font-weight:800;letter-spacing:.11em;margin:0 0 6px;text-transform:uppercase}
.sn-checkout-v2__heading h1{color:var(--sn-ink);font-size:clamp(32px,4vw,52px);line-height:1.05;margin:0}
.sn-checkout-v2__progress{max-width:720px;margin:0 auto}
.sn-checkout-v2__progress ol{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0;padding:0;position:relative}
.sn-checkout-v2__progress ol:before{background:var(--sn-line);content:"";height:2px;left:16%;position:absolute;right:16%;top:18px}
.sn-checkout-v2__progress li{align-items:center;color:var(--sn-muted);display:flex;flex-direction:column;font-size:13px;font-weight:700;gap:7px;position:relative;text-align:center}
.sn-checkout-v2__progress li span{align-items:center;background:#fff;border:2px solid var(--sn-line);border-radius:50%;display:flex;height:36px;justify-content:center;width:36px;z-index:1}
.sn-checkout-v2__progress li.is-current span,.sn-checkout-v2__progress li.is-complete span{background:var(--sn-purple);border-color:var(--sn-purple);color:#fff}.sn-checkout-v2__progress li.is-current{color:var(--sn-ink)}
.sn-checkout-v2__panel{background:#fff;border:1px solid var(--sn-line);border-radius:var(--sn-radius);box-shadow:0 18px 55px rgba(24,34,54,.08);padding:clamp(20px,3vw,42px)}
.sn-checkout-v2 .woocommerce{color:var(--sn-ink)}
.sn-checkout-v2 .woocommerce-message,.sn-checkout-v2 .woocommerce-info,.sn-checkout-v2 .woocommerce-error{background:#fff;border-radius:10px;color:var(--sn-ink);margin-bottom:24px}
.sn-checkout-v2 input.input-text,.sn-checkout-v2 input[type="number"],.sn-checkout-v2 input[type="text"],.sn-checkout-v2 input[type="email"],.sn-checkout-v2 input[type="tel"],.sn-checkout-v2 select,.sn-checkout-v2 textarea{background:#fff;border:1px solid #cfd5dd;border-radius:10px;color:var(--sn-ink);min-height:48px;padding:11px 13px;width:100%}
.sn-checkout-v2 input:focus,.sn-checkout-v2 select:focus,.sn-checkout-v2 textarea:focus{border-color:var(--sn-purple);box-shadow:0 0 0 3px rgba(68,0,153,.12);outline:0}
.sn-checkout-v2 :focus-visible{outline:3px solid var(--sn-purple);outline-offset:3px}
.sn-checkout-v2 .select2-container--default .select2-selection--single{background:#fff;border:1px solid #cfd5dd;border-radius:10px;height:48px}
.sn-checkout-v2 .select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--sn-ink);line-height:46px;padding-left:13px}
.sn-checkout-v2 .select2-container--default .select2-selection--single .select2-selection__arrow{height:46px;right:8px}

/* Buttons */
.sn-checkout-v2 .button,.sn-checkout-v2 #place_order,.sn-checkout-v2 .checkout-button,.sn-checkout-v2 button[name="apply_coupon"]{background:var(--sn-pink)!important;border:0!important;border-radius:12px!important;color:#fff!important;font-weight:800!important;min-height:50px;padding:14px 24px!important;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.sn-checkout-v2 .button:hover,.sn-checkout-v2 #place_order:hover,.sn-checkout-v2 .checkout-button:hover,.sn-checkout-v2 button[name="apply_coupon"]:hover{background:var(--sn-pink-dark)!important;box-shadow:0 10px 26px rgba(230,0,126,.24);transform:translateY(-1px)}
.sn-checkout-v2 button[name="update_cart"]{background:transparent!important;border:1px solid var(--sn-line)!important;color:var(--sn-ink)!important;min-height:48px}

/* ===== Cart layout: line cards left, summary right ===== */
.sn-checkout-v2--cart .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}
.sn-checkout-v2--cart .woocommerce>*{grid-column:1 / -1;min-width:0}
.sn-checkout-v2--cart .woocommerce>form.sn-cart{grid-column:1;grid-row:2;margin:0}
.sn-checkout-v2--cart .woocommerce>.cart-collaterals{display:block;grid-column:2;grid-row:2;position:sticky;top:24px;width:auto;float:none;margin:0}
.sn-checkout-v2 .woocommerce .cart-collaterals .cart_totals,.sn-checkout-v2 .woocommerce .cart-collaterals .cross-sells{float:none;width:100%;margin:0}
.sn-checkout-v2 .woocommerce .cart-collaterals .cross-sells{margin-top:20px}
.sn-checkout-v2 .woocommerce-notices-wrapper:empty{display:none}

/* ===== Cart line cards ===== */
.sn-cart__items{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:16px}
.sn-cart__item{background:#fff;border:1px solid var(--sn-line);border-radius:var(--sn-radius);display:grid;grid-template-columns:128px 1fr;gap:20px;padding:20px;box-shadow:0 8px 26px rgba(24,34,54,.05);margin:0}
.sn-cart__media{display:flex;flex-direction:column;align-items:center;gap:12px}
.sn-cart__thumb,.sn-cart__media img{border-radius:12px;display:block;width:96px;height:96px;object-fit:contain}
.sn-cart__body{display:flex;flex-direction:column;gap:12px;min-width:0}
.sn-cart__head{display:flex;align-items:flex-start;flex-wrap:wrap;gap:10px}
.sn-cart__name{font-size:18px;font-weight:800;line-height:1.25;margin:0;flex:1 1 auto;min-width:200px}
.sn-cart__name a{color:var(--sn-ink);text-decoration:none}
.sn-cart__name a:hover{color:var(--sn-pink)}
.sn-cart__badge{background:rgba(230,0,126,.1);border:1px solid rgba(230,0,126,.25);border-radius:999px;color:var(--sn-pink);font-size:11px;font-weight:800;letter-spacing:.05em;padding:4px 10px;text-transform:uppercase;white-space:nowrap}
.sn-checkout-v2 .woocommerce a.remove.sn-cart__remove{background:transparent!important;border:0;border-radius:0;color:var(--sn-muted)!important;display:inline-block;font-size:13px;font-weight:700;height:auto;line-height:1.4;text-align:right;text-decoration:none;white-space:nowrap;width:auto}
.sn-checkout-v2 .woocommerce a.remove.sn-cart__remove:hover{background:transparent!important;color:var(--sn-danger)!important;text-decoration:underline}
.sn-checkout-v2 .woocommerce a.remove.sn-cart__remove::before,.sn-checkout-v2 .woocommerce a.remove.sn-cart__remove::after{display:none;content:none}
.sn-cart__options .variation{list-style:none;margin:0}
.sn-options{display:grid;gap:6px;margin:0}
.sn-options__row{display:grid;grid-template-columns:150px 1fr;gap:8px;margin:0}
.sn-options__key{color:var(--sn-muted);font-size:13px;font-weight:600;margin:0}
.sn-options__value{color:var(--sn-ink);font-size:13px;font-weight:600;margin:0}
.sn-options__value p{margin:0}
.sn-cart__edit{color:var(--sn-pink);font-size:13px;font-weight:800;text-decoration:underline;text-underline-offset:3px;align-self:flex-start}
.sn-cart__foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:2px}
.sn-cart__qty .quantity{display:inline-flex;align-items:center}
.sn-qty{display:inline-flex;align-items:center;border:1px solid var(--sn-line);border-radius:10px;overflow:hidden}
.sn-qty button{background:var(--sn-soft);border:0;color:var(--sn-ink);cursor:pointer;font-size:18px;font-weight:800;height:44px;width:40px}
.sn-qty button:hover{background:#eef0f5}
.sn-qty .qty{border:0;border-radius:0;height:44px;min-height:44px;text-align:center;width:56px;-moz-appearance:textfield}
.sn-qty .qty::-webkit-outer-spin-button,.sn-qty .qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sn-cart__prices{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.sn-cart__price{color:var(--sn-muted);font-size:13px}
.sn-cart__subtotal{color:var(--sn-ink);font-size:17px;font-weight:800}
.sn-cart__actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.sn-cart__coupon{display:flex;gap:8px;flex:1 1 320px;max-width:520px}
.sn-cart__coupon input{flex:1}

/* ===== Cart summary card ===== */
.sn-checkout-v2 .cart_totals.sn-summary{background:#fff;border:1px solid var(--sn-line);border-radius:var(--sn-radius);box-shadow:0 18px 55px rgba(24,34,54,.08);padding:26px}
.sn-summary__title{font-size:20px;font-weight:800;margin:0 0 12px}
.sn-checkout-v2 .sn-summary table.sn-summary__table{background:transparent;border:0;border-collapse:collapse;border-radius:0;border-spacing:0;margin:0;width:100%}
.sn-checkout-v2 .sn-summary table.sn-summary__table tr{border-bottom:1px solid var(--sn-line)}
.sn-checkout-v2 .sn-summary table.sn-summary__table th,.sn-checkout-v2 .sn-summary table.sn-summary__table td{background:transparent;border:0;display:table-cell!important;font-size:14px;line-height:1.4;padding:12px 0;vertical-align:top}
.sn-checkout-v2 .sn-summary table.sn-summary__table th{color:var(--sn-muted);font-weight:600;text-align:left;white-space:nowrap;padding-right:12px}
.sn-checkout-v2 .sn-summary table.sn-summary__table td{color:var(--sn-ink);font-weight:700;text-align:right!important}
.sn-checkout-v2 .sn-summary table.sn-summary__table td::before{display:none;content:none}
.sn-checkout-v2 .sn-summary table.sn-summary__table .shipping td{font-size:13px;font-weight:600;color:var(--sn-muted)}
.sn-checkout-v2 .sn-summary table.sn-summary__table .shipping td p{margin:0}
.sn-checkout-v2 .sn-summary table.sn-summary__table .shipping ul#shipping_method{list-style:none;margin:0;padding:0;text-align:left}
.sn-checkout-v2 .sn-summary table.sn-summary__table .shipping ul#shipping_method li{margin:0 0 6px;padding:0;display:flex;align-items:flex-start;gap:8px}
.sn-checkout-v2 .sn-summary table.sn-summary__table .shipping ul#shipping_method label{margin:0;font-weight:600;color:var(--sn-ink)}
.sn-checkout-v2 .sn-summary table.sn-summary__table .shipping input[type="radio"]{margin:3px 0 0;accent-color:var(--sn-pink)}
.sn-checkout-v2 .sn-summary table.sn-summary__table .order-total{border-bottom:0}
.sn-checkout-v2 .sn-summary table.sn-summary__table .order-total th{color:var(--sn-ink);font-size:17px;font-weight:800;padding-top:16px}
.sn-checkout-v2 .sn-summary table.sn-summary__table .order-total td{font-size:22px;font-weight:900;padding-top:14px}
.sn-checkout-v2 .includes_tax,.sn-checkout-v2 .tax_label{color:var(--sn-muted);display:block;font-size:12px;font-weight:500;line-height:1.4;margin-top:2px}
.sn-summary__cta{margin-top:18px}
.sn-summary__cta .checkout-button{display:block;text-align:center;width:100%;margin:0}

/* ===== Checkout ===== */
.sn-checkout__topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 22px;flex-wrap:wrap}
.sn-checkout__back{color:var(--sn-ink);font-weight:700;text-decoration:none}
.sn-checkout__back:hover{color:var(--sn-pink)}
.sn-checkout__steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;list-style:none;margin:0;padding:0;position:relative}
.sn-checkout__steps:before{background:var(--sn-line);content:"";height:2px;left:15%;position:absolute;right:15%;top:16px}
.sn-checkout__steps li{align-items:center;color:var(--sn-muted);display:flex;flex-direction:column;font-size:12px;font-weight:700;gap:6px;position:relative;text-align:center}
.sn-checkout__steps li span{align-items:center;background:#fff;border:2px solid var(--sn-line);border-radius:50%;color:var(--sn-muted);display:flex;height:32px;justify-content:center;width:32px;z-index:1}
.sn-checkout__steps li.is-current{color:var(--sn-ink)}
.sn-checkout__steps li.is-current span{background:var(--sn-pink);border-color:var(--sn-pink);color:#fff}

/* Two-column single form: every direct child spans the row except the two step cards. */
body.sn-checkout-v2 .woocommerce-checkout form.checkout.sn-checkout{display:grid;gap:24px;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:start}
body.sn-checkout-v2 .woocommerce-checkout form.checkout.sn-checkout>*{grid-column:1 / -1;min-width:0}
body.sn-checkout-v2 .woocommerce-checkout form.checkout.sn-checkout>.sn-checkout__step--details{grid-column:1}
body.sn-checkout-v2 .woocommerce-checkout form.checkout.sn-checkout>.sn-checkout__step--payment{grid-column:2;position:static}
.sn-checkout__step{background:#fff;border:1px solid var(--sn-line);border-radius:var(--sn-radius);padding:26px;box-shadow:0 8px 26px rgba(24,34,54,.04)}
.sn-checkout__step-title{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:800;margin:0 0 18px}
.sn-checkout__step-num{align-items:center;background:var(--sn-pink);border-radius:50%;color:#fff;display:inline-flex;font-size:15px;font-weight:900;height:30px;justify-content:center;width:30px}
.sn-checkout__subtitle{clear:none;color:var(--sn-ink);font-size:15px;font-weight:800;margin:0 0 6px}

/* Neutralise Astra's checkout customizer CSS (float + 55%/40% widths) and Woo's col2-set floats. */
body.sn-checkout-v2 .woocommerce-checkout form.checkout #customer_details.col2-set,
body.sn-checkout-v2 .woocommerce-checkout form.checkout #customer_details.col2-set .col-1,
body.sn-checkout-v2 .woocommerce-checkout form.checkout #customer_details.col2-set .col-2,
body.sn-checkout-v2 .woocommerce-checkout form.checkout #order_review_heading,
body.sn-checkout-v2 .woocommerce-checkout form.checkout #order_review{clear:none;float:none;margin:0;max-width:none;width:100%}
body.sn-checkout-v2 .woocommerce-checkout form.checkout #customer_details.col2-set .col-2{margin-top:6px}
.sn-checkout .woocommerce-billing-fields,.sn-checkout .woocommerce-shipping-fields{background:transparent;border:0;border-radius:0;padding:0}
.sn-checkout .woocommerce-billing-fields h3,.sn-checkout .woocommerce-shipping-fields h3{color:var(--sn-ink);font-size:16px;font-weight:800;margin:0 0 14px}
.sn-checkout .woocommerce-shipping-fields h3#ship-to-different-address{font-size:14px;margin:8px 0 10px}
.sn-checkout .woocommerce-shipping-fields h3#ship-to-different-address label{display:inline-flex;align-items:center;gap:8px;font-weight:700;cursor:pointer}
.sn-checkout .woocommerce-shipping-fields h3#ship-to-different-address input{margin:0;accent-color:var(--sn-pink)}

/* Field grid: two columns for first/last name, everything else full width. */
.sn-checkout-v2 .woocommerce-billing-fields__field-wrapper,.sn-checkout-v2 .woocommerce-shipping-fields__field-wrapper,.sn-checkout-v2 .woocommerce-additional-fields__field-wrapper,.sn-checkout-v2 .woocommerce-account-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.sn-checkout-v2 .woocommerce form .form-row{clear:none;float:none;margin:0 0 14px;padding:0;width:auto}
.sn-checkout-v2 .woocommerce form .form-row:not(.form-row-first):not(.form-row-last){grid-column:1 / -1}
.sn-checkout-v2 .woocommerce form .form-row label{color:var(--sn-ink);display:block;font-size:13px;font-weight:700;line-height:1.3;margin:0 0 6px}
.sn-checkout-v2 .woocommerce form .form-row label.checkbox,.sn-checkout-v2 .woocommerce form .form-row label.woocommerce-form__label-for-checkbox{display:inline-flex;align-items:center;gap:8px;cursor:pointer}
.sn-checkout-v2 .woocommerce form .form-row .required{color:var(--sn-pink);text-decoration:none;border:0}
.sn-checkout-v2 .woocommerce form .form-row .optional{color:var(--sn-muted);font-weight:500}
.sn-checkout-v2 .woocommerce form .form-row .description,.sn-checkout-v2 .woocommerce form .form-row .woocommerce-input-wrapper .description{color:var(--sn-muted);font-size:12px;line-height:1.4;margin:6px 0 0}
.sn-checkout-v2 .woocommerce form .form-row .woocommerce-input-wrapper{display:block}
.sn-checkout-v2 .woocommerce form .form-row.woocommerce-invalid input.input-text,.sn-checkout-v2 .woocommerce form .form-row.woocommerce-invalid .select2-selection--single{border-color:var(--sn-danger)}
.sn-checkout-v2 .woocommerce form .form-row.woocommerce-validated input.input-text,.sn-checkout-v2 .woocommerce form .form-row.woocommerce-validated .select2-selection--single{border-color:var(--sn-success)}

/* Order review table */
.sn-checkout-v2 .sn-checkout__review table.shop_table{background:transparent;border:0;border-collapse:collapse;border-radius:0;border-spacing:0;margin:0 0 18px;width:100%}
.sn-checkout-v2 .sn-checkout__review table.shop_table th,.sn-checkout-v2 .sn-checkout__review table.shop_table td{background:transparent;border:0;border-top:1px solid var(--sn-line);display:table-cell!important;font-size:14px;line-height:1.4;padding:12px 0;vertical-align:top}
.sn-checkout-v2 .sn-checkout__review table.shop_table thead th{border-top:0;color:var(--sn-muted);font-size:11px;font-weight:700;letter-spacing:.06em;padding-top:0;text-transform:uppercase}
.sn-checkout-v2 .sn-checkout__review table.shop_table th{text-align:left;font-weight:700;color:var(--sn-ink)}
.sn-checkout-v2 .sn-checkout__review table.shop_table td{text-align:right!important;font-weight:700;color:var(--sn-ink);white-space:nowrap}
.sn-checkout-v2 .sn-checkout__review table.shop_table td::before{display:none;content:none}
.sn-checkout-v2 .sn-checkout__review table.shop_table td.product-name{text-align:left!important;white-space:normal;padding-right:12px;font-weight:600;width:100%}
.sn-checkout-v2 .sn-checkout__review table.shop_table td.product-name .product-quantity{color:var(--sn-muted);font-weight:600;white-space:nowrap}
.sn-checkout-v2 .sn-checkout__review table.shop_table tfoot th{color:var(--sn-muted);font-weight:600;white-space:nowrap;padding-right:12px}
.sn-checkout-v2 .sn-checkout__review table.shop_table tfoot .shipping td,.sn-checkout-v2 .sn-checkout__review table.shop_table tfoot .woocommerce-shipping-totals td{white-space:normal;font-size:13px;font-weight:600;color:var(--sn-muted)}
.sn-checkout-v2 .sn-checkout__review table.shop_table tfoot .shipping td p{margin:0}
.sn-checkout-v2 .sn-checkout__review table.shop_table tfoot .shipping ul#shipping_method{list-style:none;margin:0;padding:0;text-align:left}
.sn-checkout-v2 .sn-checkout__review table.shop_table tfoot .shipping ul#shipping_method li{display:flex;align-items:flex-start;gap:8px;margin:0 0 6px;padding:0}
.sn-checkout-v2 .sn-checkout__review table.shop_table tfoot .shipping ul#shipping_method label{margin:0;font-weight:600;color:var(--sn-ink)}
.sn-checkout-v2 .sn-checkout__review table.shop_table tfoot .shipping input[type="radio"]{margin:3px 0 0;accent-color:var(--sn-pink)}
.sn-checkout-v2 .sn-checkout__review table.shop_table tfoot .order-total th{color:var(--sn-ink);font-size:16px;font-weight:800;padding-top:16px}
.sn-checkout-v2 .sn-checkout__review table.shop_table tfoot .order-total td{font-size:20px;font-weight:900;padding-top:14px;white-space:normal}
.sn-checkout-v2__review-product{align-items:center;display:flex;gap:12px}
.sn-checkout-v2__review-image{background:#fff;border:1px solid var(--sn-line);border-radius:10px;flex:0 0 54px;height:54px;object-fit:contain;width:54px}
.sn-checkout-v2__review-name{min-width:0}
.sn-checkout-v2__review-name a{color:var(--sn-ink);font-weight:700;text-decoration:none}
/* Option rows: stacked "Label / Value" pairs, same reading as the cart card. */
.sn-checkout-v2 .sn-checkout__review dl.variation.sn-options{display:grid;gap:4px;line-height:1.4;margin:10px 0 2px}
.sn-checkout-v2 .sn-checkout__review .sn-options__row{display:grid;gap:8px;grid-template-columns:minmax(88px,38%) 1fr;margin:0}
.sn-checkout-v2 .sn-checkout__review .sn-options__key{color:var(--sn-muted);font-size:12px;font-weight:600;margin:0}
.sn-checkout-v2 .sn-checkout__review .sn-options__value{color:var(--sn-ink);font-size:12px;font-weight:700;margin:0;overflow-wrap:anywhere}
.sn-checkout-v2 .sn-checkout__review .sn-options__value p{margin:0}

/* SignCustomiser design lines: badge, quoted text, zoom dialog */
.sn-cart__badge--design{background:rgba(68,0,153,.08);border-color:rgba(68,0,153,.25);color:var(--sn-purple)}
.sn-cart__sc-text{background:var(--sn-soft);border-left:3px solid var(--sn-pink);border-radius:0 10px 10px 0;color:var(--sn-ink);font-size:16px;font-weight:800;line-height:1.3;margin:0;overflow-wrap:anywhere;padding:8px 12px}
.sn-cart__sc-text span{color:var(--sn-pink);margin:0 2px}
.sn-checkout-v2 button.sn-cart__zoom{background:#fff;border:1px solid var(--sn-line);border-radius:999px;color:var(--sn-purple);cursor:pointer;font-size:12px;font-weight:800;line-height:1.2;padding:6px 12px}
.sn-checkout-v2 button.sn-cart__zoom:hover{border-color:var(--sn-purple);background:rgba(68,0,153,.05)}
body.sn-checkout-v2 dialog.sn-zoom{background:#fff;border:0;border-radius:18px;box-shadow:0 30px 80px rgba(24,34,54,.35);max-width:min(92vw,900px);padding:0;position:fixed;inset:0;margin:auto}
body.sn-checkout-v2 dialog.sn-zoom::backdrop{background:rgba(24,34,54,.6)}
body.sn-checkout-v2 dialog.sn-zoom .sn-zoom__img{background:#fff;display:block;margin:0 auto;max-height:78vh;max-width:100%;object-fit:contain}
body.sn-checkout-v2 dialog.sn-zoom .sn-zoom__caption{color:var(--sn-ink);font-size:14px;font-weight:700;margin:0;padding:10px 48px;text-align:center}
body.sn-checkout-v2 dialog.sn-zoom .sn-zoom__close{background:#fff;border:1px solid var(--sn-line);border-radius:50%;color:var(--sn-ink);cursor:pointer;font-size:22px;height:36px;line-height:1;position:absolute;right:10px;top:10px;width:36px}

/* Buyer type selector */
.sn-buyer-type{border:0;margin:0 0 18px;padding:0}
.sn-buyer-type__legend{color:var(--sn-ink);font-size:14px;font-weight:800;margin:0 0 10px}
.sn-buyer-type__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sn-buyer-type__option{margin:0}
.sn-buyer-type__option input{position:absolute;opacity:0;pointer-events:none}
.sn-buyer-type__card{background:#fff;border:1.5px solid var(--sn-line);border-radius:14px;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:14px 16px;transition:border-color .15s ease,background .15s ease}
.sn-buyer-type__card strong{color:var(--sn-ink);font-size:14px}
.sn-buyer-type__card small{color:var(--sn-muted);font-size:12px;line-height:1.35}
.sn-buyer-type__option input:checked+.sn-buyer-type__card{border-color:var(--sn-pink);background:rgba(230,0,126,.05)}
.sn-buyer-type__option input:focus-visible+.sn-buyer-type__card{outline:3px solid var(--sn-purple);outline-offset:2px}

/* Payment methods */
body.sn-checkout-v2 .woocommerce-checkout #payment{background:transparent;border:0;border-radius:0;margin:8px 0 0}
body.sn-checkout-v2 .woocommerce-checkout #payment ul.payment_methods{border:1px solid var(--sn-line);border-bottom:1px solid var(--sn-line);border-radius:14px;list-style:none;margin:0;padding:6px;text-align:left}
body.sn-checkout-v2 .woocommerce-checkout #payment ul.payment_methods li{background:#fff;border-radius:10px;line-height:1.4;margin:0;padding:12px 14px;text-align:left}
body.sn-checkout-v2 .woocommerce-checkout #payment ul.payment_methods li+li{border-top:1px solid var(--sn-soft);border-radius:0}
body.sn-checkout-v2 .woocommerce-checkout #payment ul.payment_methods li input[type="radio"]{margin:0 8px 0 0;vertical-align:middle;accent-color:var(--sn-pink)}
body.sn-checkout-v2 .woocommerce-checkout #payment ul.payment_methods li label{color:var(--sn-ink);cursor:pointer;display:inline;font-weight:700;margin:0;vertical-align:middle}
body.sn-checkout-v2 .woocommerce-checkout #payment ul.payment_methods li img{display:inline-block;margin:0 0 0 6px;max-height:24px;vertical-align:middle}
body.sn-checkout-v2 .woocommerce-checkout #payment div.payment_box{background:var(--sn-soft);border-radius:10px;color:var(--sn-muted);font-size:13px;line-height:1.5;margin:10px 0 0;padding:14px}
body.sn-checkout-v2 .woocommerce-checkout #payment div.payment_box::before{display:none;content:none}
body.sn-checkout-v2 .woocommerce-checkout #payment div.payment_box p{margin:0 0 8px}
body.sn-checkout-v2 .woocommerce-checkout #payment div.payment_box p:last-child{margin-bottom:0}
body.sn-checkout-v2 .woocommerce-checkout #payment .place-order{margin:18px 0 0;padding:0}
body.sn-checkout-v2 .woocommerce-checkout #payment .woocommerce-privacy-policy-text p,body.sn-checkout-v2 .woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper p{color:var(--sn-muted);font-size:12px;line-height:1.5;margin:0 0 12px}
body.sn-checkout-v2 .woocommerce-checkout #payment .woocommerce-privacy-policy-text a,body.sn-checkout-v2 .woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper a{color:var(--sn-purple)}
.sn-checkout-v2 #place_order{width:100%;margin:0}

/* Trust bar */
.sn-checkout-v2__trust{align-items:stretch;display:grid;gap:14px;grid-template-columns:1fr 1fr auto;margin:20px 0 0}
.sn-checkout-v2__trust>div,.sn-checkout-v2__trust>a{align-items:center;background:#fff;border:1px solid var(--sn-line);border-radius:12px;display:grid;grid-template-columns:auto 1fr;column-gap:10px;padding:14px 16px}
.sn-checkout-v2__trust>div>span{grid-row:1 / span 2}
.sn-checkout-v2__trust small{color:var(--sn-muted)}
.sn-checkout-v2__trust>a{color:var(--sn-purple);font-weight:800;place-content:center;text-align:center}

/* Empty cart */
.sn-checkout-v2 .woocommerce-cart-empty,.sn-checkout-v2 .cart-empty{border:1px dashed var(--sn-line);border-radius:var(--sn-radius);color:var(--sn-muted);font-size:16px;padding:48px 24px;text-align:center}
.sn-checkout-v2 .return-to-shop{text-align:center}

/* ===== Responsive ===== */
@media(max-width:980px){
  .sn-checkout-v2--cart .woocommerce{grid-template-columns:1fr}
  .sn-checkout-v2--cart .woocommerce>form.sn-cart,.sn-checkout-v2--cart .woocommerce>.cart-collaterals{grid-column:1 / -1;grid-row:auto;position:static}
  body.sn-checkout-v2 .woocommerce-checkout form.checkout.sn-checkout{grid-template-columns:1fr}
  body.sn-checkout-v2 .woocommerce-checkout form.checkout.sn-checkout>.sn-checkout__step--details,body.sn-checkout-v2 .woocommerce-checkout form.checkout.sn-checkout>.sn-checkout__step--payment{grid-column:1 / -1}
}
@media(max-width:780px){
  .sn-checkout-v2{padding-top:28px}
  .sn-checkout-v2__wrap{width:min(100% - 24px,1180px)}
  .sn-checkout-v2__panel{border-radius:14px;padding:16px}
  .sn-checkout-v2__progress li{font-size:11px}
  .sn-cart__item{grid-template-columns:92px 1fr;gap:14px;padding:16px}
  .sn-cart__thumb,.sn-cart__media img{width:72px;height:72px}
  .sn-cart__name{font-size:16px;min-width:140px}
  .sn-options__row{grid-template-columns:1fr}
  .sn-cart__foot{flex-direction:column;align-items:stretch}
  .sn-cart__prices{flex-direction:row;align-items:center;justify-content:space-between}
  .sn-checkout-v2 .cart_totals.sn-summary{padding:18px}
  .sn-checkout__step{padding:18px}
  .sn-checkout-v2 .woocommerce-billing-fields__field-wrapper,.sn-checkout-v2 .woocommerce-shipping-fields__field-wrapper,.sn-checkout-v2 .woocommerce-additional-fields__field-wrapper{grid-template-columns:1fr}
  .sn-checkout-v2 .woocommerce form .form-row{grid-column:1 / -1}
  .sn-checkout-v2 .sn-checkout__review dl.variation.sn-options{margin-left:0}
  .sn-buyer-type__grid{grid-template-columns:1fr}
  .sn-checkout-v2__trust{grid-template-columns:1fr}
  .sn-checkout__topbar{flex-direction:column;align-items:stretch}
}
@media(max-width:390px){
  .sn-checkout-v2__wrap{width:calc(100% - 20px)}
  .sn-checkout-v2__heading{margin:20px auto}
  .sn-checkout-v2__progress ol:before{left:13%;right:13%}
  .sn-checkout-v2__progress li span{height:32px;width:32px}
  .sn-checkout-v2 .button,.sn-checkout-v2 #place_order,.sn-checkout-v2 .checkout-button{width:100%}
  .sn-checkout__steps{gap:12px}
  .sn-checkout__steps:before{left:11%;right:11%}
}
