/* NetStore UI: carrinho, checkout e conta no estilo do site (class-ns-ui-checkout.php). O Astra e o CSS do
 * WooCommerce (inclusive o woocommerce-smallscreen, que põe "Product:" antes de cada célula) pegam a tabela com
 * seletores fortes: as medidas daqui vão com !important. */

body.ns-shop-flow{
  --ns-font:'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --ns-ink:#1B2430; --ns-dim:#5B6672; --ns-mute:#8A94A0; --ns-line:#E3E8E8;
  --ns-teal-strong:#0B7A6F; --ns-teal-hover:#097064; --ns-teal-tint:#E7F6F4; --ns-surface:#F6F8F8;
  --ns-error:#C4282D; --ns-error-tint:#FDECEC;
}

/* ---------- título da página: carrinho, checkout (com pedido recebido) e conta, centrado na fonte do site ---------- */
body.woocommerce-cart .entry-header,
body.woocommerce-checkout .entry-header,
body.woocommerce-account .entry-header{ margin:0 0 32px!important; padding:0!important; text-align:center; }
body.woocommerce-cart .entry-header .entry-title,
body.woocommerce-checkout .entry-header .entry-title,
body.woocommerce-account .entry-header .entry-title{
  margin:0!important; font:800 36px/1.15 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif!important;
  letter-spacing:-.02em; color:#1B2430; text-align:center;
}
body.woocommerce-cart .entry-header .entry-title::after,
body.woocommerce-checkout .entry-header .entry-title::after,
body.woocommerce-account .entry-header .entry-title::after{
  content:''; display:block; width:40px; height:4px; margin:12px auto 0; border-radius:2px; background:#0B7A6F;
}
@media (max-width:921px){
  body.woocommerce-cart .entry-header,
  body.woocommerce-checkout .entry-header,
  body.woocommerce-account .entry-header{ margin:16px 0 22px!important; }
  body.woocommerce-cart .entry-header .entry-title,
  body.woocommerce-checkout .entry-header .entry-title,
  body.woocommerce-account .entry-header .entry-title{ font-size:28px!important; }
  body.woocommerce-cart .entry-header .entry-title::after,
  body.woocommerce-checkout .entry-header .entry-title::after,
  body.woocommerce-account .entry-header .entry-title::after{ width:32px; height:3px; margin-top:10px; }
}

/* ---------- botões e campos ---------- */
body.ns-shop-flow .woocommerce a.button.alt.checkout-button,
body.ns-shop-flow .woocommerce #place_order{
  display:flex!important; align-items:center; justify-content:center; width:100%; min-height:52px; margin:0!important;
  padding:14px 20px!important; font:700 16px/1.2 var(--ns-font)!important; color:#fff!important;
  background:var(--ns-teal-strong)!important; border:0!important; border-radius:12px!important; box-shadow:none!important;
  text-transform:none; letter-spacing:0; text-decoration:none!important;
}
body.ns-shop-flow .woocommerce a.button.alt.checkout-button:hover,
body.ns-shop-flow .woocommerce #place_order:hover{ background:var(--ns-teal-hover)!important; }
body.ns-shop-flow .woocommerce #place_order[disabled]{ opacity:.55; cursor:not-allowed; }

body.ns-shop-flow .woocommerce .coupon button.button,
body.ns-shop-flow .woocommerce form.checkout_coupon button.button,
body.ns-shop-flow .woocommerce button[name="update_cart"]{
  min-height:46px; padding:0 18px!important; font:700 15px/1 var(--ns-font)!important; color:var(--ns-teal-strong)!important;
  background:#fff!important; border:1.5px solid var(--ns-teal-strong)!important; border-radius:12px!important;
  box-shadow:none!important; text-transform:none; letter-spacing:0;
}
body.ns-shop-flow .woocommerce .coupon button.button:hover,
body.ns-shop-flow .woocommerce form.checkout_coupon button.button:hover{ background:var(--ns-teal-tint)!important; }
body.ns-cart-auto .woocommerce button[name="update_cart"]{ display:none!important; }

