/* Shopping pages share NPH branding; WooCommerce retains its forms and hooks. */
body.nph-woocommerce { background: var(--sf-paper, #f4f3ef); color: var(--sf-ink, #171819); --nph-amber: #fdaf00; --nph-line: #d9d9d2; }
.nph-woocommerce .sf-wrap { width: min(100% - clamp(2rem, 6vw, 5rem), 76rem); }
.nph-commerce-header { background: #131515; color: #f7f7f2; border-bottom: 3px solid var(--nph-amber); }
.nph-commerce-header-inner { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; min-height: 96px; }
.nph-commerce-help { display: flex; align-items: center; gap: 1.25rem; }
.nph-commerce-help a { display: inline-flex; align-items: center; min-height: 44px; font-size: .875rem; text-decoration: underline; text-underline-offset: .3em; }
.nph-commerce-help .nph-header-basket { text-decoration: none; font-size: .8125rem; }
.nph-commerce-main { min-height: 60vh; padding-block: 2.5rem 3.5rem; }
.nph-commerce-title { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem 2rem; margin-bottom: 2rem; }
.nph-commerce-title h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.15; letter-spacing: 0; font-weight: 750; }
.nph-commerce-progress { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; padding: 0; margin: 0; list-style: none; font-size: .8125rem; color: #626463; }
.nph-commerce-progress li, .nph-commerce-progress a { display: inline-flex; align-items: center; gap: .5rem; min-height: 32px; }
.nph-commerce-progress li[aria-current] { color: #171819; font-weight: 700; }
.nph-commerce-progress li > span, .nph-commerce-progress a > span { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: #e4e3dc; font-size: .65rem; font-weight: 750; }
.nph-commerce-progress li[aria-current] > span, .nph-commerce-progress li[aria-current] a > span { background: var(--nph-amber); }
.nph-commerce-progress a:hover { text-decoration: underline; }
/* Native Woo order confirmation, with readable summary and specification rows. */
.nph-woocommerce .woocommerce-order { max-width: 64rem; margin-inline: auto; }
.nph-woocommerce .woocommerce-order > .woocommerce-notice { font-size: 1.125rem; margin: 0 0 1.5rem; }
.nph-woocommerce .woocommerce ul.woocommerce-order-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 1.25rem 1.5rem; list-style: none; margin: 0 0 2rem; padding: 1.5rem; border: 1px solid var(--nph-line); border-radius: 12px; background: #fff; }
.nph-woocommerce .woocommerce ul.woocommerce-order-overview::before, .nph-woocommerce .woocommerce ul.woocommerce-order-overview::after { display: none; }
.nph-woocommerce .woocommerce ul.woocommerce-order-overview li { float: none; padding: 0; margin: 0; border: 0; min-width: 0; color: #626463; font-size: .7rem; line-height: 1.5; letter-spacing: .06em; }
.nph-woocommerce .woocommerce ul.woocommerce-order-overview li strong { display: block; margin-top: .35rem; color: #171819; font-size: .9375rem; font-weight: 650; line-height: 1.5; letter-spacing: 0; overflow-wrap: anywhere; text-transform: none; }
.nph-woocommerce .nph-order-documents { margin: 0 0 2.5rem; padding: clamp(1.25rem, 3vw, 2rem); background: #fff9e9; border: 1px solid #e8d4a5; border-top: 3px solid var(--nph-amber); border-radius: 12px; }
.nph-order-step { display: block; color: #775300; font-size: .75rem; font-weight: 700; margin-bottom: .7rem; }
.nph-woocommerce .nph-order-documents h2 { margin-bottom: .75rem; font-size: 1.35rem; }
.nph-order-documents p { max-width: 70ch; margin: .75rem 0 1rem; }
.nph-woocommerce .nph-order-documents .nph-order-documents-help { font-size: .8125rem; margin-bottom: 0; color: #626463; }
.nph-woocommerce .woocommerce-order-details { margin-bottom: 2rem; }
.nph-woocommerce .woocommerce-order table.order_details { table-layout: fixed; }
.nph-woocommerce .woocommerce-order table.order_details thead .product-name { width: 74%; }
.nph-woocommerce .woocommerce-order table.order_details :is(.product-total, tfoot td) { text-align: right; font-variant-numeric: tabular-nums; }
.nph-woocommerce .woocommerce-order table.order_details td.product-name { font-weight: 700; }
.nph-woocommerce .woocommerce-order .wc-item-meta { margin: 1rem 0 0; padding: 0; list-style: none; font-size: .8125rem; font-weight: 400; }
.nph-woocommerce .woocommerce-order .wc-item-meta li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: .4rem .75rem; margin: .45rem 0; padding: 0; line-height: 1.5; }
.nph-woocommerce .woocommerce-order .wc-item-meta li::before, .nph-woocommerce .woocommerce-order .wc-item-meta li::after { display: none; }
.nph-woocommerce .woocommerce-order .wc-item-meta li :is(strong, p) { float: none; min-width: 0; padding: 0; margin: 0; line-height: inherit; font-size: inherit; overflow-wrap: anywhere; }
.nph-woocommerce .woocommerce-order .wc-item-meta li strong { color: #626463; font-weight: 400; }
.nph-woocommerce .woocommerce-order .wc-item-meta li p { color: #171819; font-weight: 500; }
.nph-woocommerce .woocommerce-customer-details .col2-set { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; }
.nph-woocommerce .woocommerce-customer-details .col2-set::before,
.nph-woocommerce .woocommerce-customer-details .col2-set::after { content: none; display: none; }
.nph-woocommerce .woocommerce-customer-details :is(.col-1, .col-2) { float: none; width: auto; min-width: 0; }
.nph-woocommerce .woocommerce-customer-details .col2-set > :is(.col-1, .col-2) { display: flex; flex-direction: column; margin: 0; }
.nph-woocommerce .woocommerce-customer-details .woocommerce-column__title { margin-top: 0; }
.nph-woocommerce .woocommerce-customer-details .col2-set address { flex: 1; margin: 0; }
.nph-woocommerce .woocommerce-customer-details address { padding: 1.25rem; border: 1px solid var(--nph-line); border-radius: 10px; background: #fff; line-height: 1.7; font-size: .875rem; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .nph-woocommerce .woocommerce ul.woocommerce-order-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 1.25rem; gap: 1.25rem; }
  .nph-woocommerce .woocommerce ul.woocommerce-order-overview .email { grid-column: 1 / -1; }
  .nph-woocommerce .woocommerce-order table.order_details :is(thead, tbody, tfoot) { display: block; }
  .nph-woocommerce .woocommerce-order table.order_details tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .nph-woocommerce .woocommerce-order table.order_details tr > :is(th, td) { width: auto; padding: .9rem; min-width: 0; }
  .nph-woocommerce .woocommerce-order table.order_details tbody td.product-name { grid-column: 1 / -1; }
  .nph-woocommerce .woocommerce-order table.order_details tbody td.product-total { grid-column: 1 / -1; border-top: 0; padding-top: 0; }
  .nph-woocommerce .woocommerce-order table.order_details tbody td.product-total::before { content: 'Item total'; float: left; font-size: .8125rem; color: #626463; }
  .nph-woocommerce .woocommerce-customer-details .col2-set { grid-template-columns: minmax(0, 1fr); }
  .nph-woocommerce .nph-order-documents .button { display: block; text-align: center; }
}
.nph-checkout-information { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 2.5rem; padding-top: 1.75rem; border-top: 1px solid var(--nph-line); gap: 1.5rem; }
.nph-checkout-information > div { display: grid; align-content: start; gap: .25rem; min-width: 0; }
.nph-checkout-information strong { font-size: .8125rem; font-weight: 700; }
.nph-checkout-information span, .nph-checkout-information a { font-size: .8125rem; line-height: 1.6; overflow-wrap: anywhere; }
.nph-checkout-information span { color: #626463; }
.nph-woocommerce .nph-basket-reassurance { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .4rem; width: 100%; margin: 1rem 0 0; text-align: center; }
.nph-basket-reassurance > svg { flex: 0 0 24px; color: #6a4b00; }
.nph-basket-reassurance > span { display: grid; justify-items: center; gap: .2rem; }
.nph-basket-reassurance strong { font-size: .875rem; }
.nph-basket-reassurance a { font-size: .8125rem; line-height: 1.5; color: #626463; }
.nph-woocommerce .nph-warranty-option { margin: 0 0 1.5rem; border: 1px solid #d9d9d2; border-radius: 8px; background: #fcfbf7; padding: 1rem; }
.nph-woocommerce .nph-warranty-included { margin: 0 0 1rem; display: grid; gap: .2rem; font-size: .875rem; line-height: 1.5; }
.nph-warranty-included > span { font-size: .8125rem; color: #626463; }
.nph-woocommerce .nph-warranty-choice { display: grid; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: start; gap: .65rem; margin: 0; padding-top: 1rem; border-top: 1px solid #d9d9d2; cursor: pointer; font-size: .875rem; line-height: 1.5; }
.nph-woocommerce .nph-warranty-choice > input { margin: .2rem 0 0; }
.nph-warranty-choice > span { display: grid; gap: .25rem; min-width: 0; }
.nph-warranty-choice > span > span { font-size: .8125rem; color: #626463; }
.nph-warranty-price { white-space: nowrap; font-variant-numeric: tabular-nums; }
.nph-woocommerce .nph-warranty-terms { margin: .85rem 0 0; font-size: .75rem; line-height: 1.6; color: #626463; }
.nph-warranty-option:has(input:checked) { border-color: #9a6a00; background: #fff9e9; }
.nph-woocommerce .nph-checkout-information a { text-decoration: underline; text-underline-offset: .2em; }
.nph-commerce-footer { color: #f7f7f2; padding-block: 2.5rem; }
.nph-commerce-footer-inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem 4rem; align-items: start; }
.nph-commerce-footer .sf-footer-brand > p { max-width: 48ch; }
.nph-commerce-footer-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .25rem 1.5rem; font-size: .875rem; color: #c3c9bd; }
.nph-commerce-footer-links a { display: flex; align-items: center; min-height: 44px; }

.nph-woocommerce :is(.woocommerce, .wc-block-cart, .wc-block-checkout) { font-family: inherit; color: inherit; font-size: 1rem; line-height: 1.5; }
.nph-woocommerce .woocommerce a:not(.button):not(.remove) { text-decoration: underline; text-underline-offset: .2em; }
.nph-woocommerce .woocommerce :is(h2, h3), .nph-woocommerce .wc-block-components-title { font-size: 1.2rem; line-height: 1.35; font-weight: 700; letter-spacing: -.025em; margin-bottom: 1.25rem; }
.nph-woocommerce .woocommerce form.checkout.woocommerce-checkout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 0 2rem; align-items: start; }
.nph-woocommerce .woocommerce form.checkout::before, .nph-woocommerce .woocommerce form.checkout::after { display: none; }
.nph-woocommerce .woocommerce form.checkout > * { min-width: 0; grid-column: 1 / -1; }
.nph-woocommerce .woocommerce form.checkout #customer_details { grid-column: 1; padding: 1.75rem; border: 1px solid var(--nph-line); border-radius: 12px; background: #fff; }
.nph-woocommerce .woocommerce form.checkout .nph-checkout-summary { grid-column: 2; }
.nph-woocommerce .woocommerce #customer_details :is(.col-1, .col-2) { float: none; width: 100%; }
.nph-woocommerce .woocommerce #customer_details .col-2 { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--nph-line); }
.nph-woocommerce .woocommerce form.checkout #order_review_heading { grid-column: 2; margin: 0; padding: 1.5rem 1.5rem 1.25rem; border: 1px solid var(--nph-line); border-top: 3px solid var(--nph-amber); border-bottom: 0; border-radius: 12px 12px 0 0; background: #fff; }
.nph-woocommerce .woocommerce form.checkout #order_review { grid-column: 2; padding: 0 1.5rem 1.5rem; border: 1px solid var(--nph-line); border-top: 0; border-radius: 0 0 12px 12px; background: #fff; }
.nph-woocommerce .woocommerce #ship-to-different-address { font-size: .95rem; letter-spacing: 0; }
.nph-woocommerce .woocommerce #ship-to-different-address label { display: flex; align-items: center; gap: .65rem; cursor: pointer; }
.nph-woocommerce .woocommerce .woocommerce-additional-fields > h3 { margin-top: 1.25rem; }
.nph-woocommerce .woocommerce form .form-row { padding: 0; margin: 0 0 1rem; }
.nph-woocommerce .woocommerce form .form-row label { margin-bottom: .35rem; font-size: .8125rem; font-weight: 600; line-height: 1.5; }
.nph-woocommerce .woocommerce form .form-row :is(input.input-text, textarea, select) { width: 100%; min-height: 48px; padding: .75rem .85rem; border: 1px solid #b7b8b1; border-radius: 6px; background: #fff; color: #171819; font: inherit; font-size: 16px; line-height: 1.5; }
.nph-woocommerce .woocommerce form .form-row textarea { min-height: 112px; resize: vertical; }
.nph-woocommerce .woocommerce form .form-row :is(input, textarea)::placeholder { color: #767873; opacity: 1; }
.nph-woocommerce .woocommerce :is(input[type="checkbox"], input[type="radio"]) { accent-color: #171819; width: 18px; height: 18px; vertical-align: middle; }
.nph-woocommerce .select2-container .select2-selection--single { height: 48px; border: 1px solid #b7b8b1; border-radius: 6px; background: #fff; }
.nph-woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: 46px; padding-left: .85rem; color: #171819; }
.nph-woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; right: .5rem; }
.nph-woocommerce .select2-dropdown { border-color: #b7b8b1; color: #171819; }
.nph-woocommerce .select2-container--default .select2-results__option--highlighted[aria-selected], .nph-woocommerce .select2-container--default .select2-results__option--highlighted[data-selected] { background: #171819; color: #fff; }
.nph-woocommerce :is(.woocommerce, .wc-block-cart, .wc-block-checkout) :is(input, select, textarea, button, a):focus-visible { outline: 3px solid #9a6a00; outline-offset: 3px; }

.nph-woocommerce .woocommerce table.shop_table { width: 100%; background: #fff; border: 1px solid var(--nph-line); border-radius: 12px; border-spacing: 0; border-collapse: separate; margin: 0 0 1.5rem; text-align: left; }
.nph-woocommerce .woocommerce table.shop_table :is(th, td) { padding: 1rem; border-color: var(--nph-line); overflow-wrap: anywhere; }
.nph-woocommerce .woocommerce table.shop_table td { vertical-align: top; }
.nph-woocommerce .woocommerce #order_review table { display: block; padding: 0; border: 0; border-radius: 0; }
.nph-woocommerce .woocommerce #order_review table :is(thead, tbody, tfoot) { display: block; }
.nph-woocommerce .woocommerce #order_review table tr { display: grid; grid-template-columns: minmax(0, 72fr) minmax(0, 28fr); }
.nph-woocommerce .woocommerce #order_review table tr > :is(th, td) { width: auto; min-width: 0; }
.nph-woocommerce .woocommerce #order_review table :is(th, td) { padding: 1rem 0; }
.nph-woocommerce .woocommerce #order_review table thead th { padding-top: 0; color: #626463; font-weight: 500; font-size: .75rem; text-transform: uppercase; letter-spacing: .07em; }
.nph-woocommerce .woocommerce #order_review .product-name { padding-right: 1rem; }
.nph-woocommerce .woocommerce #order_review td.product-name { font-weight: 650; font-size: .9375rem; }
.nph-woocommerce .woocommerce #order_review .product-total { text-align: right; font-variant-numeric: tabular-nums; }
.nph-woocommerce .woocommerce #order_review td.product-total { font-size: .9375rem; font-weight: 650; }
.nph-woocommerce .woocommerce .product-quantity { display: inline-block; margin-left: .2rem; font-weight: 500; font-size: .8125rem; color: #626463; }
/* Woo floats definition lists by default. Grid keeps every label/value paired. */
.nph-woocommerce .woocommerce table.shop_table td.product-name dl.variation { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: .3rem .5rem; margin: .85rem 0 0; padding: 0; text-align: left; font-size: .8125rem; line-height: 1.5; }
.nph-woocommerce .woocommerce table.shop_table td.product-name dl.variation::before, .nph-woocommerce .woocommerce table.shop_table td.product-name dl.variation::after { display: none; }
.nph-woocommerce .woocommerce table.shop_table td.product-name dl.variation :is(dt, dd) { float: none; clear: none; display: block; width: auto; min-width: 0; padding: 0; margin: 0; text-align: left; overflow-wrap: anywhere; }
.nph-woocommerce .woocommerce table.shop_table td.product-name dl.variation dt { color: #626463; font-weight: 400; }
.nph-woocommerce .woocommerce table.shop_table td.product-name dl.variation dd { color: #171819; font-weight: 500; }
.nph-woocommerce .woocommerce table.shop_table td.product-name dl.variation dd p { margin: 0; padding: 0; line-height: inherit; }
.nph-woocommerce .woocommerce table.shop_table :is(.product-subtotal, .cart-subtotal td, .order-total td, .fee td, .cart-discount td, .shipping td) { text-align: right; font-variant-numeric: tabular-nums; }
.nph-woocommerce .woocommerce table.shop_table tfoot th { font-weight: 500; font-size: .875rem; }
.nph-woocommerce .woocommerce table.shop_table tfoot td { font-size: .875rem; }
.nph-woocommerce .woocommerce table.shop_table .order-total :is(th, td) { font-size: 1.125rem; font-weight: 750; border-top: 2px solid #171819; }
.nph-woocommerce .woocommerce ul#shipping_method { margin: 0; padding: 0; }
.nph-woocommerce .woocommerce #order_review table .shipping > :is(th, td) { grid-column: 1 / -1; text-align: left; }
.nph-woocommerce .woocommerce #order_review table .shipping th { padding-bottom: .5rem; }
.nph-woocommerce .woocommerce #order_review table .shipping td { padding-top: 0; border-top: 0; }
.nph-woocommerce .woocommerce ul#shipping_method li { display: flex; align-items: baseline; gap: .65rem; margin: 0 0 .5rem; line-height: 1.5; text-align: left; }
.nph-woocommerce .woocommerce ul#shipping_method li input.shipping_method { flex: 0 0 18px; margin: 0; align-self: flex-start; margin-top: .2rem; }
.nph-woocommerce .woocommerce ul#shipping_method li input[type="hidden"] { display: none; }
.nph-woocommerce .woocommerce ul#shipping_method label { font-weight: 400; }
.nph-woocommerce .woocommerce .amount { white-space: nowrap; }
.nph-woocommerce .woocommerce :is(.product-name, .woocommerce-privacy-policy-text, .woocommerce-terms-and-conditions-wrapper) { overflow-wrap: anywhere; }
.nph-woocommerce .woocommerce :is(.cart_totals, .woocommerce-customer-details address) { padding: 1.5rem; background: #fff; border: 1px solid var(--nph-line); border-radius: 12px; }
.nph-woocommerce .woocommerce .cart_totals table { border: 0; }
.nph-woocommerce .woocommerce .quantity .qty { min-height: 44px; border: 1px solid #b7b8b1; border-radius: 6px; }

/* Basket: clear specification titles, one configured selection per entry. */
.nph-woocommerce .woocommerce-cart-form table.cart :is(th.product-remove, td.product-remove) { width: 7.5rem; }
.nph-woocommerce .woocommerce-cart-form table.cart :is(th.product-thumbnail, td.product-thumbnail) { width: 12rem; }
.nph-woocommerce .woocommerce-cart-form table.cart td.product-thumbnail img { display: block; width: 160px; max-width: 100%; height: 112px; object-fit: contain; }
.nph-woocommerce .woocommerce-cart-form table.cart td.product-thumbnail::before { display: none; content: none; }
.nph-woocommerce .woocommerce-cart-form table.cart a.remove { display: inline-flex; align-items: center; gap: .4rem; width: auto; height: auto; min-height: 44px; padding: .25rem .4rem; border-radius: 4px; font-size: 1.5rem; line-height: 1; text-decoration: none; color: #b22b21 !important; background: transparent; white-space: nowrap; }
.nph-woocommerce .woocommerce-cart-form table.cart a.remove .nph-remove-label { font-size: .8125rem; font-weight: 600; color: #171819; }
.nph-woocommerce .woocommerce-cart-form table.cart a.remove:hover { background: #fff1ee; }
.nph-woocommerce .woocommerce-cart-form .product-name::before { display: none; content: none; }
.nph-woocommerce .woocommerce-cart-form .nph-basket-product-title { font-size: 1rem; font-weight: 750; line-height: 1.4; }
.nph-woocommerce .woocommerce-cart-form .nph-basket-existing-quantity { white-space: nowrap; font-weight: 600; }
.nph-woocommerce .woocommerce-cart-form :is(th.product-quantity, td.product-quantity) { display: none; }
.nph-woocommerce .woocommerce-cart-form table.cart td.actions button[name="update_cart"] { display: none; }
.nph-woocommerce .woocommerce-cart-form table.cart td.product-name { text-align: left !important; }
.nph-woocommerce .woocommerce-cart-form table.cart td.actions { text-align: left; }
.nph-woocommerce .woocommerce-cart-form table.cart td.actions .coupon { display: flex; align-items: stretch; flex-wrap: wrap; gap: .75rem; float: none; width: min(100%, 40rem); padding: 0; }
.nph-woocommerce .woocommerce-cart-form table.cart td.actions .coupon::before, .nph-woocommerce .woocommerce-cart-form table.cart td.actions .coupon::after { display: none; content: none; }
.nph-woocommerce .woocommerce-cart-form table.cart td.actions .coupon .input-text { float: none; flex: 1 1 14rem; width: auto; min-width: 0; min-height: 48px; margin: 0; padding: .75rem .85rem; border: 1px solid #b7b8b1; border-radius: 6px; background: #fff; color: #171819; font: inherit; font-size: 16px; line-height: 1.5; }
.nph-woocommerce .woocommerce-cart-form table.cart td.actions .coupon .input-text:focus-visible { outline: 3px solid #9a6a00; outline-offset: 3px; }
.nph-woocommerce .woocommerce-cart-form table.cart td.actions .coupon .button { float: none; flex: 0 0 auto; width: auto; margin: 0; min-height: 48px; }
.nph-woocommerce .woocommerce .cart-collaterals .cart_totals { float: none; width: 100%; }
.nph-woocommerce .woocommerce .cart_totals table.shop_table { display: block; margin-bottom: 1rem; }
.nph-woocommerce .woocommerce .cart_totals table.shop_table tbody { display: block; }
.nph-woocommerce .woocommerce .cart_totals table.shop_table tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); background: transparent; }
.nph-woocommerce .woocommerce .cart_totals table.shop_table tr > :is(th, td) { display: block; width: auto; min-width: 0; padding: 1rem 0; background: transparent; }
.nph-woocommerce .woocommerce .cart_totals table.shop_table th { text-align: left; font-weight: 600; }
.nph-woocommerce .woocommerce .cart_totals table.shop_table td::before { display: none; content: none; }
.nph-woocommerce .woocommerce .cart_totals table.shop_table .shipping > :is(th, td) { grid-column: 1 / -1; text-align: left !important; }
.nph-woocommerce .woocommerce .cart_totals table.shop_table .shipping th { padding-bottom: .5rem; }
.nph-woocommerce .woocommerce .cart_totals table.shop_table .shipping td { padding-top: 0; border-top: 0; }
.nph-woocommerce .woocommerce .cart_totals .woocommerce-shipping-destination { margin: .75rem 0 0; text-align: left; font-size: .8125rem; color: #626463; }
.nph-woocommerce .woocommerce .cart_totals .wc-proceed-to-checkout { padding: .5rem 0 0; }
.nph-woocommerce .woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button { margin: 0; font-size: 1rem; }

.nph-woocommerce .woocommerce :is(a.button, button.button, input.button), .nph-woocommerce .wc-block-components-button:not(.is-link) { background: var(--nph-amber); color: #171819; border: 1px solid transparent; border-radius: 6px; padding: .95rem 1.25rem; font-weight: 750; font-size: .9375rem; line-height: 1.4; text-decoration: none; }
.nph-woocommerce .woocommerce :is(a.button, button.button, input.button):hover, .nph-woocommerce .wc-block-components-button:not(.is-link):hover { background: #ffc238; color: #171819; }
.nph-woocommerce .woocommerce :is(button, input):disabled { opacity: .55; cursor: not-allowed; }
.nph-woocommerce .woocommerce #payment { background: #f4f3ef; border-radius: 8px; }
.nph-woocommerce .woocommerce #payment ul.payment_methods { padding: 1rem; border-color: var(--nph-line); }
.nph-woocommerce .woocommerce #payment ul.payment_methods li { font-size: .875rem; }
.nph-woocommerce .woocommerce #payment .payment_box { padding: .85rem; background: #e5e4dc; color: #171819; font-size: .8125rem; }
.nph-woocommerce .woocommerce #payment .payment_box::before { border-bottom-color: #e5e4dc; }
.nph-woocommerce .woocommerce #payment div.form-row { padding: 1rem; margin-bottom: 0; }
.nph-woocommerce .woocommerce #payment .woocommerce-privacy-policy-text, .nph-woocommerce .woocommerce .woocommerce-terms-and-conditions-wrapper { font-size: .75rem; line-height: 1.6; }
.nph-woocommerce .woocommerce #payment .woocommerce-privacy-policy-text p { margin-bottom: .85rem; }
.nph-woocommerce .woocommerce #payment #place_order { float: none; display: block; width: 100%; margin: 1rem 0 0; min-height: 52px; font-size: 1rem; }
.nph-woocommerce .woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) { position: relative; padding: 1rem 1rem 1rem 3rem; margin: 0 0 1.5rem; border: 1px solid var(--nph-line); border-left: 3px solid #9a6a00; border-radius: 8px; background: #fff; color: #171819; font-size: .875rem; line-height: 1.6; list-style: none; }
.nph-woocommerce .woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before { content: 'i'; font-family: inherit; font-size: .75rem; font-weight: 750; position: absolute; top: 1.1rem; left: 1rem; display: grid; place-items: center; width: 18px; height: 18px; border: 1px solid currentColor; border-radius: 50%; color: #9a6a00; line-height: 1; }
.nph-woocommerce .woocommerce .woocommerce-error { border-left-color: #b22b21; }
.nph-woocommerce .woocommerce .woocommerce-error::before { content: '!'; color: #b22b21; }
.nph-woocommerce .woocommerce .woocommerce-message::before { content: '✓'; }
.nph-woocommerce .woocommerce form.checkout_coupon { background: #fff; border-color: var(--nph-line); border-radius: 8px; padding: 1.25rem; margin: 0 0 1.5rem; }
.nph-woocommerce .woocommerce form.checkout_coupon p { margin-bottom: .75rem; font-size: .875rem; }
.nph-woocommerce .wc-block-components-sidebar { background: #fff; border: 1px solid var(--nph-line); border-top: 3px solid var(--nph-amber); border-radius: 12px; padding: 1.25rem; }
.nph-woocommerce .wc-block-components-text-input :is(input, label), .nph-woocommerce .wc-block-components-combobox :is(input, label) { font-family: inherit; }

@media (max-width: 768px) {
  .nph-woocommerce .woocommerce-cart-form table.cart :is(td.product-remove, td.product-thumbnail) { display: block; width: 100%; text-align: left !important; }
  .nph-woocommerce .woocommerce-cart-form table.cart td.product-thumbnail { border-top: 0; padding-block: 0 .5rem; }
  .nph-woocommerce .woocommerce-cart-form table.cart td.product-thumbnail img { width: 200px; height: 128px; }
}
@media (max-width: 900px) {
  .nph-woocommerce .woocommerce form.checkout.woocommerce-checkout { grid-template-columns: minmax(0, 1fr); }
  .nph-woocommerce .woocommerce form.checkout #customer_details { grid-column: 1; grid-row: auto; margin-bottom: 1.5rem; }
  .nph-woocommerce .woocommerce form.checkout .nph-checkout-summary { grid-column: 1; }
  .nph-woocommerce .woocommerce form.checkout :is(#order_review_heading, #order_review) { grid-column: 1; }
  .nph-commerce-footer-inner { gap: 2rem; }
  .nph-commerce-footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .nph-commerce-header-inner { min-height: 96px; gap: .75rem; padding-block: .5rem; }
  .nph-commerce-help { flex-direction: column; align-items: flex-end; gap: 0; }
  .nph-commerce-help > a:first-child { min-height: 36px; font-size: .75rem; }
  .nph-commerce-main { padding-block: 1.5rem 2.5rem; }
  .nph-commerce-title { gap: .75rem; margin-bottom: 1.5rem; }
  .nph-commerce-title nav { width: 100%; }
  .nph-commerce-progress { gap: 1.25rem; }
  .nph-woocommerce .woocommerce form.checkout #customer_details { padding: 1.25rem 1rem; }
  .nph-woocommerce .woocommerce form.checkout #order_review_heading { padding: 1.25rem 1rem 1rem; }
  .nph-woocommerce .woocommerce form.checkout #order_review { padding: 0 1rem 1rem; }
  .nph-woocommerce .woocommerce #order_review .product-name { padding-right: .65rem; }
  .nph-woocommerce .woocommerce table.shop_table :is(th, td) { padding: .85rem .5rem; }
  .nph-woocommerce .woocommerce table.shop_table td.product-name dl.variation { font-size: .75rem; column-gap: .4rem; }
  .nph-woocommerce .woocommerce table.shop_table_responsive tr td.product-name { text-align: left !important; }
  .nph-woocommerce .woocommerce .cart-collaterals .cart_totals { width: 100%; padding: 1rem; }
  .nph-woocommerce .woocommerce-cart-form table.cart td.actions .coupon { width: 100%; flex-direction: column; }
  .nph-woocommerce .woocommerce-cart-form table.cart td.actions .coupon :is(.input-text, .button) { flex: 0 0 auto; width: 100%; }
  .nph-woocommerce .woocommerce form .form-row { float: none; width: 100%; }
  .nph-checkout-information { grid-template-columns: 1fr; gap: 1.25rem; margin-top: 2rem; }
  .nph-checkout-information > div { grid-template-columns: minmax(0, 1fr); }
  .nph-checkout-information > div a { justify-self: start; margin-top: .2rem; }
  .nph-commerce-footer-inner { grid-template-columns: minmax(0, 1fr); }
  .nph-commerce-footer-links { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .25rem .75rem; }
}

/* Native Woo sign-in, registration, password reset and account pages. */
body.nph-account { background:#111317;color:#f6f6f4;--nph-line:#454b56; }
.nph-account .nph-commerce-main { background:#111317; }
.nph-account .nph-commerce-title h1 { color:#f6f6f4; }
.nph-account .woocommerce { color:#f6f6f4; }
.nph-account .woocommerce a:not(.button):not(.remove) { color:#ffd175; }
.nph-account .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) { color:#f6f6f4;background:#1b2026;border:1px solid #454b56;border-top-color:#ffb400;border-radius:10px; }
.nph-account .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error)::before { color:#ffb400; }
.nph-account .woocommerce::before,.nph-account .woocommerce::after,
.nph-account .woocommerce .col2-set::before,.nph-account .woocommerce .col2-set::after { display:none;content:none; }
.nph-account .woocommerce #customer_login,.nph-account .woocommerce .woocommerce-Addresses { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem; }
.nph-account .woocommerce .col2-set > :is(.col-1,.col-2) { float:none;width:auto;min-width:0; }
.nph-account .woocommerce .col2-set h2 { margin-top:0; }
.nph-account .woocommerce form.login,.nph-account .woocommerce form.register,
.nph-account .woocommerce form.lost_reset_password,.nph-account .woocommerce form.edit-account,
.nph-account .woocommerce .woocommerce-Address address,.nph-account-welcome { padding:clamp(1.25rem,3vw,2rem);border:1px solid var(--nph-line);border-radius:12px;background:#20242b;color:#f6f6f4; }
.nph-account .woocommerce form.login,.nph-account .woocommerce form.register { margin:0; }
.nph-account .woocommerce .woocommerce-MyAccount-navigation { float:none;width:15rem; }
.nph-account .woocommerce .woocommerce-MyAccount-content { float:none;width:auto;min-width:0;flex:1; }
.nph-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { display:flex;align-items:flex-start;gap:2rem; }
.nph-account .woocommerce-MyAccount-navigation ul { margin:0;padding:6px;list-style:none;border:1px solid var(--nph-line);border-radius:12px;background:#1b2026; }
.nph-account .woocommerce-MyAccount-navigation li+li { border-top:1px solid #343a44; }
.nph-account .woocommerce-MyAccount-navigation a { display:block;padding:.9rem 1rem;text-decoration:none;border-left:3px solid transparent;color:#f6f6f4; }
.nph-account .woocommerce-MyAccount-navigation .is-active a { border-left-color:#ffb400;background:#2a3038;color:#ffd175;font-weight:750; }
.nph-account .woocommerce-MyAccount-navigation a:hover { background:#252b33;text-decoration:none; }
.nph-account-intro,.nph-account-return { max-width:65ch;line-height:1.75;margin:0 0 2rem; }
.nph-account-checkout-help { font-size:.875rem;line-height:1.6; }
.nph-account .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button { margin:.2rem .2rem .2rem 0;padding:.7rem 1rem;font-size:.8125rem; }
.nph-account .woocommerce-MyAccount-content > :first-child { margin-top:0; }
.nph-account .woocommerce-password-strength { border-radius:6px;font-size:.875rem; }
.nph-account .woocommerce form .show-password-input { top:.65rem; }
.nph-account .woocommerce form .form-row label { display:block; }
.nph-account .woocommerce form .form-row label:has(input[type=checkbox]) { display:inline-flex;align-items:center;gap:.5rem; }
.nph-account .woocommerce form .form-row input.input-text { width:100%; }
.nph-account .woocommerce form fieldset { margin:1.5rem 0;padding:1rem;border:1px solid var(--nph-line);border-radius:8px; }
.nph-account .woocommerce table.shop_table { background:#20242b;color:#f6f6f4;border-color:#454b56; }
.nph-account .woocommerce table.shop_table :is(th,td) { border-color:#454b56; }
.nph-account .woocommerce .woocommerce-orders-table__cell-order-actions .button,
.nph-account .nph-account-welcome .button { background:#ffb400;border-color:#ffb400;color:#151515; }
.nph-account .woocommerce .woocommerce-customer-details address { background:#20242b;color:#f6f6f4;border-color:#454b56; }
.nph-account .woocommerce .nph-order-documents { background:#1b2026;color:#f6f6f4;border-color:#454b56;border-top-color:#ffb400; }
.nph-account .woocommerce .nph-order-documents .nph-order-documents-help { color:#c5cbd4; }
.nph-account .woocommerce .nph-order-documents .button { background:#ffb400;border-color:#ffb400;color:#151515; }
.nph-account .woocommerce .nph-document-approved { display:flex;align-items:center;gap:.75rem;color:#b3edc7; }
.nph-account .woocommerce .nph-document-approved > span { display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:50%;background:#254437;color:#b3edc7;font-weight:800; }
.nph-account .woocommerce-MyAccount-content > .woocommerce-info:has(.button) { display:flex;align-items:center;gap:1rem;min-height:72px; }
.nph-account .woocommerce-MyAccount-content > .woocommerce-info:has(.button) .button { float:none;flex:0 0 auto;margin:0 0 0 auto; }
.nph-account .woocommerce-order-details table .wc-item-meta { padding-left:0;list-style:none; }
.nph-account .woocommerce-order-details table .wc-item-meta li { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:.5rem;margin:.5rem 0;font-size:.875rem; }
.nph-account .woocommerce-order-details table .wc-item-meta li :is(strong,p) { float:none;margin:0;overflow-wrap:anywhere; }
@media(max-width:760px) {
 .nph-account .woocommerce #customer_login,.nph-account .woocommerce .woocommerce-Addresses { grid-template-columns:1fr; }
 .nph-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { flex-direction:column;gap:1.5rem; }
 .nph-account .woocommerce .woocommerce-MyAccount-navigation,.nph-account .woocommerce .woocommerce-MyAccount-content { width:100%; }
 .nph-account .woocommerce-MyAccount-navigation ul { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px; }
 .nph-account .woocommerce-MyAccount-navigation li,.nph-account .woocommerce-MyAccount-navigation li+li { min-width:0;border:1px solid #454b56;border-radius:7px; }
 .nph-account .woocommerce-MyAccount-navigation a { display:flex;align-items:center;min-height:50px;padding:.7rem .8rem;border-left:0;border-bottom:3px solid transparent;line-height:1.25;overflow-wrap:anywhere; }
 .nph-account .woocommerce-MyAccount-navigation .is-active a { border-left:0;border-bottom-color:#ffb400; }
 .nph-account .woocommerce-MyAccount-content > .woocommerce-info:has(.button) { flex-direction:column;align-items:flex-start; }
 .nph-account .woocommerce-MyAccount-content > .woocommerce-info:has(.button) .button { width:100%;margin:.35rem 0 0;text-align:center; }
}
.nph-account .nph-account-intro { margin-bottom:2rem; }
.nph-account .woocommerce #customer_login > div { display:flex;flex-direction:column; }
.nph-account .woocommerce #customer_login > div > form { flex:1; }
.nph-account .woocommerce form.register > p,.nph-account .woocommerce-MyAccount-content > p { margin-bottom:1rem; }
.nph-account .nph-account-welcome :is(h2,p) { margin-bottom:1rem; }
@media(max-width:600px) {
 .nph-commerce-header-inner { flex-wrap:wrap;gap:.4rem;padding-top:1rem; }
 .nph-commerce-help { width:100%;flex-direction:row;justify-content:space-between;align-items:center;gap:.75rem; }
}

/* Cart, checkout, confirmation and account share one dark commerce system. */
body.nph-woocommerce { background:#111317;color:#f6f6f4;--nph-line:#454b56; }
.nph-woocommerce .nph-commerce-main { background:#111317; }
.nph-woocommerce .nph-commerce-title h1,
.nph-woocommerce .woocommerce { color:#f6f6f4; }
.nph-woocommerce .woocommerce a:not(.button):not(.remove) { color:#ffd175; }
.nph-woocommerce .nph-commerce-progress { color:#c5cbd4; }
.nph-woocommerce .nph-commerce-progress li[aria-current] { color:#f6f6f4; }
.nph-woocommerce .nph-commerce-progress li > span,
.nph-woocommerce .nph-commerce-progress a > span { background:#333943;color:#f6f6f4; }
.nph-woocommerce .woocommerce ul.woocommerce-order-overview,
.nph-woocommerce .woocommerce table.shop_table,
.nph-woocommerce .woocommerce :is(.cart_totals,.woocommerce-customer-details address),
.nph-woocommerce .woocommerce form.checkout #customer_details,
.nph-woocommerce .woocommerce form.checkout :is(#order_review_heading,#order_review),
.nph-woocommerce .woocommerce form.checkout_coupon,
.nph-woocommerce .wc-block-components-sidebar { background:#20242b;color:#f6f6f4;border-color:#454b56; }
.nph-woocommerce .woocommerce form.checkout #order_review_heading,
.nph-woocommerce .wc-block-components-sidebar { border-top-color:#ffb400; }
.nph-woocommerce .woocommerce ul.woocommerce-order-overview li,
.nph-woocommerce .woocommerce-order .wc-item-meta li strong,
.nph-woocommerce .woocommerce #order_review table thead th,
.nph-woocommerce .woocommerce .product-quantity,
.nph-woocommerce .woocommerce table.shop_table td.product-name dl.variation dt,
.nph-woocommerce .woocommerce .cart_totals .woocommerce-shipping-destination,
.nph-woocommerce .nph-checkout-information span,
.nph-woocommerce .nph-warranty-included > span,
.nph-woocommerce .nph-warranty-choice > span > span,
.nph-woocommerce .nph-warranty-terms { color:#c5cbd4; }
.nph-woocommerce .woocommerce ul.woocommerce-order-overview li strong,
.nph-woocommerce .woocommerce-order .wc-item-meta li p,
.nph-woocommerce .woocommerce table.shop_table td.product-name dl.variation dd,
.nph-woocommerce .woocommerce-cart-form table.cart a.remove .nph-remove-label { color:#f6f6f4; }
.nph-woocommerce .woocommerce table.shop_table .order-total :is(th,td) { border-top-color:#f6f6f4; }
.nph-woocommerce .nph-order-documents { background:#1b2026;color:#f6f6f4;border-color:#454b56;border-top-color:#ffb400; }
.nph-woocommerce .nph-order-step { color:#ffd175; }
.nph-woocommerce .nph-order-documents .nph-order-documents-help { color:#c5cbd4; }
.nph-woocommerce .woocommerce-order > .nph-account-return { margin-bottom:0;padding-bottom:2.25rem; }
.nph-woocommerce .nph-warranty-option { background:#1b2026;border-color:#454b56; }
.nph-woocommerce .nph-warranty-choice { border-top-color:#454b56; }
.nph-woocommerce .nph-warranty-option:has(input:checked) { background:#29271f;border-color:#ffb400; }
.nph-woocommerce .nph-basket-reassurance > svg { color:#ffd175; }
.nph-woocommerce .nph-basket-reassurance a { color:#c5cbd4; }
.nph-woocommerce .woocommerce #payment { background:#1b2026;color:#f6f6f4; }
.nph-woocommerce .woocommerce #payment ul.payment_methods { border-color:#454b56; }
.nph-woocommerce .woocommerce #payment .payment_box { background:#2a3038;color:#f6f6f4; }
.nph-woocommerce .woocommerce #payment .payment_box::before { border-bottom-color:#2a3038; }
.nph-woocommerce .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error) { background:#1b2026;color:#f6f6f4;border-color:#454b56;border-left-color:#ffb400; }
.nph-woocommerce .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error)::before { color:#ffb400; }
.nph-woocommerce .woocommerce .woocommerce-error { border-left-color:#e06a60; }
.nph-woocommerce .woocommerce .woocommerce-error::before { color:#e06a60; }
.nph-woocommerce .woocommerce-cart-form table.cart a.remove:hover { background:#382521; }
.nph-woocommerce .woocommerce table.shop_table_responsive tr:nth-child(2n) td { background:transparent; }
@media(max-width:600px) {
 .nph-woocommerce .woocommerce-order table.order_details tbody td.product-total::before { color:#c5cbd4; }
}
