/* Production presentation for native WooCommerce classic and Blocks output. */
*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: light; }
body.ncw-transaction { margin: 0; background: var(--ncw-paper); color: var(--ncw-ink); font: 400 var(--ncw-fs-body)/1.65 var(--ncw-ui); -webkit-font-smoothing: antialiased; }
body.ncw-transaction a { color: var(--ncw-deep-gold); text-underline-offset: 0.2em; }
body.ncw-transaction a:hover { color: var(--ncw-forest); }
body.ncw-transaction button,
body.ncw-transaction input,
body.ncw-transaction select,
body.ncw-transaction textarea { color: inherit; font: inherit; }
body.ncw-transaction img { display: block; max-width: 100%; }
body.ncw-transaction :focus-visible { outline: var(--ncw-focus-ring) !important; outline-offset: var(--ncw-focus-offset); }
body.ncw-transaction .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.ncw-skip-link { position: fixed; top: -8rem; left: var(--ncw-s4); z-index: 9999; padding: var(--ncw-s3) var(--ncw-s4); background: var(--ncw-forest); color: var(--ncw-ivory) !important; font: 600 var(--ncw-fs-small)/1.2 var(--ncw-ui); }
.ncw-skip-link:focus { top: var(--ncw-s4); }
.ncw-eyebrow { margin: 0; color: var(--ncw-deep-gold); font: 500 var(--ncw-fs-eyebrow)/1.5 var(--ncw-mono); letter-spacing: var(--ncw-ls-eyebrow); text-transform: uppercase; }
.ncw-eyebrow--rule { display: flex; align-items: center; gap: var(--ncw-s3); }
.ncw-eyebrow--rule::before { width: 2rem; height: 1px; background: var(--ncw-deep-gold); content: ''; }
.ncw-mono-note { margin: 0; color: var(--ncw-ink-soft); font: 400 var(--ncw-fs-micro)/1.7 var(--ncw-mono); letter-spacing: 0.14em; text-transform: uppercase; }

/* Theme-owned transaction shell. */
.ncw-shell-header { border-top: var(--ncw-accent-bar) solid var(--ncw-forest); border-bottom: 1px solid var(--ncw-line-gold); background: var(--ncw-ivory); }
.ncw-shell-header__inner { display: grid; grid-template-columns: minmax(14rem, 1fr) auto minmax(14rem, 1fr); align-items: center; gap: var(--ncw-s6); width: min(var(--ncw-max), calc(100% - 2 * var(--ncw-gutter))); min-height: 7.25rem; margin: auto; padding-block: var(--ncw-s4); }
.ncw-brand { display: inline-flex; justify-self: start; align-items: center; gap: 0.9rem; min-height: var(--ncw-target); color: var(--ncw-forest) !important; text-decoration: none; }
.ncw-brand:hover { color: var(--ncw-deep-gold) !important; }
.ncw-seal { display: grid; flex: none; width: 3.25rem; height: 3.25rem; border: 1px solid var(--ncw-gold); border-radius: 50%; place-items: center; }
.ncw-seal > span { display: grid; width: 2.65rem; height: 2.65rem; border: 1px dotted var(--ncw-line-gold-strong); border-radius: 50%; font: 500 1rem/1 var(--ncw-display); place-items: center; }
.ncw-brand__copy { display: grid; gap: var(--ncw-s1); }
.ncw-brand__copy strong { font: 500 1rem/1 var(--ncw-display); letter-spacing: 0.2em; }
.ncw-brand__copy small { color: var(--ncw-deep-gold); font: 400 0.5rem/1.2 var(--ncw-mono); letter-spacing: 0.22em; }
.ncw-shell-status { text-align: center; }
.ncw-shell-title { margin: 0.3rem 0 0; color: var(--ncw-forest); font: 500 clamp(1.25rem, 2vw, 1.65rem)/1.1 var(--ncw-display); }
.ncw-shell-aside { justify-self: end; text-align: right; }
.ncw-return { display: inline-flex; align-items: center; min-height: var(--ncw-target); font: 500 var(--ncw-fs-micro)/1.5 var(--ncw-mono); letter-spacing: 0.15em; text-transform: uppercase; }
.ncw-secure-mark { display: inline-flex; align-items: center; gap: 0.45rem; color: var(--ncw-ink-soft); font: 500 var(--ncw-fs-micro)/1.5 var(--ncw-mono); letter-spacing: 0.15em; }
.ncw-secure-mark::before { width: var(--ncw-s2); height: var(--ncw-s2); border: 1px solid var(--ncw-deep-gold); border-radius: 50%; background: var(--ncw-gold); content: ''; }