body.ns-shop-flow .woocommerce .coupon input.input-text,
body.ns-shop-flow .woocommerce form.checkout_coupon input.input-text,
body.ns-shop-flow .woocommerce form.checkout .form-row input.input-text,
body.ns-shop-flow .woocommerce form.woocommerce-EditAccountForm input.input-text{
  height:48px!important; padding:0 14px!important; font:500 16px/1 var(--ns-font)!important; color:var(--ns-ink)!important;
  background:#fff!important; border:1.5px solid var(--ns-line)!important; border-radius:12px!important; box-shadow:none!important;
}
body.ns-shop-flow .woocommerce .coupon input.input-text:focus,
body.ns-shop-flow .woocommerce form.checkout_coupon input.input-text:focus,
body.ns-shop-flow .woocommerce form.checkout .form-row input.input-text:focus,
body.ns-shop-flow .woocommerce form.woocommerce-EditAccountForm input.input-text:focus{
  border-color:var(--ns-teal-strong)!important; box-shadow:0 0 0 4px rgba(11,122,111,.14)!important; outline:none;
}
body.ns-shop-flow .woocommerce form.checkout .form-row input.input-text[readonly],
body.ns-shop-flow .woocommerce form.woocommerce-EditAccountForm input.input-text[readonly]{
  color:var(--ns-dim)!important; background:var(--ns-surface)!important; cursor:default;
}

/* ---------- carrinho: itens em lista ---------- */
body.ns-shop-flow.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form){
  display:grid; grid-template-columns:minmax(0, 1fr) 380px; gap:0 40px; align-items:start;
}
body.ns-shop-flow.woocommerce-cart .woocommerce > :not(.woocommerce-cart-form):not(.cart-collaterals){ grid-column:1 / -1; }
body.ns-shop-flow.woocommerce-cart .woocommerce-cart-form{ grid-column:1; margin:0; min-width:0; }
body.ns-shop-flow.woocommerce-cart .cart-collaterals{ grid-column:2; position:sticky; top:24px; width:auto; margin:0; }

body.ns-shop-flow .woocommerce table.shop_table.cart{
  display:block; width:100%; margin:0!important; border:0!important; border-radius:0!important; background:none!important;
  font-family:var(--ns-font); border-collapse:separate;
}
body.ns-shop-flow .woocommerce table.shop_table.cart thead{ display:none!important; }
body.ns-shop-flow .woocommerce table.shop_table.cart tbody{ display:block; border-top:1px solid var(--ns-line); }
body.ns-shop-flow .woocommerce table.shop_table.cart tr.cart_item{
  display:grid; grid-template-columns:76px minmax(0, 1fr) auto;
  grid-template-areas:"thumb name remove" "thumb price price" "thumb qty sub";
  gap:4px 16px; align-items:center; padding:18px 0; border-bottom:1px solid var(--ns-line); background:none!important;
}
body.ns-shop-flow .woocommerce table.shop_table.cart tr.cart_item td{
  display:block!important; padding:0!important; margin:0; border:0!important; background:none!important;
  text-align:left!important; min-width:0;
}
body.ns-shop-flow .woocommerce table.shop_table.cart tr td::before,
body.ns-shop-flow .woocommerce .cart_totals table.shop_table td::before,
body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table td::before{ display:none!important; content:none!important; }
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-thumbnail{ grid-area:thumb; align-self:start; }
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-thumbnail figure{ margin:0; }
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-thumbnail a{ display:block; line-height:0; }
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-thumbnail img{
  width:76px!important; height:76px!important; max-width:none; object-fit:cover; border-radius:14px; box-shadow:0 0 0 1px var(--ns-line);
}
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-name{
  grid-area:name; font-size:16px; line-height:1.35; font-weight:700; color:var(--ns-ink); overflow-wrap:anywhere;
}
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-name a{ color:var(--ns-ink)!important; text-decoration:none!important; }
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-name a:hover{ color:var(--ns-teal-strong)!important; }
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-name dl.variation,
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-name .backorder_notification{ margin:4px 0 0; font-size:13px; font-weight:500; color:var(--ns-dim); }
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-price{ grid-area:price; font-size:14px; color:var(--ns-dim); }
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-price .amount{ color:var(--ns-dim); font-weight:500; }
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-price::after{ content:" each"; }
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-quantity{ grid-area:qty; margin-top:6px!important; }
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-subtotal{
  grid-area:sub; justify-self:end; margin-top:6px!important; font-size:17px; font-weight:800; color:var(--ns-ink);
  font-variant-numeric:tabular-nums; white-space:nowrap;
}
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-subtotal .amount{ color:var(--ns-ink); font-weight:800; }
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-remove{ grid-area:remove; justify-self:end; align-self:start; }
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-remove a.remove{
  display:inline-flex!important; align-items:center; justify-content:center; width:36px!important; height:36px!important;
  margin:-6px -8px 0 0; border:0!important; border-radius:10px!important; color:var(--ns-dim)!important;
  background:none!important; font-size:0; line-height:0;
}
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-remove a.remove::before{ display:none!important; }
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-remove a.remove svg{ width:20px; height:20px; }
body.ns-shop-flow .woocommerce table.shop_table.cart td.product-remove a.remove:hover{ color:var(--ns-error)!important; background:var(--ns-error-tint)!important; }

