/* Nautilus: página de produto (modelo novo).
   Tudo é limitado a .nt-product-page para não afetar o resto do site. */

.nt-product-page {
  --nt-ink: var(--global-palette1, #000);
  --nt-muted: var(--global-palette3, #6a696c);
  --nt-panel: var(--global-palette7, #f5f6f8);
  --nt-line: #e4e5e9;
  --nt-disabled: #b4b5ba;
  --nt-radius-panel: 28px;
  --nt-radius-row: 14px;
  --nt-gap: clamp(28px, 4vw, 48px);
  --nt-section-space: clamp(56px, 7vw, 96px);
  overflow-x: clip;
}

/* ---------- Estrutura geral ---------- */

.nt-product-page .nt-product {
  display: block;
}

.nt-product-page .nt-product__top {
  display: grid;
  grid-template-columns: minmax(0, 1.39fr) minmax(0, 1fr);
  gap: var(--nt-gap);
  align-items: start;
}

.nt-product-page .nt-product__gallery,
.nt-product-page .nt-product__summary {
  min-width: 0;
}

.nt-product-page .nt-product .summary.entry-summary {
  float: none;
  width: 100%;
  margin: 0;
  padding: 0;
}

.nt-product-page .nt-product__section {
  margin-top: var(--nt-section-space);
}

.nt-product-page .nt-product__heading {
  font-family: var(--global-heading-font-family, inherit);
  font-weight: 400;
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--nt-ink);
  margin: 0 0 32px;
}

/* ---------- Galeria: miniaturas à esquerda, imagem principal à direita ---------- */

body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images {
  float: none;
  width: 100%;
  margin: 0;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 160px) minmax(0, 1fr);
  column-gap: 15px;
  align-items: stretch;
}

body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images:not(.gallery-has-thumbnails) {
  grid-template-columns: minmax(0, 1fr);
}

body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images .flex-viewport,
body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images .woocommerce-product-gallery__wrapper {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  background: var(--nt-panel);
  border-radius: var(--nt-radius-panel);
  overflow: hidden;
}

body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images:not(.gallery-has-thumbnails) .flex-viewport,
body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images:not(.gallery-has-thumbnails) .woocommerce-product-gallery__wrapper {
  grid-column: 1;
}

/* Quando o slider existe, o wrapper fica dentro do viewport e não precisa de caixa própria. */
body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images .flex-viewport .woocommerce-product-gallery__wrapper {
  background: none;
  border-radius: 0;
}

body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images .woocommerce-product-gallery__image img {
  display: block;
  width: 100%;
  height: auto;
  mix-blend-mode: multiply;
}

body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images .woocommerce-product-gallery__trigger {
  top: 14px;
  right: 14px;
  z-index: 3;
}

/* Miniaturas: coluna com a altura da imagem principal, a deslizar se forem muitas. */
body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images .flex-control-thumbs {
  grid-column: 1;
  grid-row: 1;
  align-self: stretch;
  height: 0;
  min-height: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 15px;
  overflow-y: auto;
  scrollbar-width: none;
}

body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images .flex-control-thumbs::-webkit-scrollbar {
  display: none;
}

body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images .flex-control-thumbs li {
  flex: 0 0 auto;
  float: none;
  width: 100%;
  margin: 0;
  padding: 0;
}

body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images .flex-control-thumbs img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--nt-radius-panel);
  background: var(--nt-panel);
  opacity: 0.5;
  cursor: pointer;
  mix-blend-mode: multiply;
  transition: opacity 0.2s ease;
}

body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images .flex-control-thumbs img:hover,
body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images .flex-control-thumbs img.flex-active {
  opacity: 1;
}

/* ---------- Resumo ---------- */

.nt-product-page .nt-product__badge {
  margin: 0 0 6px;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--nt-ink);
}

.nt-product-page .nt-product__title {
  margin: 0 0 28px;
  font-family: var(--global-heading-font-family, inherit);
  font-weight: 400;
  font-size: clamp(30px, 3.2vw, 40px);
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--nt-ink);
}

.nt-product-page .nt-product__desc {
  margin: 0 0 36px;
  max-width: 62ch;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--nt-muted);
}

.nt-product-page .nt-product__desc p {
  margin: 0 0 1em;
}

.nt-product-page .nt-product__desc p:last-child {
  margin-bottom: 0;
}

/* ---------- Zona de compra: atributos + quantidade + botões ---------- */

.nt-product-page .nt-product__buy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 10px;
}