.ncw-main { min-height: 52vh; }
.ncw-main__inner { width: min(var(--ncw-max), calc(100% - 2 * var(--ncw-gutter))); margin: auto; padding-block: clamp(2rem, 4.5vw, 4rem); }
.ncw-route-note { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--ncw-s2) var(--ncw-s5); margin-bottom: var(--ncw-s5); padding-bottom: var(--ncw-s3); border-bottom: 1px solid var(--ncw-line-gold); }
.ncw-entry__title { margin: 0 0 var(--ncw-s6); color: var(--ncw-forest); font: 500 var(--ncw-fs-hero)/1 var(--ncw-display); }
.ncw-entry__content > :first-child { margin-top: 0; }

/* Native notices and validation. Classic kind labels use CSS only. */
body.ncw-transaction .woocommerce-notices-wrapper:empty { display: none; }
body.ncw-transaction .woocommerce-error,
body.ncw-transaction .woocommerce-info,
body.ncw-transaction .woocommerce-message,
body.ncw-transaction .wc-block-components-notice-banner { margin: 0 0 var(--ncw-s5) !important; padding: var(--ncw-s4) var(--ncw-s5) !important; border: 1px solid var(--ncw-line-gold-strong) !important; border-left-width: var(--ncw-accent-bar) !important; border-radius: var(--ncw-radius) !important; background: var(--ncw-info-wash) !important; color: var(--ncw-ink) !important; font-size: var(--ncw-fs-small); list-style: none; }
body.ncw-transaction .woocommerce-error { border-color: var(--ncw-error) !important; background: var(--ncw-error-wash) !important; }
body.ncw-transaction .woocommerce-message { border-left-color: var(--ncw-success) !important; background: var(--ncw-success-wash) !important; }
body.ncw-transaction .woocommerce-error::before,
body.ncw-transaction .woocommerce-info::before,
body.ncw-transaction .woocommerce-message::before { position: static; display: block; width: auto; height: auto; margin: 0 0 var(--ncw-s2); font: 700 var(--ncw-fs-micro)/1.8 var(--ncw-mono); letter-spacing: 0.16em; }
body.ncw-transaction .woocommerce-error::before { color: var(--ncw-error-deep); content: 'ERROR'; }
body.ncw-transaction .woocommerce-info::before { color: var(--ncw-deep-gold); content: 'NOTICE'; }
body.ncw-transaction .woocommerce-message::before { color: var(--ncw-forest); content: 'SUCCESS'; }
body.ncw-transaction .woocommerce-error li + li { margin-top: var(--ncw-s2); }
body.ncw-transaction .woocommerce-invalid input,
body.ncw-transaction .woocommerce-invalid select,
body.ncw-transaction .has-error input { border-color: var(--ncw-error) !important; border-left-width: var(--ncw-accent-bar) !important; }
body.ncw-transaction .woocommerce-invalid label,
body.ncw-transaction .wc-block-components-validation-error { color: var(--ncw-error-deep) !important; }
body.ncw-transaction .woocommerce-error a[href^='#'],
body.ncw-transaction .wc-block-components-notice-banner a[href^='#'],
body.ncw-transaction .wc-block-components-validation-error a { display: inline-flex; align-items: center; min-height: var(--ncw-target); padding-block: var(--ncw-s2); color: var(--ncw-error-deep); font-weight: 600; }

/* Woo-owned form controls and actions. */
body.ncw-transaction .woocommerce form .form-row { display: grid; gap: 0.4rem; margin: 0 0 var(--ncw-s4); }
body.ncw-transaction .woocommerce form .form-row label,
body.ncw-transaction .wc-block-components-text-input label { color: var(--ncw-ink); font: 600 var(--ncw-fs-small)/1.4 var(--ncw-ui); }
body.ncw-transaction .woocommerce form .form-row .required { color: var(--ncw-error); text-decoration: none; }
body.ncw-transaction .woocommerce form .form-row .optional { color: var(--ncw-ink-soft); font-weight: 400; }
body.ncw-transaction .woocommerce input.input-text,
body.ncw-transaction .woocommerce textarea,
body.ncw-transaction .woocommerce select,
body.ncw-transaction .wc-block-components-text-input input,
body.ncw-transaction .wc-block-components-combobox .wc-block-components-combobox-control input,
body.ncw-transaction .wc-blocks-components-select .wc-blocks-components-select__select { width: 100%; min-height: var(--ncw-control-h); padding: 0.8rem; border: 1px solid var(--ncw-line-ink); border-radius: var(--ncw-radius); background: var(--ncw-white); color: var(--ncw-ink); transition: border-color var(--ncw-ease); }
body.ncw-transaction .woocommerce input.input-text:hover,
body.ncw-transaction .woocommerce textarea:hover,
body.ncw-transaction .woocommerce select:hover { border-color: var(--ncw-ink-soft); }
body.ncw-transaction .woocommerce button.button,
body.ncw-transaction .woocommerce a.button,
body.ncw-transaction .woocommerce input.button,
body.ncw-transaction .wc-block-components-button { display: inline-flex; align-items: center; justify-content: center; gap: 0.6rem; min-height: var(--ncw-control-h); padding: 0.9rem 1.4rem !important; border: 1px solid var(--ncw-forest) !important; border-radius: var(--ncw-radius) !important; background: var(--ncw-forest) !important; box-shadow: none !important; color: var(--ncw-ivory) !important; font: 600 0.72rem/1.2 var(--ncw-ui) !important; letter-spacing: var(--ncw-ls-cta); text-decoration: none; text-transform: uppercase; transition: background var(--ncw-ease), color var(--ncw-ease); }
body.ncw-transaction .woocommerce button.button:hover,
body.ncw-transaction .woocommerce a.button:hover,
body.ncw-transaction .woocommerce input.button:hover,
body.ncw-transaction .wc-block-components-button:hover { background: var(--ncw-deep-green) !important; color: var(--ncw-ivory) !important; }
body.ncw-transaction .woocommerce button.button:disabled,
body.ncw-transaction .woocommerce input.button:disabled,
body.ncw-transaction .wc-block-components-button:disabled { border-color: var(--ncw-line-steel) !important; background: var(--ncw-ivory) !important; color: var(--ncw-ink-soft) !important; cursor: not-allowed; }