/* quantidade: − 1 + */
body.ns-shop-flow .woocommerce .quantity.ns-qty{
  display:inline-flex; align-items:center; height:42px; border:1.5px solid var(--ns-line); border-radius:12px; overflow:hidden; background:#fff;
}
body.ns-shop-flow .woocommerce .quantity.ns-qty input.qty{
  width:44px!important; height:39px!important; min-height:0; margin:0!important; padding:0!important; border:0!important;
  border-radius:0!important; box-shadow:none!important; background:none!important; text-align:center;
  font:700 16px/1 var(--ns-font)!important; color:var(--ns-ink)!important; -moz-appearance:textfield; appearance:textfield;
}
body.ns-shop-flow .woocommerce .quantity.ns-qty input.qty::-webkit-outer-spin-button,
body.ns-shop-flow .woocommerce .quantity.ns-qty input.qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
body.ns-shop-flow .woocommerce .quantity.ns-qty .ns-qty-btn{
  display:inline-flex; align-items:center; justify-content:center; width:40px; height:39px; min-height:0; margin:0; padding:0!important;
  font:600 20px/1 var(--ns-font)!important; color:var(--ns-ink)!important; background:none!important; border:0!important;
  border-radius:0!important; box-shadow:none!important; cursor:pointer;
}
body.ns-shop-flow .woocommerce .quantity.ns-qty .ns-qty-btn:hover{ color:var(--ns-teal-strong)!important; background:var(--ns-teal-tint)!important; }
body.ns-shop-flow .woocommerce .quantity.ns-qty .ns-qty-btn:focus-visible{ outline:2px solid var(--ns-teal-strong); outline-offset:-2px; }

