/* ==========================================================================
   Northcode Starter — Store pages (1.6.0)
   Basket, Checkout, My Account and Order received, built with Elementor Pro's
   Cart / Checkout / My Account / Purchase Summary widgets. ShopLentor Free has no
   builders for these pages, so Pro owns them; ShopLentor stays on shop/product.

   How it works: Pro's widget CSS reads ~60 CSS variables per widget. This file sets
   them from Starter tokens inside .ncl-store, so the brand (or a client's Site
   Settings colours/fonts) restyles everything. Pro's own Style controls still win,
   because Elementor sets the same variables at higher specificity.
   Only Pro's two hard-coded button backgrounds (#5bc0de) and Woo's defaults that
   have no variable are overridden directly.
   ========================================================================== */

.ncl-skin.ncl-store {
  --st-field-h: 48px;
  --st-panel: var(--c-soft);
  --st-primary-h: 56px;
}
.ncl-skin.ncl-store :is(.elementor-widget-woocommerce-cart, .elementor-widget-woocommerce-checkout-page, .elementor-widget-woocommerce-my-account, .elementor-widget-woocommerce-purchase-summary) {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  color: var(--c-text);
  --e-a-bg-default: transparent;
  /* sections */
  --sections-background-color: transparent;
  --sections-border-type: none;
  --sections-border-color: var(--c-line);
  --sections-border-radius: var(--radius);
  --sections-padding: 0px;
  --sections-margin: 0 0 var(--sp-l); /* Pro applies this as a margin on every section */
  --sections-title-color: var(--c-heading);
  --sections-title-spacing: var(--sp-m);
  --sections-secondary-title-color: var(--c-text);
  --sections-secondary-title-spacing: var(--sp-s);
  --sections-descriptions-color: var(--c-muted);
  --sections-descriptions-spacing: var(--sp-s);
  --sections-messages-color: var(--c-text);
  --sections-radio-buttons-color: var(--c-ink);
  --sections-checkboxes-color: var(--c-text);
  --sections-spacing: var(--sp-xl);
  /* forms */
  --forms-labels-color: var(--c-heading);
  --forms-label-spacing: var(--sp-2xs);
  --forms-rows-gap: var(--sp-s);
  --forms-columns-gap-padding: 0px;
  --forms-columns-gap-margin: 0px;
  --forms-fields-padding: 0 14px;
  --forms-fields-normal-color: var(--c-ink);
  --forms-fields-focus-color: var(--c-ink);
  --forms-fields-focus-border-color: var(--c-ink);
  --forms-fields-normal-background-color: var(--c-surface);
  --forms-fields-focus-background-color: var(--c-surface);
  --forms-fields-border-radius: var(--radius);
  --forms-buttons-normal-text-color: var(--c-ink);
  --forms-buttons-hover-text-color: var(--c-surface);
  --forms-buttons-hover-background-color: var(--c-ink);
  --forms-buttons-border-type: solid;
  --forms-buttons-border-color: var(--c-ink);
  --forms-buttons-hover-border-color: var(--c-ink);
  --forms-buttons-border-radius: var(--radius-btn);
  --forms-buttons-padding: 0 var(--sp-m);
  --forms-buttons-width: auto;
  /* links */
  --links-normal-color: var(--c-ink);
  --links-hover-color: var(--c-link);
  --product-link-normal-color: var(--c-ink);
  --product-link-hover-color: var(--c-link);
  /* order summary / totals */
  --order-summary-color: var(--c-text);
  --order-summary-items-color: var(--c-text);
  --order-summary-title-color: var(--c-heading);
  --order-summary-title-spacing: var(--sp-s);
  --order-summary-variations-color: var(--c-muted);
  --order-summary-items-divider-color: var(--c-line);
  --order-summary-items-divider-weight: 1px;
  --order-summary-rows-gap-top: var(--sp-s);
  --order-summary-rows-gap-bottom: var(--sp-s);
  --order-summary-remove-icon-normal-color: var(--c-muted);
  --order-summary-remove-icon-hover-color: var(--c-ink);
  --order-summary-quantity-border-color: var(--c-field);
  --order-summary-quantity-border-weight: 1px;
  --order-summary-totals-color: var(--c-ink);
  --order-summary-totals-divider-color: var(--c-line);
  --order-summary-totals-divider-weight: 1px;
  --totals-color: var(--c-text);
  --totals-divider-color: var(--c-line);
  --totals-divider-weight: 1px;
  --totals-rows-gap-top: var(--sp-xs);
  --totals-rows-gap-bottom: var(--sp-xs);
  /* primary buttons (text/border/radius have variables; backgrounds are set below) */
  --checkout-button-normal-text-color: var(--c-surface);
  --checkout-button-hover-text-color: var(--c-surface);
  --checkout-button-hover-border-color: var(--c-brand);
  --checkout-button-border-radius: var(--radius-btn);
  --checkout-button-padding: 0 var(--sp-m);
  --checkout-button-width: 100%;
  --purchase-button-normal-text-color: var(--c-surface);
  --purchase-button-hover-text-color: var(--c-surface);
  --purchase-button-hover-border-color: var(--c-brand);
  --purchase-button-border-radius: var(--radius-btn);
  --purchase-button-padding: 0 var(--sp-m);
  --purchase-button-width: 100%;
  --apply-coupon-button-width: auto;
  --coupon-button-width: auto;
  --login-button-width: auto;
  --update-cart-button-width: auto;
  /* account + summary */
  --general-text-color: var(--c-text);
  --typography-section-titles-color: var(--c-heading);
  --section-title-spacing: var(--sp-s);
  --tabs-normal-color: var(--c-text);
  --tabs-hover-color: var(--c-ink);
  --tabs-active-color: var(--c-ink);
  --tabs-border-type: solid;
  --tabs-border-color: transparent;
  --tabs-hover-border-color: transparent;
  --tabs-active-border-color: transparent;
  --tabs-border-radius: var(--radius);
  --tabs-divider-weight: 0px;
  --tabs-padding: 12px 14px;
  --tabs-spacing: 2px;
  --tab-content-spacing: var(--sp-xl);
  --tables-title-color: var(--c-muted);
  --tables-items-color: var(--c-text);
  --tables-links-normal-color: var(--c-ink);
  --tables-links-hover-color: var(--c-link);
  --tables-divider-border-type: solid;
  --tables-divider-border-color: var(--c-line);
  --tables-divider-border-width: 1px;
  --tables-buttons-border-type: solid;
  --tables-buttons-border-color: var(--c-ink);
  --tables-button-normal-text-color: var(--c-ink);
  --tables-button-hover-text-color: var(--c-surface);
  --tables-button-border-radius: var(--radius-btn);
  --tables-button-padding: 8px 14px;
  --login-messages-color: var(--c-muted);
  --checkboxes-color: var(--c-text);
  --payment-methods-radio-buttons-color: var(--c-ink);
  --titles-color: var(--c-heading);
  --titles-spacing: var(--sp-s);
  --buttons-border-type: solid;
  --buttons-border-color: var(--c-ink);
  --button-normal-text-color: var(--c-ink);
  --button-hover-text-color: var(--c-surface);
  --button-border-radius: var(--radius-btn);
  --button-padding: 10px 18px;
  --payment-details-titles-color: var(--c-muted);
  --payment-details-items-color: var(--c-ink);
  --payment-details-border-type: solid;
  --payment-details-border-color: var(--c-line);
  --payment-details-border-width: 0px;
  --payment-details-space-between: var(--sp-m);
  --order-details-items-color: var(--c-text);
  --order-details-titles-totals-color: var(--c-ink);
  --order-details-variations-color: var(--c-muted);
  --order-details-product-links-normal-color: var(--c-ink);
  --order-details-product-links-hover-color: var(--c-link);
  --bank-details-titles-color: var(--c-muted);
  --bank-details-items-color: var(--c-ink);
  --confirmation-message-color: var(--c-heading);
  --account-title-color: var(--c-heading);
}