/* Cart ledger: classic table and native Cart Block. */
body.ncw-transaction .woocommerce-cart-form,
body.ncw-transaction .wc-block-cart__main { min-width: 0; }
body.ncw-transaction .woocommerce table.shop_table { width: 100%; border: 0; border-collapse: collapse; border-radius: 0; }
body.ncw-transaction .woocommerce table.shop_table thead th { padding: 0.7rem 0.8rem; border-bottom: 1px solid var(--ncw-ink); color: var(--ncw-ink-soft); font: 500 var(--ncw-fs-micro)/1.4 var(--ncw-mono); letter-spacing: 0.18em; text-align: left; text-transform: uppercase; }
body.ncw-transaction .woocommerce table.shop_table td { padding: var(--ncw-s5) 0.8rem; border-bottom: 1px solid var(--ncw-line-steel); vertical-align: middle; }
body.ncw-transaction .woocommerce-cart-form .product-thumbnail img,
body.ncw-transaction .wc-block-cart-item__image img { background: var(--ncw-ivory); }
body.ncw-transaction .woocommerce-cart-form .product-name a,
body.ncw-transaction .wc-block-components-product-name { color: var(--ncw-forest); font: 500 1.15rem/1.3 var(--ncw-display); text-decoration: none; }
body.ncw-transaction .woocommerce-cart-form .variation,
body.ncw-transaction .wc-block-components-product-details { color: var(--ncw-ink-mute); font: 400 0.6875rem/1.7 var(--ncw-mono); letter-spacing: 0.06em; }
body.ncw-transaction .woocommerce a.remove,
body.ncw-transaction .wc-block-cart-item__remove-link { display: inline-flex; align-items: center; justify-content: center; min-width: var(--ncw-target); min-height: var(--ncw-target); color: var(--ncw-error-deep) !important; }
body.ncw-transaction .quantity .qty { width: 4.25rem; min-height: var(--ncw-target); border: 1px solid var(--ncw-line-ink); background: var(--ncw-white); text-align: center; font: 500 1rem/1 var(--ncw-mono); }
body.ncw-transaction .wc-block-components-quantity-selector { min-height: var(--ncw-target); border-color: var(--ncw-line-ink); border-radius: 0; }
body.ncw-transaction .wc-block-components-quantity-selector button { min-width: var(--ncw-target); min-height: var(--ncw-target); }
body.ncw-transaction .woocommerce-cart-form .coupon { display: flex; flex-wrap: wrap; align-items: stretch; gap: var(--ncw-s2); }
body.ncw-transaction .woocommerce-cart-form .coupon .input-text { width: 12rem !important; }
body.ncw-transaction .cart_totals,
body.ncw-transaction .wc-block-cart__sidebar { position: relative; padding: var(--ncw-s5); border: 1px solid var(--ncw-line-gold-strong); background: var(--ncw-ivory); }
body.ncw-transaction .cart_totals::before,
body.ncw-transaction .cart_totals::after { position: absolute; width: 0.9rem; height: 0.9rem; border: 1px solid var(--ncw-deep-gold); content: ''; }
body.ncw-transaction .cart_totals::before { top: 0.45rem; left: 0.45rem; border-width: 1px 0 0 1px; }
body.ncw-transaction .cart_totals::after { right: 0.45rem; bottom: 0.45rem; border-width: 0 1px 1px 0; }
body.ncw-transaction .cart_totals h2 { margin: 0.35rem 0 var(--ncw-s4); color: var(--ncw-forest); font: 500 var(--ncw-fs-title)/1.15 var(--ncw-display); }
body.ncw-transaction .cart_totals tr + tr th,
body.ncw-transaction .cart_totals tr + tr td,
body.ncw-transaction .wc-block-components-totals-item + .wc-block-components-totals-item { border-top: 1px solid var(--ncw-line-gold); }
body.ncw-transaction .cart_totals .order-total td,
body.ncw-transaction .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { color: var(--ncw-forest); font-weight: 600; }
body.ncw-transaction .wc-proceed-to-checkout { display: grid; gap: var(--ncw-s3); }
body.ncw-transaction .wc-block-cart__empty-cart__title,
body.ncw-transaction .woocommerce-cart .cart-empty { margin: 0 0 var(--ncw-s2); color: var(--ncw-forest); font: 500 var(--ncw-fs-hero)/1.15 var(--ncw-display); }
body.ncw-transaction .woocommerce-cart .return-to-shop { margin-top: var(--ncw-s5); }

