.woocommerce-checkout .woocommerce-form-coupon-toggle, .woocommerce-checkout .woocommerce-form-login-toggle { margin-bottom: 18px; }
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr); align-items: start; gap: clamp(34px, 6vw, 78px); }
.woocommerce-checkout #customer_details { display: block; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; }
.woocommerce-checkout #customer_details .col-2 { margin-top: 30px; }
.woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { width: auto; float: none; }
.woocommerce-checkout #order_review_heading { grid-column: 2; margin: 0 0 -32px; padding: 30px 30px 0; font-size: 24px; }
.woocommerce-checkout #order_review { grid-column: 2; padding: 78px 30px 30px; border: 1px solid var(--ndk-border); border-radius: var(--ndk-radius-md); background: var(--ndk-soft); }
.woocommerce-checkout .woocommerce-billing-fields > h3, .woocommerce-checkout .woocommerce-additional-fields > h3 { margin-bottom: 24px; font-size: 25px; }
.woocommerce-checkout .form-row { margin: 0 0 17px; padding: 0; }
.woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { width: calc(50% - 8px); }
.woocommerce-checkout .select2-container .select2-selection--single { min-height: 50px; border-color: #cfcfcf; border-radius: var(--ndk-radius-sm); }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { padding: 10px 35px 10px 14px; line-height: 28px; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { top: 11px; right: 7px; }
.woocommerce-checkout table.shop_table { margin-bottom: 24px; border: 0; border-collapse: collapse; }
.woocommerce-checkout table.shop_table th, .woocommerce-checkout table.shop_table td { padding: 14px 0; border-top: 1px solid var(--ndk-border); }
.woocommerce-checkout table.shop_table td.product-total, .woocommerce-checkout table.shop_table tfoot td { text-align: right; }
.woocommerce-checkout table.shop_table .order-total { font-size: 20px; }
.woocommerce-checkout #payment { border: 1px solid var(--ndk-border); border-radius: var(--ndk-radius-sm); background: #fff; }
.woocommerce-checkout #payment ul.payment_methods { padding: 18px; border-bottom-color: var(--ndk-border); }
.woocommerce-checkout #payment div.payment_box { border-radius: 6px; background: var(--ndk-soft); color: var(--ndk-text); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--ndk-soft); }
.woocommerce-checkout #payment div.form-row { padding: 20px; }
.woocommerce-checkout #place_order { width: 100%; min-height: 52px; float: none; font-size: 17px; }
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { color: var(--ndk-muted); font-size: 14px; }
.woocommerce-invalid :where(input, select, textarea), .woocommerce-invalid .select2-selection { border-color: var(--ndk-error) !important; }
.woocommerce-validated :where(input, select, textarea) { border-color: var(--ndk-success); }

/* =========================================================
   WooCommerce Blocks checkout (Contact / Shipping / Summary)
   ========================================================= */
.wc-block-checkout, .wp-block-woocommerce-checkout { --wc-block-components-color-accent: var(--ndk-primary); }

/* Shopify-width stage: the whole checkout lives in a centered 1120px band,
   form left / summary right, instead of stretching across the full container.
   The sidebar is a SIBLING of the form, so the cap goes on the outer wrapper. */
.wc-block-checkout, .wp-block-woocommerce-checkout, .wp-block-woocommerce-cart { max-width: 1120px; margin-inline: auto; }
.wc-block-checkout__form { column-gap: clamp(30px, 5vw, 64px); }
.woocommerce-checkout .entry-header, .woocommerce-checkout h1.entry-title,
.woocommerce-cart .entry-header, .woocommerce-cart h1.entry-title { max-width: 1120px; margin-inline: auto; }
.wc-block-checkout__main { padding-right: clamp(0px, 3vw, 40px); }

/* Section step headings */
.wc-block-components-checkout-step__title { font-family: var(--ndk-heading); font-size: 19px; font-weight: 600; letter-spacing: -.01em; color: var(--ndk-ink); }
.wc-block-components-checkout-step__heading { margin-bottom: 16px; }
.wc-block-components-checkout-step { margin-bottom: 38px; }
.wc-block-components-checkout-step__description { color: var(--ndk-muted); font-size: 14px; }

/* Notices: soft rounded banner instead of the harsh square red box */
.wc-block-components-notice-banner { border-radius: 10px; border-width: 1px; }
.wc-block-components-notice-banner.is-error { border-color: #f0c9b8; background: #fff8f4; color: #6b3a22; }
.wc-block-components-notice-banner.is-error svg { fill: var(--ndk-primary); }

/* Inputs: Shopify field language - white, #dedede hairline, 8px corners,
   quiet grey floating labels, orange focus ring */
body.ndk-storefront .wc-block-components-text-input input,
body.ndk-storefront .wc-block-components-address-form input,
body.ndk-storefront .wc-blocks-components-select .wc-blocks-components-select__container,
body.ndk-storefront .wc-block-components-combobox .components-form-token-field__input-container {
	min-height: 52px !important; border: 1px solid #dedede !important; border-radius: 8px !important; background: #fff;
	color: var(--ndk-ink); font-size: 15px; box-shadow: none;
	transition: border-color var(--ndk-transition), box-shadow var(--ndk-transition);
}
body.ndk-storefront .wc-block-components-text-input input:hover,
body.ndk-storefront .wc-blocks-components-select .wc-blocks-components-select__container:hover { border-color: #c4c4c4 !important; }
.wc-block-components-text-input label,
.wc-blocks-components-select .wc-blocks-components-select__label,
.wc-block-components-combobox .wc-block-components-combobox-control label { color: #8a8a8a; font-size: 15px; }
.wc-block-components-text-input.is-active label, .wc-block-components-text-input input:focus + label { color: #737373; font-weight: 500; }
body.ndk-storefront .wc-block-components-text-input input:focus,
body.ndk-storefront .wc-blocks-components-select__container:focus-within,
body.ndk-storefront .wc-block-components-combobox .components-form-token-field__input-container.is-active {
	border-color: var(--ndk-primary) !important; box-shadow: 0 0 0 3px rgba(241,107,52,.13) !important; outline: none;
}
/* Even vertical rhythm between fields, Shopify-style */
.wc-block-components-text-input, .wc-blocks-components-select, .wc-block-components-combobox { margin-top: 14px; }
.wc-block-components-address-form .wc-block-components-address-form__first_name,
.wc-block-components-address-form .wc-block-components-address-form__last_name { margin-top: 14px; }
.wc-block-components-checkbox { margin-top: 16px; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	width: 20px; height: 20px; border: 1px solid #c9c9c9; border-radius: 5px;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked { background: var(--ndk-primary); border-color: var(--ndk-primary); }
.wc-block-components-checkbox__label { color: #444; font-size: 14.5px; }
/* Validation stays calm: thin red line + small message, no aggressive fills */
.wc-block-components-text-input.has-error input { border-color: #d92c20 !important; box-shadow: none; }
.wc-block-components-validation-error > p { color: #b42318; font-size: 13px; }

/* Order-summary sidebar: quiet grey Shopify-style panel */
.wc-block-components-sidebar, .wc-block-checkout__sidebar {
	position: sticky; top: 96px; padding: 28px; border: 1px solid #ececec;
	border-radius: var(--ndk-radius-md); background: #fafafa; box-shadow: none;
}
.wc-block-components-checkout-order-summary__title, .wp-block-woocommerce-checkout-order-summary-block > h2 {
	margin-bottom: 20px; font-family: var(--ndk-heading); font-size: 20px; font-weight: 600;
}
.wc-block-components-order-summary-item__image img { border: 1px solid var(--ndk-border); border-radius: 8px; background: var(--ndk-soft); }
.wc-block-components-order-summary-item__quantity { background: var(--ndk-ink) !important; }
.wc-block-components-order-summary-item__total-price, .wc-block-components-totals-item__value { font-weight: 600; }
.wc-block-components-totals-item.wc-block-components-totals-footer-item { font-size: 18px; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--ndk-primary); }
.wc-block-components-sale-badge { background: var(--ndk-primary-soft); color: var(--ndk-primary-hover); }

/* Shipping option row */
.wc-block-components-radio-control__option, .wc-block-components-shipping-rates-control__package {
	border: 1px solid var(--ndk-border); border-radius: var(--ndk-radius-sm); padding: 14px 16px;
}
.wc-block-components-radio-control__option--checked { border-color: var(--ndk-primary); background: var(--ndk-primary-soft); }

/* Place order button: solid rectangular Shopify-style CTA */
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-place-order-button {
	width: 100%; min-height: 56px; border-radius: 10px; background: var(--ndk-primary);
	font-size: 16.5px; font-weight: 600; letter-spacing: .01em; box-shadow: none;
	transition: background var(--ndk-transition), transform var(--ndk-transition);
}
.wc-block-components-checkout-place-order-button:hover { background: var(--ndk-primary-hover); transform: translateY(-1px); }
.wc-block-checkout__actions_row { margin-top: 6px; }

/* Shopify-clean details: quiet labels, soft field corners, tidy summary rows */
.wc-block-components-text-input input.input-text,
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-text-input input[type="text"],
.wc-block-components-address-form input,
.wc-blocks-components-select .wc-blocks-components-select__container { border-radius: 8px; font-size: 15px; }
.wc-block-components-text-input label, .wc-blocks-components-select label { color: #737373; }
.wc-block-components-checkout-return-to-cart-button { color: var(--ndk-muted); }
.wc-block-components-order-summary-item { padding: 14px 0; }
/* Shopify summary rows: thumbnail + name + price only, no description clutter */
.wc-block-components-order-summary-item__description p:not(.wc-block-components-order-summary-item__header) { display: none; }
.wc-block-components-order-summary-item__image { width: 56px; }
.wc-block-components-order-summary-item__image img { border-color: #e5e5e5; background: #fff; }
.wc-block-components-totals-wrapper { border-top: 1px solid #e6e6e6; }
.wc-block-components-totals-item__label { color: #444; }
.wc-block-components-order-summary-item__description p { color: var(--ndk-muted); font-size: 13px; }
.wc-block-components-panel__button, .wc-block-components-totals-coupon-link { color: var(--ndk-ink); }
.wc-block-components-totals-coupon .wc-block-components-text-input input { min-height: 48px; }

/* Shopify-style guarantee badges: three quiet cards above the payment marks */
.ndk-trust-badges { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; max-width: 860px; margin: 0 auto 26px; }
.ndk-trust-badge { display: flex; align-items: center; gap: 13px; padding: 15px 18px; border: 1px solid #ececec; border-radius: 12px; background: #fafafa; text-align: left; }
.ndk-trust-badge__icon { display: grid; place-items: center; flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; background: #fff; border: 1px solid #ececec; color: var(--ndk-primary); }
.ndk-trust-badge__icon svg { width: 20px; height: 20px; }
.ndk-trust-badge__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ndk-trust-badge__text strong { color: var(--ndk-ink); font-size: 14.5px; font-weight: 600; line-height: 1.25; }
.ndk-trust-badge__text small { color: var(--ndk-muted); font-size: 12.5px; line-height: 1.35; }

/* "We accept" trust strip: centered Shopify-footer style band under the form */
.ndk-checkout-trust { max-width: 1120px; margin: 14px auto 44px; padding-top: 26px; border-top: 1px solid #ececec; text-align: center; }
.ndk-checkout-trust__row { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.ndk-checkout-trust__label { color: var(--ndk-muted); font-size: 12.5px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.ndk-checkout-trust__marks { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; }
.ndk-checkout-trust__marks .ndk-pay-mark { width: 46px; height: 29px; }
.ndk-checkout-trust__note { display: flex; justify-content: center; align-items: center; gap: 8px; margin: 14px 0 0; color: var(--ndk-muted); font-size: 13.5px; }
.ndk-checkout-trust__note svg { width: 17px; height: 17px; flex: 0 0 auto; color: var(--ndk-success, #1f8a4c); }

@media (max-width: 900px) {
	.wc-block-checkout__main { padding-right: 0; }
	.wc-block-components-sidebar, .wc-block-checkout__sidebar { position: static; padding: 20px; }
	.ndk-checkout-trust__marks .ndk-pay-mark { width: 42px; height: 26px; }
	.ndk-trust-badges { grid-template-columns: 1fr; max-width: 460px; gap: 10px; }
	.ndk-trust-badge { padding: 13px 16px; }
}
