/* Accooler purchase flow. All rules are scoped to cart and checkout. */
.ns-purchase .ns-transaction {max-width:1320px;padding-top:36px;padding-bottom:72px}
.ns-purchase .ns-transaction h1 {font-size:42px;line-height:1.12;margin:14px 0 18px}
.ns-purchase .ns-purchase-intro {color:var(--muted);font-size:16px;line-height:1.6;margin:0 0 28px;max-width:65ch}
.ns-purchase .ns-page-content a {overflow-wrap:normal}
.ns-purchase .woocommerce form {min-width:0}
.ns-purchase .woocommerce table.shop_table {width:100%;border:0;border-collapse:collapse;border-radius:0;margin:0 0 20px;background:transparent;font-size:15px}
.ns-purchase .woocommerce table.shop_table th,
.ns-purchase .woocommerce table.shop_table td {padding:16px 10px;border:0;border-bottom:1px solid var(--line);vertical-align:middle;line-height:1.5;overflow-wrap:normal}
.ns-purchase .woocommerce table.shop_table thead th {padding-top:12px;padding-bottom:12px;color:var(--muted);font-size:13px;font-weight:800;background:transparent}
.ns-purchase .woocommerce .amount {white-space:nowrap;font-variant-numeric:tabular-nums}
.ns-purchase .woocommerce .button {min-height:48px;border-radius:5px;font-size:15px;line-height:1.4;white-space:normal;text-align:center;padding:12px 18px;box-shadow:none}
.ns-purchase .woocommerce .button:disabled,
.ns-purchase .woocommerce .button:disabled[disabled] {opacity:1;color:var(--muted);background:#e6e8df;border-color:var(--line);cursor:not-allowed;padding:12px 18px}
.ns-purchase .woocommerce input.input-text,
.ns-purchase .woocommerce textarea,
.ns-purchase .woocommerce select {font:400 16px/1.5 var(--body);color:var(--moss);background:var(--paper);border:1px solid #899789;border-radius:5px;min-height:48px;padding:11px 12px;max-width:100%;box-shadow:none}
.ns-purchase .woocommerce input:focus-visible,
.ns-purchase .woocommerce textarea:focus-visible,
.ns-purchase .woocommerce select:focus-visible,
.ns-purchase .woocommerce .button:focus-visible,
.ns-purchase .woocommerce a:focus-visible {outline:3px solid var(--clay);outline-offset:3px}
.ns-purchase .woocommerce .woocommerce-error,
.ns-purchase .woocommerce .woocommerce-info,
.ns-purchase .woocommerce .woocommerce-message {border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--moss);padding:16px 18px 16px 48px;line-height:1.55;font-size:15px;margin:0 0 20px}
.ns-purchase .woocommerce .woocommerce-error {border-color:var(--clay)}
.ns-purchase .woocommerce .woocommerce-error::before {color:var(--clay)}
.ns-purchase .woocommerce .woocommerce-info::before,
.ns-purchase .woocommerce .woocommerce-message::before {color:var(--moss)}
.ns-purchase .woocommerce .woocommerce-notices-wrapper:empty {display:none}
.ns-purchase .woocommerce .blockUI.blockOverlay {background:var(--cream)!important;opacity:.65!important}

/* Cart: items and order summary share one deliberate desktop row. */
.ns-purchase.woocommerce-cart .ns-page-content > .woocommerce {display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.ns-purchase.woocommerce-cart .ns-page-content > .woocommerce > :not(.woocommerce-cart-form):not(.cart-collaterals) {grid-column:1/-1}
.ns-purchase.woocommerce-cart .woocommerce-cart-form {margin:0;min-width:0}
.ns-purchase.woocommerce-cart table.cart .product-remove {width:42px;padding-left:0;padding-right:2px}
.ns-purchase.woocommerce-cart table.cart a.remove {display:grid;place-items:center;width:44px;height:44px;margin:0;border-radius:5px;color:var(--muted)!important;font-size:25px;line-height:1;text-decoration:none}
.ns-purchase.woocommerce-cart table.cart a.remove:hover {color:var(--clay)!important;background:#f4e5dc}
.ns-purchase.woocommerce-cart table.cart .product-thumbnail {width:90px;padding-left:4px;padding-right:12px}
.ns-purchase.woocommerce-cart table.cart .product-thumbnail img {width:76px;max-width:76px;height:76px;object-fit:contain;border-radius:5px;background:var(--paper)}
.ns-purchase.woocommerce-cart table.cart .product-name {font-size:15px;font-weight:700;min-width:0}
.ns-purchase.woocommerce-cart table.cart .product-name a {text-decoration:none;display:inline-block;line-height:1.5;overflow-wrap:anywhere}
.ns-purchase.woocommerce-cart table.cart .product-price {width:78px}
.ns-purchase.woocommerce-cart table.cart .product-quantity {width:90px}
.ns-purchase.woocommerce-cart table.cart .quantity .qty {width:68px;min-height:48px;padding:10px 6px;text-align:center}
.ns-purchase.woocommerce-cart table.cart .product-subtotal {text-align:right;padding-right:0;width:80px}
.ns-purchase.woocommerce-cart table.cart td.actions {padding:24px 0 0;border:0;background:transparent}
.ns-purchase.woocommerce-cart table.cart td.actions .coupon {display:flex;gap:8px;float:left;padding:0;max-width:100%}
.ns-purchase.woocommerce-cart table.cart td.actions .coupon .input-text {width:160px;margin:0;min-height:48px}
.ns-purchase.woocommerce-cart table.cart td.actions .coupon .button {float:none;margin:0}
.ns-purchase.woocommerce-cart table.cart td.actions > .button {float:right;margin:0 0 0 10px}
.ns-purchase.woocommerce-cart .cart-collaterals {min-width:0;margin-top:32px;width:100%}
.ns-purchase.woocommerce-cart .cart-collaterals .cart_totals {width:100%;float:none;margin:0;padding:26px;border:1px solid var(--line);border-radius:8px;background:var(--sage)}
.ns-purchase.woocommerce-cart .cart_totals h2 {font-size:24px;line-height:1.25;margin:0 0 18px}
.ns-purchase.woocommerce-cart .cart_totals table th {width:34%;font-size:14px;vertical-align:top;padding-left:0}
.ns-purchase.woocommerce-cart .cart_totals table td {padding-right:0;text-align:right;font-size:15px;vertical-align:top;background:transparent}
.ns-purchase.woocommerce-cart .cart_totals .shipping-calculator-form {text-align:left}
.ns-purchase.woocommerce-cart .cart_totals .shipping-calculator-button {display:inline-flex;align-items:center;min-height:44px;margin-top:6px}
.ns-purchase .woocommerce ul#shipping_method {margin:0;padding:0}
.ns-purchase .woocommerce ul#shipping_method li {padding:0;margin:0;line-height:1.5;font-size:14px;font-weight:400}
.ns-purchase.woocommerce-cart .woocommerce-shipping-destination {font-size:13px;line-height:1.5;margin:10px 0 0;color:var(--muted)}
.ns-purchase .woocommerce .order-total th,
.ns-purchase .woocommerce .order-total td {padding-top:20px;padding-bottom:20px;border-bottom:0;font-size:19px!important;color:var(--moss)}
.ns-purchase.woocommerce-cart .wc-proceed-to-checkout {padding:0}
.ns-purchase.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {display:flex;width:100%;margin:14px 0 12px;padding:15px 18px;background:var(--moss);border-color:var(--moss);color:var(--cream);font-size:16px;min-height:54px}
.ns-purchase.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {background:var(--clay);border-color:var(--clay)}
.ns-purchase .ns-cart-help {font-size:13px;line-height:1.55;color:var(--muted);margin:0}
.ns-purchase.woocommerce-cart .cart-empty {margin:0 0 18px}
.ns-purchase.woocommerce-cart .return-to-shop {margin:0}

/* Checkout: keep native controls, selectors, fragment updates and tab order. */
.ns-purchase.woocommerce-checkout form.checkout {display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:start;margin-top:28px}
.ns-purchase.woocommerce-checkout form.checkout::before,
.ns-purchase.woocommerce-checkout form.checkout::after {display:none}
.ns-purchase.woocommerce-checkout #customer_details,
.ns-purchase.woocommerce-checkout #order_review_heading,
.ns-purchase.woocommerce-checkout #order_review {width:auto;float:none;min-width:0}
.ns-purchase.woocommerce-checkout #customer_details {margin:0 0 32px}
.ns-purchase.woocommerce-checkout #customer_details .col-1,
.ns-purchase.woocommerce-checkout #customer_details .col-2 {float:none;width:100%;min-width:0}
.ns-purchase.woocommerce-checkout .woocommerce-billing-fields h3,
.ns-purchase.woocommerce-checkout .woocommerce-additional-fields h3 {font-size:24px;line-height:1.3;margin:0 0 24px}
.ns-purchase.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.ns-purchase.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px}
.ns-purchase.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row,
.ns-purchase.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row {grid-column:1/-1;float:none;width:100%;margin:0;padding:0;min-width:0}
.ns-purchase.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first,
.ns-purchase.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last,
.ns-purchase.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-first,
.ns-purchase.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper > .form-row-last {grid-column:auto}
.ns-purchase.woocommerce-checkout .woocommerce-input-wrapper {display:block;width:100%;min-width:0}
.ns-purchase.woocommerce-checkout .woocommerce form .form-row label {font-size:14px;line-height:1.5;font-weight:700;margin-bottom:7px}
.ns-purchase.woocommerce-checkout .woocommerce form .form-row .required {color:var(--clay);text-decoration:none}
.ns-purchase.woocommerce-checkout .woocommerce form .form-row input.input-text,
.ns-purchase.woocommerce-checkout .woocommerce form .form-row textarea {width:100%;line-height:1.5}
.ns-purchase.woocommerce-checkout .woocommerce form .form-row textarea {min-height:104px;resize:vertical}
.ns-purchase.woocommerce-checkout .woocommerce form .form-row .woocommerce-input-wrapper > strong {display:flex;align-items:center;min-height:48px;font-size:16px;font-weight:400}
.ns-purchase.woocommerce-checkout #customer_details .select2-container {max-width:100%;width:100%!important}
.ns-purchase.woocommerce-checkout .select2-container--default .select2-selection--single {height:48px;min-height:48px;border:1px solid #899789;border-radius:5px;background:var(--paper)}
.ns-purchase.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered {padding:0 36px 0 12px;line-height:46px;color:var(--moss);font-size:16px}
.ns-purchase.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {height:46px;top:0;right:8px}
.ns-purchase.woocommerce-checkout .select2-container--focus .select2-selection,
.ns-purchase.woocommerce-checkout .select2-container--open .select2-selection {outline:3px solid var(--clay);outline-offset:3px}
.ns-purchase.woocommerce-checkout .select2-dropdown {border-color:#899789;background:var(--paper);font-size:16px}
.ns-purchase.woocommerce-checkout .select2-results__option {padding:11px 12px;min-height:44px}
.ns-purchase.woocommerce-checkout #ship-to-different-address {font:700 16px/1.5 var(--body);letter-spacing:0;margin:26px 0 18px}
.ns-purchase.woocommerce-checkout #ship-to-different-address label {display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.ns-purchase.woocommerce-checkout input[type=checkbox] {accent-color:var(--moss);width:20px;height:20px;min-height:20px;flex-shrink:0;margin:0 8px 0 0;vertical-align:middle}
.ns-purchase.woocommerce-checkout .woocommerce-additional-fields {margin-top:24px}
.ns-purchase.woocommerce-checkout #order_review_heading {font-size:24px;line-height:1.3;margin:0;padding:24px 26px 16px;background:var(--sage);border:1px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0}
.ns-purchase.woocommerce-checkout #order_review {margin:0;padding:0 26px 26px;background:var(--sage);border:1px solid var(--line);border-top:0;border-radius:0 0 8px 8px}
.ns-purchase.woocommerce-checkout #order_review table {margin:0 0 18px;table-layout:fixed}
.ns-purchase.woocommerce-checkout #order_review table th,
.ns-purchase.woocommerce-checkout #order_review table td {padding:14px 0;vertical-align:top;font-size:14px;background:transparent}
.ns-purchase.woocommerce-checkout #order_review table th:first-child,
.ns-purchase.woocommerce-checkout #order_review table td:first-child {width:61%;padding-right:18px;text-align:left}
.ns-purchase.woocommerce-checkout #order_review table th:last-child,
.ns-purchase.woocommerce-checkout #order_review table td:last-child {text-align:right}
.ns-purchase.woocommerce-checkout #order_review .product-name {overflow-wrap:anywhere;font-weight:600}
.ns-purchase.woocommerce-checkout #order_review .product-quantity {white-space:nowrap;font-weight:700}
.ns-purchase.woocommerce-checkout #order_review .woocommerce-shipping-totals td {font-weight:400}
.ns-purchase.woocommerce-checkout #order_review .woocommerce-shipping-totals th {width:36%}
.ns-purchase.woocommerce-checkout #order_review ul#shipping_method li {font-size:13px}
.ns-purchase.woocommerce-checkout #payment {background:transparent;border-radius:0;margin-top:24px;min-width:0}
.ns-purchase.woocommerce-checkout #payment ul.payment_methods {border:0;border-top:1px solid #b8c5b2;padding:20px 0 0;margin:0;list-style:none}
.ns-purchase.woocommerce-checkout #payment ul.payment_methods > li {padding:0;line-height:1.5;font-size:16px;font-weight:800;list-style:none}
.ns-purchase.woocommerce-checkout #payment div.payment_box {background:transparent;color:var(--muted);padding:0;margin:8px 0 0;font-size:14px;line-height:1.5}
.ns-purchase.woocommerce-checkout #payment div.payment_box::before {display:none}
.ns-purchase.woocommerce-checkout #payment div.payment_box p {margin:0}
.ns-purchase.woocommerce-checkout #payment .place-order {padding:18px 0 0;margin:0;float:none;width:100%}
.ns-purchase.woocommerce-checkout .woocommerce-privacy-policy-text {font-size:13px;line-height:1.55;color:var(--muted)}
.ns-purchase.woocommerce-checkout .woocommerce-privacy-policy-text p {margin:0 0 16px}
.ns-purchase.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper .form-row {margin:0 0 20px}
.ns-purchase.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.checkbox {font-size:14px;line-height:1.6;font-weight:400;min-height:44px;cursor:pointer}
.ns-purchase.woocommerce-checkout #payment .woocommerce-error {margin-top:16px}
.ns-purchase.woocommerce-checkout #place_order {background:var(--moss);border-color:var(--moss);color:var(--cream);margin:10px 0 0}
.ns-purchase.woocommerce-checkout form.checkout_coupon,
.ns-purchase.woocommerce-checkout form.woocommerce-form-login {border:1px solid var(--line);background:var(--paper);padding:22px;border-radius:6px;margin:0 0 24px}
.ns-purchase.woocommerce-checkout .woocommerce-invalid input.input-text,
.ns-purchase.woocommerce-checkout .woocommerce-invalid .select2-selection {border-color:var(--clay)!important}
.ns-purchase .ns-checkout-policies {border-top:1px solid #b8c5b2;padding-top:20px}
.ns-purchase .ns-checkout-policies h3 {font-size:18px;line-height:1.35;letter-spacing:-.02em;margin:0 0 16px}
.ns-purchase .ns-checkout-policies ul {margin:0;padding:0;list-style:none}
.ns-purchase .ns-checkout-policies li {margin:0;padding:0}
.ns-purchase .ns-checkout-policies a {display:flex;align-items:center;min-height:44px;padding:10px 0;font-size:14px;line-height:1.4;font-weight:800;color:var(--moss);text-underline-offset:3px;text-decoration-thickness:1px}
.ns-purchase.woocommerce-cart .ns-chat {position:relative;inset:auto;display:flex;justify-content:flex-end;margin:20px var(--gutter)}
.ns-purchase.woocommerce-cart .ns-footer-bottom {padding-bottom:24px}

@media(min-width:960px) {
    .ns-purchase.woocommerce-checkout form.checkout {grid-template-columns:minmax(0,1.1fr) minmax(360px,1fr);grid-template-rows:min-content 1fr;column-gap:48px;row-gap:0}
    .ns-purchase.woocommerce-checkout #customer_details {grid-column:1;grid-row:1/span 2;margin:0}
    .ns-purchase.woocommerce-checkout #order_review_heading {grid-column:2;grid-row:1}
    .ns-purchase.woocommerce-checkout #order_review {grid-column:2;grid-row:2}
    .ns-purchase.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup {grid-column:1/-1;grid-row:1}
    .ns-purchase.woocommerce-checkout form.checkout:has(> .woocommerce-NoticeGroup) {grid-template-rows:min-content min-content 1fr}
    .ns-purchase.woocommerce-checkout form.checkout:has(> .woocommerce-NoticeGroup) #customer_details {grid-row:2/span 2}
    .ns-purchase.woocommerce-checkout form.checkout:has(> .woocommerce-NoticeGroup) #order_review_heading {grid-row:2}
    .ns-purchase.woocommerce-checkout form.checkout:has(> .woocommerce-NoticeGroup) #order_review {grid-row:3}
}
@media(min-width:1100px) {
    .ns-purchase.woocommerce-cart .ns-page-content > .woocommerce {grid-template-columns:minmax(0,1.7fr) minmax(330px,1fr);column-gap:36px;align-items:start}
    .ns-purchase.woocommerce-cart .cart-collaterals {margin-top:0}
}
@media(max-width:800px) {
    .ns-purchase .ns-transaction {padding-top:24px;padding-bottom:44px}
    .ns-purchase .ns-transaction h1 {font-size:34px;margin-bottom:14px}
    .ns-purchase .ns-purchase-intro {font-size:16px;margin-bottom:24px}
    .ns-purchase .woocommerce table.shop_table td {background:transparent}
    .ns-purchase.woocommerce-cart table.cart {display:block;margin:0}
    .ns-purchase.woocommerce-cart table.cart thead {display:none}
    .ns-purchase.woocommerce-cart table.cart tbody {display:block}
    .ns-purchase.woocommerce-cart table.cart .cart_item {display:grid;grid-template-columns:76px minmax(0,1fr) 44px;grid-template-areas:'image name remove' 'image price price' 'quantity quantity subtotal';gap:6px 12px;padding:20px 0;border-top:1px solid var(--line);border-bottom:0;align-items:start;background:transparent}
    .ns-purchase.woocommerce-cart table.cart .cart_item > td,
    .ns-purchase.woocommerce-cart table.cart .cart_item > th {display:block;min-width:0;width:auto;padding:0;border:0;text-align:left!important;background:transparent!important}
    .ns-purchase.woocommerce-cart table.cart .cart_item > td::before,
    .ns-purchase.woocommerce-cart table.cart .cart_item > th::before {display:none}
    .ns-purchase.woocommerce-cart table.cart .product-remove {grid-area:remove;justify-self:end}
    .ns-purchase.woocommerce-cart table.cart .product-thumbnail {grid-area:image}
    .ns-purchase.woocommerce-cart table.cart .product-thumbnail img {width:76px;height:76px;max-width:76px}
    .ns-purchase.woocommerce-cart table.cart .product-name {grid-area:name;font-size:15px;line-height:1.5;padding-top:3px}
    .ns-purchase.woocommerce-cart table.cart .product-price {grid-area:price;font-size:14px;color:var(--muted)}
    .ns-purchase.woocommerce-cart table.cart .product-price::after {content:' each';font-size:13px}
    .ns-purchase.woocommerce-cart table.cart .cart_item > .product-quantity {grid-area:quantity;display:flex;align-items:center;gap:12px;padding-top:10px}
    .ns-purchase.woocommerce-cart table.cart .cart_item > .product-quantity::before {content:'Quantity';display:block;float:none;font-size:14px;font-weight:700}
    .ns-purchase.woocommerce-cart table.cart .cart_item > .product-subtotal {grid-area:subtotal;justify-self:end;padding-top:10px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;min-height:58px;font-weight:800}
    .ns-purchase.woocommerce-cart table.cart .cart_item > .product-subtotal::before {content:'Item total';display:block;float:none;white-space:nowrap;font-size:12px;font-weight:400;color:var(--muted)}
    .ns-purchase.woocommerce-cart table.cart tr:has(> td.actions) {display:block}
    .ns-purchase.woocommerce-cart table.cart td.actions {display:block;padding:20px 0 0;border-top:1px solid var(--line)}
    .ns-purchase.woocommerce-cart table.cart td.actions::before {display:none}
    .ns-purchase.woocommerce-cart table.cart td.actions .coupon {float:none;width:100%;margin:0 0 12px}
    .ns-purchase.woocommerce-cart table.cart td.actions .coupon .input-text {flex:1;min-width:0;width:0}
    .ns-purchase.woocommerce-cart table.cart td.actions .coupon .button {width:auto;flex:0 0 auto;font-size:14px;padding-inline:14px}
    .ns-purchase.woocommerce-cart table.cart td.actions > .button {float:none;margin:0;width:100%}
    .ns-purchase.woocommerce-cart .cart-collaterals {margin-top:28px}
    .ns-purchase.woocommerce-cart .cart-collaterals .cart_totals {padding:20px}
    .ns-purchase.woocommerce-cart .cart_totals table tr {display:table-row}
    .ns-purchase.woocommerce-cart .cart_totals table th {display:table-cell;padding-right:12px}
    .ns-purchase.woocommerce-cart .cart_totals table td {display:table-cell;text-align:right!important}
    .ns-purchase.woocommerce-cart .cart_totals table td::before {display:none}
    .ns-purchase.woocommerce-cart .cart_totals table tr:nth-child(2n) td {background:transparent}
    .ns-purchase.woocommerce-checkout #order_review_heading {padding:22px 20px 12px}
    .ns-purchase.woocommerce-checkout #order_review {padding:0 20px 22px}
    .ns-purchase.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
    .ns-purchase.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper {grid-template-columns:minmax(0,1fr);gap:18px}
    .ns-purchase.woocommerce-checkout #order_review table th:first-child,
    .ns-purchase.woocommerce-checkout #order_review table td:first-child {width:56%;padding-right:12px}
    .ns-purchase.woocommerce-checkout .woocommerce-billing-fields h3 {font-size:23px}
    .ns-purchase .woocommerce .woocommerce-message .button {float:none;display:flex;width:100%;margin:0 0 12px}
}
@media(prefers-reduced-motion:reduce) {
    .ns-purchase .woocommerce *, .ns-purchase .woocommerce *::before, .ns-purchase .woocommerce *::after {transition:none!important;animation:none!important}
}