/* Panels: the summary side (basket totals, checkout order + payment) sits in one soft panel */
.ncl-skin.ncl-store .e-cart__column-end,
.ncl-skin.ncl-store .e-checkout__column-end {
  --sections-background-color: var(--st-panel);
  --sections-border-type: none;
  --sections-padding: var(--sp-l);
  --sections-margin: 0px;
}
.ncl-skin.ncl-store .e-checkout__column-inner,
.ncl-skin.ncl-store .e-cart__column-inner { background: var(--st-panel); border-radius: var(--radius); }
.ncl-skin.ncl-store .e-checkout__column-inner > * + *,
.ncl-skin.ncl-store .e-cart__column-inner > * + * { border-top: 1px solid var(--c-line); border-radius: 0; }

/* Section headings use the Starter scale, not Woo's default h3 */
.ncl-skin.ncl-store .woocommerce :is(h2, h3):not(.elementor-heading-title) { font-family: var(--font-head); font-size: var(--fs-h4); font-weight: var(--fw-head-final); letter-spacing: -0.01em; line-height: 1.25; color: var(--c-heading); margin: 0 0 var(--sp-m); }

/* Fields: one height, one border, a clear focus ring */
/* Pro styles checkout/account fields through #customer_details etc. (grey fill, no border); the :is() with IDs matches that specificity */
.ncl-skin.ncl-store .woocommerce :is(#customer_details, #customer_login, #order_review, #payment, .woocommerce-MyAccount-content, .e-coupon-box, .coupon, .u-columns, .woocommerce-form) :is(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], select, textarea, .select2-selection--single),
.ncl-skin.ncl-store .woocommerce :is(input.input-text, input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], select, textarea, .select2-selection--single) {
  min-height: var(--st-field-h); box-sizing: border-box; border: 1px solid var(--c-field); border-radius: var(--radius);
  background: var(--c-surface); color: var(--c-ink); font: inherit; font-size: var(--fs-body); box-shadow: none;
}
.ncl-skin.ncl-store .woocommerce textarea { min-height: 7rem; padding-block: 12px; }
.ncl-skin.ncl-store .woocommerce :is(input, select, textarea):focus-visible,
.ncl-skin.ncl-store .woocommerce .select2-container--focus .select2-selection--single { outline: 2px solid var(--c-ink); outline-offset: 1px; border-color: var(--c-ink); }
.ncl-skin.ncl-store .woocommerce .form-row label { font-size: var(--fs-small); font-weight: 500; line-height: 1.4; }
.ncl-skin.ncl-store .woocommerce .form-row .required { color: var(--c-muted); text-decoration: none; }
.ncl-skin.ncl-store .woocommerce .select2-selection--single .select2-selection__rendered { line-height: calc(var(--st-field-h) - 2px); padding-inline: 14px; }
.ncl-skin.ncl-store .woocommerce .select2-selection--single .select2-selection__arrow { height: calc(var(--st-field-h) - 2px); }