/* cupom */
body.ns-shop-flow .woocommerce table.shop_table.cart tr:has(> td.actions){ display:block; }
body.ns-shop-flow .woocommerce table.shop_table.cart td.actions{
  display:flex!important; flex-wrap:wrap; gap:12px; align-items:center; padding:18px 0 0!important; border:0!important;
  background:none!important; text-align:left!important;
}
body.ns-shop-flow .woocommerce table.shop_table.cart td.actions .coupon{
  display:flex!important; gap:8px; flex:1 1 300px; min-width:0; max-width:420px; margin:0!important; padding:0!important; float:none!important;
}
/* os clearfix do tema (::before/::after) viram itens do flex e empurram o cupom */
body.ns-shop-flow .woocommerce table.shop_table.cart td.actions::before,
body.ns-shop-flow .woocommerce table.shop_table.cart td.actions::after,
body.ns-shop-flow .woocommerce table.shop_table.cart td.actions .coupon::before,
body.ns-shop-flow .woocommerce table.shop_table.cart td.actions .coupon::after{ display:none!important; content:none!important; }
body.ns-shop-flow .woocommerce table.shop_table.cart td.actions .coupon input.input-text{ flex:1 1 auto; width:auto!important; min-width:0; margin:0!important; }
body.ns-shop-flow .woocommerce table.shop_table.cart td.actions .coupon button.button{ flex:0 0 auto; width:auto!important; margin:0!important; white-space:nowrap; }
body.ns-shop-flow .woocommerce table.shop_table.cart td.actions > button[name="update_cart"]{ margin:0 0 0 auto!important; float:none!important; }

/* ---------- resumo do pedido ---------- */
body.ns-shop-flow .woocommerce .cart-collaterals .cart_totals{
  float:none!important; width:auto!important; margin:0!important; padding:24px!important; font-family:var(--ns-font);
  background:#fff!important; border:1px solid var(--ns-line)!important; border-radius:20px!important;
  box-shadow:0 18px 40px -28px rgba(27,36,48,.35);
}
body.ns-shop-flow .woocommerce .cart-collaterals .cart_totals > h2{
  margin:0 0 8px!important; padding:0!important; font:800 20px/1.25 var(--ns-font)!important; letter-spacing:-.01em;
  color:var(--ns-ink); background:none!important; border:0!important;
}
body.ns-shop-flow .woocommerce .cart_totals table.shop_table,
body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table{
  width:100%; margin:0 0 4px!important; border:0!important; border-radius:0!important; background:none!important; border-collapse:collapse;
}
body.ns-shop-flow .woocommerce .cart_totals table.shop_table tr{ display:flex; justify-content:space-between; gap:12px; background:none!important; }
body.ns-shop-flow .woocommerce .cart_totals table.shop_table th,
body.ns-shop-flow .woocommerce .cart_totals table.shop_table td{
  display:block!important; padding:10px 0!important; border:0!important; background:none!important; font-size:15px; line-height:1.4;
}
body.ns-shop-flow .woocommerce .cart_totals table.shop_table th{ font-weight:500!important; color:var(--ns-dim); text-align:left!important; }
body.ns-shop-flow .woocommerce .cart_totals table.shop_table td{ color:var(--ns-ink); text-align:right!important; font-variant-numeric:tabular-nums; }
body.ns-shop-flow .woocommerce .cart_totals table.shop_table td .amount{ color:var(--ns-ink); }
body.ns-shop-flow .woocommerce .cart_totals tr.cart-discount td,
body.ns-shop-flow .woocommerce .cart_totals tr.cart-discount td .amount{ color:var(--ns-teal-strong); }
body.ns-shop-flow .woocommerce .cart_totals tr.order-total{ margin-top:6px; border-top:1px solid var(--ns-line); }
body.ns-shop-flow .woocommerce .cart_totals tr.order-total th,
body.ns-shop-flow .woocommerce .cart_totals tr.order-total td,
body.ns-shop-flow .woocommerce .cart_totals tr.order-total td strong,
body.ns-shop-flow .woocommerce .cart_totals tr.order-total td .amount{ padding-top:14px!important; font-size:18px; font-weight:800!important; color:var(--ns-ink); }
body.ns-shop-flow .woocommerce .cart_totals tr.order-total td strong,
body.ns-shop-flow .woocommerce .cart_totals tr.order-total td .amount{ padding-top:0!important; }
body.ns-shop-flow .woocommerce a.woocommerce-remove-coupon{
  margin-left:6px; font-size:13px; font-weight:600; color:var(--ns-mute)!important; text-decoration:underline; text-underline-offset:2px;
}
body.ns-shop-flow .woocommerce a.woocommerce-remove-coupon:hover{ color:var(--ns-error)!important; }
body.ns-shop-flow .woocommerce .cart_totals .wc-proceed-to-checkout{ padding:12px 0 0!important; margin:0; }