.nt-product-page .nt-product__buy form.cart,
.nt-product-page .nt-product__buy .single_variation_wrap,
.nt-product-page .nt-product__buy .woocommerce-variation-add-to-cart,
.nt-product-page .nt-product__buy .yith-ywraq-add-to-quote {
  display: contents;
}

/* A tabela original fica no DOM (o WooCommerce precisa dos selects) mas escondida. */
.nt-product-page .nt-product__buy form.nt-has-attrs table.variations {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.nt-product-page .nt-product__buy .single_variation:empty,
.nt-product-page .nt-product__buy .reset_variations_alert:empty {
  display: none;
}

.nt-product-page .nt-product__buy .woocommerce-variation-add-to-cart > div.qty,
.nt-product-page .nt-product__buy form.cart > div.qty {
  display: none;
}

/* O orçamento substitui a compra neste site. */
.nt-product-page .nt-product__buy .single_add_to_cart_button {
  display: none !important;
}

/* Atributos em acordeão */
.nt-product-page .nt-attrs {
  order: 0;
  flex: 0 0 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 0 0 26px;
}

.nt-product-page .nt-attr__head {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 44px;
  padding: 0 18px;
  border: 0;
  border-radius: var(--nt-radius-row);
  background: var(--nt-panel);
  color: var(--nt-muted);
  font: inherit;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: left;
  cursor: pointer;
}

.nt-product-page .nt-attr__head:hover {
  color: var(--nt-ink);
}

.nt-product-page .nt-attr__value {
  color: var(--nt-ink);
  text-transform: none;
  letter-spacing: 0;
  font-size: 13.5px;
}

.nt-product-page .nt-attr__icon {
  margin-left: auto;
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='black' stroke-width='1'%3E%3Cpath d='M7 1v12M2 8l5 5 5-5'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='black' stroke-width='1'%3E%3Cpath d='M7 1v12M2 8l5 5 5-5'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform 0.2s ease;
}

.nt-product-page .nt-attr.is-open .nt-attr__icon {
  transform: rotate(180deg);
}

.nt-product-page .nt-attr__body {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 8px;
}

.nt-product-page .nt-attr__body[hidden] {
  display: none;
}

.nt-product-page .nt-pill {
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid var(--nt-ink);
  border-radius: 999px;
  background: transparent;
  color: var(--nt-muted);
  font: inherit;
  font-size: 12.5px;
  line-height: 1.1;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.nt-product-page .nt-pill:hover:not(:disabled) {
  color: var(--nt-ink);
}

.nt-product-page .nt-pill.is-selected {
  background: var(--nt-ink);
  border-color: var(--nt-ink);
  color: #fff;
}

.nt-product-page .nt-pill:disabled {
  background: var(--nt-panel);
  border-color: var(--nt-panel);
  color: var(--nt-disabled);
  cursor: not-allowed;
}

.nt-product-page .nt-attrs__reset {
  align-self: flex-start;
  padding: 0;
  border: 0;
  background: none;
  color: var(--nt-muted);
  font: inherit;
  font-size: 13px;
  text-decoration: underline;
  cursor: pointer;
}

.nt-product-page .nt-attrs__reset[hidden] {
  display: none;
}

/* Quantidade */
.nt-product-page .nt-product__buy .quantity {
  order: 1;
  margin: 0;
}

.nt-product-page .nt-product__buy .quantity.nt-qty {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 88px;
  height: 48px;
  border-radius: var(--nt-radius-row);
  background: var(--nt-panel);
}

.nt-product-page .nt-qty input.qty {
  width: 100%;
  height: 100%;
  padding: 0 34px 0 18px;
  border: 0;
  border-radius: var(--nt-radius-row);
  background: transparent;
  box-shadow: none;
  color: var(--nt-muted);
  font-size: 15px;
  text-align: left;
  -moz-appearance: textfield;
  appearance: textfield;
}

.nt-product-page .nt-qty input.qty::-webkit-inner-spin-button,
.nt-product-page .nt-qty input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.nt-product-page .nt-qty__ctrl {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.nt-product-page .nt-qty__ctrl button {
  width: 16px;
  height: 13px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--nt-muted);
  cursor: pointer;
}

.nt-product-page .nt-qty__ctrl button::before {
  content: "";
  display: block;
  width: 6px;
  height: 6px;
  margin: 0 auto;
  border-style: solid;
  border-color: currentColor;
  border-width: 0;
}

.nt-product-page .nt-qty__up::before {
  border-top-width: 1px;
  border-left-width: 1px;
  transform: translateY(2px) rotate(45deg);
}

.nt-product-page .nt-qty__down::before {
  border-bottom-width: 1px;
  border-right-width: 1px;
  transform: translateY(-2px) rotate(45deg);
}

.nt-product-page .nt-qty__ctrl button:hover {
  color: var(--nt-ink);
}

/* Botões */
.nt-product-page .nt-btn,
.nt-product-page .nt-product__buy .add-request-quote-button.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  height: 48px;
  padding: 0 22px;
  border-radius: 999px;
  font: inherit;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.nt-product-page .nt-product__buy .yith-ywraq-add-button {
  order: 3;
  flex: 1 1 220px;
  margin: 0;
  padding: 0 !important;
}

.nt-product-page .nt-product__buy .yith-ywraq-add-button .add-request-quote-button.button {
  width: 100%;
  border: 1px solid var(--nt-ink);
  background: var(--nt-ink);
  color: #fff;
}

.nt-product-page .nt-product__buy .yith-ywraq-add-button .add-request-quote-button.button:hover,
.nt-product-page .nt-product__buy .yith-ywraq-add-button .add-request-quote-button.button:focus-visible {
  border-color: #2a2a2c;
  background: #2a2a2c;
  color: #fff;
}

.nt-product-page .nt-product__buy .yith_ywraq_add_item_product_message,
.nt-product-page .nt-product__buy .yith_ywraq_add_item_response_message,
.nt-product-page .nt-product__buy .yith_ywraq_add_item_browse_message {
  order: 4;
  flex: 0 0 100%;
  margin: 4px 0 0;
  font-size: 14px;
  color: var(--nt-muted);
}

.nt-product-page .nt-product__buy .yith_ywraq_add_item_browse_message a {
  color: var(--nt-ink);
  text-decoration: underline;
}

.nt-product-page .nt-product__buy .clear {
  display: none;
}

.nt-product-page .nt-product :focus-visible {
  outline: 2px solid var(--nt-ink);
  outline-offset: 2px;
}

/* ---------- Especificações ---------- */

.nt-product-page .nt-specs {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  column-gap: 56px;
  margin: 0;
}

.nt-product-page .nt-specs__row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 13px 0;
  border-bottom: 1px solid var(--nt-line);
  font-size: 15px;
  line-height: 1.4;
}

.nt-product-page .nt-specs dt {
  color: var(--nt-muted);
}

.nt-product-page .nt-specs dd {
  margin: 0;
  text-align: right;
  color: var(--nt-ink);
}

/* ---------- Downloads ---------- */

.nt-product-page .nt-downloads {
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.nt-product-page .nt-downloads li {
  margin: 0;
}

.nt-product-page .nt-downloads a {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  color: var(--nt-ink);
  font-size: clamp(18px, 1.7vw, 22px);
  line-height: 1.2;
  text-decoration: none;
}

.nt-product-page .nt-downloads .nt-arrow {
  flex: 0 0 auto;
  transition: transform 0.25s ease;
}

.nt-product-page .nt-downloads a:hover .nt-arrow,
.nt-product-page .nt-downloads a:focus-visible .nt-arrow {
  transform: translateX(6px);
}

/* ---------- Banner largo ---------- */

.nt-product-page .nt-product__banner {
  margin-top: var(--nt-section-space);
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.nt-product-page .nt-product__banner-img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 780px;
  object-fit: cover;
}

/* ---------- Descrição longa (quando existe) ---------- */

.nt-product-page .nt-product__long {
  max-width: 70ch;
  font-size: 16px;
  line-height: 1.6;
  color: var(--nt-muted);
}

/* ---------- Responsivo ---------- */

@media (max-width: 900px) {
  .nt-product-page .nt-product__top {
    grid-template-columns: minmax(0, 1fr);
  }

  body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images.gallery-has-thumbnails {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 12px;
  }

  body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images.gallery-has-thumbnails .flex-viewport,
  body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images.gallery-has-thumbnails .woocommerce-product-gallery__wrapper {
    grid-column: 1;
    grid-row: 1;
  }

  body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images .flex-control-thumbs {
    grid-column: 1;
    grid-row: 2;
    height: auto;
    min-height: 0;
    flex-direction: row;
    gap: 10px;
    overflow-x: auto;
    overflow-y: hidden;
  }

  body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images .flex-control-thumbs li {
    flex: 0 0 22%;
    width: 22%;
  }
}

@media (max-width: 560px) {
  .nt-product-page .nt-product__buy .yith-ywraq-add-button {
    flex-basis: 100%;
  }

}

@media (prefers-reduced-motion: reduce) {
  .nt-product-page .nt-downloads .nt-arrow,
  .nt-product-page .nt-attr__icon,
  .nt-product-page .nt-pill,
  .nt-product-page .nt-btn,
  .nt-product-page .nt-product__buy .add-request-quote-button.button,
  body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images .flex-control-thumbs img {
    transition: none;
  }
}

/* Correcoes: miniaturas em coluna, sem quebra e quadradas */
body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images .flex-control-thumbs{flex-wrap:nowrap !important;align-content:flex-start;justify-content:flex-start}
body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images .flex-control-thumbs li{display:block !important;height:auto !important;max-width:none}
body.nt-product-page.woocommerce div.product.nt-product div.woocommerce-product-gallery.images .flex-control-thumbs li img{height:auto !important;aspect-ratio:1/1;width:100%}

/* Os mais procurados */
.nt-mp {
  --mp-ink: var(--global-palette1, #000);
  --mp-panel: var(--global-palette7, #f5f6f8);
  --mp-radius: 20px;
  --mp-gap: 12px;
  box-sizing: border-box;
  max-width: var(--global-content-width, 1290px);
  margin: clamp(56px, 7vw, 96px) auto 0;
  padding: 0 var(--global-content-edge-padding, 1.5rem) clamp(40px, 5vw, 72px);
}

.nt-mp .nt-mp__head {
  margin-bottom: 18px;
}

.nt-mp .nt-mp__title {
  margin: 0;
  font-family: var(--global-heading-font-family, inherit);
  font-weight: 400;
  font-size: clamp(28px, 3vw, 38px);
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--mp-ink);
}

.nt-mp .nt-mp__all {
  margin: 0;
  font-size: 28px;
  line-height: 1;
}

.nt-mp .nt-mp__all a {
  color: var(--mp-ink);
  text-decoration: none;
  display: inline-block;
  transition: transform 0.25s ease;
}

.nt-mp .nt-mp__all a:hover,
.nt-mp .nt-mp__all a:focus-visible {
  transform: translateX(6px);
}

.nt-mp .nt-mp__ctas {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--mp-gap);
  margin-top: 36px;
}

.nt-mp .nt-mp__cta {
  position: relative;
  margin: 0;
  border-radius: var(--mp-radius);
  background: var(--mp-panel);
  transition: background-color 0.2s ease;
}

.nt-mp .nt-mp__cta:hover,
.nt-mp .nt-mp__cta:focus-within {
  background: #eceef2;
}

.nt-mp .nt-mp__cta a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 26px 30px;
  color: var(--mp-ink);
  font-family: var(--global-heading-font-family, inherit);
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1.2;
  text-decoration: none;
}

.nt-mp .nt-mp__cta a::after {
  content: "\2197";
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #fff;
  font-size: 18px;
}

.nt-mp :focus-visible {
  outline: 2px solid var(--mp-ink);
  outline-offset: 2px;
}

@media (max-width: 560px) {
  .nt-mp .nt-mp__ctas {
    grid-template-columns: minmax(0, 1fr);
  }

  .nt-mp .nt-mp__cta a {
    padding: 20px 22px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nt-mp .nt-mp__img img,
  .nt-mp .nt-mp__all a,
  .nt-mp .nt-mp__cta {
    transition: none;
  }
}
/* Os mais procurados: correcoes de layout */
.nt-mp{width:100%}
.nt-mp .wp-block-group__inner-container{display:contents}
.nt-mp .nt-mp__head{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between}
.nt-mp .nt-mp__grid>*,.nt-mp .nt-mp__ctas>*{margin-block:0}

.nt-mp .nt-mp__tile,.nt-mp .nt-mp__cta,.nt-mp .nt-mp__head,.nt-mp .nt-mp__grid,.nt-mp .nt-mp__ctas{margin-block-start:0 !important;margin-block-end:0 !important}
.nt-mp .nt-mp__head{margin-block-end:18px !important}
.nt-mp .nt-mp__ctas{margin-block-start:36px !important}

/* Os mais procurados: imagens e espacamento */
.nt-mp{margin-top:clamp(8px,2vw,24px) !important}

/* Quantidade simetrica (botoes - e + do Kadence) */
body.nt-product-page .nt-product__buy .quantity.nt-qty {
  display: inline-grid !important;
  grid-template-columns: 42px 40px 42px;
  align-items: center;
  justify-items: center;
  width: auto !important;
  height: 48px;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: var(--nt-radius-row, 14px);
  background: var(--nt-panel, #f5f6f8);
}

body.nt-product-page .nt-product__buy .quantity.nt-qty .minus,
body.nt-product-page .nt-product__buy .quantity.nt-qty .plus {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px !important;
  height: 48px !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--nt-muted, #6a696c) !important;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
}

body.nt-product-page .nt-product__buy .quantity.nt-qty .minus:hover,
body.nt-product-page .nt-product__buy .quantity.nt-qty .plus:hover {
  color: var(--nt-ink, #000) !important;
}

body.nt-product-page .nt-product__buy .quantity.nt-qty input.qty {
  width: 40px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--nt-ink, #000);
  font-size: 15px;
  text-align: center !important;
}

/* Setas para paginas internas (SVG da biblioteca de media) */
.nt-mp .nt-mp__cta a::after {
  content: "" !important;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: #fff var(--nt-icon-arrow-right, none) center / 18px 18px no-repeat;
  font-size: 0;
}

.nt-mp .nt-mp__all a {
  display: block;
  width: 32px;
  height: 32px;
  font-size: 0;
  line-height: 0;
  background: var(--nt-icon-arrow-right, none) center / 30px 30px no-repeat;
}
/* Quantidade: sem recuo nem setas proprias */
body.nt-product-page .nt-product__buy .quantity.nt-qty {
  left: 0 !important;
  right: auto !important;
  inset-inline-start: 0 !important;
  transform: none !important;
}

body.nt-product-page .nt-product__buy .quantity.nt-qty .nt-qty__ctrl {
  display: none !important;
}
/* Clearfix do WooCommerce criava itens flex vazios (recuo de 20px) */
body.nt-product-page .nt-product__buy form.cart::before,
body.nt-product-page .nt-product__buy form.cart::after,
body.nt-product-page .nt-product__buy .single_variation_wrap::before,
body.nt-product-page .nt-product__buy .single_variation_wrap::after,
body.nt-product-page .nt-product__buy .woocommerce-variation-add-to-cart::before,
body.nt-product-page .nt-product__buy .woocommerce-variation-add-to-cart::after,
body.nt-product-page .nt-product__buy .yith-ywraq-add-to-quote::before,
body.nt-product-page .nt-product__buy .yith-ywraq-add-to-quote::after {
  content: none !important;
  display: none !important;
}

/* Aumentar vendas (seccao dinamica, shortcode [nt_upsells]) */
.nt-mp {
  --up-gap: 12px;
  --up-radius: 20px;
  --up-c1: #fffdfa;
  --up-c2: #eaf2e9;
  --up-c3: #ffffdc;
  --up-c4: #ceddd4;
  --up-c5: #d9eff4;
}

/* Sem vendas cruzadas: o titulo da seccao desaparece (ficam so os botoes) */
.nt-mp:not(:has(.nt-up)) .nt-mp__head { display: none; }

.nt-up {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--up-gap);
  margin: 0;
  padding: 0;
}

.nt-up__tile {
  box-sizing: border-box;
  border: 1px solid rgba(0, 0, 0, 0.12);
  transition: border-color 0.2s ease;
  display: block;
  color: var(--mp-ink);
  text-decoration: none;
  position: relative;
  aspect-ratio: 1 / 1;
  margin: 0 !important;
  overflow: hidden;
  border-radius: var(--up-radius);
  background: var(--up-c1);
  isolation: isolate;
  clip-path: inset(0 round var(--up-radius));
}

.nt-up__tile:nth-child(5n + 2) { background: var(--up-c2); }
.nt-up__tile:nth-child(5n + 3) { background: var(--up-c3); }
.nt-up__tile:nth-child(5n + 4) { background: var(--up-c4); }
.nt-up__tile:nth-child(5n + 5) { background: var(--up-c5); }

/* Sem z-index/stacking context na figure: o multiply tem de misturar com o fundo do quadrado */
.nt-up__img {
  position: absolute;
  inset: 0;
  margin: 0;
}

.nt-up__img img {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 6px 6px 34px;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: transform 0.5s ease;
}

.nt-up__tile:hover { border-color: rgba(0, 0, 0, 0.35); }
.nt-up__tile:hover .nt-up__img img { transform: scale(1.04); }

.nt-up__label {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 14px;
  z-index: 1;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  color: var(--mp-ink);
  font-size: 12px;
  line-height: 1.25;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
}

/* O quadrado inteiro e o link */
.nt-up__tile:focus-visible { outline: 2px solid var(--mp-ink); outline-offset: 2px; }

@media (max-width: 900px) {
  .nt-up { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .nt-up { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  .nt-up__img img { transition: none; }
}