/* Checkout panels, summary, shipping and payment. */
body.ncw-transaction .woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr; gap: var(--ncw-s5); }
body.ncw-transaction .woocommerce-checkout .col2-set::before,
body.ncw-transaction .woocommerce-checkout .col2-set::after { display: none; }
body.ncw-transaction .woocommerce-checkout .col2-set .col-1,
body.ncw-transaction .woocommerce-checkout .col2-set .col-2 { float: none; width: auto; }
body.ncw-transaction .woocommerce-billing-fields,
body.ncw-transaction .woocommerce-shipping-fields,
body.ncw-transaction .woocommerce-additional-fields,
body.ncw-transaction .woocommerce-checkout-review-order,
body.ncw-transaction .wc-block-checkout__main .wc-block-components-checkout-step,
body.ncw-transaction .wc-block-checkout__sidebar { margin-bottom: var(--ncw-s5); padding: clamp(1.25rem, 2.4vw, 1.75rem); border: 1px solid var(--ncw-line-gold); background: var(--ncw-white); }
body.ncw-transaction .woocommerce-billing-fields h3,
body.ncw-transaction .woocommerce-shipping-fields h3,
body.ncw-transaction .woocommerce-additional-fields h3,
body.ncw-transaction #order_review_heading,
body.ncw-transaction .wc-block-components-checkout-step__heading h2 { margin: 0 0 var(--ncw-s5); padding-bottom: var(--ncw-s3); border-bottom: 1px solid var(--ncw-line-gold); color: var(--ncw-forest); font: 500 var(--ncw-fs-section)/1.2 var(--ncw-display); }
body.ncw-transaction .woocommerce-checkout-review-order-table,
body.ncw-transaction .woocommerce-table--order-details { width: 100%; border-collapse: collapse; }
body.ncw-transaction .woocommerce-checkout-review-order-table th,
body.ncw-transaction .woocommerce-checkout-review-order-table td,
body.ncw-transaction .woocommerce-table--order-details th,
body.ncw-transaction .woocommerce-table--order-details td { border-color: var(--ncw-line-steel) !important; }
body.ncw-transaction #payment { margin-top: var(--ncw-s5); padding-top: var(--ncw-s5); border-top: 1px solid var(--ncw-line-gold); border-radius: 0 !important; background: var(--ncw-ivory) !important; }
body.ncw-transaction #payment ul.payment_methods,
body.ncw-transaction .wc-block-components-radio-control { border: 1px solid var(--ncw-line-gold); background: var(--ncw-ivory); }
body.ncw-transaction #payment ul.payment_methods li + li { border-top: 1px solid var(--ncw-line-gold); }
body.ncw-transaction #payment ul.payment_methods label { display: flex; align-items: center; gap: var(--ncw-s3); min-height: var(--ncw-target); padding: var(--ncw-s4); cursor: pointer; }
body.ncw-transaction #payment div.payment_box { margin: 0 var(--ncw-s4) var(--ncw-s4); padding: var(--ncw-s3) var(--ncw-s4); border: 1px solid var(--ncw-line-steel); border-radius: 0 !important; background: var(--ncw-white) !important; color: var(--ncw-ink-mute); font-size: var(--ncw-fs-small); }
body.ncw-transaction #payment div.payment_box::before { border-bottom-color: var(--ncw-white) !important; }
body.ncw-transaction .wc-block-components-radio-control-accordion-option { border-bottom: 1px solid var(--ncw-line-steel); }
body.ncw-transaction .wc-block-components-checkout-return-to-cart-button { display: inline-flex; align-items: center; min-height: var(--ncw-target); padding-block: var(--ncw-s2); color: var(--ncw-deep-gold) !important; }
body.ncw-transaction .woocommerce-privacy-policy-text,
body.ncw-transaction .wc-block-components-checkout-policies { color: var(--ncw-ink-mute); font-size: var(--ncw-fs-small); }