/* ---------- avisos (cupom, sem forma de pagamento, mensagens do Woo) ---------- */
body.ns-shop-flow .woocommerce .woocommerce-info,
body.ns-shop-flow .woocommerce .woocommerce-message{
  margin:0 0 20px!important; padding:14px 16px 14px 46px!important; font:500 14px/1.5 var(--ns-font)!important; color:var(--ns-dim)!important;
  background:var(--ns-surface)!important; border:1px solid var(--ns-line)!important; border-radius:12px!important;
}
body.ns-shop-flow .woocommerce .woocommerce-info::before,
body.ns-shop-flow .woocommerce .woocommerce-message::before{ top:15px!important; left:16px!important; color:var(--ns-teal-strong)!important; }
body.ns-shop-flow .woocommerce .woocommerce-info a,
body.ns-shop-flow .woocommerce .woocommerce-message a:not(.button){ color:var(--ns-teal-strong)!important; font-weight:600; }
body.ns-shop-flow .woocommerce .woocommerce-message .button{
  float:right; margin:-4px 0 0 12px!important; padding:8px 14px!important; font:700 14px/1.2 var(--ns-font)!important;
  color:#fff!important; background:var(--ns-teal-strong)!important; border:0!important; border-radius:10px!important;
}
body.ns-shop-flow .woocommerce .woocommerce-error{
  margin:0 0 20px!important; padding:14px 16px 14px 46px!important; font:500 14px/1.5 var(--ns-font)!important; color:var(--ns-error)!important;
  background:var(--ns-error-tint)!important; border:0!important; border-radius:12px!important; list-style:none;
}
body.ns-shop-flow .woocommerce .woocommerce-error::before{ top:15px!important; left:16px!important; color:var(--ns-error)!important; }
body.ns-shop-flow .woocommerce form.checkout_coupon{
  margin:-8px 0 24px!important; padding:16px!important; border:1px solid var(--ns-line)!important; border-radius:12px!important; background:#fff;
}
body.ns-shop-flow .woocommerce form.checkout_coupon > p:first-child{ margin:0 0 10px; font-size:14px; color:var(--ns-dim); }
body.ns-shop-flow .woocommerce form.checkout_coupon .form-row{ margin:0!important; padding:0!important; }
body.ns-shop-flow .woocommerce form.checkout_coupon .form-row-first{ width:auto!important; flex:1 1 auto; }
body.ns-shop-flow .woocommerce form.checkout_coupon .form-row-last{ width:auto!important; flex:0 0 auto; }
body.ns-shop-flow .woocommerce form.checkout_coupon:not([style*="none"]){ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
body.ns-shop-flow .woocommerce form.checkout_coupon > p:first-child{ flex:1 1 100%; }
body.ns-shop-flow .woocommerce form.checkout_coupon .clear{ display:none; }

/* ---------- checkout: seus dados à esquerda, pedido à direita ---------- */
body.ns-shop-flow.woocommerce-checkout form.checkout.woocommerce-checkout{
  display:grid; grid-template-columns:minmax(0, 1fr) 420px; grid-template-rows:auto 1fr; gap:0 48px; align-items:start;
  font-family:var(--ns-font);
}
body.ns-shop-flow.woocommerce-checkout form.checkout > *{ grid-column:1; }
body.ns-shop-flow.woocommerce-checkout form.checkout #customer_details{ grid-column:1; grid-row:1 / span 2; float:none!important; width:auto!important; margin:0; }
body.ns-shop-flow.woocommerce-checkout form.checkout #order_review_heading{ grid-column:2; grid-row:1; float:none!important; width:auto!important; }
body.ns-shop-flow.woocommerce-checkout form.checkout #order_review{ grid-column:2; grid-row:2; }
body.ns-shop-flow.woocommerce-checkout #customer_details .col-1{ float:none!important; width:auto!important; margin:0!important; padding:0!important; }
body.ns-shop-flow.woocommerce-checkout #customer_details .col-2:not(:has(input, select, textarea, label)),
body.ns-shop-flow.woocommerce-checkout #customer_details .woocommerce-shipping-fields:not(:has(input, select, textarea, label)),
body.ns-shop-flow.woocommerce-checkout #customer_details .woocommerce-additional-fields:not(:has(input, select, textarea, label)){ display:none!important; }

body.ns-shop-flow.woocommerce-checkout .woocommerce-billing-fields > h3,
body.ns-shop-flow.woocommerce-checkout form.checkout #order_review_heading{
  margin:0 0 16px!important; padding:0 0 0!important; font:800 20px/1.25 var(--ns-font)!important; letter-spacing:-.01em;
  color:var(--ns-ink)!important; border:0!important; background:none!important;
}
body.ns-shop-flow.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{ display:grid; grid-template-columns:1fr 1fr; gap:0 16px; }
body.ns-shop-flow.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row{
  float:none!important; width:auto!important; margin:0 0 16px!important; padding:0!important;
}
body.ns-shop-flow.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row-wide{ grid-column:1 / -1; }
body.ns-shop-flow.woocommerce-checkout form.checkout .form-row label{
  display:block; margin:0 0 6px!important; padding:0!important; font:600 14px/1.4 var(--ns-font)!important; color:var(--ns-ink)!important;
}
body.ns-shop-flow.woocommerce-checkout form.checkout .form-row label .required{ color:var(--ns-error); text-decoration:none; }
body.ns-shop-flow.woocommerce-checkout form.checkout .form-row .description{
  display:block!important; position:static!important; margin:8px 0 0!important; padding:0!important; font:500 13px/1.45 var(--ns-font)!important;
  color:var(--ns-dim)!important; background:none!important; border:0!important; box-shadow:none!important;
}
body.ns-shop-flow.woocommerce-checkout form.checkout .form-row .description::before{ display:none!important; }
body.ns-shop-flow.woocommerce-checkout form.checkout .form-row.woocommerce-invalid input.input-text{ border-color:var(--ns-error)!important; }