/* Form rows: no Woo padding; two-up name fields on wide screens, one column below 1025px */
.ncl-skin.ncl-store .woocommerce :is(#customer_details, .woocommerce-MyAccount-content, .u-columns) .form-row { padding: 0; box-sizing: border-box; }
.ncl-skin.ncl-store .woocommerce #customer_details :is(.form-row-first, .form-row-last) { width: calc(50% - var(--sp-s) / 2); }
.ncl-skin.ncl-store input:is([type="checkbox"], [type="radio"]) { accent-color: var(--c-ink); width: 18px; height: 18px; vertical-align: -3px; margin-inline-end: 6px; }
.ncl-skin.ncl-store .woocommerce #ship-to-different-address { margin: var(--sp-s) 0 var(--sp-m); font-family: var(--font-body); font-size: var(--fs-body); font-weight: 500; letter-spacing: 0; }
.ncl-skin.ncl-store .woocommerce :is(#customer_details, .woocommerce-additional-fields) h3 { margin-top: 0; }
/* Summary tables (basket totals, checkout review) as flex rows: label left, value right; shipping choices on their own line */
.ncl-skin.ncl-store .woocommerce :is(.cart_totals table, table.woocommerce-checkout-review-order-table) :is(tbody, thead, tfoot) { display: block; }
.ncl-skin.ncl-store .woocommerce :is(.cart_totals table, table.woocommerce-checkout-review-order-table) tr { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px var(--sp-s); border-bottom: 1px solid var(--c-line); padding: var(--sp-s) 0; }
.ncl-skin.ncl-store .woocommerce :is(.cart_totals table, table.woocommerce-checkout-review-order-table) tr :is(th, td) { display: block; padding: 0; border: 0; background: none; text-align: start; }
.ncl-skin.ncl-store .woocommerce :is(.cart_totals table, table.woocommerce-checkout-review-order-table) tr :is(th, td)::before { content: none; }
.ncl-skin.ncl-store .woocommerce :is(.cart_totals table, table.woocommerce-checkout-review-order-table) tr > :last-child:not(:first-child) { text-align: end; margin-inline-start: auto; }
.ncl-skin.ncl-store .woocommerce table.woocommerce-checkout-review-order-table tr > .product-name { flex: 1 1 60%; max-width: none; padding-inline-end: 0; } /* Pro caps this at 150px */
.ncl-skin.ncl-store .woocommerce :is(.cart_totals table, table.woocommerce-checkout-review-order-table) tr.woocommerce-shipping-totals > :is(th, td):is(:first-child, :last-child) { flex: 1 1 100%; width: auto; max-width: none; margin: 0; text-align: start; }
.ncl-skin.ncl-store .woocommerce :is(.cart_totals table, table.woocommerce-checkout-review-order-table) tr.woocommerce-shipping-totals > :is(th, td) { flex: 1 1 100%; text-align: start; margin: 0; }
.ncl-skin.ncl-store .woocommerce :is(.cart_totals table, table.woocommerce-checkout-review-order-table) tr:last-child { border-bottom: 0; }
.ncl-skin.ncl-store .woocommerce :is(.cart_totals, .woocommerce-checkout-review-order-table) tr.order-total { padding-top: var(--sp-m); border-top: 1px solid var(--c-line); }
.ncl-skin.ncl-store .woocommerce :is(.cart_totals, .woocommerce-checkout-review-order-table) tr.order-total :is(th, td) { border: 0; padding: 0; }
.ncl-skin.ncl-store .woocommerce ul#shipping_method li { display: flex; align-items: baseline; margin: 6px 0; text-align: start; }
.ncl-skin.ncl-store .woocommerce .woocommerce-shipping-destination { margin: 6px 0 0; font-size: var(--fs-small); color: var(--c-muted); }

/* Primary actions: Pro hard-codes #5bc0de here; follow the brand ink instead */
.ncl-skin.ncl-store .woocommerce .wc-proceed-to-checkout .checkout-button,
.ncl-skin.ncl-store .woocommerce-checkout #payment #place_order {
  display: flex; align-items: center; justify-content: center; width: 100%; min-height: var(--st-primary-h);
  background-color: var(--c-ink); border: 1px solid var(--c-ink); color: var(--c-surface);
  font-family: var(--font-body); font-size: var(--fs-body); font-weight: 600; letter-spacing: .01em; text-decoration: none;
}
.ncl-skin.ncl-store .woocommerce .wc-proceed-to-checkout .checkout-button:hover,
.ncl-skin.ncl-store .woocommerce-checkout #payment #place_order:hover { background-color: var(--c-brand); border-color: var(--c-brand); }
.ncl-skin.ncl-store .woocommerce :is(.wc-proceed-to-checkout .checkout-button, #place_order):focus-visible { outline: 2px solid var(--c-ink); outline-offset: 3px; }
.ncl-skin.ncl-store .woocommerce .wc-proceed-to-checkout .checkout-button::after { content: none; }
/* Secondary buttons: outline in ink */
.ncl-skin.ncl-store .woocommerce :is(button.button, a.button, input.button):not(.checkout-button):not([id="place_order"]):not(.alt) {
  min-height: 44px; padding: 0 var(--sp-m); background: transparent; color: var(--c-ink); border: 1px solid var(--c-ink);
  border-radius: var(--radius-btn); font-family: var(--font-body); font-size: var(--fs-small); font-weight: 600; line-height: 42px; text-decoration: none;
}
.ncl-skin.ncl-store .woocommerce :is(button.button, a.button, input.button):not(.checkout-button):not([id="place_order"]):not(.alt):hover { background: var(--c-ink); color: var(--c-surface); }
.ncl-skin.ncl-store .woocommerce :is(#customer_login, .woocommerce-ResetPassword, .woocommerce-EditAccountForm, .woocommerce-address-fields) .button.button { background: var(--c-ink); color: var(--c-surface); border-color: var(--c-ink); min-height: var(--st-field-h); line-height: calc(var(--st-field-h) - 2px); padding: 0 var(--sp-l); }
.ncl-skin.ncl-store .woocommerce :is(#customer_login, .woocommerce-ResetPassword, .woocommerce-EditAccountForm, .woocommerce-address-fields) .button.button:hover { background: var(--c-brand); border-color: var(--c-brand); }
.ncl-skin.ncl-store .woocommerce #customer_login .woocommerce-form-login__rememberme { display: block; margin: 0 0 var(--sp-s); }

/* Basket table */
.ncl-skin.ncl-store .elementor-widget-woocommerce-cart table.shop_table.cart { border: 0; border-collapse: collapse; margin: 0; }
.ncl-skin.ncl-store .elementor-widget-woocommerce-cart table.cart thead th { font-size: var(--fs-small); font-weight: 500; color: var(--c-muted); padding: 0 0 var(--sp-xs); border-bottom: 1px solid var(--c-line); text-align: start; }
.ncl-skin.ncl-store .elementor-widget-woocommerce-cart table.cart td { padding-block: var(--sp-m); border-top: 0; border-bottom: 1px solid var(--c-line); vertical-align: middle; }
.ncl-skin.ncl-store .elementor-widget-woocommerce-cart table.cart .product-thumbnail img { width: 88px; aspect-ratio: 4 / 5; object-fit: cover; background: var(--c-soft); border-radius: var(--radius-s); }
.ncl-skin.ncl-store .elementor-widget-woocommerce-cart table.cart .product-name a { font-weight: 500; text-decoration: none; }
.ncl-skin.ncl-store .elementor-widget-woocommerce-cart table.cart td.product-thumbnail { width: 104px; }
.ncl-skin.ncl-store .woocommerce dl.variation { margin: 4px 0 0; font-size: var(--fs-small); color: var(--c-muted); line-height: 1.5; }
.ncl-skin.ncl-store .woocommerce dl.variation :is(dt, dd, dd p) { display: inline; margin: 0; padding: 0; font-weight: 400; }
.ncl-skin.ncl-store .woocommerce td.product-name dl.variation dt { margin-inline-end: .3em; }
.ncl-skin.ncl-store .woocommerce td.product-name dl.variation dd { margin-inline-end: .9em; }
.ncl-skin.ncl-store .elementor-widget-woocommerce-cart table.cart td.product-subtotal span { font-size: var(--fs-body); font-weight: 600; color: var(--c-ink); }
.ncl-skin.ncl-store .elementor-widget-woocommerce-cart table.cart a.remove { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid var(--c-line); border-radius: 50%; font-size: 18px; line-height: 1; color: var(--c-muted) !important; background: transparent; text-decoration: none; }
.ncl-skin.ncl-store .elementor-widget-woocommerce-cart table.cart a.remove:hover { border-color: var(--c-ink); color: var(--c-ink) !important; background: transparent; }
.ncl-skin.ncl-store .woocommerce .quantity .qty { width: 72px; min-height: 44px; text-align: center; }
.ncl-skin.ncl-store .elementor-widget-woocommerce-cart .coupon { display: flex; gap: var(--sp-xs); align-items: stretch; margin-top: var(--sp-m); }
.ncl-skin.ncl-store .elementor-widget-woocommerce-cart .coupon .coupon-col { display: flex; gap: var(--sp-xs); width: 100%; margin: 0; padding: 0; }
.ncl-skin.ncl-store .elementor-widget-woocommerce-cart .coupon .coupon-col-start { flex: 1 1 auto; }
.ncl-skin.ncl-store .elementor-widget-woocommerce-cart .coupon :is(.input-text, .button) { height: var(--st-field-h); }
.ncl-skin.ncl-store .elementor-widget-woocommerce-cart .coupon .button { white-space: nowrap; }
.ncl-skin.ncl-store .elementor-widget-woocommerce-cart .cart_totals table { width: 100%; border: 0; }
.ncl-skin.ncl-store .elementor-widget-woocommerce-cart .cart_totals :is(th, td) { padding-inline: 0; border: 0; font-weight: 400; }
.ncl-skin.ncl-store .woocommerce :is(.cart_totals, .woocommerce-checkout-review-order-table) .order-total :is(th, td) { padding-top: var(--sp-s); border-top: 1px solid var(--c-line); font-size: var(--fs-h4); font-weight: 600; color: var(--c-ink); }
.ncl-skin.ncl-store .woocommerce .wc-proceed-to-checkout { padding: var(--sp-m) 0 0; }

/* Checkout */
.ncl-skin.ncl-store .elementor-widget-woocommerce-checkout-page .e-checkout__container { grid-template-columns: minmax(0, 1fr) minmax(320px, 42%); gap: var(--sp-xl) var(--sp-2xl); }
.ncl-skin.ncl-store .elementor-widget-woocommerce-cart .e-cart__container { grid-template-columns: minmax(0, 1fr) minmax(300px, 36%); gap: var(--sp-xl) var(--sp-2xl); }
.ncl-skin.ncl-store .e-checkout-secondary-title { font-size: var(--fs-small); padding: var(--sp-s) var(--sp-m); border: 1px solid var(--c-line); border-radius: var(--radius); }
.ncl-skin.ncl-store .woocommerce-checkout-review-order-table { width: 100%; border: 0; }
.ncl-skin.ncl-store .woocommerce-checkout-review-order-table :is(th, td) { padding-inline: 0; border: 0; border-bottom: 1px solid var(--c-line); font-weight: 400; }
.ncl-skin.ncl-store .woocommerce-checkout-review-order-table thead th { font-size: var(--fs-small); color: var(--c-muted); }
.ncl-skin.ncl-store .woocommerce-checkout-review-order-table tfoot tr:last-child :is(th, td) { border-bottom: 0; }
.ncl-skin.ncl-store .woocommerce-checkout #payment { background: transparent; border-radius: 0; }
.ncl-skin.ncl-store .woocommerce-checkout #payment ul.payment_methods { padding: 0; border: 0; display: grid; gap: var(--sp-xs); list-style: none; }
.ncl-skin.ncl-store .woocommerce-checkout #payment ul.payment_methods > li { padding: var(--sp-s) var(--sp-m); border: 1px solid var(--c-line); border-radius: var(--radius); background: var(--c-surface); }
.ncl-skin.ncl-store .woocommerce-checkout #payment ul.payment_methods > li:has(input:checked) { border-color: var(--c-ink); box-shadow: inset 0 0 0 1px var(--c-ink); }
.ncl-skin.ncl-store .woocommerce-checkout #payment div.payment_box { background: var(--c-soft); color: var(--c-text); font-size: var(--fs-small); margin: var(--sp-s) 0 0; border-radius: var(--radius-s); }
.ncl-skin.ncl-store .woocommerce-checkout #payment div.payment_box::before { content: none; }
.ncl-skin.ncl-store .woocommerce-checkout .woocommerce-privacy-policy-text,
.ncl-skin.ncl-store .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: var(--fs-small); color: var(--c-muted); }

/* My Account: quiet vertical menu on desktop; a swipeable pill row on tablet/phone */
.ncl-skin.ncl-store .e-my-account-tab .woocommerce-MyAccount-navigation ul li a { display: block; background: transparent; border-inline-start: 2px solid transparent; border-radius: 0; text-decoration: none; }
.ncl-skin.ncl-store .e-my-account-tab .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--c-soft); border-inline-start-color: var(--c-ink); font-weight: 600; }
.ncl-skin.ncl-store .e-my-account-tab .woocommerce-MyAccount-navigation ul li a:hover { background: var(--c-soft); }
.ncl-skin.ncl-store .e-my-account-tab .woocommerce-MyAccount-content-wrapper { font-size: var(--fs-body); }
.ncl-skin.ncl-store .woocommerce .u-columns.col2-set { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-l); max-width: 60rem; }
.ncl-skin.ncl-store .woocommerce .u-columns.col2-set > [class*="u-column"] { float: none; width: auto; padding: var(--sp-l); border: 1px solid var(--c-line); border-radius: var(--radius); }
.ncl-skin.ncl-store .woocommerce .u-columns.col2-set :is(.login, .register) { margin: 0; padding: 0; border: 0; }
@media (max-width: 1024px) {
  .ncl-skin.ncl-store .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul { display: flex; gap: var(--sp-2xs); overflow-x: auto; margin: 0; padding: 0 0 var(--sp-2xs); scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
  .ncl-skin.ncl-store .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li { --tab-width: auto; flex: 0 0 auto; margin: 0; scroll-snap-align: start; }
  .ncl-skin.ncl-store .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li::after { display: none; }
  .ncl-skin.ncl-store .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li a { padding: 8px 14px; border: 1px solid var(--c-line); border-radius: 999px; white-space: nowrap; font-size: var(--fs-small); }
  .ncl-skin.ncl-store .e-my-account-tab .woocommerce .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--c-ink); border-color: var(--c-ink); color: var(--c-surface); }
}