/* Order Received and payment-needed output remain entirely Woo-owned. */
body.ncw-transaction.woocommerce-order-received .ncw-main__inner,
body.ncw-transaction.woocommerce-order-pay .ncw-main__inner { max-width: var(--ncw-max-narrow); }
body.ncw-transaction .woocommerce-thankyou-order-received { margin: 0 0 var(--ncw-s6); padding: var(--ncw-s5); border: 1px solid var(--ncw-line-gold-strong); border-left: var(--ncw-accent-bar) solid var(--ncw-forest); background: var(--ncw-success-wash); color: var(--ncw-forest); font: 500 clamp(1.35rem, 2.6vw, 1.9rem)/1.3 var(--ncw-display); }
body.ncw-transaction .woocommerce-thankyou-order-received:has(.ncw-order-unverified) { border-color: var(--ncw-error); border-left-color: var(--ncw-error); background: var(--ncw-error-wash); color: var(--ncw-error-deep); }
body.ncw-transaction .ncw-order-unverified { display: block; color: var(--ncw-error-deep); }
body.ncw-transaction .woocommerce-thankyou-order-failed,
body.ncw-transaction .woocommerce-order-pay .woocommerce-error { margin: 0 0 var(--ncw-s6); padding: var(--ncw-s5); border: 1px solid var(--ncw-error); border-left-width: var(--ncw-accent-bar); background: var(--ncw-error-wash); color: var(--ncw-error-deep); font: 500 clamp(1.25rem, 2.4vw, 1.7rem)/1.35 var(--ncw-display); }
body.ncw-transaction .woocommerce-thankyou-order-failed-actions { display: flex; flex-wrap: wrap; gap: var(--ncw-s3); margin: 0 0 var(--ncw-s6); }
body.ncw-transaction .woocommerce-thankyou-order-failed-actions .button,
body.ncw-transaction .woocommerce-order-pay #payment .button,
body.ncw-transaction .woocommerce-order-details .woocommerce-button { min-height: var(--ncw-target); }
body.ncw-transaction .woocommerce-order-pay #payment { padding: var(--ncw-s5); border: 1px solid var(--ncw-line-gold-strong); background: var(--ncw-ivory) !important; }
body.ncw-transaction ul.woocommerce-order-overview { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 0 var(--ncw-s6) !important; padding: 0 !important; border: 1px solid var(--ncw-line-gold-strong); background: var(--ncw-ivory); list-style: none; }
body.ncw-transaction .woocommerce-order-overview li { float: none !important; margin: 0 !important; padding: var(--ncw-s4) !important; border-right: 1px solid var(--ncw-line-gold) !important; color: var(--ncw-ink-soft); font: 500 var(--ncw-fs-micro)/1.6 var(--ncw-mono); letter-spacing: 0.16em; overflow-wrap: anywhere; text-transform: uppercase; }
body.ncw-transaction .woocommerce-order-overview li:last-child { border-right: 0 !important; }
body.ncw-transaction .woocommerce-order-overview strong { display: block; margin-top: 0.4rem; color: var(--ncw-forest); font: 600 1rem/1.3 var(--ncw-mono); letter-spacing: 0; text-transform: none; }
body.ncw-transaction .woocommerce-order-details,
body.ncw-transaction .woocommerce-customer-details,
body.ncw-transaction .woocommerce-bacs-bank-details { margin-top: var(--ncw-s6); padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--ncw-line-gold-strong); background: var(--ncw-white); }
body.ncw-transaction .woocommerce-order-details > h2,
body.ncw-transaction .woocommerce-customer-details > h2,
body.ncw-transaction .woocommerce-bacs-bank-details > h2,
body.ncw-transaction .wc-bacs-bank-details-heading { margin: 0 0 var(--ncw-s5); padding-bottom: var(--ncw-s3); border-bottom: 1px solid var(--ncw-line-gold); color: var(--ncw-forest); font: 500 var(--ncw-fs-section)/1.2 var(--ncw-display); }
body.ncw-transaction .woocommerce-order-details table { table-layout: auto; }
body.ncw-transaction .woocommerce-order-details .woocommerce-table__product-name { width: auto; color: var(--ncw-forest); overflow-wrap: anywhere; }
body.ncw-transaction .woocommerce-order-details .woocommerce-table__product-total { width: 32%; min-width: 8rem; text-align: right; white-space: nowrap; }
body.ncw-transaction .woocommerce-order-details tfoot th { color: var(--ncw-ink-soft); font: 500 var(--ncw-fs-micro)/1.5 var(--ncw-mono); letter-spacing: 0.14em; text-transform: uppercase; }
body.ncw-transaction .woocommerce-order-details tfoot td { color: var(--ncw-forest); font-weight: 600; text-align: right; overflow-wrap: anywhere; }
body.ncw-transaction .woocommerce-order-details .wc-item-meta { margin: var(--ncw-s2) 0 0; padding: 0; color: var(--ncw-ink-mute); font: 400 var(--ncw-fs-micro)/1.6 var(--ncw-mono); list-style: none; }
body.ncw-transaction .woocommerce-columns--addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ncw-s5); }
body.ncw-transaction .woocommerce-columns--addresses::before,
body.ncw-transaction .woocommerce-columns--addresses::after,
body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-Addresses::before,
body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-Addresses::after { display: none; }
body.ncw-transaction .woocommerce-column--billing-address,
body.ncw-transaction .woocommerce-column--shipping-address { min-width: 0; padding: var(--ncw-s5); border: 1px solid var(--ncw-line-gold); background: var(--ncw-ivory); }
body.ncw-transaction .woocommerce-customer-details address { margin: 0; padding: 0; border: 0; color: var(--ncw-ink); font-style: normal; overflow-wrap: anywhere; }
body.ncw-transaction .woocommerce-customer-details--phone,
body.ncw-transaction .woocommerce-customer-details--email { margin-bottom: 0; overflow-wrap: anywhere; }
body.ncw-transaction .wc-bacs-bank-details { padding-left: 0; list-style: none; }
body.ncw-transaction .wc-bacs-bank-details li { min-width: 0; overflow-wrap: anywhere; }
.ncw-next-steps { margin-top: var(--ncw-s6); padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--ncw-line-gold-strong); background: var(--ncw-ivory); }
.ncw-next-steps h2 { margin: var(--ncw-s2) 0 var(--ncw-s3); color: var(--ncw-forest); font: 500 var(--ncw-fs-section)/1.2 var(--ncw-display); }
.ncw-next-steps p { max-width: 52rem; margin: 0 0 var(--ncw-s3); font-size: var(--ncw-fs-small); }
.ncw-next-steps__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ncw-s4); margin-top: var(--ncw-s5); }
body.ncw-transaction .woocommerce a.ncw-button-secondary { background: var(--ncw-white) !important; color: var(--ncw-forest) !important; }