/* cartão do pedido: o título e a tabela formam um bloco só */
body.ns-shop-flow.woocommerce-checkout form.checkout #order_review_heading{
  margin:0!important; padding:24px 24px 8px!important; background:#fff!important;
  border:1px solid var(--ns-line)!important; border-bottom:0!important; border-radius:20px 20px 0 0!important;
}
body.ns-shop-flow.woocommerce-checkout form.checkout #order_review{
  float:none!important; width:auto!important; margin:0!important; padding:0 24px 24px!important; background:#fff!important;
  border:1px solid var(--ns-line)!important; border-top:0!important; border-radius:0 0 20px 20px!important;
}
body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table th,
body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table td{
  padding:10px 0!important; border:0!important; border-top:1px solid var(--ns-line)!important; background:none!important;
  font:500 15px/1.4 var(--ns-font)!important; color:var(--ns-ink)!important; vertical-align:top;
}
body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table thead th{
  padding-top:0!important; border-top:0!important; font-size:13px!important; font-weight:600!important; color:var(--ns-mute)!important;
  text-transform:uppercase; letter-spacing:.04em;
}
body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table .product-name{ padding-right:12px!important; font-weight:600!important; overflow-wrap:anywhere; }
body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table .product-quantity{ font-weight:600; color:var(--ns-dim); white-space:nowrap; }
body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table td:last-child,
body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table th:last-child{ text-align:right!important; white-space:nowrap; }
body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table .amount{ color:var(--ns-ink); font-variant-numeric:tabular-nums; }
body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table tfoot th{ font-weight:500!important; color:var(--ns-dim)!important; text-align:left!important; }
body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table tr.cart-discount td,
body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table tr.cart-discount td .amount{ color:var(--ns-teal-strong)!important; }
body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table tr.order-total th,
body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table tr.order-total td,
body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table tr.order-total .amount{
  padding-top:14px!important; font-size:18px!important; font-weight:800!important; color:var(--ns-ink)!important;
}
body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table tr.order-total .amount{ padding-top:0!important; }

