/*
 * NGS Sample Order — stylesheet
 * Rebuilt 2.4.0 to match the NextGen Surfaces site design system (v2):
 * square corners, Archivo headings, Figtree body, teal #00b5bd on near-black.
 * Tokens fall back to literals so the flow still looks right if the sitewide
 * v2 stylesheet is not on the page (admin previews, other themes).
 */

.ngs-cart-wrap,.ngs-checkout-wrap,.ngs-review-wrap,.ngs-payment-wrap,.ngs-complete-wrap,
.ngs-modal-overlay,.ngs-sample-btn-wrap{
  --nk:#0a0a0a; --nk2:#1b1f20; --mut:#5b6466; --line:#e4e3df; --ground:#faf8f5; --tint:#f1f2f0;
  --acc:#00b5bd; --accd:#00757c; --err:#b3261e; --ok:#16a34a;
  --grad:linear-gradient(135deg,#00b5bd,#0076bd);
  --hd:Archivo,"Helvetica Neue",Arial,sans-serif;
  --bd:Figtree,"Helvetica Neue",Arial,sans-serif;
  --wrap:1280px;
}

/* ───────── shared shell ───────── */
.ngs-cart-wrap,.ngs-checkout-wrap,.ngs-review-wrap,.ngs-payment-wrap,.ngs-complete-wrap{
  font-family:var(--bd);color:var(--nk);max-width:var(--wrap);margin:0 auto;
  padding:0 24px 72px;-webkit-font-smoothing:antialiased;box-sizing:border-box}
.ngs-cart-wrap *,.ngs-checkout-wrap *,.ngs-review-wrap *,.ngs-payment-wrap *,
.ngs-complete-wrap *,.ngs-modal-overlay *{box-sizing:border-box}
.ngs-cart-wrap img,.ngs-checkout-wrap img,.ngs-review-wrap img,.ngs-payment-wrap img{max-width:100%;height:auto;display:block}

/* flow header: eyebrow + title + step rail */
.ngs-flow{padding:40px 0 30px;border-bottom:1px solid var(--line);margin-bottom:36px}
.ngs-flow__crumbs{font-size:13px;font-weight:600;color:var(--mut);display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.ngs-flow__crumbs a{color:var(--mut);text-decoration:none}
.ngs-flow__crumbs a:hover{color:var(--nk)}
.ngs-flow__crumbs b{color:var(--nk);font-weight:700}
.ngs-flow__kick,.ngs-payment-eyebrow,.ngs-review-banner-eyebrow{
  font-family:var(--bd);font-size:12px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accd);margin:0 0 10px}
.ngs-page-title,.ngs-flow__t,.ngs-review-banner-title,.ngs-payment-title,.ngs-complete-wrap h1{
  font-family:var(--hd);font-stretch:118%;font-weight:900;text-transform:uppercase;
  letter-spacing:-.012em;line-height:.96;color:var(--nk);
  font-size:clamp(30px,4.4vw,56px);margin:0;text-align:left}
.ngs-flow__sub,.ngs-review-banner-sub,.ngs-payment-sub{
  font-size:17px;line-height:1.55;color:var(--mut);margin:14px 0 0;max-width:62ch}
.ngs-steps{display:flex;gap:0;margin-top:26px;flex-wrap:wrap}
.ngs-step{display:flex;align-items:center;gap:9px;padding:0 20px 0 0;margin-right:20px;
  border-right:1px solid var(--line);font-size:13px;font-weight:700;color:#9aa3a3;letter-spacing:.02em}
.ngs-step:last-child{border-right:0;margin-right:0;padding-right:0}
.ngs-step i{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;
  background:var(--tint);color:#9aa3a3;font-style:normal;font-size:11px;font-weight:800;flex:0 0 auto}
.ngs-step--on{color:var(--nk)}
.ngs-step--on i{background:var(--nk);color:#fff}
.ngs-step--done{color:var(--accd)}
.ngs-step--done i{background:var(--acc);color:#fff}

/* ───────── buttons ───────── */
.ngs-btn-primary,.ngs-btn-secondary,.ngs-checkout-submit,.ngs-pay-btn,.ngs-pay-submit-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--bd);font-size:15px;font-weight:700;letter-spacing:.01em;
  padding:15px 26px;border-radius:0;border:1.5px solid var(--nk);cursor:pointer;
  text-decoration:none;line-height:1;transition:background .2s ease,color .2s ease,border-color .2s ease;
  text-transform:none}
.ngs-btn-primary,.ngs-checkout-submit,.ngs-pay-btn,.ngs-pay-submit-btn{background:var(--nk);color:#fff}
.ngs-btn-primary:hover,.ngs-checkout-submit:hover,.ngs-pay-btn:hover,.ngs-pay-submit-btn:hover{
  background:var(--acc);border-color:var(--acc);color:#fff}
.ngs-btn-secondary{background:transparent;color:var(--nk)}
.ngs-btn-secondary:hover{background:var(--nk);color:#fff}
.ngs-btn-primary[disabled],.ngs-pay-submit-btn[disabled],.ngs-checkout-submit[disabled]{opacity:.55;cursor:default}
.ngs-btn-primary svg,.ngs-btn-secondary svg,.ngs-pay-btn svg,.ngs-pay-submit-btn svg{flex:0 0 auto}

/* Order Sample button on the product page — matches the v2 outline button */
.ngs-sample-btn-wrap{margin:0 0 10px}
.ngs-order-sample-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  width:100%;background:#fff;color:var(--nk);font-family:var(--bd);font-size:15px;font-weight:700;
  letter-spacing:.01em;text-transform:none;padding:16px 24px;border:1.5px solid var(--nk);
  border-radius:0!important;cursor:pointer;line-height:1;
  transition:background .2s ease,color .2s ease,border-color .2s ease;box-shadow:none}
.ngs-order-sample-btn:hover{background:var(--nk);color:#fff;border-color:var(--nk)}

/* ───────── spinner / notices ───────── */
.ngs-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(10,10,10,.18);
  border-top-color:var(--acc);border-radius:50%;animation:ngsspin .7s linear infinite;vertical-align:-3px}
@keyframes ngsspin{to{transform:rotate(360deg)}}
.ngs-notice{padding:14px 18px;font-size:15px;line-height:1.5;border-left:3px solid var(--nk);background:var(--tint);margin:0 0 20px}
.ngs-notice-error{border-left-color:var(--err);background:#fdf2f1;color:#7a1c15}
.ngs-notice-warning{border-left-color:#c58a00;background:#fdf8ec;color:#6b4a00}
.ngs-notice-success{border-left-color:var(--ok);background:#f0fbf4;color:#12622f}
.ngs-notice a{color:inherit;font-weight:700}
.ngs-empty-state{padding:56px 0;text-align:center;color:var(--mut)}
.ngs-cart-loading-state{padding:48px 0;text-align:center;color:var(--mut);font-size:15px}

/* ───────── cart page ───────── */
.ngs-cart-table-wrap{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start}
.ngs-cart-table{width:100%;border-collapse:collapse;font-size:15px;background:#fff;border:1px solid var(--line)}
.ngs-cart-table th{font-family:var(--bd);font-size:11px;font-weight:800;letter-spacing:.11em;
  text-transform:uppercase;color:var(--mut);text-align:left;padding:14px 14px;border-bottom:1px solid var(--line);background:var(--tint)}
.ngs-cart-table td{padding:16px 14px;border-bottom:1px solid var(--line);vertical-align:middle}
.ngs-cart-table tbody tr:last-child td{border-bottom:0}
.ngs-cart-product-img{width:84px;height:84px;object-fit:cover;display:block;background:var(--tint)}
.ngs-cart-product-name{font-family:var(--hd);font-stretch:110%;font-weight:800;font-size:16px;line-height:1.25;color:var(--nk)}
.ngs-cart-sku{font-size:13px;color:var(--mut);font-weight:600}
.ngs-cart-price,.ngs-cart-qty,.ngs-cart-total{font-weight:700;font-size:15px;white-space:nowrap}
.ngs-cart-remove{background:none;border:0;padding:4px;cursor:pointer;color:#b9bfbf;line-height:0;transition:color .2s ease}
.ngs-cart-remove:hover{color:var(--err)}
.ngs-cart-totals-wrap{position:sticky;top:96px}
.ngs-cart-totals{border:1px solid var(--line);background:var(--ground);padding:24px}
.ngs-totals-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;
  padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.ngs-totals-row:last-child{border-bottom:0}
.ngs-totals-label{font-weight:700;color:var(--nk)}
.ngs-totals-row.grand-total{padding-top:16px;font-family:var(--hd);font-stretch:112%;font-weight:900;font-size:22px}
.ngs-totals-row.grand-total .ngs-totals-label{font:inherit}
.ngs-cart-actions{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-top:32px}
.ngs-cart-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;
  padding:0 5px;background:var(--acc);color:#fff;font-size:11px;font-weight:800;border-radius:9px}
.ngs-nav-cart-item a{position:relative}

/* similar / recently viewed */
.ngs-similar-section,#ngs-recently-viewed-section{margin-top:64px}
.ngs-similar-header{display:flex;align-items:center;gap:18px;margin-bottom:22px}
.ngs-similar-title{font-family:var(--bd);font-size:12px;font-weight:800;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accd);white-space:nowrap}
.ngs-similar-header-line{flex:1;height:1px;background:var(--line)}
.ngs-similar-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.ngs-similar-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  overflow:hidden;transition:border-color .25s ease,transform .25s ease}
.ngs-similar-card:hover{border-color:#cfd4d4;transform:translateY(-3px)}
.ngs-similar-card-img-link{display:block;aspect-ratio:1/1;overflow:hidden;background:var(--tint)}
.ngs-similar-card-img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.ngs-similar-card:hover .ngs-similar-card-img{transform:scale(1.05)}
.ngs-similar-card-img-placeholder{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;
  background:var(--tint);font-size:26px}
.ngs-similar-card-body{padding:14px;display:flex;flex-direction:column;gap:6px;flex:1}
.ngs-similar-card-name-link{text-decoration:none}
.ngs-similar-card-name{font-family:var(--hd);font-stretch:108%;font-weight:800;font-size:13px;
  line-height:1.25;text-transform:uppercase;color:var(--nk)}
.ngs-similar-card-sku{font-size:11px;color:var(--mut);font-weight:600;letter-spacing:.02em}
.ngs-similar-add-btn{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  background:#fff;color:var(--nk);border:1.5px solid var(--nk);border-radius:0;padding:10px 12px;
  font-family:var(--bd);font-size:12px;font-weight:700;cursor:pointer;line-height:1;
  transition:background .2s ease,color .2s ease}
.ngs-similar-add-btn:hover{background:var(--nk);color:#fff}

/* ───────── checkout ───────── */
.ngs-checkout-grid{display:grid;grid-template-columns:1fr 380px;gap:36px;align-items:start}
.ngs-checkout-main{min-width:0}
.ngs-checkout-rail{position:sticky;top:96px}
.ngs-checkout-cart-summary{border:1px solid var(--line);background:var(--ground)}
.ngs-checkout-cart-header{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 20px;background:var(--nk);color:#fff}
.ngs-checkout-cart-label{display:inline-flex;align-items:center;font-family:var(--bd);font-size:12px;
  font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ngs-checkout-edit-cart{color:#8fe9ee;font-size:12px;font-weight:700;text-decoration:none;letter-spacing:.04em}
.ngs-checkout-edit-cart:hover{color:#fff;text-decoration:underline}
.ngs-checkout-cart-items{padding:6px 20px}
.ngs-checkout-cart-item{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}
.ngs-checkout-cart-item:last-child{border-bottom:0}
.ngs-checkout-cart-item img,.ngs-checkout-cart-item-img{width:52px;height:52px;object-fit:cover;flex:0 0 auto;background:var(--tint)}
.ngs-checkout-cart-item-placeholder{width:52px;height:52px;background:var(--tint);flex:0 0 auto}
.ngs-checkout-cart-item-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.ngs-checkout-cart-item-info strong{font-family:var(--hd);font-stretch:108%;font-weight:800;font-size:13px;
  line-height:1.25;text-transform:uppercase;color:var(--nk)}
.ngs-checkout-cart-item-info span{font-size:12px;color:var(--mut);font-weight:600}
.ngs-checkout-item-size{color:var(--mut)}
.ngs-checkout-item-free{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--accd);background:#e6f8f9;padding:5px 9px;flex:0 0 auto}
.ngs-checkout-cart-remove{background:none;border:0;cursor:pointer;color:#b9bfbf;padding:4px;line-height:0}
.ngs-checkout-cart-remove:hover{color:var(--err)}
.ngs-checkout-cart-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 20px;border-top:1px solid var(--line);font-size:15px;font-weight:700}
.ngs-checkout-cart-footer strong{font-family:var(--hd);font-stretch:112%;font-weight:900;font-size:20px}
.ngs-checkout-note{font-size:13px;color:var(--err);font-weight:600;margin:18px 0 0}
.ngs-sample-note{font-size:13px;color:var(--mut);margin-top:12px}

.ngs-fieldset{border:1px solid var(--line);background:#fff;padding:26px;margin-bottom:22px}
.ngs-fieldset > h3,.ngs-address-block > h3{font-family:var(--hd);font-stretch:112%;font-weight:800;
  font-size:17px;text-transform:uppercase;letter-spacing:.03em;color:var(--nk);
  margin:0 0 20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.ngs-address-block{border:1px solid var(--line);background:#fff;padding:26px}
.ngs-address-grid{display:grid;grid-template-columns:1fr;gap:22px}
.ngs-checkout-customer-type{border:1px solid var(--line);background:#fff;padding:26px;margin-bottom:22px}
.ngs-checkout-customer-type label{display:block;margin-bottom:8px}
.ngs-checkout-customer-type select{max-width:420px}

.ngs-form-row{margin-bottom:16px}
.ngs-form-row-half{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.ngs-checkout-wrap label{display:block;font-family:var(--bd);font-size:11px;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin:0 0 7px}
.ngs-required{color:var(--err);font-weight:900}
.ngs-checkout-wrap input[type=text],.ngs-checkout-wrap input[type=email],.ngs-checkout-wrap input[type=tel],
.ngs-checkout-wrap textarea,.ngs-checkout-wrap select{
  width:100%;font-family:var(--bd);font-size:16px;color:var(--nk);background:#fff;
  border:1.5px solid var(--line);border-radius:0;padding:13px 14px;line-height:1.3;
  box-shadow:none;transition:border-color .18s ease;-webkit-appearance:none;appearance:none;height:auto;margin:0}
.ngs-checkout-wrap select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%235b6466' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.ngs-checkout-wrap textarea{min-height:82px;resize:vertical}
.ngs-checkout-wrap input:focus,.ngs-checkout-wrap textarea:focus,.ngs-checkout-wrap select:focus{
  outline:none;border-color:var(--acc)}
.ngs-checkout-wrap input[readonly]{background:var(--tint);color:var(--mut)}
.ngs-field-error-highlight{border-color:var(--err)!important;background:#fdf6f5!important}
.ngs-form-errors{border-left:3px solid var(--err);background:#fdf2f1;color:#7a1c15;
  padding:14px 18px;font-size:15px;margin:0 0 20px}
.ngs-form-errors strong{display:block;margin-bottom:4px}
.ngs-form-errors p{margin:0}

/* same-as-shipping switch */
.ngs-same-as-shipping{display:inline-flex!important;align-items:center;gap:9px;margin:0!important;
  font-size:12px!important;font-weight:700!important;letter-spacing:.06em!important;
  text-transform:uppercase;color:var(--mut);cursor:pointer}
.ngs-same-as-shipping input[type=checkbox]{-webkit-appearance:none;appearance:none;width:18px;height:18px;
  margin:0;border:1.5px solid var(--line);background:#fff;cursor:pointer;position:relative;flex:0 0 auto}
.ngs-same-as-shipping input[type=checkbox]:checked{background:var(--nk);border-color:var(--nk)}
.ngs-same-as-shipping input[type=checkbox]:checked::after{content:'';position:absolute;left:5px;top:1px;
  width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(43deg)}
.ngs-checkout-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:28px}

/* ───────── review ───────── */
.ngs-review-banner{display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;
  background:var(--nk);color:#fff;padding:clamp(28px,4vw,52px);margin-bottom:36px}
.ngs-review-banner-left .ngs-review-banner-title{color:#fff}
.ngs-review-banner-eyebrow{color:#7fe3e8}
.ngs-review-banner-sub{color:rgba(255,255,255,.72)}
.ngs-review-banner-img{width:100%;height:auto;display:block}
.ngs-review-grid{display:grid;grid-template-columns:1fr 340px;gap:32px;align-items:start}
.ngs-review-left,.ngs-review-right{min-width:0}
.ngs-review-right{padding-left:0!important}
.ngs-review-summary-title,.ngs-review-addr-title,.ngs-payment-section-label{
  font-family:var(--bd);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:var(--accd);margin:0 0 14px}
.ngs-review-table-wrap{overflow-x:auto;border:1px solid var(--line);background:#fff}
.ngs-review-table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
.ngs-review-table th{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mut);text-align:left;padding:13px 12px;border-bottom:1px solid var(--line);background:var(--tint);white-space:nowrap}
.ngs-review-table td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.ngs-review-table tbody tr:last-child td{border-bottom:0}
.ngs-review-table img,.review-product-img{width:62px;height:62px;object-fit:cover;background:var(--tint)}
.ngs-review-remove-btn{background:none;border:0;padding:4px;cursor:pointer;color:#b9bfbf;line-height:0}
.ngs-review-remove-btn:hover{color:var(--err)}
.ngs-review-totals{border:1px solid var(--line);border-top:0;background:var(--ground);padding:20px 24px}
.ngs-review-total-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;
  border-bottom:1px solid var(--line);font-size:15px;font-weight:600}
.ngs-review-total-row:last-child{border-bottom:0}
.ngs-review-total-row.grand{font-family:var(--hd);font-stretch:112%;font-weight:900;font-size:21px;padding-top:14px}
.ngs-addr-panel{border:1px solid var(--line);background:#fff;padding:22px;margin-bottom:20px}
.ngs-addr-table{width:100%;border-collapse:collapse;font-size:14px}
.ngs-addr-table td{padding:7px 0;vertical-align:top;border:0}
.ngs-addr-table td:first-child{color:var(--mut);font-weight:600;width:42%;padding-right:12px}
.ngs-addr-table td:last-child{font-weight:700;color:var(--nk)}
.ngs-review-note{display:flex;align-items:flex-start;gap:8px;margin-top:28px;padding:16px 18px;
  background:var(--tint);font-size:14px;line-height:1.55;color:var(--nk2)}
.ngs-review-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:28px}

/* ───────── payment ───────── */
.ngs-payment-header{display:flex;align-items:center;justify-content:space-between;gap:24px;
  background:var(--nk);color:#fff;padding:clamp(26px,3.4vw,44px);margin-bottom:36px;flex-wrap:wrap}
.ngs-payment-header .ngs-payment-title{color:#fff}
.ngs-payment-eyebrow{color:#7fe3e8}
.ngs-payment-sub{color:rgba(255,255,255,.72);margin-top:10px;font-size:15px}
.ngs-payment-lock-badge{display:inline-flex;align-items:center;gap:10px;border:1.5px solid rgba(255,255,255,.3);
  padding:12px 18px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#fff}
.ngs-payment-grid{display:grid;grid-template-columns:1fr 420px;gap:32px;align-items:start}
.ngs-payment-summary,.ngs-payment-form-col{min-width:0}
.ngs-payment-form-col{position:relative;border:1px solid var(--line);background:#fff;padding:26px}
.ngs-payment-items{border:1px solid var(--line);background:#fff}
.ngs-payment-item{display:flex;align-items:center;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line)}
.ngs-payment-item:last-child{border-bottom:0}
.ngs-payment-item-img,.ngs-payment-item-placeholder{width:62px;height:62px;object-fit:cover;background:var(--tint);flex:0 0 auto}
.ngs-payment-item-info{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.ngs-payment-item-info strong{font-family:var(--hd);font-stretch:108%;font-weight:800;font-size:14px;
  text-transform:uppercase;line-height:1.25;color:var(--nk)}
.ngs-payment-item-info span{font-size:12px;color:var(--mut);font-weight:600}
.ngs-payment-item-free{font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--accd);
  background:#e6f8f9;padding:5px 9px;flex:0 0 auto}
.ngs-payment-totals{border:1px solid var(--line);border-top:0;background:var(--ground);padding:20px 24px}
.ngs-payment-total-row{display:flex;justify-content:space-between;gap:16px;padding:10px 0;
  border-bottom:1px solid var(--line);font-size:15px;font-weight:600}
.ngs-payment-total-row:last-child{border-bottom:0}
.ngs-payment-grand{font-family:var(--hd);font-stretch:112%;font-weight:900;font-size:21px;padding-top:14px}
.ngs-payment-back-row{margin-top:22px}
.ngs-payment-field{margin-bottom:20px}
.ngs-payment-field label{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.ngs-card-element-box{border:1.5px solid var(--line);background:#fff;padding:15px 14px}
.ngs-card-element-box.StripeElement--focus{border-color:var(--acc)}
.ngs-card-error-msg{color:var(--err);font-size:13px;font-weight:600;margin-top:8px;min-height:18px}
.ngs-payment-stripe-badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;
  color:var(--mut);margin-bottom:18px}
.ngs-pay-submit-btn{width:100%;padding:17px 24px;font-size:16px}
.ngs-payment-disclaimer{font-size:12.5px;color:var(--mut);margin:14px 0 0;line-height:1.5}
.ngs-payment-loading{padding:40px 0;text-align:center;color:var(--mut);font-size:15px}
.ngs-payment-error-box{border-left:3px solid var(--err);background:#fdf2f1;color:#7a1c15;
  padding:14px 18px;font-size:14px;margin-top:16px}
.ngs-payment-processing{position:absolute;inset:0;background:rgba(10,10,10,.93);color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;z-index:5}
.ngs-payment-processing p{margin:0;font-size:15px;font-weight:600}
.ngs-payment-processing .ngs-spinner{width:26px;height:26px;border-width:3px;border-color:rgba(255,255,255,.25);border-top-color:#fff}

/* ───────── complete ───────── */
.ngs-complete-wrap{max-width:720px;text-align:center;padding-top:56px}
.ngs-complete-icon{width:72px;height:72px;margin:0 auto 26px;display:flex;align-items:center;justify-content:center;
  background:var(--acc);color:#fff;font-size:34px;font-weight:900;line-height:1}
.ngs-complete-wrap h1{text-align:center;margin-bottom:18px}
.ngs-complete-wrap p{font-size:16px;line-height:1.65;color:var(--nk2);margin:0 0 16px}
.ngs-complete-order-box{border:1px solid var(--line);background:var(--ground);padding:24px;margin:28px 0;text-align:left}
.ngs-complete-order-box p{display:flex;justify-content:space-between;gap:16px;margin:0;padding:10px 0;
  border-bottom:1px solid var(--line);font-size:15px}
.ngs-complete-order-box p:last-child{border-bottom:0}
.ngs-complete-wrap a.ngs-btn-primary{margin-top:14px}

/* ───────── modals ───────── */
.ngs-modal-overlay{position:fixed;inset:0;background:rgba(10,10,10,.62);backdrop-filter:blur(3px);
  z-index:100000;display:flex;align-items:center;justify-content:center;padding:20px;font-family:var(--bd)}
.ngs-modal-box{background:#fff;width:100%;max-width:560px;border-radius:0;overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.35);max-height:90vh;display:flex;flex-direction:column}
.ngs-modal-header-bar{display:flex;align-items:center;gap:10px;background:var(--nk);color:#fff;
  padding:16px 20px;font-family:var(--bd);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.ngs-modal-header-icon{display:inline-flex;line-height:0;color:var(--acc)}
.ngs-modal-close{margin-left:auto;background:none;border:0;color:#fff;font-size:26px;line-height:1;
  cursor:pointer;padding:0 2px;opacity:.8}
.ngs-modal-close:hover{opacity:1}
.ngs-modal-inner{padding:0;overflow-y:auto}
.ngs-modal-table{width:100%;border-collapse:collapse;font-size:15px}
.ngs-modal-table th{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);
  text-align:left;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--tint)}
.ngs-modal-table td{padding:18px 20px;border-bottom:1px solid var(--line);vertical-align:middle}
.ngs-modal-img-cell{width:96px}
.ngs-modal-img-cell img{width:76px;height:76px;object-fit:cover;background:var(--tint)}
.ngs-modal-item-cell #ngs-modal-sku{display:block;font-size:12px;font-weight:700;color:var(--accd);letter-spacing:.03em;margin-bottom:5px}
.ngs-modal-item-cell #ngs-modal-name{font-family:var(--hd);font-stretch:110%;font-weight:800;font-size:16px;
  text-transform:uppercase;line-height:1.2;color:var(--nk)}
.ngs-modal-size-cell{text-align:right;font-weight:800;font-size:16px;white-space:nowrap}
.ngs-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:14px;flex-wrap:wrap;
  padding:18px 20px;background:var(--ground);border-top:1px solid var(--line)}
.ngs-modal-message{flex:1;min-width:180px;font-size:14px;font-weight:600;color:var(--accd);text-align:left}
#ngs-modal-add-btn{flex:0 0 auto}
.ngs-max-modal-box,.ngs-custtype-modal-box{max-width:520px;position:relative}
.ngs-max-modal-inner,.ngs-custtype-modal-inner{padding:34px 30px;text-align:center}
.ngs-max-close{position:absolute;top:12px;right:14px;color:var(--nk);margin-left:0}
.ngs-max-modal-box .ngs-max-close{color:var(--nk)}
.ngs-max-icon,.ngs-custtype-icon{width:62px;height:62px;margin:0 auto 18px;display:flex;align-items:center;
  justify-content:center;background:var(--tint);color:var(--accd);font-size:28px}
.ngs-max-modal-inner h2,.ngs-custtype-modal-inner h2{font-family:var(--hd);font-stretch:112%;font-weight:900;
  font-size:24px;text-transform:uppercase;line-height:1.1;color:var(--nk);margin:0 0 12px}
.ngs-max-modal-inner p,.ngs-custtype-modal-inner p{font-size:15px;line-height:1.6;color:var(--nk2);margin:0 0 12px}
.ngs-max-subtext{font-size:13.5px!important;color:var(--mut)!important}
.ngs-max-modal-actions,.ngs-custtype-modal-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}
.ngs-field-req-box{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);z-index:100001;
  background:var(--nk);color:#fff;padding:14px 20px;display:flex;align-items:center;gap:12px;
  font-size:14px;font-weight:600;box-shadow:0 18px 40px rgba(0,0,0,.3);max-width:calc(100vw - 32px)}
.ngs-field-req-inner{display:flex;align-items:center;gap:10px}
.ngs-field-req-icon{color:var(--acc);line-height:0}
.ngs-field-req-ok{background:#fff;color:var(--nk);border:0;padding:8px 14px;font-weight:800;font-size:12px;
  letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
body.ngs-modal-open{overflow:hidden}

/* ───────── responsive ───────── */
@media(max-width:1100px){
  .ngs-similar-grid{grid-template-columns:repeat(4,1fr)}
  .ngs-payment-grid,.ngs-checkout-grid,.ngs-review-grid,.ngs-cart-table-wrap{grid-template-columns:1fr}
  .ngs-checkout-rail,.ngs-cart-totals-wrap{position:static}
  .ngs-review-banner{grid-template-columns:1fr}
  .ngs-review-banner-right{display:none}
}
@media(max-width:780px){
  .ngs-cart-wrap,.ngs-checkout-wrap,.ngs-review-wrap,.ngs-payment-wrap,.ngs-complete-wrap{padding:0 16px 56px}
  .ngs-flow{padding:26px 0 22px;margin-bottom:26px}
  .ngs-similar-grid{grid-template-columns:repeat(2,1fr)}
  .ngs-form-row-half{grid-template-columns:1fr;gap:0}
  .ngs-form-row-half > div{margin-bottom:16px}
  .ngs-fieldset,.ngs-address-block,.ngs-checkout-customer-type,.ngs-payment-form-col{padding:20px}
  .ngs-cart-table thead{display:none}
  .ngs-cart-table,.ngs-cart-table tbody,.ngs-cart-table tr,.ngs-cart-table td{display:block;width:100%}
  .ngs-cart-table tr{position:relative;padding:16px 14px 16px 104px;border-bottom:1px solid var(--line)}
  .ngs-cart-table td{border:0;padding:2px 0}
  .ngs-cart-table td:nth-child(1){position:absolute;right:10px;top:12px;padding:0;width:auto}
  .ngs-cart-table td:nth-child(2){position:absolute;left:14px;top:16px;padding:0;width:80px}
  .ngs-cart-table td:nth-child(5),.ngs-cart-table td:nth-child(6),.ngs-cart-table td:nth-child(7){display:none}
  .ngs-cart-actions .ngs-btn-primary,.ngs-cart-actions .ngs-btn-secondary,
  .ngs-checkout-actions .ngs-btn-primary,.ngs-checkout-actions .ngs-btn-secondary,
  .ngs-review-actions .ngs-btn-primary,.ngs-review-actions .ngs-btn-secondary{flex:1 1 100%}
  .ngs-payment-header{flex-direction:column;align-items:flex-start;gap:18px}
  .ngs-steps{gap:0;font-size:12px}
  .ngs-step{padding-right:12px;margin-right:12px}
}
@media(max-width:480px){
  .ngs-similar-grid{grid-template-columns:repeat(2,1fr);gap:12px}
  .ngs-modal-table th:nth-child(3),.ngs-modal-table .ngs-modal-size-cell{padding-right:16px}
}

/* collapsed billing panel should not leave a tall empty box */
.ngs-address-block:has(#ngs-billing-fields[style*="display: none"]) > h3,
.ngs-address-block:has(#ngs-billing-fields[style*="display:none"]) > h3{margin-bottom:0}
/* mini-cart row: image, text, price, then the remove control on the right */
.ngs-checkout-cart-item{position:relative;padding-right:22px}
.ngs-checkout-cart-remove{position:absolute;right:-4px;top:50%;transform:translateY(-50%);
  font-size:18px;line-height:1;width:22px;height:22px;display:flex;align-items:center;justify-content:center}
.ngs-checkout-cart-item-info strong{overflow-wrap:anywhere}
.ngs-checkout-cart-item-info span{overflow-wrap:anywhere}

/* the theme resets button margins, so push the close control right explicitly */
.ngs-modal-header-bar .ngs-modal-close{margin:0 0 0 auto!important;flex:0 0 auto}
.ngs-modal-header-bar{justify-content:flex-start}
@media(max-width:560px){
  .ngs-modal-footer{padding:16px}
  .ngs-modal-footer #ngs-modal-add-btn,.ngs-modal-footer .ngs-btn-primary{flex:1 1 100%;width:100%}
  .ngs-modal-table th,.ngs-modal-table td{padding-left:16px;padding-right:16px}
  .ngs-modal-img-cell{width:74px}
  .ngs-modal-img-cell img{width:62px;height:62px}
  .ngs-steps{font-size:12px}
  .ngs-step{padding-right:10px;margin-right:10px;gap:7px}
  .ngs-step i{width:20px;height:20px;font-size:10px}
  .ngs-max-modal-actions .ngs-btn-primary,.ngs-max-modal-actions .ngs-btn-secondary,
  .ngs-custtype-modal-actions .ngs-btn-primary{flex:1 1 100%;width:100%}
}