/* My Account uses Woo's native forms, navigation, tables and endpoint content. */
body.ncw-transaction .woocommerce-account #customer_login,
body.ncw-transaction #customer_login { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ncw-s6); }
body.ncw-transaction #customer_login::before,
body.ncw-transaction #customer_login::after { display: none; }
body.ncw-transaction #customer_login .col-1,
body.ncw-transaction #customer_login .col-2 { float: none; width: auto; }
body.ncw-transaction .woocommerce-form-login,
body.ncw-transaction .woocommerce-form-register,
body.ncw-transaction .woocommerce-ResetPassword,
body.ncw-transaction .lost_reset_password { width: 100%; max-width: 34rem; padding: var(--ncw-s5) !important; border: 1px solid var(--ncw-line-gold) !important; border-radius: 0 !important; background: var(--ncw-white); }
body.ncw-transaction .woocommerce-form-login__rememberme { display: inline-flex !important; align-items: center; gap: var(--ncw-s2); min-height: var(--ncw-target); padding-block: var(--ncw-s2); cursor: pointer; }
body.ncw-transaction .woocommerce-form-login__rememberme input { width: 1.15rem; height: 1.15rem; accent-color: var(--ncw-forest); }
body.ncw-transaction .woocommerce-LostPassword a,
body.ncw-transaction .lost_password a,
body.ncw-transaction .woocommerce-ResetPassword a { display: inline-flex; align-items: center; min-height: var(--ncw-target); padding-block: var(--ncw-s2); }
body.ncw-transaction .woocommerce-MyAccount-navigation { float: none !important; width: 100% !important; }
body.ncw-transaction .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; border: 1px solid var(--ncw-line-gold); background: var(--ncw-white); list-style: none; }
body.ncw-transaction .woocommerce-MyAccount-navigation li + li { border-top: 1px solid var(--ncw-line-steel); }
body.ncw-transaction .woocommerce-MyAccount-navigation a { display: flex; align-items: center; justify-content: space-between; gap: var(--ncw-s3); min-height: var(--ncw-target); padding: 0.6rem var(--ncw-s4); color: var(--ncw-ink); font-size: var(--ncw-fs-small); font-weight: 600; text-decoration: none; }
body.ncw-transaction .woocommerce-MyAccount-navigation a:hover { background: var(--ncw-ivory); color: var(--ncw-forest); }
body.ncw-transaction .woocommerce-MyAccount-navigation li.is-active > a { background: var(--ncw-forest); color: var(--ncw-ivory); }
body.ncw-transaction .woocommerce-MyAccount-navigation-link--customer-logout a { min-height: var(--ncw-target); }
body.ncw-transaction .woocommerce-MyAccount-content { float: none !important; width: 100% !important; min-width: 0; overflow-wrap: anywhere; }
body.ncw-transaction .woocommerce-MyAccount-content > .woocommerce-info { padding: var(--ncw-s6) !important; border-style: dashed !important; background: var(--ncw-ivory) !important; text-align: center; }
body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-orders-table { width: 100%; table-layout: auto; border-collapse: collapse; }
body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-orders-table th,
body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-orders-table td { padding: var(--ncw-s4); border-bottom: 1px solid var(--ncw-line-steel); vertical-align: middle; }
body.ncw-transaction .woocommerce-orders-table__cell-order-actions { display: flex; flex-wrap: wrap; gap: var(--ncw-s2); }
body.ncw-transaction .woocommerce-orders-table__cell-order-actions .button,
body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-button,
body.ncw-transaction .woocommerce-Address-title .edit { min-height: var(--ncw-target); }
body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-Address-title .edit { display: inline-flex; align-items: center; }
body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ncw-s5); }
body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-Address { float: none; width: auto; min-width: 0; padding: var(--ncw-s5); border: 1px solid var(--ncw-line-gold); background: var(--ncw-ivory); }
body.ncw-transaction .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: var(--ncw-s3); margin-bottom: var(--ncw-s4); }
body.ncw-transaction .woocommerce-Address-title h2,
body.ncw-transaction .woocommerce-Address-title h3 { margin: 0; color: var(--ncw-forest); font: 500 var(--ncw-fs-section)/1.2 var(--ncw-display); }
body.ncw-transaction .woocommerce-MyAccount-content address { margin: 0; color: var(--ncw-ink); font-style: normal; overflow-wrap: anywhere; }
body.ncw-transaction .woocommerce-address-fields,
body.ncw-transaction .woocommerce-EditAccountForm { max-width: 48rem; padding: var(--ncw-s5); border: 1px solid var(--ncw-line-gold); background: var(--ncw-white); }
body.ncw-transaction .woocommerce-EditAccountForm fieldset { margin: var(--ncw-s6) 0; padding: var(--ncw-s5); border: 1px solid var(--ncw-line-gold); }
body.ncw-transaction .woocommerce-EditAccountForm legend { padding-inline: var(--ncw-s2); color: var(--ncw-forest); font: 500 var(--ncw-fs-section)/1.2 var(--ncw-display); }
body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-order-details,
body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-customer-details { max-width: 100%; }