body.ns-shop-flow.woocommerce-checkout #payment{ margin:8px 0 0!important; padding:0!important; background:none!important; border-radius:0!important; }
body.ns-shop-flow.woocommerce-checkout #payment ul.payment_methods{ margin:0!important; padding:0!important; border:0!important; list-style:none; }
body.ns-shop-flow.woocommerce-checkout #payment ul.payment_methods > li{ margin:0!important; padding:0!important; list-style:none; }
body.ns-shop-flow.woocommerce-checkout #payment ul.payment_methods .woocommerce-info{ margin:0 0 4px!important; }
body.ns-shop-flow.woocommerce-checkout #payment div.form-row.place-order{ margin:0!important; padding:12px 0 0!important; background:none!important; }
body.ns-shop-flow.woocommerce-checkout .woocommerce-privacy-policy-text p,
body.ns-shop-flow.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text{ margin:0 0 14px!important; font:500 12.5px/1.5 var(--ns-font)!important; color:var(--ns-mute)!important; }
body.ns-shop-flow.woocommerce-checkout .woocommerce-privacy-policy-text a{ color:var(--ns-dim)!important; text-decoration:underline; text-underline-offset:2px; }

/* ---------- conta (logado) ---------- */
body.ns-shop-flow .woocommerce .woocommerce-MyAccount-navigation ul{ margin:0; padding:0!important; list-style:none; border:0!important; }
body.ns-shop-flow .woocommerce .woocommerce-MyAccount-navigation ul li{ margin:0 0 2px!important; padding:0!important; border:0!important; }
body.ns-shop-flow .woocommerce .woocommerce-MyAccount-navigation ul li a{
  display:block; padding:10px 14px!important; font:600 15px/1.3 var(--ns-font)!important; color:var(--ns-dim)!important;
  background:none; border:0!important; border-radius:10px; text-decoration:none!important;
}
body.ns-shop-flow .woocommerce .woocommerce-MyAccount-navigation ul li a:hover{ color:var(--ns-ink)!important; background:var(--ns-surface)!important; }
body.ns-shop-flow .woocommerce .woocommerce-MyAccount-navigation ul li.is-active a{ color:var(--ns-teal-strong)!important; background:var(--ns-teal-tint)!important; }
body.ns-shop-flow .woocommerce .woocommerce-MyAccount-content{ font-family:var(--ns-font); color:var(--ns-ink); }
body.ns-shop-flow .woocommerce .woocommerce-MyAccount-content a:not(.button){ color:var(--ns-teal-strong); }
body.ns-shop-flow .woocommerce form.woocommerce-EditAccountForm .form-row label{ font:600 14px/1.4 var(--ns-font)!important; color:var(--ns-ink)!important; }
body.ns-shop-flow .woocommerce form.woocommerce-EditAccountForm .form-row span em{ font-style:normal; font-size:13px; color:var(--ns-dim); }
body.ns-shop-flow .woocommerce form.woocommerce-EditAccountForm button.button,
body.ns-shop-flow .woocommerce .woocommerce-MyAccount-content a.button{
  min-height:48px; padding:0 22px!important; font:700 15px/48px var(--ns-font)!important; color:#fff!important;
  background:var(--ns-teal-strong)!important; border:0!important; border-radius:12px!important; box-shadow:none!important;
}
body.ns-shop-flow .woocommerce form.woocommerce-EditAccountForm button.button:hover,
body.ns-shop-flow .woocommerce .woocommerce-MyAccount-content a.button:hover{ background:var(--ns-teal-hover)!important; }