/* Account orders on phones: one card per order (number + status, date, total + action); Woo's stacked table hides the order number.
   :is(.woocommerce, #ncl-store-weight) adds ID weight (no such ID exists) to outrank Pro's six-class cell rule without !important. */
@media (max-width: 768px) {
  .ncl-skin.ncl-store :is(.woocommerce, #ncl-store-weight) table.my_account_orders { border: 0; }
  .ncl-skin.ncl-store :is(.woocommerce, #ncl-store-weight) table.my_account_orders tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "num status" "date date" "total action"; align-items: center; gap: 4px var(--sp-s); margin: 0 0 var(--sp-s); padding: var(--sp-m); border: 1px solid var(--c-line); border-radius: var(--radius); }
  .ncl-skin.ncl-store :is(.woocommerce, #ncl-store-weight) table.my_account_orders tbody tr :is(th, td) { display: block; padding: 0; border: 0; background: none; text-align: start !important; }
  .ncl-skin.ncl-store :is(.woocommerce, #ncl-store-weight) table.my_account_orders tbody tr :is(th, td)::before { content: none; }
  .ncl-skin.ncl-store :is(.woocommerce, #ncl-store-weight) table.my_account_orders .woocommerce-orders-table__cell-order-number { grid-area: num; font-weight: 600; }
  .ncl-skin.ncl-store :is(.woocommerce, #ncl-store-weight) table.my_account_orders .woocommerce-orders-table__cell-order-status { grid-area: status; justify-self: end; padding: 2px 10px; border-radius: 999px; background: var(--c-soft); font-size: var(--fs-small); }
  .ncl-skin.ncl-store :is(.woocommerce, #ncl-store-weight) table.my_account_orders .woocommerce-orders-table__cell-order-date { grid-area: date; font-size: var(--fs-small); color: var(--c-muted); }
  .ncl-skin.ncl-store :is(.woocommerce, #ncl-store-weight) table.my_account_orders .woocommerce-orders-table__cell-order-total { grid-area: total; }
  .ncl-skin.ncl-store :is(.woocommerce, #ncl-store-weight) table.my_account_orders .woocommerce-orders-table__cell-order-actions { grid-area: action; justify-self: end; }
}

/* Order received */
.ncl-skin.ncl-store .woocommerce-thankyou-order-received { font-family: var(--font-head); font-size: var(--fs-h2); font-weight: var(--fw-head-final); line-height: 1.12; letter-spacing: -0.02em; margin: 0 0 var(--sp-l); }
.ncl-skin.ncl-store ul.woocommerce-order-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); gap: var(--sp-s); margin: 0 0 var(--sp-xl); padding: 0; list-style: none; }
.ncl-skin.ncl-store ul.woocommerce-order-overview li { margin: 0; padding: var(--sp-s) var(--sp-m); border: 1px solid var(--c-line); border-radius: var(--radius); font-size: var(--fs-small); color: var(--c-muted); text-transform: none; }
.ncl-skin.ncl-store :is(.woocommerce, #ncl-store-weight) ul.woocommerce-order-overview li { display: block; text-align: start; float: none; width: auto; }
.ncl-skin.ncl-store ul.woocommerce-order-overview li strong { display: block; margin-top: 4px; font-size: var(--fs-body); font-weight: 600; color: var(--c-ink); }

/* Order tables (order received, view order): readable size, inline item meta, upright addresses */
.ncl-skin.ncl-store .woocommerce table.order_details { font-size: var(--fs-small); border: 0; }
.ncl-skin.ncl-store .woocommerce table.order_details :is(th, td) { padding: var(--sp-xs) 0; border-top: 1px solid var(--c-line); font-size: var(--fs-small); }
.ncl-skin.ncl-store .woocommerce table.order_details tfoot tr:last-child :is(th, td) { font-size: var(--fs-body); font-weight: 600; color: var(--c-ink); }
.ncl-skin.ncl-store .woocommerce ul.wc-item-meta { list-style: none; margin: 4px 0 0; padding: 0; color: var(--c-muted); }
.ncl-skin.ncl-store .woocommerce ul.wc-item-meta li { display: inline; margin-inline-end: .9em; }
.ncl-skin.ncl-store .woocommerce ul.wc-item-meta :is(.wc-item-meta-label, p) { display: inline; margin: 0 .3em 0 0; font-weight: 400; }
.ncl-skin.ncl-store .woocommerce address { font-style: normal; line-height: 1.6; padding: 0; border: 0; }

/* Notices */
.ncl-skin.ncl-store :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) { list-style: none; margin: 0 0 var(--sp-m); padding: var(--sp-s) var(--sp-m); border: 1px solid var(--c-line); border-inline-start: 3px solid var(--c-ink); border-radius: var(--radius); background: var(--c-surface); color: var(--c-text); font-size: var(--fs-small); }
.ncl-skin.ncl-store .woocommerce-error { border-inline-start-color: #b42318; }
.ncl-skin.ncl-store :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before { content: none; }

/* Page furniture (native widgets around the Pro widgets) */
.ncl-skin.ncl-store .ncl-store-head.e-con { flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: var(--sp-s) var(--sp-m); }
.ncl-skin.ncl-store .ncl-store-head > .elementor-widget { width: auto; --container-widget-width: auto; }
.ncl-skin.ncl-store .ncl-store-link .elementor-button { background: none; border: 0; padding: var(--sp-2xs) 0; color: var(--c-ink); font-family: var(--font-body); font-size: var(--fs-small); font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .3em; }
.ncl-skin.ncl-store .ncl-store-link .elementor-button::after { content: none; }
.ncl-skin.ncl-store .ncl-store-bar.e-con { flex-direction: row; flex-wrap: nowrap; justify-content: space-between; align-items: center; padding: var(--sp-m) var(--gutter); border-bottom: 1px solid var(--c-line); }
.ncl-skin.ncl-store .ncl-store-bar > .elementor-widget { width: auto; --container-widget-width: auto; }
.ncl-skin.ncl-store .ncl-store-footer.e-con { flex-direction: row; flex-wrap: wrap; justify-content: space-between; gap: var(--sp-s); padding: var(--sp-l) var(--gutter); border-top: 1px solid var(--c-line); font-size: var(--fs-small); color: var(--c-muted); }
.ncl-skin.ncl-store .ncl-store-footer > .elementor-widget { width: auto; --container-widget-width: auto; }
.ncl-skin.ncl-store .ncl-store-footer p { margin: 0; }
.ncl-skin.ncl-store .ncl-store-footer a { color: var(--c-text); text-decoration: none; margin-inline-end: var(--sp-m); }
.ncl-skin.ncl-store .ncl-store-footer a:hover { color: var(--c-ink); text-decoration: underline; }
.ncl-skin.ncl-store .ncl-store-notes.e-con { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: var(--sp-m); padding-top: var(--sp-l); border-top: 1px solid var(--c-line); }
.ncl-skin.ncl-store .ncl-store-notes p { margin: 0; font-size: var(--fs-small); color: var(--c-text); }
.ncl-skin.ncl-store .ncl-store-notes strong { display: block; color: var(--c-ink); font-weight: 600; margin-bottom: 2px; }
.ncl-skin.ncl-store .ncl-store-steps.e-con { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: var(--sp-m); counter-reset: ncl-step; }
.ncl-skin.ncl-store .ncl-store-step.e-con { padding: var(--sp-m); border: 1px solid var(--c-line); border-radius: var(--radius); gap: var(--sp-2xs); counter-increment: ncl-step; }
.ncl-skin.ncl-store .ncl-store-step.e-con::before { content: counter(ncl-step); display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--c-ink); color: var(--c-surface); font-size: var(--fs-small); font-weight: 600; margin-bottom: var(--sp-2xs); }

@media (max-width: 1024px) {
  .ncl-skin.ncl-store .woocommerce #customer_details :is(.form-row-first, .form-row-last) { width: 100%; float: none; }
  .ncl-skin.ncl-store :is(.elementor-widget-woocommerce-checkout-page .e-checkout__container, .elementor-widget-woocommerce-cart .e-cart__container) { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  .ncl-skin.ncl-store :is(.e-cart__column-end, .e-checkout__column-end) { --sections-padding: var(--sp-m); }
  .ncl-skin.ncl-store .woocommerce .u-columns.col2-set { grid-template-columns: minmax(0, 1fr); }
  .ncl-skin.ncl-store .woocommerce .u-columns.col2-set > [class*="u-column"] { padding: var(--sp-m); }
  .ncl-skin.ncl-store .elementor-widget-woocommerce-cart table.cart td { padding-block: var(--sp-xs); }
  .ncl-skin.ncl-store .elementor-widget-woocommerce-cart .coupon .coupon-col { flex-direction: column; }
  .ncl-skin.ncl-store .elementor-widget-woocommerce-cart .coupon .button { width: 100%; }
}
/* Phone basket: each item is a compact card (thumb · name/variation · remove / qty · line total) instead of Woo's labelled stacked rows */
@media (max-width: 768px) {
  .ncl-skin.ncl-store .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; grid-template-areas: "thumb name remove" "thumb qty total"; column-gap: var(--sp-s); row-gap: var(--sp-xs); align-items: start; padding: var(--sp-m) 0; border-bottom: 1px solid var(--c-line); }
  .ncl-skin.ncl-store .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item td { display: block; width: auto; padding: 0; border: 0; background: none; text-align: start !important; }
  .ncl-skin.ncl-store .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item td::before { content: none; }
  .ncl-skin.ncl-store .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item td.product-thumbnail { display: block; grid-area: thumb; }
  .ncl-skin.ncl-store .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item td.product-thumbnail img { width: 76px; }
  .ncl-skin.ncl-store .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item td.product-name { grid-area: name; }
  .ncl-skin.ncl-store .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item td.product-remove { grid-area: remove; }
  .ncl-skin.ncl-store .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item td.product-price { display: none; }
  .ncl-skin.ncl-store .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item td.product-quantity { grid-area: qty; align-self: end; }
  .ncl-skin.ncl-store .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item td.product-subtotal { grid-area: total; align-self: end; text-align: end !important; }
  .ncl-skin.ncl-store .elementor-widget-woocommerce-cart .woocommerce table.cart tr.cart_item:first-child { padding-top: 0; }
}