/* Native busy states. */
body.ncw-transaction .woocommerce .blockUI.blockOverlay { background: var(--ncw-scrim) !important; opacity: 1 !important; }
body.ncw-transaction .ncw-is-processing { position: relative; pointer-events: none; }
body.ncw-transaction .ncw-is-processing::after { position: fixed; top: 50%; left: 50%; z-index: 999; padding: 0.8rem 1.1rem; transform: translate(-50%, -50%); background: var(--ncw-forest); color: var(--ncw-ivory); content: 'UPDATING TRANSACTION'; font: 500 var(--ncw-fs-micro)/1 var(--ncw-mono); letter-spacing: 0.18em; }

.ncw-gated-link { color: var(--ncw-ink-soft); font-size: var(--ncw-fs-small); cursor: not-allowed; }
.ncw-gated-link::after { color: var(--ncw-deep-gold); content: ' · PENDING APPROVAL'; font: 500 0.5625rem/1 var(--ncw-mono); letter-spacing: 0.12em; }
.ncw-shell-footer { margin-top: var(--ncw-s8); background: var(--ncw-forest); color: var(--ncw-steel); }
.ncw-shell-footer__inner { display: grid; grid-template-columns: 1.6fr 1fr; gap: var(--ncw-s7); width: min(var(--ncw-max), calc(100% - 2 * var(--ncw-gutter))); margin: auto; padding-block: var(--ncw-s7); }
.ncw-footer-studio { display: flex; align-items: flex-start; gap: var(--ncw-s4); }
.ncw-footer-studio strong { color: var(--ncw-ivory); font: 500 1rem/1 var(--ncw-display); letter-spacing: 0.18em; }
.ncw-footer-studio p { max-width: 35rem; margin: 0.8rem 0 0; font-size: 0.75rem; }
.ncw-seal--footer { color: var(--ncw-gold); }
.ncw-shell-footer .ncw-eyebrow { color: var(--ncw-gold); }
.ncw-shell-footer ul { display: grid; gap: var(--ncw-s2); margin: var(--ncw-s4) 0 0; padding: 0; font-size: 0.75rem; list-style: none; }
.ncw-shell-footer a { color: var(--ncw-steel) !important; }
.ncw-shell-footer a:hover { color: var(--ncw-ivory) !important; }
.ncw-shell-footer .ncw-gated-link { color: var(--ncw-footer-gated); font-size: 0.75rem; }
.ncw-footer-legal { padding: var(--ncw-s4) var(--ncw-gutter); border-top: 1px solid var(--ncw-line-gold-footer); color: var(--ncw-instrument); font: 400 var(--ncw-fs-micro)/1.6 var(--ncw-mono); letter-spacing: 0.16em; text-align: center; }

