/* Todos os sujeitos desta folha ficam dentro do main; body.woocommerce nunca recebe cor/fonte. */
/*
 * Nova Estrela — apresentação do comércio nativo.
 * Carregar após o CSS do tema e do WooCommerce. Sem alterar campos, gateways,
 * valores, estados, visibilidade de avisos ou comportamento de compra.
 */
:is(:is(body.woocommerce main, main.woocommerce, main .woocommerce), .wc-block-cart, .wc-block-checkout, .wc-block-order-confirmation):where(main, main *) {
  --ne-commerce-ink: var(--ne-black, #20201d);
  --ne-commerce-paper: #fbfaf7;
  --ne-commerce-wash: var(--ne-editorial, #f4f0e9);
  --ne-commerce-line: #d8d3c9;
  --ne-commerce-muted: #66635c;
  --ne-commerce-error: #9b352b;
  --ne-commerce-success: #35614b;
  color: var(--ne-commerce-ink);
  font-family: var(--ne-font, system-ui, sans-serif);
  font-variant-numeric: lining-nums;
}
:is(:is(body.woocommerce main, main.woocommerce, main .woocommerce), .wc-block-cart, .wc-block-checkout, .wc-block-order-confirmation) :is(h1, h2, h3):where(main, main *) {
  text-wrap: balance;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(h2, h3):where(main, main *),
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-title:where(main, main *) {
  color: var(--ne-commerce-ink);
  font-weight: 500;
  letter-spacing: -.025em;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.amount, .price, .order-total):where(main, main *),
:is(.wc-block-cart, .wc-block-checkout) :is(.wc-block-components-totals-item__value, .wc-block-components-product-price):where(main, main *) {
  font-variant-numeric: tabular-nums;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(a, button, input, select, textarea):focus-visible:where(main, main *),
:is(.wc-block-cart, .wc-block-checkout, .wc-block-order-confirmation) :is(a, button, input, select, textarea):focus-visible:where(main, main *) {
  outline: 2px solid var(--ne-commerce-ink);
  outline-offset: 4px;
  scroll-margin-block: 160px 32px;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.woocommerce-breadcrumb, .product_meta, .woocommerce-privacy-policy-text) a:where(main, main *),
:is(.wc-block-cart, .wc-block-checkout) :is(.wc-block-components-product-name, .wc-block-components-checkout-return-to-cart-button):where(main, main *) {
  text-decoration-thickness: 1px;
  text-underline-offset: .25em;
}

/* A ação principal é escura; cupom, atualização e navegação têm menos peso. */
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(a.button, button.button, input.button):where(main, main *),
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-button:not(.is-link):where(main, main *) {
  min-height: 48px;
  max-width: 100%;
  border: 1px solid var(--ne-commerce-ink);
  border-radius: 2px;
  padding: 13px 22px;
  background: var(--ne-commerce-ink);
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
  box-shadow: none;
  transition: background-color .18s ease, border-color .18s ease, color .18s ease;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(a.button, button.button, input.button):hover:where(main, main *),
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-button:not(.is-link):hover:where(main, main *) {
  background: #393832;
  border-color: #393832;
  color: #fff;
  filter: none;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.coupon button.button, button[name="update_cart"], .woocommerce-MyAccount-content a.button):where(main, main *),
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.woocommerce-orders-table, .woocommerce-thankyou-order-failed-actions) a.button:where(main, main *),
.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-button:where(main, main *) {
  background: transparent;
  border-color: var(--ne-commerce-line);
  color: var(--ne-commerce-ink);
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.coupon button.button, button[name="update_cart"], .woocommerce-MyAccount-content a.button):hover:where(main, main *),
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.woocommerce-orders-table, .woocommerce-thankyou-order-failed-actions) a.button:hover:where(main, main *),
.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-button:hover:where(main, main *) {
  background: var(--ne-commerce-wash);
  border-color: var(--ne-commerce-ink);
  color: var(--ne-commerce-ink);
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(button.button, input.button):disabled:where(main, main *),
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .button.disabled:where(main, main *),
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-button:disabled:where(main, main *) {
  background: #dedbd4;
  border-color: #c8c3ba;
  color: #56534d;
  opacity: 1;
  cursor: not-allowed;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(form, .blockUI)[aria-busy="true"]:where(main, main *),
:is(.wc-block-cart, .wc-block-checkout)[aria-busy="true"]:where(main, main *) { cursor: progress; }

/* Produto: fotografia e decisão de compra, com variações e estoque originais. */
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product .product_title:where(main, main *) {
  max-width: 26ch;
  margin-block: 0 16px;
  font-family: var(--ne-display, Georgia, serif);
  font-size: clamp(30px, 2.8vw, 42px);
  font-weight: 500;
  line-height: 1.16;
  letter-spacing: -.025em;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product :is(p.price, span.price):where(main, main *) {
  margin-block: 16px 24px;
  color: var(--ne-commerce-ink);
  font-size: clamp(23px, 2.2vw, 31px);
  font-weight: 500;
  letter-spacing: -.035em;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product .woocommerce-product-details__short-description:where(main, main *) {
  max-width: 58ch;
  color: #535049;
  line-height: 1.8;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product div.images .woocommerce-product-gallery__image:where(main, main *) {
  background: #fff;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product div.images .flex-control-thumbs:where(main, main *) { gap: 12px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product div.images .flex-control-thumbs img:where(main, main *) { border-radius: 1px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product form.cart:where(main, main *) {
  margin-block: 24px;
  padding-block: 20px;
  border-color: var(--ne-commerce-line);
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product form.cart .variations:where(main, main *) { border: 0; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product form.cart .variations :is(tr, th, td):where(main, main *) {
  display: block;
  width: 100%;
  padding-block: 8px;
  border: 0;
  vertical-align: top;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product form.cart .variations label:where(main, main *) {
  display: inline-block;
  padding-block: 0 4px;
  font-size: 14px;
  font-weight: 600;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product form.cart .variations select:where(main, main *) {
  min-height: 50px;
  padding: 12px 38px 12px 14px;
  border: 1px solid var(--ne-commerce-line);
  border-radius: 2px;
  background-color: #fff;
  color: var(--ne-commerce-ink);
  font-size: 16px;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product .woocommerce-variation:where(main, main *) {
  padding-block: 8px 16px;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product .woocommerce-variation :is(p, .price):where(main, main *) { margin-block: 8px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product .woocommerce-variation-description:where(main, main *) { font-size: 14px; line-height: 1.7; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product .stock:where(main, main *) { font-size: 13px; font-weight: 500; line-height: 1.7; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product .stock.in-stock:where(main, main *) { color: var(--ne-commerce-success); }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product .stock.out-of-stock:where(main, main *) { color: var(--ne-commerce-error); }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product form.cart .woocommerce-variation-add-to-cart:where(main, main *),
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product form.cart:not(.variations_form):not(.grouped_form):where(main, main *) {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 12px;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product form.cart .woocommerce-variation-add-to-cart .quantity:where(main, main *),
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product form.cart:not(.variations_form) .quantity:where(main, main *) { float: none; margin: 0; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product form.cart .single_add_to_cart_button:where(main, main *) {
  float: none;
  flex: 1 1 180px;
  min-height: 50px;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .quantity .qty:where(main, main *) {
  width: 80px;
  max-width: 100%;
  min-height: 50px;
  border-color: var(--ne-commerce-line);
  border-radius: 2px;
  background: #fff;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product .product_meta:where(main, main *) {
  padding-block: 4px 16px;
  color: var(--ne-commerce-muted);
  font-size: 12px;
  line-height: 1.8;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product .woocommerce-tabs:where(main, main *) {
  clear: both;
  padding-top: clamp(32px, 5vw, 72px);
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product .woocommerce-tabs ul.tabs:where(main, main *) { border-bottom: 1px solid var(--ne-commerce-line); }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product .woocommerce-tabs ul.tabs li:where(main, main *) { margin-inline-end: 20px; padding-inline: 0; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product .woocommerce-tabs ul.tabs li a:where(main, main *) { font-size: 14px; font-weight: 500; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product .woocommerce-tabs .panel:where(main, main *) { padding-block: 28px; line-height: 1.8; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product :is(.related, .upsells):where(main, main *) { padding-top: 32px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product :is(.related, .upsells) > h2:where(main, main *) {
  margin-block: 0 28px;
  font-family: var(--ne-display, Georgia, serif);
  font-size: clamp(28px, 3vw, 40px);
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.comment-form-rating, .comment-form-comment):where(main, main *) { margin-block: 20px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .star-rating:where(main, main *) { color: #775b21; }

/* Formulários: não substituir labels, radios, selects ou validação Woo. */
:is(body.woocommerce main, main.woocommerce, main .woocommerce) form .form-row:where(main, main *) { margin-bottom: 22px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) form .form-row label:where(main, main *) {
  margin-bottom: 8px;
  color: var(--ne-commerce-ink);
  font-size: 13px;
  font-weight: 500;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) form .form-row :is(input.input-text, select, textarea):where(main, main *) {
  min-height: 50px;
  max-width: 100%;
  border: 1px solid var(--ne-commerce-line);
  border-radius: 2px;
  padding: 12px 14px;
  background: #fff;
  color: var(--ne-commerce-ink);
  font-size: 16px;
  line-height: 1.5;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) form .form-row textarea:where(main, main *) { min-height: 132px; resize: vertical; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) form .form-row :is(input, textarea):where(main, main *)::placeholder { color: #77736a; opacity: 1; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) form .form-row.woocommerce-invalid :is(input.input-text, select, textarea):where(main, main *),
:is(body.woocommerce main, main.woocommerce, main .woocommerce) form .form-row :is(input, select, textarea)[aria-invalid="true"]:where(main, main *) {
  border-color: var(--ne-commerce-error);
  box-shadow: inset 3px 0 var(--ne-commerce-error);
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) form .form-row.woocommerce-validated :is(input.input-text, select):where(main, main *) { border-color: #5c7c69; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.woocommerce-input-wrapper, .password-input):where(main, main *) { min-width: 0; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .password-input input[type="password"]:where(main, main *),
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .password-input input[type="text"]:where(main, main *) { padding-inline-end: 52px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) form .form-row .required:where(main, main *) { color: var(--ne-commerce-error); }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) form .form-row :is(label.checkbox, .woocommerce-form__label-for-checkbox):where(main, main *) {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding-block: 10px;
  min-height: 44px;
  font-weight: 400;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) form :is(input[type="checkbox"], input[type="radio"]):where(main, main *) {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-block-start: 3px;
  accent-color: var(--ne-commerce-ink);
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .select2-container:where(main, main *) { max-width: 100%; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .select2-container .select2-selection--single:where(main, main *) {
  min-height: 50px;
  border: 1px solid var(--ne-commerce-line);
  border-radius: 2px;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .select2-container .select2-selection--single .select2-selection__rendered:where(main, main *) {
  padding: 10px 38px 10px 14px;
  color: var(--ne-commerce-ink);
  line-height: 28px;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .select2-container .select2-selection--single .select2-selection__arrow:where(main, main *) { top: 12px; right: 10px; }

/* Avisos de sucesso/erro/info continuam presentes, legíveis e acionáveis. */
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error):where(main, main *) {
  margin-block: 0 28px;
  border: 1px solid var(--ne-commerce-line);
  border-inline-start: 1px solid #7a6d50;
  border-radius: 2px;
  padding: 20px 22px 20px 50px;
  background: var(--ne-commerce-paper);
  color: var(--ne-commerce-ink);
  font-size: 14px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-error:where(main, main *) { border-inline-start-color: var(--ne-commerce-error); }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-message:where(main, main *) { border-inline-start-color: var(--ne-commerce-success); }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error):where(main, main *)::before {
  top: 21px;
  left: 20px;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) a:where(main, main *) { font-weight: 500; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) .button:where(main, main *) {
  margin-block: 0 10px;
  margin-inline-start: 16px;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-error li + li:where(main, main *) { margin-top: 8px; }

/* Carrinho clássico: itens claros e resumo sem competir com ações auxiliares. */
:is(body.woocommerce main, main.woocommerce, main .woocommerce) table.shop_table:where(main, main *) { border: 0; border-radius: 0; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) table.shop_table thead:where(main, main *) { background: transparent; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) table.shop_table :is(th, td):where(main, main *) { padding: 20px 14px; border-color: var(--ne-commerce-line); }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) table.shop_table thead th:where(main, main *) {
  padding-top: 12px;
  padding-bottom: 16px;
  color: var(--ne-commerce-muted);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-cart-form :is(.product-name, .product-price, .product-subtotal):where(main, main *) { font-size: 14px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-cart-form .product-name a:where(main, main *) { font-weight: 500; text-decoration: none; line-height: 1.65; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-cart-form .product-name a:hover:where(main, main *) { text-decoration: underline; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-cart-form .product-thumbnail img:where(main, main *) { width: 96px; max-width: none; border-radius: 2px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) a.remove:where(main, main *) { border-radius: 50%; color: #655f54; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) a.remove:hover:where(main, main *) { background: #f2e7e0; color: var(--ne-commerce-error); }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .cart .actions:where(main, main *) { padding-block: 24px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .cart .actions .coupon:where(main, main *) { display: flex; align-items: stretch; flex-wrap: wrap; gap: 10px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .cart .actions .coupon #coupon_code:where(main, main *) { float: none; width: 190px; margin: 0; border: 1px solid var(--ne-commerce-line); border-radius: 2px; font-size: 16px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .cart .actions .coupon .button:where(main, main *) { float: none; margin: 0; min-width: 140px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .cart-collaterals:where(main, main *) { margin-top: 28px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .cart-collaterals .cart_totals:where(main, main *) {
  padding: clamp(22px, 3vw, 36px);
  border: 0;
  border-top: 2px solid var(--ne-commerce-ink);
  border-radius: 0;
  background: var(--ne-commerce-wash);
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .cart-collaterals .cart_totals h2:where(main, main *) { margin-bottom: 20px; font-family: var(--ne-display, Georgia, serif); font-size: 30px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .cart-collaterals .cart_totals .shop_table :is(th, td):where(main, main *) { padding-block: 16px; font-size: 14px; font-weight: 400; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .cart-collaterals .cart_totals .order-total :is(th, td):where(main, main *) { padding-top: 22px; font-size: 21px; font-weight: 600; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .cart_totals .checkout-button:where(main, main *) { margin: 8px 0 0; min-height: 54px; font-size: 15px; }

/* Checkout clássico e order-pay: disposição do Woo, sem mover gateways. */
.woocommerce-checkout form.checkout:where(main, main *) { column-gap: clamp(28px, 5vw, 72px); }
.woocommerce-checkout form.checkout :is(.woocommerce-billing-fields, .woocommerce-shipping-fields) > h3:where(main, main *),
.woocommerce-checkout form.checkout #order_review_heading:where(main, main *) {
  font-family: var(--ne-display, Georgia, serif);
  font-size: clamp(28px, 3vw, 36px);
  font-weight: 500;
}
.woocommerce-checkout form.checkout #order_review:where(main, main *) {
  border: 0;
  border-top: 2px solid var(--ne-commerce-ink);
  background: var(--ne-commerce-wash);
  padding: clamp(22px, 3vw, 36px);
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-checkout-review-order-table .order-total :is(th, td):where(main, main *) { padding-top: 24px; font-size: 21px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) #payment:where(main, main *) {
  border: 0;
  border-radius: 2px;
  background: var(--ne-commerce-paper);
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) #payment ul.payment_methods:where(main, main *) { border-color: var(--ne-commerce-line); }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) #payment ul.payment_methods li:where(main, main *) { padding-block: 10px; font-size: 14px; line-height: 1.7; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) #payment ul.payment_methods li > label:where(main, main *) { display: inline; font-weight: 500; cursor: pointer; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) #payment div.payment_box:where(main, main *) {
  border: 1px solid var(--ne-commerce-line);
  border-radius: 2px;
  padding: 18px;
  background: #fff;
  color: var(--ne-commerce-ink);
  font-size: 13px;
  line-height: 1.7;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) #payment div.payment_box:where(main, main *)::before { border-bottom-color: var(--ne-commerce-line); }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) #payment .payment_box :is(p, fieldset):where(main, main *) { max-width: 100%; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) #payment :is(img, iframe):where(main, main *) { max-width: 100%; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) #payment #place_order:where(main, main *) { width: 100%; min-height: 54px; margin-top: 20px; font-size: 15px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.woocommerce-privacy-policy-text, .woocommerce-terms-and-conditions-checkbox-text):where(main, main *) { line-height: 1.8; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) form#order_review:where(main, main *) { max-width: 820px; margin-inline: auto; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) form#order_review > .shop_table:where(main, main *) { margin-bottom: 32px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-checkout-payment .form-row.place-order:where(main, main *) { padding-bottom: 8px; }

/* Conta, recuperação de acesso e endpoints preservam suas navegações reais. */
:is(body.woocommerce main, main.woocommerce, main .woocommerce) #customer_login:where(main, main *) { column-gap: clamp(32px, 7vw, 96px); row-gap: 40px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) #customer_login h2:where(main, main *) { font-size: clamp(30px, 3.4vw, 42px); }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(form.login, form.register, form.woocommerce-ResetPassword):where(main, main *) {
  margin-block: 20px 32px;
  border: 0;
  border-top: 2px solid var(--ne-commerce-ink);
  border-radius: 0;
  padding: clamp(24px, 3vw, 38px);
  background: var(--ne-commerce-paper);
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-LostPassword:where(main, main *) { font-size: 13px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-MyAccount-navigation:where(main, main *) { width: 24%; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-MyAccount-navigation ul:where(main, main *) { border: 0; border-top: 1px solid var(--ne-commerce-line); border-radius: 0; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-MyAccount-navigation li + li:where(main, main *) { border-color: var(--ne-commerce-line); }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-MyAccount-navigation a:where(main, main *) { padding: 16px 12px; min-height: 52px; font-size: 14px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-MyAccount-navigation .is-active a:where(main, main *) { background: var(--ne-commerce-wash); border-inline-start: 2px solid var(--ne-commerce-ink); font-weight: 600; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-MyAccount-content:where(main, main *) { width: 70%; min-width: 0; line-height: 1.8; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-MyAccount-content > :is(h2, h3):where(main, main *),
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-Address-title h2:where(main, main *) { font-family: var(--ne-display, Georgia, serif); font-size: 29px; font-weight: 500; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-MyAccount-content .woocommerce-Address:where(main, main *) { padding: 28px; border: 1px solid var(--ne-commerce-line); }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-Addresses .title .edit:where(main, main *) { display: inline-block; padding-block: 10px; text-underline-offset: 4px; font-size: 13px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-orders-table__cell-order-actions .button:where(main, main *) { margin: 4px 6px 4px 0; min-height: 44px; padding: 10px 16px; font-size: 12px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-EditAccountForm fieldset:where(main, main *) {
  margin-block: 32px 24px;
  border: 1px solid var(--ne-commerce-line);
  padding: 24px;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-EditAccountForm legend:where(main, main *) { padding-inline: 8px; font-size: 16px; font-weight: 500; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.cart-empty, .woocommerce-no-orders-found, .woocommerce-no-products-found):where(main, main *) {
  max-width: 760px;
  padding-block: 30px;
  font-size: 16px;
  line-height: 1.8;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .return-to-shop:where(main, main *) { margin-block: 24px 48px; }

/* Confirmação e pagamento: valores/status/textos são sempre os do Woo. */
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-order:where(main, main *) { max-width: 1060px; margin-inline: auto; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-thankyou-order-received:where(main, main *) {
  max-width: 26ch;
  margin-block: 8px 36px;
  font-family: var(--ne-display, Georgia, serif);
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 500;
  line-height: 1.15;
  letter-spacing: -.03em;
}
:is(body.woocommerce main, main.woocommerce, main .woocommerce) ul.order_details:where(main, main *) { display: flex; flex-wrap: wrap; gap: 24px 36px; margin: 0 0 40px; padding: 28px; background: var(--ne-commerce-wash); }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) ul.order_details li:where(main, main *) { float: none; min-width: 130px; max-width: 100%; margin: 0; padding: 0; border: 0; color: var(--ne-commerce-muted); font-size: 11px; letter-spacing: .06em; line-height: 1.8; overflow-wrap: anywhere; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) ul.order_details li strong:where(main, main *) { margin-top: 5px; color: var(--ne-commerce-ink); font-size: 15px; font-weight: 500; letter-spacing: 0; text-transform: none; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-bacs-bank-details):where(main, main *) { margin-block: 36px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.woocommerce-order-details, .woocommerce-customer-details) h2:where(main, main *) { font-family: var(--ne-display, Georgia, serif); font-size: 30px; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-customer-details address:where(main, main *) { border: 1px solid var(--ne-commerce-line); border-radius: 2px; padding: 24px; font-style: normal; line-height: 1.9; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-thankyou-order-failed:where(main, main *) { border-inline-start: 1px solid var(--ne-commerce-error); padding: 20px 24px; background: #fbf3ef; color: var(--ne-commerce-error); }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-thankyou-order-failed-actions:where(main, main *) { display: flex; flex-wrap: wrap; gap: 12px; }

/* Woo Blocks: desenho sobre a estrutura real main/sidebar e seus estados nativos. */
:is(.wc-block-cart, .wc-block-checkout):where(main, main *) { margin-block: 24px 48px; min-width: 0; }
/* O bloco de checkout envolve outro .wc-block-checkout: só o externo cria espaço. */
.wc-block-checkout.wp-block-woocommerce-checkout:where(main, main *) { padding-top: 0; }
.wc-block-checkout.wc-block-components-sidebar-layout:where(main, main *) { margin-block: 0; }
.wc-block-cart.is-large:where(main, main *) { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .85fr); column-gap: clamp(28px, 5vw, 68px); align-items: start; }
.wc-block-cart.is-large > .wc-block-cart__main:where(main, main *),
.wc-block-cart.is-large > .wc-block-cart__sidebar:where(main, main *) { width: auto; min-width: 0; padding-inline: 0; }
.wc-block-cart.is-large > .wc-block-cart__main:where(main, main *) { grid-column: 1; }
.wc-block-cart.is-large > .wc-block-cart__sidebar:where(main, main *) { grid-column: 2; }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-main:where(main, main *) { min-width: 0; }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-sidebar:where(main, main *) {
  min-width: 0;
  border: 0;
  border-top: 2px solid var(--ne-commerce-ink);
  border-radius: 0;
  padding: clamp(22px, 3vw, 36px);
  background: var(--ne-commerce-wash);
}
.wc-block-cart.is-large > .wc-block-cart__sidebar:where(main, main *) { padding: clamp(22px, 3vw, 36px); }
.wc-block-cart .wc-block-cart__totals-title:where(main, main *),
.wc-block-checkout .wc-block-components-checkout-step__title:where(main, main *) {
  margin-block: 0 24px;
  font-family: var(--ne-display, Georgia, serif);
  font-size: 30px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.wc-block-cart table.wc-block-cart-items:where(main, main *) { width: 100%; border-collapse: collapse; table-layout: auto; }
.wc-block-cart .wc-block-cart-items__header th:where(main, main *) { padding-bottom: 20px; color: var(--ne-commerce-muted); font-size: 11px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.wc-block-cart .wc-block-cart-items__row :is(td, th):where(main, main *) { border-color: var(--ne-commerce-line); padding-block: 26px; }
.wc-block-cart .wc-block-cart-item__image:where(main, main *) { width: clamp(88px, 10vw, 136px); padding-inline-end: 24px; }
.wc-block-cart .wc-block-cart-item__image img:where(main, main *) { width: 112px; max-width: 100%; height: auto; border-radius: 2px; }
.wc-block-cart .wc-block-cart-item__product:where(main, main *) { min-width: 0; padding-inline-end: 16px; overflow-wrap: anywhere; }
.wc-block-cart .wc-block-components-product-name:where(main, main *) { color: var(--ne-commerce-ink); font-size: 17px; font-weight: 500; line-height: 1.6; text-decoration: none; }
.wc-block-cart .wc-block-components-product-name:hover:where(main, main *) { text-decoration: underline; }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-product-metadata:where(main, main *) { color: var(--ne-commerce-muted); font-size: 12px; line-height: 1.8; }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-product-price:where(main, main *) { color: var(--ne-commerce-ink); font-size: 15px; }
.wc-block-cart .wc-block-components-quantity-selector:where(main, main *) { min-height: 44px; max-width: 136px; margin-top: 16px; border-color: var(--ne-commerce-line); border-radius: 2px; }
.wc-block-cart .wc-block-components-quantity-selector button:where(main, main *) { min-width: 40px; color: var(--ne-commerce-ink); }
.wc-block-cart .wc-block-components-quantity-selector input:where(main, main *) { min-width: 0; font-size: 16px; }
.wc-block-cart .wc-block-cart-item__remove-link:where(main, main *) { min-height: 44px; padding-block: 10px; color: var(--ne-commerce-muted); font-size: 12px; text-underline-offset: .2em; }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-totals-wrapper:where(main, main *) { padding-block: 20px; border-color: var(--ne-commerce-line); }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-totals-item:where(main, main *) { gap: 16px; padding-block: 5px; font-size: 14px; line-height: 1.6; }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-totals-footer-item:where(main, main *) { padding-top: 20px; font-size: 22px; font-weight: 500; }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-totals-coupon-link:where(main, main *) { min-height: 44px; padding-block: 10px; color: var(--ne-commerce-ink); font-size: 13px; text-underline-offset: .25em; }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-totals-coupon__input input:where(main, main *) { min-height: 50px; font-size: 16px; }
.wc-block-cart .wc-block-cart__submit-button:where(main, main *) { width: 100%; min-height: 56px; font-size: 15px; }
.wc-block-cart .wc-block-cart__submit-container:where(main, main *) { padding-block: 12px; }
.wc-block-checkout .wc-block-components-checkout-step:where(main, main *) { padding-bottom: 28px; }
.wc-block-checkout .wc-block-components-checkout-step__heading-container:where(main, main *) { margin-bottom: 20px; }
.wc-block-checkout .wc-block-components-checkout-step__heading:where(main, main *) { margin-bottom: 0; }
.wc-block-checkout .wc-block-components-checkout-step__title:where(main, main *) { margin-block: 0; }
.wc-block-checkout .wc-block-components-checkout-step__description:where(main, main *) { color: var(--ne-commerce-muted); font-size: 14px; line-height: 1.8; }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-text-input input:where(main, main *),
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-combobox .wc-block-components-combobox-control input:where(main, main *),
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-address-form select:where(main, main *) {
  min-height: 56px;
  max-width: 100%;
  border-color: var(--ne-commerce-line);
  border-radius: 2px;
  background-color: #fff;
  color: var(--ne-commerce-ink);
  font-family: var(--ne-font, system-ui, sans-serif);
  font-size: 16px;
}
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-text-input label:where(main, main *) { color: var(--ne-commerce-muted); }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-validation-error:where(main, main *) {
  padding-block: 6px;
  color: var(--ne-commerce-error);
  font-size: 12px;
  line-height: 1.6;
}
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-text-input.has-error input:where(main, main *) { border-color: var(--ne-commerce-error); }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-radio-control__option:where(main, main *) { min-height: 54px; padding-block: 16px; border-color: var(--ne-commerce-line); }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-radio-control__option-checked:where(main, main *) { background: var(--ne-commerce-paper); }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-radio-control__input:where(main, main *) { accent-color: var(--ne-commerce-ink); }
.wc-block-checkout .wc-block-components-checkout-place-order-button:where(main, main *) { min-height: 56px; font-size: 15px; }
.wc-block-checkout .wc-block-components-checkout-return-to-cart-button:where(main, main *) { display: inline-flex; align-items: center; min-height: 44px; padding-block: 10px; font-size: 13px; }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-notice-banner:where(main, main *) { margin-block: 0 24px; border-radius: 2px; padding: 18px; color: var(--ne-commerce-ink); font-size: 14px; line-height: 1.7; }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-notice-banner.is-error:where(main, main *) { border-color: var(--ne-commerce-error); background: #fbf3ef; }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-express-payment:where(main, main *) { margin-block: 20px 28px; }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-express-payment__title:where(main, main *) { color: var(--ne-commerce-muted); font-size: 13px; }
.wc-block-cart .wc-block-cart__empty-cart__title:where(main, main *) { margin-bottom: 20px; font-family: var(--ne-display, Georgia, serif); font-size: clamp(30px, 4vw, 48px); line-height: 1.1; letter-spacing: -.03em; }
.wc-block-cart .wc-block-cart__empty-cart__title + p:where(main, main *) { max-width: 55ch; margin-bottom: 28px; color: var(--ne-commerce-muted); line-height: 1.8; }
.wc-block-order-confirmation:where(main, main *) { line-height: 1.8; }
.wc-block-order-confirmation :is(h2, h3):where(main, main *) { margin-block: 32px 20px; font-family: var(--ne-display, Georgia, serif); font-weight: 500; }
.wc-block-order-confirmation .wc-block-order-confirmation-summary:where(main, main *) { padding: 28px; border-top: 2px solid var(--ne-commerce-ink); background: var(--ne-commerce-wash); }
.wc-block-order-confirmation :is(td, th):where(main, main *) { padding: 16px; border-color: var(--ne-commerce-line); overflow-wrap: anywhere; }

/* Sem esconder overflow: o conteúdo e as ações se reorganizam em telas estreitas. */
@media (max-width: 960px) {
  .wc-block-cart.is-large:where(main, main *) { display: block; }
  .wc-block-cart.is-large > :is(.wc-block-cart__main, .wc-block-cart__sidebar):where(main, main *) { width: 100%; }
  .wc-block-cart.is-large > .wc-block-cart__sidebar:where(main, main *) { margin-top: 32px; }
}
@media (max-width: 768px) {
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product .product_title:where(main, main *) { max-width: none; font-size: clamp(28px, 7.2vw, 34px); }
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product div.images:where(main, main *) { margin-bottom: 28px; }
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product div.summary:where(main, main *) { margin-bottom: 20px; }
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product form.cart .variations :is(th, td):where(main, main *) { display: block; width: 100%; padding-inline: 0; }
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product form.cart .variations label:where(main, main *) { padding-block: 4px; }
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) div.product form.cart .single_add_to_cart_button:where(main, main *) { min-width: 0; }
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-cart-form .product-thumbnail img:where(main, main *) { max-width: 80px; }
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) .cart .actions .coupon:where(main, main *) { margin-bottom: 16px; }
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) .cart .actions .coupon :is(#coupon_code, .button):where(main, main *) { width: 100%; min-width: 0; }
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error):where(main, main *) { padding: 18px 18px 18px 46px; }
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) .button:where(main, main *) { float: none; display: table; margin: 12px 0 0; }
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content):where(main, main *) { float: none; width: 100%; }
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-MyAccount-navigation:where(main, main *) { margin-bottom: 32px; }
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-MyAccount-content .woocommerce-Address:where(main, main *) { padding: 22px; }
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) ul.order_details:where(main, main *) { gap: 20px; padding: 22px; }
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) ul.order_details li:where(main, main *) { flex: 1 1 140px; }
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) .woocommerce-thankyou-order-failed-actions .button:where(main, main *) { flex: 1 1 160px; }
  :is(.wc-block-cart, .wc-block-checkout) .wc-block-components-sidebar:where(main, main *) { margin-top: 28px; padding: 24px 20px; }
  .wc-block-cart .wc-block-cart-item__image:where(main, main *) { width: 88px; padding-inline-end: 14px; }
  .wc-block-cart .wc-block-cart-item__image img:where(main, main *) { width: 80px; }
  .wc-block-cart .wc-block-components-product-name:where(main, main *) { font-size: 15px; }
  .wc-block-cart .wc-block-cart-items__row :is(td, th):where(main, main *) { padding-block: 20px; }
  :is(.wc-block-cart, .wc-block-checkout) .wc-block-components-totals-footer-item:where(main, main *) { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) {
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(a.button, button.button, input.button):where(main, main *),
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-button:where(main, main *) { transition: none; }
}
@media (forced-colors: active) {
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(a, button, input, select, textarea):focus-visible:where(main, main *),
:is(.wc-block-cart, .wc-block-checkout) :is(a, button, input, select, textarea):focus-visible:where(main, main *) { outline-color: Highlight; }
  :is(body.woocommerce main, main.woocommerce, main .woocommerce) :is(.woocommerce-error, .woocommerce-message, .woocommerce-info):where(main, main *),
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-notice-banner:where(main, main *) { border: 1px solid CanvasText; }
}

/* Orientação de compra adicionada pelo tema, sempre com destinos Woo reais. */
.ne-purchase-steps:where(main, main *) {
  margin-block: 0 24px;
  padding-block: 0 12px;
  border-bottom: 1px solid #d8d3c9;
  color: #66635c;
  font-family: var(--ne-font, system-ui, sans-serif);
  font-size: 12px;
  line-height: 1.5;
}
.ne-purchase-steps ol:where(main, main *) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px clamp(20px, 5vw, 64px);
  margin: 0;
  padding: 0;
  list-style-position: inside;
}
.ne-purchase-steps li:where(main, main *) { min-width: 0; padding-inline-end: 4px; }
.ne-purchase-steps li:where(main, main *)::marker { color: #837c70; font-variant-numeric: tabular-nums; }
.ne-purchase-steps :is(a, span):where(main, main *) { display: inline-block; min-height: 44px; padding-block: 12px; }
.ne-purchase-steps a:where(main, main *) { color: inherit; text-decoration: none; text-underline-offset: 5px; }
.ne-purchase-steps a:hover:where(main, main *) { color: #20201d; text-decoration: underline; }
.ne-purchase-steps :is(.is-current, [aria-current="step"]):where(main, main *) { color: #20201d; font-weight: 600; }
.ne-purchase-steps .is-complete a:where(main, main *) { color: #535049; }
.ne-purchase-steps a:focus-visible:where(main, main *) { outline: 2px solid #20201d; outline-offset: 4px; }
.ne-product-breadcrumb:where(main, main *) { margin-block: 0 28px; color: #66635c; font-size: 12px; line-height: 1.8; }
.ne-product-breadcrumb .woocommerce-breadcrumb:where(main, main *) { margin: 0; font-size: inherit; }
.ne-product-breadcrumb a:where(main, main *) { color: #20201d; text-underline-offset: 4px; }
@media (max-width: 480px) {
  .ne-purchase-steps:where(main, main *) { padding-bottom: 16px; font-size: 11px; }
  .ne-purchase-steps ol:where(main, main *) { column-gap: 16px; row-gap: 0; }
  .ne-purchase-steps li:where(main, main *) { flex: 0 1 auto; }
}

/* Tabela nativa no desktop; apenas a superfície inteira muda no breakpoint mobile. */
.wc-block-cart table.wc-block-cart-items:where(main, main *) { display: table; width: 100%; table-layout: auto; }
.wc-block-cart table.wc-block-cart-items tbody:where(main, main *) { display: table-row-group; }

.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header-image:where(main, main *) { width: 112px; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__header-total:where(main, main *) { width: 100px; text-align: end; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row:where(main, main *) { display: table-row; border-bottom: 1px solid var(--ne-commerce-line); }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row > td:where(main, main *) { display: table-cell; padding-block: 28px; vertical-align: top; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image:where(main, main *) { display: table-cell; width: 112px; padding-inline: 0; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image img:where(main, main *) { width: 112px; max-width: 100%; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product:where(main, main *) { display: table-cell; min-width: 0; padding-inline: 24px; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total:where(main, main *) { display: table-cell; width: 100px; min-width: 100px; padding-inline: 0; text-align: end; white-space: nowrap; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity:where(main, main *) { min-width: 0; padding: 0; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name:where(main, main *) { max-width: 100%; font-size: 17px; line-height: 1.6; overflow-wrap: anywhere; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__remove-link:where(main, main *) { min-height: 44px; height: auto; padding-block: 10px; font-size: 12px; }
.wc-block-cart .wc-block-components-sidebar .wc-block-cart__totals-title:where(main, main *) { display: block; margin-bottom: 24px; padding: 0; font-family: var(--ne-display, Georgia, serif); font-size: 30px; line-height: 1.2; text-transform: none; letter-spacing: -.025em; }
:is(body.woocommerce main, main.woocommerce, main .woocommerce) button.button.alt:disabled[disabled]:where(main, main *),
:is(body.woocommerce main, main.woocommerce, main .woocommerce) button.button.alt.disabled:where(main, main *) { background: #dedbd4; border-color: #c8c3ba; color: #56534d; opacity: 1; }
:is(.wc-block-order-confirmation-summary, .wc-block-order-confirmation-status, .wc-block-order-confirmation-totals, .wc-block-order-confirmation-billing-address, .wc-block-order-confirmation-shipping-address):where(main, main *) {
  --ne-commerce-ink: var(--ne-black, #20201d);
  --ne-commerce-wash: var(--ne-editorial, #f4f0e9);
  --ne-commerce-line: #d8d3c9;
  color: var(--ne-commerce-ink);
  font-family: var(--ne-font, system-ui, sans-serif);
  line-height: 1.8;
}
.wc-block-order-confirmation-status:where(main, main *) { max-width: 26ch; font-family: var(--ne-display, Georgia, serif); font-size: clamp(30px, 4vw, 48px); line-height: 1.15; letter-spacing: -.03em; }
.wc-block-order-confirmation-status-description:where(main, main *) { max-width: 68ch; line-height: 1.8; }
.wc-block-order-confirmation-summary:where(main, main *) { padding: 28px; border-top: 2px solid var(--ne-commerce-ink); border-radius: 0; background: var(--ne-commerce-wash); }
.wc-block-order-confirmation-summary ul:where(main, main *) { gap: 24px; }
.wc-block-order-confirmation-summary .wc-block-order-confirmation-summary-list-item__key:where(main, main *) { color: #66635c; font-size: 12px; font-weight: 400; }
.wc-block-order-confirmation-summary .wc-block-order-confirmation-summary-list-item__value:where(main, main *) { font-size: 16px; font-weight: 500; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.wc-block-order-confirmation-totals :is(td, th):where(main, main *) { overflow-wrap: anywhere; }
:is(.wc-block-order-confirmation-billing-address, .wc-block-order-confirmation-shipping-address) address:where(main, main *) { padding: 24px; border: 1px solid var(--ne-commerce-line); font-style: normal; }
.wc-block-order-confirmation-status-description .woocommerce-verify-email #verify-email:where(main, main *) { min-height: 50px; max-width: 100%; padding: 12px 14px; border: 1px solid #d8d3c9; border-radius: 2px; font-size: 16px; }
/* O CSS Woo pode chegar após o tema: tbody aumenta a especificidade sem !important.
 * Cada célula ocupa linhas/colunas explícitas; nenhum grid-column-end:4 nativo
 * deve criar uma terceira coluna ou recolocar o total sobre o nome. */
@media (max-width: 600px) {
  .wc-block-cart table.wc-block-cart-items:where(main, main *),
  .wc-block-cart table.wc-block-cart-items tbody:where(main, main *) { display: block; width: 100%; }
  .wc-block-cart table.wc-block-cart-items > tbody > .wc-block-cart-items__row:where(main, main *) { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 12px 16px; padding-block: 24px; }
  .wc-block-cart table.wc-block-cart-items > tbody > .wc-block-cart-items__row > td:where(main, main *) { display: block; padding: 0; }
  .wc-block-cart table.wc-block-cart-items > tbody > .wc-block-cart-items__row > .wc-block-cart-item__image:where(main, main *) { display: block; grid-column: 1 / 2; grid-row: 1 / 3; width: 80px; }
  .wc-block-cart table.wc-block-cart-items > tbody > .wc-block-cart-items__row .wc-block-cart-item__image img:where(main, main *) { width: 80px; }
  .wc-block-cart table.wc-block-cart-items > tbody > .wc-block-cart-items__row > .wc-block-cart-item__product:where(main, main *) { display: block; grid-column: 2 / 3; grid-row: 1 / 2; padding-inline: 0; }
  .wc-block-cart table.wc-block-cart-items > tbody > .wc-block-cart-items__row > .wc-block-cart-item__total:where(main, main *) { display: block; grid-column: 2 / 3; grid-row: 2 / 3; width: auto; min-width: 0; text-align: start; }
  .wc-block-cart table.wc-block-cart-items > tbody > .wc-block-cart-items__row .wc-block-components-product-name:where(main, main *) { font-size: 15px; }
  .wc-block-order-confirmation-summary:where(main, main *) { padding: 22px; }
}

/* EMPTY_CART é uma superfície própria no renderizador nativo dos blocos. */
.wc-block-cart__empty-cart__title:where(main, main *) { max-width: 24ch; margin: 24px auto; color: var(--ne-black, #20201d); font-family: var(--ne-display, Georgia, serif); font-size: clamp(30px, 4vw, 48px); font-weight: 500; line-height: 1.12; letter-spacing: -.03em; text-wrap: balance; }
.wc-block-cart__empty-cart__title + p:where(main, main *) { max-width: 55ch; margin: 0 auto 28px; color: #66635c; line-height: 1.8; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity:where(main, main *) { min-width: 0; max-width: 100%; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:where(main, main *) { display: inline-block; width: auto; max-width: 100%; min-width: 0; height: auto; white-space: normal; overflow-wrap: anywhere; text-align: start; }

@media (max-width: 600px) {
  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity:where(main, main *) { flex-wrap: wrap; gap: 4px 12px; }
  .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link:where(main, main *) { flex-basis: 100%; width: auto; max-width: 100%; min-height: 44px; white-space: normal; overflow-wrap: normal; word-break: normal; }
}

/* Fotografias fiéis sobre branco contínuo: sem filtros de cor ou mistura. */
.ne-woocommerce-content div.product div.images:where(main, main *) { width: 54%; margin-bottom: 40px; }
.ne-woocommerce-content div.product div.summary:where(main, main *) { width: 40%; margin-bottom: 40px; }
.ne-woocommerce-content div.product .woocommerce-product-gallery__image > a:where(main, main *) { display: block; background: #fff; }
.ne-woocommerce-content div.product .woocommerce-product-gallery__image > a > img:where(main, main *) { width: 100%; aspect-ratio: 1; object-fit: contain; background: #fff; }
.ne-woocommerce-content div.product div.images .flex-control-thumbs img:where(main, main *) { width: 100%; aspect-ratio: 1; object-fit: contain; background: #fff; border: 1px solid #e1ddd5; opacity: 1; }
.ne-woocommerce-content div.product div.images .flex-control-thumbs img.flex-active:where(main, main *) { border-color: #171717; }
.ne-woocommerce-content div.product div.images .flex-control-thumbs img:hover:where(main, main *) { border-color: #8b857c; }
.ne-woocommerce-content div.product div.images .flex-control-thumbs img:focus-visible:where(main, main *) { outline: 2px solid #171717; outline-offset: 2px; }
.ne-woocommerce-content div.product form.cart:where(main, main *) { border-block: 1px solid var(--ne-commerce-line); }
.ne-woocommerce-content div.product form.cart .reset_variations:where(main, main *) { display: inline-flex; align-items: center; min-height: 44px; color: var(--ne-commerce-muted); font-size: 12px; text-underline-offset: 4px; }
.ne-woocommerce-content div.product .product_meta:where(main, main *) { font-size: 12px; }
.ne-woocommerce-content div.product .product_meta > span:where(main, main *) { display: block; }
.ne-woocommerce-content div.product .woocommerce-tabs ul.tabs:where(main, main *) { display: flex; flex-wrap: wrap; gap: 0 28px; padding: 0; }
.ne-woocommerce-content div.product .woocommerce-tabs ul.tabs li:where(main, main *) { margin: 0; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; }
.ne-woocommerce-content div.product .woocommerce-tabs ul.tabs li.active:where(main, main *) { border-bottom-color: #171717; }
.ne-woocommerce-content div.product .woocommerce-tabs ul.tabs li a:where(main, main *) { min-height: 48px; padding-block: 14px; }
.ne-woocommerce-content div.product .woocommerce-tabs .panel > h2:where(main, main *) { margin-top: 0; font-family: var(--ne-display); font-size: 30px; }
.ne-woocommerce-content div.product .woocommerce-tabs .panel p:where(main, main *) { max-width: 72ch; }
.ne-woocommerce-content ul.products li.product a img:where(main, main *) { background: #fff; }

/* A jornada é uma tarefa: títulos contidos, orientação e resumo legível. */
:is(body.woocommerce-cart, body.woocommerce-checkout) main.ne-page:where(main, main *) { padding-block: 32px 64px; }
:is(body.woocommerce-cart, body.woocommerce-checkout) main.ne-page article > h1:where(main, main *) { margin-block: 0 16px; font-size: clamp(34px, 4vw, 52px); }
.ne-purchase-intro:where(main, main *) { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 24px; margin-bottom: 28px; font-size: 14px; line-height: 1.7; }
.ne-purchase-intro p:where(main, main *) { margin: 0; color: #625e57; }
.ne-purchase-intro a:where(main, main *) { display: inline-flex; align-items: center; min-height: 44px; color: #171717; text-underline-offset: 5px; font-size: 13px; }
.ne-purchase-intro a:focus-visible:where(main, main *) { outline: 2px solid #171717; outline-offset: 4px; }
.wc-block-cart .wc-block-cart__submit-container:where(main, main *) { padding-bottom: 0; }
:is(.wc-block-cart, .wc-block-checkout) .wc-block-components-product-details:where(main, main *) { margin-top: 8px; }
.wc-block-checkout .wp-block-woocommerce-checkout-order-summary-block:where(main, main *) { border: 0; border-radius: 0; background: transparent; }
.wc-block-checkout .wc-block-components-checkout-order-summary__title:where(main, main *) { min-height: 44px; gap: 16px; padding-block: 0 16px; border-top: 0; }
.wc-block-checkout .wc-block-components-checkout-order-summary__title-text:where(main, main *) { margin: 0; font-family: var(--ne-display); font-size: 28px; font-weight: 500; line-height: 1.2; }
.wc-block-checkout .wc-block-components-order-summary-item__image img:where(main, main *) { width: 100%; aspect-ratio: 1; object-fit: contain; background: #fff; border-radius: 0; }
.wc-block-checkout .wc-block-components-order-summary-item__description:where(main, main *) { min-width: 0; }
.wc-block-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name:where(main, main *) { font-size: 14px; line-height: 1.5; }
.wc-block-checkout .wc-block-components-checkout-step__description:where(main, main *) { margin-block: 12px 0; }
.wc-block-checkout .wc-block-components-checkout-step__container:where(main, main *) { padding-bottom: 0; }
.wc-block-checkout .wc-block-components-checkout-step__content:where(main, main *) { padding-bottom: 0; }
.wc-block-checkout .wc-block-components-checkout-place-order-button:where(main, main *) { width: 100%; }
/* Blocos sem desconto/taxa não criam faixas vazias; conteúdo futuro segue visível. */
.wc-block-checkout .wc-block-components-totals-wrapper:empty:where(main, main *) { padding: 0; border: 0; }

@media (min-width: 1100px) {
  .wc-block-checkout.wc-block-components-sidebar-layout.is-large:where(main, main *) { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(320px, 1fr); gap: 64px; align-items: start; }
  .wc-block-checkout.is-large > .wc-block-components-main:where(main, main *),
  .wc-block-checkout.is-large > .wc-block-components-sidebar:where(main, main *) { width: auto; min-width: 0; margin-inline: 0; }
  .wc-block-checkout.is-large > .wc-block-components-main:where(main, main *) { padding-inline: 0; }
  .wc-block-checkout .wc-block-components-sidebar.is-sticky:where(main, main *) { top: 174px; }
}
@media (max-width: 900px) {
  .ne-woocommerce-content div.product div.images:where(main, main *),
  .ne-woocommerce-content div.product div.summary:where(main, main *) { float: none; width: 100%; }
  .ne-woocommerce-content div.product div.images:where(main, main *) { margin-bottom: 24px; }
  .ne-woocommerce-content div.product div.images:has(> .flex-viewport) .flex-control-thumbs:where(main, main *) { display: flex; flex-wrap: nowrap; gap: 8px; overflow-x: auto; padding: 4px; scroll-snap-type: x proximity; }
  .ne-woocommerce-content div.product div.images .flex-control-thumbs li:where(main, main *) { flex: 0 0 64px; scroll-snap-align: start; }
  .ne-woocommerce-content div.product .woocommerce-tabs:where(main, main *) { padding-top: 20px; }
  .ne-woocommerce-content div.product .woocommerce-tabs ul.tabs:where(main, main *) { gap: 0 20px; }
  :is(body.woocommerce-cart, body.woocommerce-checkout) main.ne-page:where(main, main *) { padding-block: 24px 40px; }
  .ne-purchase-intro:where(main, main *) { margin-bottom: 20px; }
  .wc-block-checkout .wc-block-components-checkout-order-summary__title-text:where(main, main *) { font-size: 24px; }
  .wc-block-checkout .wc-block-components-sidebar:where(main, main *) { padding: 20px; }
}
