
body.shopo-native-checkout{--shopo-blue:#1b4dff;--shopo-blue-hover:#0f35b8;--shopo-blue-tint:#f5f8ff;--shopo-ink:#0d1117;--shopo-muted:#5b606a;--shopo-faint:#8a8f99;--shopo-line:#e4e6eb;--shopo-line-light:#f0f1f4;--shopo-line-strong:#d8dae0;--shopo-surface:#f4f6fa;--shopo-success:#0e9f6e;margin:0;overflow-x:hidden;background:#f4f5f7;color:var(--shopo-ink);font-family:var(--wp--preset--font-family--sans);font-size:16px;line-height:1.5}
.shopo-native-checkout *{box-sizing:border-box}
.shopo-native-checkout main>.wp-block-post-title,.shopo-native-checkout .entry-content>.wp-block-heading:first-child{display:none!important}
.shopo-native-checkout .wp-site-blocks,.shopo-native-checkout main,.shopo-native-checkout .entry-content{margin:0!important;padding:0!important;max-width:none!important}
.shopo-native-checkout .wp-site-blocks>*{margin-block:0!important}
/* The empty block-notices wrapper also carries the class "woocommerce", so it
   must never pick up the checkout container's padding. */
.shopo-native-checkout .wc-block-store-notices{margin:0!important;padding:0!important}
.shopo-native-checkout .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.shopo-native-checkout .skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:10px 16px;border-radius:8px;background:var(--shopo-ink);color:#fff;transform:translateY(-160%)}
.shopo-native-checkout .skip-link:focus{transform:translateY(0)}

/* ---------- page shell ---------- */
.shopo-native-checkout .entry-content>.woocommerce{width:min(1440px,calc(100% - 80px));margin:0 auto!important;padding:26px 0 72px}
.shopo-native-checkout .entry-content>.woocommerce>*{margin-block-start:0!important}

.shopo-checkout-heading{margin:0 0 24px}
.shopo-checkout-heading>nav{display:flex;align-items:center;gap:8px;margin-bottom:22px;color:var(--shopo-faint);font-size:13.5px}
.shopo-checkout-heading>nav a{color:#6b7078;text-decoration:none}
.shopo-checkout-heading>nav span[aria-current]{color:var(--shopo-ink);font-weight:600}
.shopo-checkout-heading__row{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap}
.shopo-eyebrow{display:block;margin-bottom:8px;color:var(--shopo-blue);font-size:12.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.shopo-checkout-heading h1{margin:0 0 6px;font-family:var(--wp--preset--font-family--sans);font-size:42px;font-weight:800;line-height:1.05;letter-spacing:-.03em}
.shopo-checkout-heading p{margin:0;color:var(--shopo-muted);font-size:16px}
.shopo-checkout-heading ol{display:flex;align-items:center;gap:10px;margin:0;padding:0 0 6px;list-style:none;color:var(--shopo-faint);font-size:13.5px;font-weight:700}
.shopo-checkout-heading li{display:flex;align-items:center;gap:8px;white-space:nowrap}
.shopo-checkout-heading li+li:before{content:"";width:26px;height:1px;margin-right:2px;background:#d3d6dc}
.shopo-checkout-heading li b{width:22px;height:22px;display:grid;place-items:center;border:1px solid #d3d6dc;border-radius:50%;background:#fff;font-size:12px}
.shopo-checkout-heading .is-complete{color:var(--shopo-success)}
.shopo-checkout-heading .is-current{color:var(--shopo-ink)}
.shopo-checkout-heading .is-complete b{border-color:var(--shopo-success);background:var(--shopo-success);color:#fff}
.shopo-checkout-heading .is-current b{border-color:var(--shopo-blue);background:var(--shopo-blue);color:#fff}

.shopo-native-checkout .woocommerce-notices-wrapper{margin:0 0 18px!important;padding:0!important}
.shopo-native-checkout .woocommerce-notices-wrapper:empty{display:none}
.shopo-native-checkout .woocommerce-error,.shopo-native-checkout .woocommerce-message{margin:0 0 16px;padding:14px 18px;border:1px solid #b8c9ff;border-radius:10px;background:var(--shopo-blue-tint);color:#25324a;font-size:14px;list-style:none}
.shopo-native-checkout .woocommerce-error{border-color:#ef9a9a;background:#fff3f3;color:#9f1818}

/* ---------- two-column grid ---------- */
/* Exactly two grid children: the stacked panels and the summary. A tall aside
   spanning every row would otherwise distribute its height across the left
   column's rows and blow gaps between the cards. */
.shopo-native-checkout form.checkout{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 396px;align-items:start;gap:24px}
.shopo-native-checkout form.checkout>wc-order-attribution-inputs{display:none}
.shopo-co-main{grid-column:1;min-width:0;display:flex;flex-direction:column;gap:16px}
.shopo-checkout-section,.shopo-native-checkout #customer_details{min-width:0;padding:26px 28px;border:1px solid var(--shopo-line);border-radius:16px;background:#fff}
.shopo-native-checkout #customer_details{display:block;float:none!important;width:auto!important}
.shopo-native-checkout #customer_details:before,.shopo-native-checkout #customer_details:after{display:none}
.shopo-native-checkout .col-1,.shopo-native-checkout .col-2{float:none!important;width:100%!important;margin:0!important}

/* ---------- sign-in / coupon bar ---------- */
.shopo-co-bar{grid-column:1;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:0;padding:16px 20px;border:1px solid var(--shopo-line);border-radius:14px;background:#fff}
.shopo-co-bar__signin{flex:1 1 auto;min-width:0;display:flex;align-items:center;gap:12px;font-size:15px;color:var(--shopo-ink)}
.shopo-co-bar__coupon{flex:0 0 auto}
.shopo-co-bar__signin svg{flex:none;color:var(--shopo-muted)}
.shopo-co-bar__signin a{color:var(--shopo-blue);font-weight:700;text-decoration:none}
.shopo-co-bar__signin a:hover{text-decoration:underline}
.shopo-co-bar__coupon a{display:inline-flex;align-items:center;padding:9px 16px;border:1px solid var(--shopo-line-strong);border-radius:999px;background:#fff;color:var(--shopo-ink);font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap}
.shopo-co-bar__coupon a:hover{border-color:var(--shopo-ink)}
.shopo-native-checkout form.woocommerce-form-login,.shopo-native-checkout form.checkout_coupon{grid-column:1;margin:0!important;padding:20px 22px!important;border:1px solid var(--shopo-line);border-radius:14px;background:#fff}
.shopo-native-checkout form.checkout_coupon .form-row-first{width:auto!important;flex:1 1 220px}
.shopo-native-checkout form.checkout_coupon{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.shopo-native-checkout form.checkout_coupon .button{height:46px;padding:0 22px;border:0;border-radius:10px;background:var(--shopo-ink);color:#fff;font-weight:700;font-size:14.5px;cursor:pointer}

/* ---------- section headings ---------- */
.shopo-checkout-section__head{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.shopo-checkout-section__head>span{width:30px;height:30px;flex:0 0 30px;display:grid;place-items:center;border-radius:50%;background:#0b0b0c;color:#fff;font-family:var(--wp--preset--font-family--sans);font-size:14px;font-weight:700}
.shopo-checkout-section__head h2{margin:0!important;font-family:var(--wp--preset--font-family--sans);font-size:21px!important;font-weight:700;line-height:1.2;letter-spacing:-.01em}
.shopo-checkout-section__head p{margin:2px 0 0;color:#6b7078;font-size:14px}

/* ---------- billing fields ---------- */
.shopo-native-checkout .woocommerce-billing-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.shopo-native-checkout .form-row{float:none!important;min-width:0;margin:0!important;padding:0!important}
/* WooCommerce's float layout sizes .form-row-first/.form-row-last at 47%, which
   would resolve against the grid cell and render every paired field at half
   width. The grid owns the columns here, so each row fills its own cell. */
.shopo-native-checkout .woocommerce-billing-fields__field-wrapper .form-row,.shopo-native-checkout .woocommerce-shipping-fields__field-wrapper .form-row{width:100%!important}
.shopo-native-checkout .woocommerce-billing-fields__field-wrapper .form-row-first{grid-column:1}
.shopo-native-checkout .woocommerce-billing-fields__field-wrapper .form-row-last{grid-column:2}
.shopo-native-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide{grid-column:1/-1}
.shopo-native-checkout .woocommerce-billing-fields label,.shopo-native-checkout .woocommerce-additional-fields label{display:block;margin:0 0 7px;color:#43464d;font-size:13px;font-weight:700;line-height:1.4}
.shopo-native-checkout .required{color:#d43b2f;text-decoration:none}
.shopo-native-checkout .optional{color:var(--shopo-faint);font-weight:500}
.shopo-native-checkout .woocommerce-input-wrapper{display:block;width:100%}
.shopo-native-checkout input.input-text,.shopo-native-checkout textarea,.shopo-native-checkout select{width:100%!important;max-width:100%;height:46px;padding:0 14px;border:1px solid var(--shopo-line-strong);border-radius:10px;background:#fff;color:var(--shopo-ink);font:15px var(--wp--preset--font-family--sans);box-shadow:none;appearance:none}
.shopo-native-checkout select{padding-right:34px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b606a' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px}
.shopo-native-checkout textarea{height:auto;min-height:92px;padding:12px 14px;resize:vertical}
.shopo-native-checkout input.input-text:focus,.shopo-native-checkout textarea:focus,.shopo-native-checkout select:focus{border-color:var(--shopo-blue);box-shadow:0 0 0 3px rgba(27,77,255,.12);outline:none}
.shopo-native-checkout input:focus-visible,.shopo-native-checkout textarea:focus-visible,.shopo-native-checkout select:focus-visible,.shopo-native-checkout button:focus-visible,.shopo-native-checkout a:focus-visible{outline:2px solid var(--shopo-blue);outline-offset:2px}
.shopo-native-checkout .form-row .description{display:block;margin-top:6px;color:#6b7078;font-size:12.5px;font-weight:400}
.shopo-native-checkout input::placeholder,.shopo-native-checkout textarea::placeholder{color:#9aa0aa;opacity:1}
.shopo-native-checkout select:invalid,.shopo-native-checkout select option[value=""]{color:#9aa0aa}
/* WooCommerce flags a required field the moment it is blurred while empty, so
   the invalid state stays a quiet red outline rather than a filled red box —
   tabbing through a form should not look like a wall of errors. */
.shopo-native-checkout .form-row.woocommerce-invalid input.input-text,.shopo-native-checkout .form-row.woocommerce-invalid select{border-color:#e0796f;background:#fff}
.shopo-native-checkout .form-row.woocommerce-invalid input.input-text:focus,.shopo-native-checkout .form-row.woocommerce-invalid select:focus{border-color:#d92d20;box-shadow:0 0 0 3px rgba(217,45,32,.12)}
.shopo-native-checkout .form-row.woocommerce-validated input.input-text,.shopo-native-checkout .form-row.woocommerce-validated select{border-color:#bfe3d0}
/* Country is locked to LK and postcode is unused for LK delivery; both stay in
   the DOM for WooCommerce's own validation and zone matching but are not shown. */
.shopo-native-checkout #billing_country_field,.shopo-native-checkout #billing_postcode_field,.shopo-native-checkout #shipping_country_field,.shopo-native-checkout #shipping_postcode_field{display:none!important}

/* ---------- trailing checkboxes ---------- */
.shopo-native-checkout .woocommerce-account-fields{margin-top:20px;padding-top:18px;border-top:1px solid #eceef2}
.shopo-native-checkout .woocommerce-additional-fields{margin-top:0}
.shopo-native-checkout .woocommerce-additional-fields h3{display:none}
.shopo-native-checkout .create-account label.checkbox,.shopo-co-note-toggle,.shopo-native-checkout #ship-to-different-address label{display:flex!important;align-items:center;gap:10px;margin:0 0 12px!important;color:var(--shopo-ink);font-size:14.5px;font-weight:400;line-height:1.4;cursor:pointer}
.shopo-native-checkout .create-account input,.shopo-co-note-toggle input,.shopo-native-checkout #ship-to-different-address input{width:17px;height:17px;flex:0 0 17px;margin:0;accent-color:var(--shopo-blue)}
.shopo-native-checkout #order_comments_field label{display:none}

/* "Ship to a different address?" keeps WooCommerce's own reveal behaviour; the
   panel it opens is styled as an inset so it reads as belonging to the tick. */
.shopo-native-checkout .woocommerce-shipping-fields{margin:0}
.shopo-native-checkout #ship-to-different-address{margin:0!important;padding:0;border:0;font-family:var(--wp--preset--font-family--sans);font-size:14.5px;font-weight:400}
.shopo-native-checkout .shipping_address{margin:2px 0 14px;padding:20px;border:1px solid var(--shopo-line);border-radius:12px;background:var(--shopo-surface)}
.shopo-native-checkout .woocommerce-shipping-fields__field-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.shopo-native-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first{grid-column:1}
.shopo-native-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last{grid-column:2}
.shopo-native-checkout .woocommerce-shipping-fields__field-wrapper .form-row-wide{grid-column:1/-1}
.shopo-native-checkout .woocommerce-shipping-fields__field-wrapper label{display:block;margin:0 0 7px;color:#43464d;font-size:13px;font-weight:700;line-height:1.4}

/* ---------- delivery + payment option cards ---------- */
.shopo-delivery-options>p,.shopo-payment-options>p{margin:0;color:var(--shopo-muted);font-size:14px}
.shopo-delivery-options .woocommerce-shipping-methods,.shopo-payment-options .wc_payment_methods{display:grid;gap:12px;margin:0!important;padding:0!important;list-style:none}
.shopo-delivery-options .woocommerce-shipping-methods li,.shopo-payment-options .wc_payment_method{position:relative;display:flex!important;align-items:flex-start;gap:14px;flex-wrap:wrap;margin:0!important;padding:16px 18px!important;border:1.5px solid var(--shopo-line);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .15s,background-color .15s}
.shopo-delivery-options .woocommerce-shipping-methods li:has(input:checked),.shopo-payment-options .wc_payment_method:has(input:checked),.shopo-payment-options .wc_payment_method.is-selected{border-color:var(--shopo-blue);background:var(--shopo-blue-tint)}
.shopo-delivery-options input[type=radio],.shopo-payment-options .input-radio{position:static;flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--shopo-blue)}
.shopo-payment-options label{display:flex!important;flex:1;min-width:0;align-items:baseline;justify-content:space-between;gap:16px;margin:0!important;color:var(--shopo-ink);font-size:16px!important;font-weight:700;line-height:1.35;cursor:pointer}
.shopo-delivery-options label{display:flex!important;flex:1;min-width:0;flex-direction:column;gap:3px;margin:0!important;font-weight:400;line-height:1.35;cursor:pointer}
.shopo-ship-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.shopo-ship-title{color:var(--shopo-ink);font-size:16px;font-weight:700}
.shopo-ship-cost{font-size:15px;font-weight:700;white-space:nowrap}
.shopo-ship-note{color:var(--shopo-muted);font-size:14px;font-weight:400}
.shopo-payment-options label img{max-width:74px!important;max-height:26px!important;margin:0!important;object-fit:contain}
.shopo-payment-options .payment_box{flex-basis:100%;margin:6px 0 0 34px!important;padding:0!important;border-radius:0;background:transparent!important;color:var(--shopo-muted)!important;font-size:14px;font-weight:400}
.shopo-payment-options .payment_box:before{display:none!important}
.shopo-payment-options .payment_box p{margin:0}

.shopo-co-trust{grid-column:1;display:flex;gap:22px;flex-wrap:wrap;padding:4px 6px;color:var(--shopo-muted);font-size:13.5px}
.shopo-co-trust span{display:inline-flex;align-items:center;gap:7px}

/* ---------- order summary aside ---------- */
.shopo-co-aside{grid-column:2;position:sticky;top:20px;min-width:0;display:flex;flex-direction:column;gap:14px}
.shopo-native-checkout #order_review{margin:0!important;padding:0;border:1px solid var(--shopo-line);border-radius:16px;background:#fff;overflow:hidden}
.shopo-native-checkout #order_review_heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0!important;padding:20px 22px 14px;border:0;background:transparent;font-family:var(--wp--preset--font-family--sans);font-size:18px;font-weight:700}
.shopo-co-edit-cart{color:var(--shopo-blue);font-size:14px;font-weight:600;text-decoration:none}
.shopo-native-checkout table.shop_table{width:100%;margin:0!important;border:0!important;border-collapse:collapse;background:transparent}
.shopo-native-checkout table.shop_table thead{display:none}
.shopo-native-checkout table.shop_table th,.shopo-native-checkout table.shop_table td{padding:12px 22px!important;border:0!important;border-top:1px solid var(--shopo-line-light)!important;background:transparent!important;text-align:left;vertical-align:top}
.shopo-native-checkout table.shop_table td:last-child,.shopo-native-checkout table.shop_table th:last-child{text-align:right}
/* The amount column must shrink-wrap its content, otherwise a nowrap price
   overflows the fixed-width summary and gets clipped by its rounded corners. */
.shopo-native-checkout table.shop_table td.product-total,.shopo-native-checkout table.shop_table tfoot td{width:1%;white-space:nowrap;vertical-align:top;padding-left:8px!important}
.shopo-native-checkout table.shop_table td.product-name,.shopo-native-checkout table.shop_table tfoot th{width:auto;padding-right:10px!important}
.shopo-native-checkout table.shop_table td.product-name{position:relative}
.shopo-co-item{display:flex;align-items:flex-start;gap:12px}
.shopo-co-item>span:last-child{flex:1;min-width:0}
.shopo-co-item-thumb-wrap{flex:0 0 54px;width:54px;height:54px;border:1px solid #e8eaee;border-radius:9px;overflow:hidden;background:#fff}
.shopo-co-item-thumb{width:100%;height:100%;object-fit:contain}
.shopo-co-item-name{display:block;overflow-wrap:anywhere;color:var(--shopo-ink);font-size:14px;font-weight:600;line-height:1.3}
.shopo-co-item-meta{display:block;margin-top:3px;color:var(--shopo-faint);font-size:12.5px;font-weight:400}
/* Wrapping keeps the row's min-content narrow, so the summary table can never
   grow wider than its card and get its prices clipped. */
.shopo-co-line-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.shopo-co-qty{display:inline-flex;align-items:center;border:1px solid var(--shopo-line-strong);border-radius:8px;background:#fff}
.shopo-co-qty button{width:26px;height:26px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--shopo-ink);font-size:15px;line-height:1;cursor:pointer}
.shopo-co-qty button:disabled{color:#c6c9d0;cursor:default}
.shopo-co-qty b{min-width:22px;text-align:center;font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}
.shopo-co-remove{padding:0;border:0;background:transparent;color:var(--shopo-muted);font-size:12.5px;text-decoration:underline;cursor:pointer}
.shopo-co-remove:hover{color:#d43b2f}
.shopo-native-checkout #order_review.is-busy{opacity:.55;pointer-events:none}
.shopo-native-checkout .product-quantity{position:absolute;left:66px;top:6px;min-width:19px;height:19px;display:grid;place-items:center;padding:0 5px;border-radius:999px;background:#0b0b0c;color:#fff;font-size:11px;font-weight:700;line-height:1}
.shopo-native-checkout table.shop_table td.product-total{color:var(--shopo-ink);font-size:14px;font-weight:700}
.shopo-native-checkout table.shop_table tfoot th{color:var(--shopo-muted);font-size:14.5px;font-weight:400}
.shopo-native-checkout table.shop_table tfoot td{color:var(--shopo-ink);font-size:14.5px;font-weight:600}
.shopo-native-checkout table.shop_table tfoot tr:not(.order-total) th,.shopo-native-checkout table.shop_table tfoot tr:not(.order-total) td{padding-block:8px!important;border-top:0!important}
.shopo-native-checkout table.shop_table tfoot tr.cart-subtotal th,.shopo-native-checkout table.shop_table tfoot tr.cart-subtotal td{padding-top:14px!important;border-top:1px solid var(--shopo-line-light)!important}
.shopo-co-free{color:var(--shopo-success);font-weight:700}
.shopo-native-checkout tr.shopo-co-savings td{color:var(--shopo-success);font-weight:600}
.shopo-native-checkout table.shop_table .order-total th,.shopo-native-checkout table.shop_table .order-total td{padding-top:14px!important;padding-bottom:18px!important;border-top:1px solid var(--shopo-line)!important;vertical-align:baseline}
.shopo-native-checkout table.shop_table .order-total th{color:var(--shopo-ink);font-size:17px;font-weight:700}
.shopo-native-checkout table.shop_table .order-total .amount{font-family:var(--wp--preset--font-family--sans);font-size:27px;font-weight:800;letter-spacing:-.02em}

.shopo-native-checkout #payment{margin:0!important;padding:0 22px 22px!important;border:0!important;background:transparent!important}
.shopo-native-checkout #payment>.wc_payment_methods{display:block!important}
.shopo-native-checkout #payment .wc_payment_methods{display:grid!important;gap:10px;margin:16px 0 18px!important;padding:0!important;border:0!important;list-style:none}
.shopo-native-checkout #payment .wc_payment_method{display:grid!important;grid-template-columns:22px minmax(0,1fr);align-items:center;column-gap:12px;row-gap:10px;margin:0!important;padding:14px 15px!important;border:1px solid var(--shopo-line)!important;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,box-shadow .15s ease}
.shopo-native-checkout #payment .wc_payment_method:has(input:checked){border-color:var(--shopo-blue)!important;background:var(--shopo-blue-tint);box-shadow:0 0 0 3px rgba(27,77,255,.08)}
.shopo-native-checkout #payment .wc_payment_method .input-radio{grid-column:1;width:18px!important;height:18px!important;margin:0!important;accent-color:var(--shopo-blue)}
.shopo-native-checkout #payment .wc_payment_method>label{grid-column:2;display:flex!important;min-width:0;align-items:center;justify-content:space-between;gap:12px;margin:0!important;color:var(--shopo-ink);font-size:15px!important;font-weight:700;line-height:1.35;cursor:pointer}
.shopo-native-checkout #payment .wc_payment_method>label img{flex:0 0 auto;max-width:76px!important;max-height:25px!important;margin:0!important;object-fit:contain}
.shopo-native-checkout #payment .wc_payment_method .payment_box{grid-column:1/-1;margin:0!important;padding:11px 13px!important;border-radius:9px;background:rgba(255,255,255,.72)!important;color:var(--shopo-muted)!important;font-size:13.5px!important;line-height:1.5}
.shopo-native-checkout #payment .wc_payment_method .payment_box:before{display:none!important}
.shopo-native-checkout #payment .wc_payment_method .payment_box p:last-child{margin-bottom:0}
.shopo-native-checkout #payment .place-order{display:flex;flex-direction:column;margin:0!important;padding:0!important}
.shopo-native-checkout #place_order{order:-1;width:100%;height:56px;margin:0;padding:0 18px;border:0;border-radius:12px;background:var(--shopo-blue);color:#fff;font:700 17px var(--wp--preset--font-family--sans);cursor:pointer;transition:background-color .15s,transform .1s}
.shopo-native-checkout #place_order:hover{background:#123bcc}
.shopo-native-checkout #place_order:active{transform:scale(.98)}
.shopo-native-checkout #payment .woocommerce-privacy-policy-text,.shopo-native-checkout #payment .woocommerce-terms-and-conditions-wrapper{margin-top:10px;color:#6b7078;font-size:12.5px;line-height:1.5;text-align:center}
.shopo-native-checkout #payment .woocommerce-privacy-policy-text p{margin:0}

/* ---------- instalment promo (third-party gateway markup, restyled) ---------- */
.shopo-co-instalments{padding:18px 20px;border-radius:16px;background:#0b0b0c;color:#fff}
.shopo-co-instalments__label{display:block;margin-bottom:8px;color:#9aa0aa;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.shopo-co-instalments div,.shopo-co-instalments span,.shopo-co-instalments p{margin:0;border:0!important;background:transparent!important;color:inherit!important}
.shopo-co-instalments .koko-checkout-price-installment{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:16px;font-weight:700;line-height:1.35}
.shopo-co-instalments .mintpay-checkout-promo{margin-top:8px!important;color:#b8bcc4!important;font-size:13.5px!important;font-weight:400!important;line-height:1.45}
.shopo-co-instalments .mintpay-checkout-promo span{display:inline;font-size:inherit!important;font-weight:inherit!important}
.shopo-co-instalments .mintpay-checkout-promo b{color:#fff!important;font-weight:700}
.shopo-co-instalments img{display:inline-block;max-height:20px;width:auto;vertical-align:middle}
.shopo-native-checkout .blockUI.blockOverlay{border-radius:16px!important}

@media(max-width:1180px){
  .shopo-native-checkout form.checkout{grid-template-columns:minmax(0,1fr) 360px;gap:20px}
  .shopo-native-checkout .entry-content>.woocommerce{width:min(1440px,calc(100% - 48px))}
  .shopo-native-checkout table.shop_table th,.shopo-native-checkout table.shop_table td{padding-inline:18px!important}
  .shopo-native-checkout #order_review_heading,.shopo-native-checkout #payment{padding-inline:18px!important}
  .shopo-native-checkout .product-quantity{left:62px}
  .shopo-co-bar__signin{font-size:14.5px}
  .shopo-co-bar__coupon a{padding:8px 14px;font-size:13.5px}
}
@media(max-width:900px){
  .shopo-native-checkout .entry-content>.woocommerce{width:min(calc(100% - 32px),860px)}
  .shopo-checkout-heading h1{font-size:34px}
  .shopo-checkout-heading__row{align-items:flex-start;flex-direction:column;gap:18px}
  .shopo-native-checkout form.checkout{grid-template-columns:1fr}
  .shopo-co-main,.shopo-co-aside{grid-column:1;grid-row:auto}
  .shopo-co-aside{position:static}
}
@media(max-width:640px){
  .shopo-native-checkout .wp-site-blocks,.shopo-native-checkout main,.shopo-native-checkout .entry-content{width:100%!important;min-width:0!important;max-width:100%!important;overflow-x:hidden!important}
  .shopo-native-checkout .entry-content>.woocommerce{width:min(calc(100% - 24px),600px)}
  .shopo-native-checkout .entry-content>.woocommerce{width:auto!important;margin-inline:12px!important;padding:18px 0 44px;overflow:visible!important}
  .shopo-checkout-heading h1{font-size:30px}
  .shopo-checkout-heading ol{gap:6px;font-size:11.5px}
  .shopo-checkout-heading li+li:before{width:12px}
  .shopo-checkout-section,.shopo-native-checkout #customer_details{padding:20px 16px;border-radius:14px}
  .shopo-native-checkout .woocommerce-billing-fields__field-wrapper,.shopo-native-checkout .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr}
  .shopo-native-checkout .woocommerce-billing-fields__field-wrapper .form-row-first,.shopo-native-checkout .woocommerce-billing-fields__field-wrapper .form-row-last,.shopo-native-checkout .woocommerce-shipping-fields__field-wrapper .form-row-first,.shopo-native-checkout .woocommerce-shipping-fields__field-wrapper .form-row-last{grid-column:1}
  .shopo-native-checkout .shipping_address{padding:16px}
  .shopo-native-checkout input.input-text,.shopo-native-checkout textarea,.shopo-native-checkout select{font-size:16px}
  .shopo-native-checkout table.shop_table th,.shopo-native-checkout table.shop_table td{padding-inline:18px!important}
  .shopo-native-checkout .product-quantity{left:62px}
  .shopo-native-checkout #order_review_heading{padding-inline:18px}
  .shopo-native-checkout #payment{padding-inline:18px!important}
}
@media(prefers-reduced-motion:reduce){.shopo-native-checkout *{scroll-behavior:auto!important;transition-duration:0s!important}}


/* Pay-in-3 row under the order total (shopo-core: woocommerce_review_order_after_order_total).
   One full-width cell: the totals column is nowrap, and a sentence in it would
   push the whole summary wider than its card. */
.shopo-native-checkout table.shop_table tr.shopo-co-plan td{width:auto;padding:12px 20px 14px!important;border-top:1px dashed var(--shopo-line)!important;white-space:normal;text-align:left!important}
.shopo-co-plan__row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:var(--shopo-ink);font-size:14.5px}
.shopo-co-plan__row span{font-weight:600}
.shopo-co-plan__row strong{white-space:nowrap;font-size:15px}
.shopo-native-checkout tr.shopo-co-plan small{display:block;margin-top:4px;color:var(--shopo-muted);font-size:12.5px;font-weight:400;line-height:1.45}

/* The order summary is laid out as independent flex rows, not a table grid.
   As a table, the widest cell in the price column (the large order total) set
   the width for every line item, squeezing product names into a sliver. */
.shopo-native-checkout table.shop_table,.shopo-native-checkout table.shop_table tbody,.shopo-native-checkout table.shop_table tfoot{display:block;width:100%}
.shopo-native-checkout table.shop_table tr{display:flex;align-items:baseline;justify-content:space-between}
.shopo-native-checkout table.shop_table tbody tr{align-items:flex-start}
.shopo-native-checkout table.shop_table td.product-name,.shopo-native-checkout table.shop_table tfoot th{flex:1 1 auto;min-width:0;width:auto!important}
.shopo-native-checkout table.shop_table td.product-total,.shopo-native-checkout table.shop_table tfoot td{flex:0 0 auto;width:auto!important}
.shopo-native-checkout table.shop_table tfoot tr.shopo-co-plan td{flex:1 1 100%}
.shopo-native-checkout table.shop_table tfoot tr.order-total{border-top:1px solid var(--shopo-line)}
.shopo-native-checkout table.shop_table tfoot tr.order-total th,.shopo-native-checkout table.shop_table tfoot tr.order-total td{border-top:0!important}

/* Terms tick box (Terms page set 2026-09-10): above the Place order button, left-aligned and
   easy to tap, so it is read before the order is placed rather than after an error. */
.shopo-native-checkout #place_order{order:0;margin-top:14px}
.shopo-native-checkout #payment .woocommerce-terms-and-conditions-wrapper{margin:0;text-align:left}
.shopo-native-checkout #payment .woocommerce-privacy-policy-text{margin:0 0 10px;text-align:left}
.shopo-native-checkout #payment .woocommerce-terms-and-conditions-wrapper .form-row.validate-required{margin:0!important;padding:12px 14px!important;border:1px solid var(--shopo-line);border-radius:10px;background:#fff}
.shopo-native-checkout #payment .woocommerce-terms-and-conditions-wrapper label.checkbox{display:flex!important;align-items:flex-start;gap:10px;margin:0!important;color:var(--shopo-ink);font-size:14px;font-weight:500;line-height:1.45;cursor:pointer}
.shopo-native-checkout #payment #terms{flex:0 0 18px;width:18px;height:18px;margin:1px 0 0!important;accent-color:var(--shopo-blue)}
.shopo-native-checkout #payment .woocommerce-invalid .woocommerce-terms-and-conditions-wrapper .form-row.validate-required,.shopo-native-checkout #payment .form-row.validate-required.woocommerce-invalid{border-color:#e0796f;background:#fff6f5}