@media (min-width: 1100px) {
  body.ncw-transaction.woocommerce-cart .ncw-entry__content > .woocommerce { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(20rem, 0.8fr); align-items: start; gap: var(--ncw-s6); }
  body.ncw-transaction.woocommerce-cart .woocommerce-notices-wrapper,
  body.ncw-transaction.woocommerce-cart .cart-empty,
  body.ncw-transaction.woocommerce-cart .return-to-shop { grid-column: 1 / -1; }
  body.ncw-transaction .wc-block-cart { grid-template-columns: minmax(0, 1.7fr) minmax(20rem, 0.8fr); gap: var(--ncw-s6); }
  body.ncw-transaction form.checkout.woocommerce-checkout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(22rem, 1fr); align-items: start; gap: 0 var(--ncw-s6); }
  body.ncw-transaction form.checkout #customer_details { grid-row: 1 / span 2; grid-column: 1; }
  body.ncw-transaction form.checkout #order_review_heading { grid-row: 1; grid-column: 2; }
  body.ncw-transaction form.checkout #order_review { grid-row: 2; grid-column: 2; }
  body.ncw-transaction .wc-block-checkout__sidebar { position: sticky; top: var(--ncw-s5); }
  body.ncw-transaction.woocommerce-account.logged-in .ncw-entry__content > .woocommerce { display: grid; grid-template-columns: minmax(14rem, 0.55fr) minmax(0, 1.45fr); align-items: start; gap: var(--ncw-s6); }
  body.ncw-transaction .woocommerce-MyAccount-navigation,
  body.ncw-transaction .woocommerce-MyAccount-content { float: none; width: auto; }
}

@media (max-width: 781px) {
  .ncw-shell-header__inner { grid-template-areas: 'brand aside' 'status status'; grid-template-columns: minmax(0, 1fr) auto; gap: var(--ncw-s3) var(--ncw-s4); min-height: 0; }
  .ncw-brand { grid-area: brand; }
  .ncw-shell-aside { grid-area: aside; }
  .ncw-shell-status { grid-area: status; padding-top: var(--ncw-s3); border-top: 1px solid var(--ncw-line-gold); text-align: left; }
  body.ncw-transaction #customer_login,
  body.ncw-transaction .woocommerce-columns--addresses,
  body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-Addresses { grid-template-columns: 1fr; }
  body.ncw-transaction .woocommerce-MyAccount-navigation { margin-bottom: var(--ncw-s5); }
  body.ncw-transaction .woocommerce-MyAccount-content { min-width: 0; }
  body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-orders-table,
  body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-orders-table tbody,
  body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-orders-table tr { display: block; width: 100%; }
  body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-orders-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-orders-table tr { margin-bottom: var(--ncw-s4); padding: var(--ncw-s3); border: 1px solid var(--ncw-line-gold); background: var(--ncw-white); }
  body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-orders-table tbody th,
  body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-orders-table tbody td { display: flex !important; align-items: center; justify-content: space-between; gap: var(--ncw-s3); width: 100%; padding: var(--ncw-s3); text-align: right; }
  body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-orders-table tbody th::before,
  body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-orders-table tbody td::before { color: var(--ncw-ink-soft); content: attr(data-title); font: 500 var(--ncw-fs-micro)/1.5 var(--ncw-mono); letter-spacing: 0.12em; text-align: left; text-transform: uppercase; }
  body.ncw-transaction .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions { justify-content: flex-start; text-align: left; }
  body.ncw-transaction .woocommerce-order-overview { grid-template-columns: 1fr 1fr; }
  body.ncw-transaction .woocommerce-order-overview li:nth-child(even) { border-right: 0 !important; }
  body.ncw-transaction .woocommerce-order-overview li:nth-child(n+3) { border-top: 1px solid var(--ncw-line-gold); }
  .ncw-shell-footer__inner { grid-template-columns: 1fr; gap: var(--ncw-s6); }
}

@media (max-width: 520px) {
  .ncw-seal { width: 2.6rem; height: 2.6rem; }
  .ncw-seal > span { width: 2.1rem; height: 2.1rem; font-size: 0.8rem; }
  .ncw-brand__copy strong { font-size: 0.8rem; }
  .ncw-brand__copy small { display: none; }
  .ncw-return,
  .ncw-secure-mark { font-size: 0.5rem; }
  body.ncw-transaction .woocommerce-cart-form .coupon { width: 100%; }
  body.ncw-transaction .woocommerce-cart-form .coupon .input-text { flex: 1; width: auto !important; }
  body.ncw-transaction .woocommerce-cart-form .coupon .button,
  body.ncw-transaction .wc-proceed-to-checkout .button,
  body.ncw-transaction #place_order { width: 100%; }
  body.ncw-transaction .woocommerce-order-overview { grid-template-columns: 1fr; }
  body.ncw-transaction .woocommerce-order-overview li { border-right: 0 !important; }
  body.ncw-transaction .woocommerce-order-overview li + li { border-top: 1px solid var(--ncw-line-gold); }
  body.ncw-transaction .woocommerce-order-details .woocommerce-table__product-total { min-width: 0; white-space: normal; }
  body.ncw-transaction .woocommerce-orders-table__cell-order-actions .button,
  body.ncw-transaction .woocommerce-thankyou-order-failed-actions .button,
  .ncw-next-steps__actions .button { width: 100%; }
  .ncw-next-steps__actions { align-items: stretch; }
  .ncw-footer-studio { display: grid; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: 0.01ms !important; }
}