/* carrinho vazio */
body.ns-shop-flow.woocommerce-cart .woocommerce .return-to-shop a.button{
  min-height:48px; padding:0 22px!important; font:700 15px/48px var(--ns-font)!important; color:#fff!important;
  background:var(--ns-teal-strong)!important; border:0!important; border-radius:12px!important;
}

@media (max-width:921px){
  body.ns-shop-flow.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form){ display:block; }
  body.ns-shop-flow.woocommerce-checkout form.checkout.woocommerce-checkout{ display:block; }
  body.ns-shop-flow.woocommerce-checkout form.checkout #customer_details{ margin-bottom:28px; }
  body.ns-shop-flow.woocommerce-checkout form.checkout #order_review_heading{ padding:20px 20px 8px!important; background:var(--ns-surface)!important; border:0!important; border-radius:16px 16px 0 0!important; }
  body.ns-shop-flow.woocommerce-checkout form.checkout #order_review{ padding:0 20px 20px!important; background:var(--ns-surface)!important; border:0!important; border-radius:0 0 16px 16px!important; }
  body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table th,
  body.ns-shop-flow .woocommerce table.woocommerce-checkout-review-order-table td{ border-top-color:#DCE3E3!important; }
  body.ns-shop-flow.woocommerce-checkout form.checkout #order_review .woocommerce-info{ background:#fff!important; }
  /* abas da conta numa linha que rola de lado */
  body.ns-shop-flow .woocommerce .woocommerce-MyAccount-navigation{ float:none!important; width:auto!important; margin:0 0 20px!important; }
  body.ns-shop-flow .woocommerce .woocommerce-MyAccount-navigation ul{
    display:flex; gap:8px; overflow-x:auto; margin:0 -16px!important; padding:0 16px 4px!important; scrollbar-width:none;
  }
  body.ns-shop-flow .woocommerce .woocommerce-MyAccount-navigation ul::-webkit-scrollbar{ display:none; }
  body.ns-shop-flow .woocommerce .woocommerce-MyAccount-navigation ul li{ flex:0 0 auto; margin:0!important; }
  body.ns-shop-flow .woocommerce .woocommerce-MyAccount-navigation ul li a{ white-space:nowrap; border:1px solid var(--ns-line)!important; border-radius:999px; padding:8px 14px!important; font-size:14px!important; }
  body.ns-shop-flow .woocommerce .woocommerce-MyAccount-navigation ul li.is-active a{ border-color:transparent!important; }
  body.ns-shop-flow .woocommerce .woocommerce-MyAccount-content{ float:none!important; width:auto!important; }
  body.ns-shop-flow.woocommerce-cart .cart-collaterals{ position:static; margin-top:24px; }
  body.ns-shop-flow .woocommerce .cart-collaterals .cart_totals{
    padding:20px!important; background:var(--ns-surface)!important; border:0!important; border-radius:16px!important; box-shadow:none;
  }
  body.ns-shop-flow .woocommerce .cart-collaterals .cart_totals .ns-auth--cart{ border-top-color:#DCE3E3; }
}
@media (max-width:544px){
  body.ns-shop-flow .woocommerce table.shop_table.cart tr.cart_item{ grid-template-columns:64px minmax(0, 1fr) auto; gap:2px 12px; padding:16px 0; }
  body.ns-shop-flow .woocommerce table.shop_table.cart td.product-thumbnail img{ width:64px!important; height:64px!important; border-radius:12px; }
  body.ns-shop-flow .woocommerce table.shop_table.cart td.product-name{ font-size:15px; }
  body.ns-shop-flow .woocommerce table.shop_table.cart td.actions .coupon{ flex-basis:100%; max-width:none; }
  body.ns-shop-flow .woocommerce .cart-collaterals .cart_totals{ margin:0 -4px!important; }
  body.ns-shop-flow.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{ gap:0 12px; }
  body.ns-shop-flow.woocommerce-checkout form.checkout #order_review_heading,
  body.ns-shop-flow.woocommerce-checkout form.checkout #order_review{ margin-left:-4px!important; margin-right:-4px!important; }
}
