/* ==========================================================================
   Thema-Woo — WooCommerce Styles
   Integra o design system (cdt-*) com os elementos nativos do WooCommerce.
   ========================================================================== */

/* --------------------------------------------------------------------------
   PADRONIZAÇÃO DE MARCA (terracota + fundo branco, sem verde)
   Os botões já herdam terracota via token "commerce"/"brand" do theme.json.
   Aqui garantimos: preços em tom escuro (sem cor), hovers terracota-escuro e
   preenchimentos sutis em creme (no lugar do antigo cinza-azulado).
   -------------------------------------------------------------------------- */
.woocommerce .price,
.woocommerce div.product p.price,
.woocommerce ul.products li.product .price,
.wc-block-components-product-price,
.wc-block-components-product-price ins,
.wc-block-components-product-price__value {
  color: var(--wp--preset--color--ink) !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce div.product .single_add_to_cart_button:hover,
.woocommerce ul.products li.product .button:hover {
  background-color: #9a3412 !important;
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--wp--preset--color--cream, #fbf6ee) !important;
}

/* --------------------------------------------------------------------------
   Wrapper de bloco do WooCommerce (renderizador FSE / legacy-template)
   No tema-bloco, o WooCommerce envolve o conteúdo num
   <div class="wp-block-group woocommerce product">. Sem esta regra, a CSS
   ".woocommerce div.product { display:grid }" (destinada ao .product clássico
   interno) também transformava ESTE wrapper externo num grid de 2 colunas,
   espremendo o .woo-main na coluna esquerda (~metade da página) e desalinhando
   tudo. Forçando display:block, o .woo-main volta a ocupar a largura total e
   se centraliza igual ao cabeçalho (max-width 1360 + margin auto, abaixo).
   -------------------------------------------------------------------------- */
.wp-block-group.woocommerce.product {
  display: block;
}

/* --------------------------------------------------------------------------
   Wrapper principal
   -------------------------------------------------------------------------- */
.woo-main {
  padding-top: 2rem;
  padding-bottom: 3rem;
  /* max-width espelha o wideSize do theme.json (1360px) + padding lateral do cdt-shell.
     margin: auto centraliza horizontalmente, igual ao header/footer. */
  width: 100%;
  max-width: 1360px;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
}

/* Container .woocommerce direto filho de .woo-main — garante 100% sempre */
.woo-main > .woocommerce {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* --------------------------------------------------------------------------
   Breadcrumb WooCommerce
   -------------------------------------------------------------------------- */
.woo-breadcrumb {
  font-size: 0.88rem;
  color: var(--wp--preset--color--muted, #5d6b7c);
  margin-bottom: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem;
}

.cdt-breadcrumb__sep {
  opacity: 0.5;
  margin: 0 0.15rem;
}

/* --------------------------------------------------------------------------
   Loop de produtos (shop, category, search)
   Cobre: renderer clássico (.woocommerce ul.products)
          + product-collection FSE block (.wp-block-woocommerce-product-collection ul)
   -------------------------------------------------------------------------- */
.woocommerce ul.products,
.woocommerce-page ul.products,
.wp-block-woocommerce-product-collection ul.wc-block-product-template {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
.cdt-produtos-grid .woocommerce ul.products::before,
.cdt-produtos-grid .woocommerce ul.products::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 900px) {
  .wp-block-woocommerce-product-collection ul.wc-block-product-template {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 580px) {
  .wp-block-woocommerce-product-collection ul.wc-block-product-template {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 580px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: 1fr;
  }
}

/* Card de produto — clássico + FSE product-collection */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.wp-block-woocommerce-product-collection li.wc-block-product {
  background: var(--wp--preset--color--surface, #fff);
  border-radius: var(--cdt-radius, 8px);
  box-shadow: var(--cdt-shadow-soft);
  padding: 1rem;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.2s, transform 0.2s;
}

.woocommerce ul.products li.product:hover,
.wp-block-woocommerce-product-collection li.wc-block-product:hover {
  box-shadow: var(--cdt-shadow);
  transform: translateY(-2px);
}

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.wp-block-woocommerce-product-collection li.wc-block-product a img {
  border-radius: calc(var(--cdt-radius, 8px) - 2px);
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.wp-block-woocommerce-product-collection li.wc-block-product .wp-block-post-title {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
  margin-top: 0.75rem;
  color: var(--wp--preset--color--ink, #18212f);
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.wp-block-woocommerce-product-collection li.wc-block-product .wc-block-components-product-price {
  color: var(--wp--preset--color--commerce, #14a46c);
  font-weight: 800;
  font-size: 1.1rem;
  margin-top: auto;
  padding-top: 0.5rem;
}

/* Botão "Adicionar ao carrinho" — clássico + FSE */
.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.wp-block-woocommerce-product-collection li.wc-block-product .wc-block-components-product-button .wc-block-components-product-button__button {
  margin-top: 0.75rem;
  width: 100%;
  text-align: center;
  background: var(--wp--preset--color--commerce, #14a46c);
  color: #fff;
  border: none;
  border-radius: var(--cdt-radius, 8px);
  padding: 0.65rem 1rem;
  font-size: 0.95rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.15s;
  text-decoration: none;
  display: block;
}

.woocommerce ul.products li.product .button:hover {
  background: var(--wp--preset--color--brand, #155eef);
}

/* --------------------------------------------------------------------------
   Página de produto único
   Clássico: .woocommerce div.product (renderer WC clássico)
   FSE: .woo-product-summary (coluna direita do template single-product.html)
        .wp-block-woocommerce-product-image-gallery (galeria FSE)
   -------------------------------------------------------------------------- */

/* Renderer clássico — grid 2 colunas */
.woocommerce div.product {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  align-items: start;
}

@media (max-width: 720px) {
  .woocommerce div.product {
    grid-template-columns: 1fr;
  }
}

/* Tabs, relacionados e upsells saem do grid e ocupam largura total */
.woocommerce div.product .woocommerce-tabs,
.woocommerce div.product .related.products,
.woocommerce div.product .up-sells.products {
  grid-column: 1 / -1;
}

.woocommerce div.product .woocommerce-product-gallery {
  position: sticky;
  top: 1.5rem;
}

.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce div.product .woocommerce-product-gallery__wrapper img {
  border-radius: var(--cdt-radius, 8px);
  width: 100%;
  height: auto;
}

/* Miniaturas da galeria (flex-control-thumbs) */
.woocommerce div.product .flex-control-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0.75rem 0 0;
}

.woocommerce div.product .flex-control-thumbs li {
  flex: 0 0 calc(25% - 0.4rem);
  max-width: calc(25% - 0.4rem);
}

.woocommerce div.product .flex-control-thumbs li img {
  border-radius: calc(var(--cdt-radius, 8px) - 2px);
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 0.15s;
  border: 2px solid transparent;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
  height: auto;
}

.woocommerce div.product .flex-control-thumbs li img.flex-active,
.woocommerce div.product .flex-control-thumbs li img:hover {
  opacity: 1;
  border-color: var(--wp--preset--color--brand, #155eef);
}

.woocommerce div.product .summary {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* FSE block renderer — coluna de resumo do template single-product.html */
.woo-product-summary {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.woo-product-summary .wp-block-post-title {
  font-size: var(--wp--preset--font-size--h1, 2.65rem);
  font-weight: 800;
  line-height: 1.08;
  margin: 0;
}

/* Galeria FSE — sticky na coluna esquerda */
.wp-block-woocommerce-product-image-gallery {
  position: sticky;
  top: 1.5rem;
}

.wp-block-woocommerce-product-image-gallery img {
  border-radius: var(--cdt-radius, 8px);
  width: 100%;
  height: auto;
}

/* Preço FSE */
.woo-product-price .wc-block-components-product-price,
.woo-product-summary .wc-block-components-product-price {
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--wp--preset--color--commerce, #14a46c);
}

.woo-product-summary .wc-block-components-product-price__regular {
  color: var(--wp--preset--color--muted, #5d6b7c);
  font-size: 1.1rem;
  font-weight: 400;
  text-decoration: line-through;
}

/* Add-to-cart FSE */
.wp-block-woocommerce-add-to-cart-form .wc-block-components-quantity-selector {
  margin-bottom: 0.75rem;
}

.wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button {
  width: 100%;
}

.woocommerce div.product .product_title {
  font-size: var(--wp--preset--font-size--h1, 2.65rem);
  font-weight: 800;
  line-height: 1.08;
  color: var(--wp--preset--color--ink, #18212f);
  margin: 0;
}

.woocommerce div.product .price {
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--wp--preset--color--commerce, #14a46c);
}

.woocommerce div.product .price del {
  color: var(--wp--preset--color--muted, #5d6b7c);
  font-size: 1.1rem;
  font-weight: 400;
}

/* Botão principal "Comprar" */
.woocommerce div.product .single_add_to_cart_button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--wp--preset--color--commerce, #14a46c);
  color: #fff;
  border: none;
  border-radius: var(--cdt-radius, 8px);
  padding: 0.9rem 1.5rem;
  font-size: 1.05rem;
  font-weight: 800;
  cursor: pointer;
  transition: background 0.15s;
  text-decoration: none;
  display: inline-block;
}

.woocommerce div.product .single_add_to_cart_button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--wp--preset--color--brand, #155eef);
}

/* Botão alt (secundário) */
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce #respond input#submit.alt {
  background: var(--wp--preset--color--brand, #155eef);
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--wp--preset--color--commerce, #14a46c);
}

/* Rating */
.woocommerce .star-rating span::before,
.woocommerce .star-rating::before {
  color: var(--wp--preset--color--accent, #ffd447);
}

/* --------------------------------------------------------------------------
   Abas de produto (Descrição, Avaliações, etc.)
   -------------------------------------------------------------------------- */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex;
  gap: 0;
  list-style: none;
  padding: 0;
  margin: 0 0 -1px;
  border-bottom: 2px solid var(--wp--preset--color--line, #dfe6ee);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
  margin: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 0.6rem 1.1rem;
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--wp--preset--color--muted, #5d6b7c);
  border-bottom: 2px solid transparent;
  text-decoration: none;
  transition: color 0.15s, border-color 0.15s;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--wp--preset--color--brand, #155eef);
  border-bottom-color: var(--wp--preset--color--brand, #155eef);
}

.woocommerce div.product .woocommerce-tabs .panel {
  padding: 1.5rem 0;
}

/* --------------------------------------------------------------------------
   Carrinho
   -------------------------------------------------------------------------- */
.woocommerce-cart .woocommerce-cart-form table.shop_table {
  width: 100%;
  border-collapse: collapse;
}

.woocommerce-cart .woocommerce-cart-form table.shop_table th,
.woocommerce-cart .woocommerce-cart-form table.shop_table td {
  padding: 0.9rem 0.75rem;
  border-bottom: 1px solid var(--wp--preset--color--line, #dfe6ee);
  vertical-align: middle;
}

.woocommerce .cart-collaterals .cart_totals {
  background: var(--wp--preset--color--surface, #fff);
  border-radius: var(--cdt-radius, 8px);
  box-shadow: var(--cdt-shadow-soft);
  padding: 1.5rem;
  max-width: 380px;
  margin-left: auto;
}

.woocommerce .cart_totals h2 {
  font-size: 1.2rem;
  font-weight: 800;
  margin-bottom: 1rem;
}

body.woocommerce-cart .woocommerce-shipping-calculator #calc_shipping_country_field,
body.woocommerce-cart .woocommerce-shipping-calculator #calc_shipping_state_field,
body.woocommerce-cart .woocommerce-shipping-calculator #calc_shipping_city_field,
body.woocommerce-cart .woocommerce-shipping-calculator select[name="calc_shipping_country"],
body.woocommerce-cart .woocommerce-shipping-calculator select[name="calc_shipping_state"],
body.woocommerce-cart .woocommerce-shipping-calculator input[name="calc_shipping_city"] {
  display: none !important;
}

/* --------------------------------------------------------------------------
   Checkout
   -------------------------------------------------------------------------- */
/* Classic renderer only — FSE wc-block-checkout handles its own layout */
body.is-checkout main.cdt-shell,
body.woocommerce-checkout main.cdt-shell {
  box-sizing: border-box;
  width: 100%;
  max-width: 1360px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: max(2rem, env(safe-area-inset-left));
  padding-right: max(2rem, env(safe-area-inset-right));
}

body.is-checkout main.cdt-shell > .wp-block-shortcode,
body.woocommerce-checkout main.cdt-shell > .wp-block-shortcode,
body.is-checkout main.cdt-shell > .woocommerce,
body.woocommerce-checkout main.cdt-shell > .woocommerce {
  box-sizing: border-box;
  width: 100%;
  max-width: 1360px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.is-checkout .woocommerce,
body.woocommerce-checkout .woocommerce {
  width: 100%;
  max-width: 100%;
}

body.is-checkout:not(.wc-block-checkout) .woocommerce,
body.woocommerce-checkout:not(.wc-block-checkout) .woocommerce {
  display: block;
}

body.is-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout,
body.woocommerce-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 420px);
  grid-template-areas:
    "customer order-heading"
    "customer order-review";
  grid-template-rows: auto 1fr;
  column-gap: 2rem;
  row-gap: .9rem;
  align-items: start;
  width: 100%;
  max-width: 100%;
}

body.is-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout > #customer_details,
body.woocommerce-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout > #customer_details {
  grid-area: customer;
  width: 100%;
  max-width: 100%;
}

body.is-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout > #order_review_heading,
body.woocommerce-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout > #order_review_heading {
  grid-area: order-heading;
  width: 100%;
  max-width: 100%;
  margin-top: 0;
}

body.is-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout > #order_review,
body.woocommerce-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout > #order_review {
  grid-area: order-review;
  width: 100%;
  max-width: 100%;
}

body.is-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout > #order_review,
body.woocommerce-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout > #order_review {
  align-self: start;
}

body.is-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout .col2-set,
body.woocommerce-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout .col2-set {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}

body.is-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout .col2-set::before,
body.is-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout .col2-set::after,
body.woocommerce-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout .col2-set::before,
body.woocommerce-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout .col2-set::after {
  content: none;
  display: none;
}

body.is-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout .col2-set .col-1,
body.is-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout .col2-set .col-2,
body.woocommerce-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout .col2-set .col-1,
body.woocommerce-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout .col2-set .col-2 {
  float: none;
  width: 100%;
  max-width: none;
}

body.is-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout .col2-set .col-2,
body.woocommerce-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout .col2-set .col-2 {
  margin-top: 1.5rem;
}

@media (max-width: 1100px) {
  body.is-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout,
  body.woocommerce-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout {
    grid-template-columns: 1fr;
    grid-template-areas:
      "customer"
      "order-heading"
      "order-review";
  }

  body.is-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout > #order_review_heading,
  body.woocommerce-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout > #order_review_heading,
  body.is-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout > #order_review,
  body.woocommerce-checkout:not(.wc-block-checkout) form.checkout.woocommerce-checkout > #order_review {
    grid-column: 1;
  }
}

@media (max-width: 760px) {
  body.is-checkout main.cdt-shell,
  body.woocommerce-checkout main.cdt-shell {
    padding-left: max(1rem, env(safe-area-inset-left));
    padding-right: max(1rem, env(safe-area-inset-right));
  }

}

body.is-checkout .woocommerce form .form-row[id*="ssn" i],
body.is-checkout .woocommerce form .form-row[id*="vat" i],
body.is-checkout .woocommerce form .form-row:has(input[name*="ssn" i]),
body.is-checkout .woocommerce form .form-row:has(input[name*="vat" i]),
body.woocommerce-checkout .woocommerce form .form-row[id*="ssn" i],
body.woocommerce-checkout .woocommerce form .form-row[id*="vat" i],
body.woocommerce-checkout .woocommerce form .form-row:has(input[name*="ssn" i]),
body.woocommerce-checkout .woocommerce form .form-row:has(input[name*="vat" i]) {
  display: none !important;
}

.woocommerce form .form-row label {
  font-weight: 600;
  font-size: 0.94rem;
  color: var(--wp--preset--color--ink, #18212f);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  border: 1.5px solid var(--wp--preset--color--line, #dfe6ee);
  border-radius: 6px;
  padding: 0.6rem 0.85rem;
  width: 100%;
  font-size: 1rem;
  transition: border-color 0.15s;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus {
  border-color: var(--wp--preset--color--brand, #155eef);
  outline: none;
}

/* --------------------------------------------------------------------------
   Badges: Sale / Featured
   -------------------------------------------------------------------------- */
.woocommerce span.onsale {
  background: var(--wp--preset--color--brand, #155eef);
  color: #fff;
  border-radius: 4px;
  font-weight: 800;
  font-size: 0.82rem;
  padding: 0.2rem 0.55rem;
  top: 0.6rem;
  left: 0.6rem;
}

/* --------------------------------------------------------------------------
   Notices
   -------------------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  border-radius: var(--cdt-radius, 8px);
  padding: 0.9rem 1.1rem;
  font-size: 0.95rem;
  margin-bottom: 1.2rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.woocommerce-message {
  background: #edfaf4;
  border-left: 4px solid var(--wp--preset--color--commerce, #14a46c);
  color: #0d5c3a;
}

.woocommerce-info {
  background: #eef3ff;
  border-left: 4px solid var(--wp--preset--color--brand, #155eef);
  color: #0f2e7d;
}

.woocommerce-error {
  background: #fff0f0;
  border-left: 4px solid #e53e3e;
  color: #7b1c1c;
}

/* --------------------------------------------------------------------------
   Mini-cart counter (no header)
   -------------------------------------------------------------------------- */
.woo-cart-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.3rem;
  height: 1.3rem;
  background: var(--wp--preset--color--brand, #155eef);
  color: #fff;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
  padding: 0 0.3rem;
  vertical-align: middle;
}

/* --------------------------------------------------------------------------
   Página "Minha Conta"
   O grid de 2 colunas (nav | conteúdo) só vale no DASHBOARD logado — detectado
   via :has(.woocommerce-MyAccount-navigation). Na página de login/cadastro
   (sem navegação) o grid espremia o formulário "Entrar/Cadastre-se" numa
   coluna de 220px. grid-template-areas garante que o .woocommerce-notices-wrapper
   (1º filho) ocupe uma linha própria em vez de roubar a célula da navegação.
   -------------------------------------------------------------------------- */
.woocommerce-account .woocommerce {
  max-width: 100%;
}

.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
  display: grid;
  grid-template-columns: 220px 1fr;
  grid-template-areas:
    "notices notices"
    "nav     content";
  gap: 2rem;
  align-items: start;
}

.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper {
  grid-area: notices;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  grid-area: nav;
}

.woocommerce-account .woocommerce-MyAccount-content {
  grid-area: content;
}

/* O WooCommerce core aplica float:left/width:30% na navegação e
   float:right/width:68% no conteúdo. Dentro do grid isso impedia os itens de
   preencherem as colunas (nav ficava com ~66px, conteúdo com ~68% da coluna).
   Anulamos float/width para que cada item ocupe 100% da sua célula do grid. */
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) > .woocommerce-MyAccount-content {
  width: auto;
  float: none;
}

/* Login/cadastro (sem navegação): fluxo normal — formulário em largura total,
   as colunas Entrar/Cadastre-se vêm do .col2-set do próprio WooCommerce. */
.woocommerce-account .woocommerce:not(:has(.woocommerce-MyAccount-navigation)) {
  display: block;
}

@media (max-width: 640px) {
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation) {
    grid-template-columns: 1fr;
    grid-template-areas:
      "notices"
      "nav"
      "content";
  }
}

.woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
  background: var(--wp--preset--color--surface, #fff);
  border-radius: var(--cdt-radius, 8px);
  box-shadow: var(--cdt-shadow-soft);
  overflow: hidden;
}

.woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 0.7rem 1.1rem;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--wp--preset--color--ink, #18212f);
  border-left: 3px solid transparent;
  text-decoration: none;
  transition: background 0.12s, border-color 0.12s;
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover {
  background: var(--wp--preset--color--canvas, #f6f8fb);
  border-left-color: var(--wp--preset--color--brand, #155eef);
  color: var(--wp--preset--color--brand, #155eef);
}

/* ==========================================================================
   RESPONSIVO MOBILE — produto único (clássico)
   Breakpoints: 720 px (tablet), 480 px (celular)
   ========================================================================== */

@media (max-width: 720px) {

  /* Wrapper principal sem padding excessivo */
  .woo-main {
    padding-top: 1.25rem;
    padding-bottom: 2rem;
    overflow-x: hidden; /* evita scroll horizontal na página inteira */
  }

  /* Garante que o container .woocommerce não vaze */
  .woo-main > .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden;
  }

  /* PRODUTO ÚNICO — colapsa para 1 coluna */
  .woocommerce div.product {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
    max-width: 100% !important;
    overflow-x: hidden;
  }

  /* Galeria: não sticky em coluna única */
  .woocommerce div.product .woocommerce-product-gallery {
    position: static !important;
    width: 100%;
  }

  /* Título menor no mobile */
  .woocommerce div.product .product_title {
    font-size: 1.6rem;
    line-height: 1.2;
  }

  /* Botão "Comprar" ocupa largura total */
  .woocommerce div.product .single_add_to_cart_button,
  .woocommerce form.cart .button {
    width: 100% !important;
    text-align: center;
    display: block;
    box-sizing: border-box;
  }

  /* Quantidade + botão em coluna no mobile */
  .woocommerce form.cart {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }

  .woocommerce form.cart .quantity {
    width: auto;
  }

  /* Abas: scroll horizontal em vez de quebrar */
  .woocommerce div.product .woocommerce-tabs ul.tabs {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    flex-wrap: nowrap;
    border-bottom-width: 1px;
    padding-bottom: 0;
    /* esconde scrollbar mas mantém scroll */
    scrollbar-width: none;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
    display: none;
  }

  .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    white-space: nowrap;
    font-size: 0.88rem;
    padding: 0.5rem 0.85rem;
  }

  /* Produtos relacionados: 2 colunas no tablet */
  .woocommerce div.product .related.products ul.products,
  .woocommerce div.product .up-sells.products ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Tabelas dentro da descrição: scroll horizontal */
  .woocommerce div.product .woocommerce-Tabs-panel table,
  .woocommerce div.product .entry-content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }

  /* Imagem do produto ocupa 100% em mobile */
  .woocommerce div.product .woocommerce-product-gallery__image img,
  .woocommerce div.product .woocommerce-product-gallery__wrapper img {
    width: 100% !important;
    height: auto !important;
  }
}

@media (max-width: 480px) {

  /* Produtos relacionados: 1 coluna no celular */
  .woocommerce div.product .related.products ul.products,
  .woocommerce div.product .up-sells.products ul.products {
    grid-template-columns: 1fr;
  }

  /* Miniaturas: 5 por linha no celular (menores) */
  .woocommerce div.product .flex-control-thumbs li {
    flex: 0 0 calc(20% - 0.4rem);
    max-width: calc(20% - 0.4rem);
  }

  /* Preço menor */
  .woocommerce div.product .price {
    font-size: 1.3rem;
  }

  /* Direct answer e FAQ sem margem excessiva */
  .cdt-direct-answer,
  .cdt-woo-direct-answer,
  .cdt-faq-block {
    margin-left: 0;
    margin-right: 0;
  }
}

/* ==========================================================================
   PADRÃO GLOBAL DOS CARTÕES DE PRODUTO (product-collection)
   Vale para Loja, arquivos de categoria, relacionados e Home. Força grid
   alinhado e ANULA o width:calc do WooCommerce, além de padronizar título
   (pequeno + escuro), preço (escuro) e botão (terracota). !important para
   vencer a CSS nativa do bloco.
   ========================================================================== */
.wp-block-woocommerce-product-collection .wc-block-product-template {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.5rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.wp-block-woocommerce-product-collection .wc-block-product-template > li {
  width: auto !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
  float: none !important;
  background: #fff;
  border: 1px solid var(--wp--preset--color--line, #ece4da);
  border-radius: 14px;
  box-shadow: 0 2px 10px -4px rgba(24, 33, 47, .12);
  padding: 1rem;
  display: flex;
  flex-direction: column;
  transition: transform .2s, box-shadow .2s;
}
.wp-block-woocommerce-product-collection .wc-block-product-template > li:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 34px -14px rgba(24, 33, 47, .22);
}
.wp-block-woocommerce-product-collection .wc-block-product-template img {
  width: 100% !important;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 10px;
}
.wp-block-woocommerce-product-collection .wp-block-post-title {
  font-size: 1.05rem !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  margin: .65rem 0 .35rem !important;
}
.wp-block-woocommerce-product-collection .wp-block-post-title a {
  color: var(--wp--preset--color--ink) !important;
}
.wp-block-woocommerce-product-collection .wc-block-components-product-price,
.wp-block-woocommerce-product-collection .wc-block-components-product-price ins,
.wp-block-woocommerce-product-collection .wc-block-components-product-price__value {
  color: var(--wp--preset--color--ink) !important;
  font-weight: 800;
  font-size: 1.12rem;
}
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button {
  background: var(--wp--preset--color--brand) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 9px;
  font-weight: 800;
  width: 100%;
  margin-top: auto;
  padding: .6rem 1rem;
  text-align: center;
}
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button:hover {
  background: #9a3412 !important;
}

/* Loop clássico (ul.products) — mesma padronização de cor */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 1.05rem !important;
  line-height: 1.3 !important;
  color: var(--wp--preset--color--ink) !important;
}
.woocommerce ul.products li.product .price { color: var(--wp--preset--color--ink) !important; }
.woocommerce ul.products li.product .button { background-color: var(--wp--preset--color--brand) !important; color: #fff !important; }
.woocommerce ul.products li.product .button:hover { background-color: #9a3412 !important; }

/* Página /produtos/ (shortcode [products]) — grade de 4 colunas como a Loja */
.cdt-produtos-grid .woocommerce ul.products { grid-template-columns: repeat(4, 1fr) !important; }

/* ==========================================================================
   AJUSTE FINO DOS CARTÕES — botão menor + alinhado à base + box visível
   ========================================================================== */

/* Botão de compra: alinhado ao rodapé do cartão (empurra o BLOCO do botão,
   não só o <button>, para os botões ficarem na mesma linha em toda a fileira). */
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-button {
  margin-top: auto !important;
  width: 100%;
}
/* Botão menor (fonte e padding) nos dois renderizadores */
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button,
.cdt-home .wc-block-product-template .wc-block-components-product-button__button,
.woocommerce ul.products li.product .button {
  font-size: 0.9rem !important;
  line-height: 1.15 !important;
  padding: 0.42rem 0.55rem !important;
  margin-top: auto !important;
}

/* Loop clássico ([products] em /produtos/): cartão branco VISÍVEL no fundo
   branco (com borda quente), evitando o visual "chapado". */
.woocommerce ul.products li.product {
  /* anula o width% do sistema de colunas do WooCommerce para o li preencher
     a célula do grid (senão a miniatura fica minúscula). */
  width: auto !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1px solid var(--wp--preset--color--line, #ece4da) !important;
  border-radius: 14px !important;
  box-shadow: 0 2px 10px -4px rgba(24, 33, 47, .12) !important;
  padding: 1rem !important;
  display: flex !important;
  flex-direction: column !important;
  transition: transform .2s, box-shadow .2s;
}
.woocommerce ul.products li.product.first,
.woocommerce-page ul.products li.product.first {
  clear: none !important;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: block; width: 100%; }
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img { width: 100% !important; }
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 34px -14px rgba(24, 33, 47, .22) !important;
}
.woocommerce ul.products li.product img { border-radius: 10px; margin-bottom: .25rem; aspect-ratio: 1 / 1; object-fit: cover; width: 100%; }

/* Navegação por categorias (pílulas) — topo da Loja/Produtos */
.cdt-prod-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 0 0 1.8rem;
}
.cdt-prod-nav__item {
  display: inline-block;
  padding: .45rem .95rem;
  border-radius: 999px;
  border: 1.5px solid var(--wp--preset--color--line, #ece4da);
  background: #fff;
  color: var(--wp--preset--color--ink, #18212f) !important;
  font-size: .88rem;
  font-weight: 700;
  text-decoration: none;
  transition: background .15s, border-color .15s, color .15s;
}
.cdt-prod-nav__item:hover {
  border-color: var(--wp--preset--color--brand, #c2410c);
  color: var(--wp--preset--color--brand, #c2410c) !important;
}
.cdt-prod-nav__item.is-active {
  background: var(--wp--preset--color--brand, #c2410c);
  border-color: var(--wp--preset--color--brand, #c2410c);
  color: #fff !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title { margin: .55rem 0 .35rem !important; }
.woocommerce ul.products li.product .price { margin: 0 0 .6rem !important; font-size: 1.05rem !important; }

@media (max-width: 900px) {
  .wp-block-woocommerce-product-collection .wc-block-product-template,
  .cdt-produtos-grid .woocommerce ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 560px) {
  .wp-block-woocommerce-product-collection .wc-block-product-template,
  .cdt-produtos-grid .woocommerce ul.products { grid-template-columns: 1fr !important; }
}

/* ==========================================================================
   Product cards ecommerce 2026
   ========================================================================== */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.wp-block-woocommerce-product-collection .wc-block-product-template > li,
.cdt-home .wc-block-product-template > li {
  background: #fff !important;
  border: 1px solid rgba(88, 54, 38, .14) !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 26px -22px rgba(24, 33, 47, .32) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden;
  padding: .75rem !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover,
.wp-block-woocommerce-product-collection .wc-block-product-template > li:hover,
.cdt-home .wc-block-product-template > li:hover {
  border-color: rgba(194, 65, 12, .34) !important;
  box-shadow: 0 18px 42px -28px rgba(24, 33, 47, .42) !important;
  transform: translateY(-2px);
}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
.woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link {
  display: block;
}

.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.wp-block-woocommerce-product-collection .wc-block-product-template img,
.cdt-home .wc-block-product-template img {
  aspect-ratio: 1 / 1 !important;
  background: #fffaf4 !important;
  border-radius: 6px !important;
  display: block;
  margin: 0 0 .95rem !important;
  object-fit: cover !important;
  width: 100% !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.wp-block-woocommerce-product-collection .wc-block-product-template .wp-block-post-title,
.cdt-home .wc-block-product-template .wp-block-post-title {
  color: var(--wp--preset--color--ink, #18212f) !important;
  font-size: 1.02rem !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  line-height: 1.25 !important;
  margin: 0 0 .85rem !important;
  min-height: 2.5em;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.wp-block-woocommerce-product-collection .wc-block-components-product-price,
.cdt-home .wc-block-product-template .wc-block-components-product-price {
  border-top: 1px solid rgba(88, 54, 38, .14);
  color: var(--wp--preset--color--ink, #18212f) !important;
  display: flex;
  flex-wrap: wrap;
  gap: .15rem .48rem;
  align-items: baseline;
  font-size: 1.15rem !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  margin: auto 0 .78rem !important;
  padding-top: .82rem;
}

.woocommerce ul.products li.product .price del,
.woocommerce-page ul.products li.product .price del,
.wp-block-woocommerce-product-collection .wc-block-components-product-price del,
.cdt-home .wc-block-product-template .wc-block-components-product-price del {
  color: #7a6d64 !important;
  font-size: .92rem !important;
  font-weight: 500 !important;
  opacity: .88 !important;
}

.woocommerce ul.products li.product .price ins,
.woocommerce-page ul.products li.product .price ins,
.wp-block-woocommerce-product-collection .wc-block-components-product-price ins,
.cdt-home .wc-block-product-template .wc-block-components-product-price ins {
  color: #981b14 !important;
  font-size: 1.18rem !important;
  font-weight: 900 !important;
  text-decoration: none !important;
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button,
.cdt-home .wc-block-product-template .wc-block-components-product-button__button {
  align-items: center !important;
  background: #a21c14 !important;
  border: 0 !important;
  border-radius: 8px !important;
  color: #fff !important;
  display: inline-flex !important;
  justify-content: center !important;
  min-height: 44px;
  padding: .68rem 1rem !important;
  text-transform: uppercase;
  width: 100% !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce-page ul.products li.product .button:hover,
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button:hover,
.cdt-home .wc-block-product-template .wc-block-components-product-button__button:hover {
  background: var(--wp--preset--color--brand, #c2410c) !important;
}

.cdt-loop-buybar {
  align-items: stretch;
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: .65rem;
  justify-content: space-between;
  margin-top: auto;
  width: 100%;
}

.cdt-loop-buybar .button {
  flex: 1 1 0;
  margin: 0 !important;
  order: 2;
  width: auto !important;
}

.cdt-loop-buybar .cdt-loop-buybar__button-wrap {
  align-items: stretch !important;
  display: flex !important;
  flex: 1 1 0;
  margin: 0 !important;
  order: 2;
  width: auto !important;
}

.cdt-loop-buybar .cdt-loop-buybar__button-wrap .wc-block-components-product-button__button {
  height: 100%;
  margin: 0 !important;
  min-height: 44px;
  width: 100% !important;
}

.cdt-loop-buybar .cdt-loop-qty {
  flex: 0 0 42%;
  max-width: 132px;
  min-width: 96px;
  order: 1;
}

.cdt-loop-qty {
  align-items: center;
  background: #fff;
  border: 1px solid rgba(88, 54, 38, .18);
  border-radius: 8px;
  display: grid;
  grid-template-columns: 36px 1fr 36px;
  min-height: 44px;
  overflow: hidden;
}

.cdt-loop-qty__btn {
  appearance: none;
  background: transparent;
  border: 0;
  color: var(--wp--preset--color--ink, #18212f);
  cursor: pointer;
  font: inherit;
  font-size: 1.3rem;
  line-height: 1;
  min-height: 44px;
  padding: 0;
}

.cdt-loop-qty__btn:hover {
  background: #fff4ec;
  color: var(--wp--preset--color--brand, #c2410c);
}

.woocommerce .cdt-loop-qty input.qty,
.cdt-loop-qty__input {
  appearance: textfield;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--wp--preset--color--ink, #18212f) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center;
  width: 100% !important;
}

.cdt-loop-qty__input::-webkit-outer-spin-button,
.cdt-loop-qty__input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}

@media (max-width: 760px) {
  body.post-type-archive-product main.cdt-shell,
  body.tax-product_cat main.cdt-shell,
  body.woocommerce-shop main.cdt-shell {
    padding-top: .65rem !important;
    padding-bottom: 2rem !important;
  }

  body.post-type-archive-product .woo-breadcrumb,
  body.tax-product_cat .woo-breadcrumb,
  body.woocommerce-shop .woo-breadcrumb {
    font-size: .8rem;
    margin-bottom: .55rem !important;
  }

  body.post-type-archive-product .wp-block-query-title,
  body.tax-product_cat .wp-block-query-title,
  body.woocommerce-shop .wp-block-query-title {
    font-size: 1.42rem !important;
    line-height: 1.12 !important;
    margin: 0 0 .72rem !important;
  }

  body.post-type-archive-product .woo-category-description,
  body.tax-product_cat .woo-category-description,
  body.woocommerce-shop .woo-category-description {
    margin-bottom: .7rem !important;
  }

  .cdt-prod-nav {
    gap: .42rem;
    margin: 0 0 1rem !important;
  }

  .cdt-prod-nav__item {
    font-size: .82rem;
    line-height: 1.15;
    padding: .36rem .72rem;
  }

  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product,
  .wp-block-woocommerce-product-collection .wc-block-product-template > li,
  .cdt-home .wc-block-product-template > li {
    padding: .62rem !important;
  }

  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce-page ul.products li.product .woocommerce-loop-product__title,
  .wp-block-woocommerce-product-collection .wc-block-product-template .wp-block-post-title,
  .cdt-home .wc-block-product-template .wp-block-post-title {
    font-size: .98rem !important;
    min-height: auto;
  }

  .cdt-loop-buybar {
    gap: .45rem;
  }

  .woocommerce ul.products li.product .button,
  .woocommerce-page ul.products li.product .button {
    font-size: .76rem !important;
    min-height: 38px;
    padding: .5rem .42rem !important;
  }

  .cdt-loop-qty {
    grid-template-columns: 28px 1fr 28px;
    min-height: 38px;
    min-width: 82px;
  }

  .cdt-loop-qty__btn {
    font-size: 1rem;
    min-height: 38px;
  }

  .woocommerce .cdt-loop-qty input.qty,
  .cdt-loop-qty__input {
    font-size: .88rem !important;
    height: 38px !important;
  }

  .cdt-loop-buybar .cdt-loop-buybar__button-wrap .wc-block-components-product-button__button {
    min-height: 38px;
  }
}

@media (max-width: 380px) {
  .cdt-loop-buybar {
    gap: .35rem;
  }

  .cdt-loop-buybar .cdt-loop-qty {
    flex-basis: 40%;
    min-width: 78px;
  }

  .woocommerce ul.products li.product .button,
  .woocommerce-page ul.products li.product .button {
    font-size: .68rem !important;
    letter-spacing: 0 !important;
    padding-left: .3rem !important;
    padding-right: .3rem !important;
  }

  .cdt-loop-qty {
    grid-template-columns: 24px 1fr 24px;
  }
}

/* Loja 1.2.61: topo compacto, compra em linha e rodape sem respiro extra */
body.post-type-archive-product main.cdt-shell,
body.tax-product_cat main.cdt-shell,
body.woocommerce-shop main.cdt-shell {
  padding-top: .35rem !important;
  padding-bottom: 1.25rem !important;
}

body.post-type-archive-product main.cdt-shell > .wc-block-store-notices,
body.tax-product_cat main.cdt-shell > .wc-block-store-notices,
body.woocommerce-shop main.cdt-shell > .wc-block-store-notices {
  margin: 0 !important;
  min-height: 0 !important;
}

body.post-type-archive-product .woo-breadcrumb,
body.tax-product_cat .woo-breadcrumb,
body.woocommerce-shop .woo-breadcrumb {
  font-size: .82rem;
  margin: 0 0 .38rem !important;
}

body.post-type-archive-product .wp-block-query-title,
body.tax-product_cat .wp-block-query-title,
body.woocommerce-shop .wp-block-query-title {
  font-size: 1.18rem !important;
  line-height: 1.1 !important;
  margin: 0 0 .5rem !important;
}

body.post-type-archive-product .woo-main,
body.tax-product_cat .woo-main,
body.woocommerce-shop .woo-main {
  padding-top: .3rem !important;
  padding-bottom: 1rem !important;
}

body.post-type-archive-product .cdt-prod-nav,
body.tax-product_cat .cdt-prod-nav,
body.woocommerce-shop .cdt-prod-nav {
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
}

/* Loja 1.2.62: alinhar cabecalho ao grid, aliviar titulos e encostar rodape */
body.post-type-archive-product main.cdt-shell > .wp-block-breadcrumbs,
body.post-type-archive-product main.cdt-shell > .woo-breadcrumb,
body.post-type-archive-product main.cdt-shell > .wp-block-query-title,
body.tax-product_cat main.cdt-shell > .wp-block-breadcrumbs,
body.tax-product_cat main.cdt-shell > .woo-breadcrumb,
body.tax-product_cat main.cdt-shell > .wp-block-query-title,
body.woocommerce-shop main.cdt-shell > .wp-block-breadcrumbs,
body.woocommerce-shop main.cdt-shell > .woo-breadcrumb,
body.woocommerce-shop main.cdt-shell > .wp-block-query-title {
  box-sizing: border-box;
  max-width: 1360px !important;
  width: 100%;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: max(1.5rem, env(safe-area-inset-left));
  padding-right: max(1.5rem, env(safe-area-inset-right));
}

@media (min-width: 782px) {
  body.post-type-archive-product main.cdt-shell > .wp-block-breadcrumbs,
  body.post-type-archive-product main.cdt-shell > .woo-breadcrumb,
  body.post-type-archive-product main.cdt-shell > .wp-block-query-title,
  body.tax-product_cat main.cdt-shell > .wp-block-breadcrumbs,
  body.tax-product_cat main.cdt-shell > .woo-breadcrumb,
  body.tax-product_cat main.cdt-shell > .wp-block-query-title,
  body.woocommerce-shop main.cdt-shell > .wp-block-breadcrumbs,
  body.woocommerce-shop main.cdt-shell > .woo-breadcrumb,
  body.woocommerce-shop main.cdt-shell > .wp-block-query-title {
    padding-left: max(2rem, env(safe-area-inset-left));
    padding-right: max(2rem, env(safe-area-inset-right));
  }
}

body.post-type-archive-product .wp-block-woocommerce-product-collection .wp-block-post-title,
body.tax-product_cat .wp-block-woocommerce-product-collection .wp-block-post-title,
body.woocommerce-shop .wp-block-woocommerce-product-collection .wp-block-post-title,
body.post-type-archive-product .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.woocommerce-shop .woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-weight: 650 !important;
}

body.post-type-archive-product .wp-block-woocommerce-product-collection,
body.tax-product_cat .wp-block-woocommerce-product-collection,
body.woocommerce-shop .wp-block-woocommerce-product-collection {
  margin-bottom: .75rem !important;
}

body.post-type-archive-product .wp-block-query-pagination,
body.tax-product_cat .wp-block-query-pagination,
body.woocommerce-shop .wp-block-query-pagination {
  margin-bottom: 0 !important;
}

body.post-type-archive-product main.cdt-shell,
body.tax-product_cat main.cdt-shell,
body.woocommerce-shop main.cdt-shell {
  padding-bottom: .35rem !important;
}

/* Loja 1.2.63: fonte mais leve e cards consistentes em loja, categorias e home */
.cdt-prod-nav__item {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.wp-block-woocommerce-product-collection .wc-block-product-template > li,
.cdt-home .wc-block-product-template > li {
  border: 1px solid rgba(88, 54, 38, .14) !important;
  border-radius: 8px !important;
  box-shadow: 0 10px 26px -22px rgba(24, 33, 47, .32) !important;
  display: flex !important;
  flex-direction: column !important;
  padding: .75rem !important;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover,
.wp-block-woocommerce-product-collection .wc-block-product-template > li:hover,
.cdt-home .wc-block-product-template > li:hover {
  box-shadow: 0 18px 42px -28px rgba(24, 33, 47, .42) !important;
  transform: translateY(-2px);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.wp-block-woocommerce-product-collection .wc-block-product-template .wp-block-post-title,
.wp-block-woocommerce-product-collection .wc-block-product-template .wp-block-post-title a,
.cdt-home .wc-block-product-template .wp-block-post-title,
.cdt-home .wc-block-product-template .wp-block-post-title a {
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.28 !important;
}

.woocommerce ul.products li.product .price,
.woocommerce-page ul.products li.product .price,
.woocommerce ul.products li.product .price ins,
.woocommerce-page ul.products li.product .price ins,
.wp-block-woocommerce-product-collection .wc-block-components-product-price,
.wp-block-woocommerce-product-collection .wc-block-components-product-price ins,
.wp-block-woocommerce-product-collection .wc-block-components-product-price__value,
.cdt-home .wc-block-product-template .wc-block-components-product-price,
.cdt-home .wc-block-product-template .wc-block-components-product-price ins,
.cdt-home .wc-block-product-template .wc-block-components-product-price__value {
  font-weight: 700 !important;
}

.woocommerce ul.products li.product .button,
.woocommerce-page ul.products li.product .button,
.wp-block-woocommerce-product-collection .wc-block-components-product-button__button,
.wp-block-woocommerce-product-collection .wp-block-button__link,
.cdt-home .wc-block-product-template .wc-block-components-product-button__button,
.cdt-home .wc-block-product-template .wp-block-button__link {
  font-weight: 650 !important;
  letter-spacing: 0 !important;
}

.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-button,
.cdt-home .wc-block-product-template .wp-block-woocommerce-product-button {
  margin-top: auto !important;
  width: 100% !important;
}

/* Loja 1.2.64: blocos FSE com quantidade no mesmo padrao do card antigo */
.cdt-loop-buybar--fse {
  margin-top: auto !important;
}

.cdt-loop-buybar--fse .wp-block-button,
.cdt-loop-buybar--fse .wp-block-woocommerce-product-button,
.cdt-loop-buybar--fse .wc-block-components-product-button {
  align-items: stretch !important;
  display: flex !important;
  height: 100% !important;
  margin: 0 !important;
  width: 100% !important;
}

.cdt-loop-buybar--fse .wp-block-button__link,
.cdt-loop-buybar--fse .wc-block-components-product-button__button {
  align-items: center !important;
  display: inline-flex !important;
  height: 100% !important;
  justify-content: center !important;
  margin: 0 !important;
  min-height: 44px !important;
  width: 100% !important;
}

/* Cart 1.2.78: six safe compact cross-sells with responsive order. */
.woocommerce-cart .cart-collaterals {
  display: block !important;
}

.woocommerce-cart .cart-collaterals .cross-sells {
  max-width: 680px;
}

.woocommerce-cart .cross-sells ul.products {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: .65rem !important;
}

.woocommerce-cart .cross-sells ul.products li.product,
.woocommerce-cart .cross-sells .wc-block-product-template > li {
  min-height: 0;
  overflow: hidden;
  padding: .5rem .5rem 2.8rem !important;
  position: relative;
}

.woocommerce-cart .cross-sells ul.products li.product a.woocommerce-LoopProduct-link {
  display: block;
}

.woocommerce-cart .cross-sells ul.products li.product img,
.woocommerce-cart .cross-sells .wc-block-product-template img {
  margin-bottom: .42rem !important;
}

.woocommerce-cart .cross-sells ul.products li.product .woocommerce-loop-product__title,
.woocommerce-cart .cross-sells .wc-block-product-template .wp-block-post-title {
  font-size: .76rem !important;
  font-weight: 650 !important;
  line-height: 1.16 !important;
  margin: 0 !important;
  min-height: 0;
}

.woocommerce-cart .cross-sells ul.products li.product .price,
.woocommerce-cart .cross-sells .wc-block-components-product-price {
  border-top: 0;
  bottom: .5rem;
  font-size: .86rem !important;
  left: .55rem;
  line-height: 32px !important;
  margin: 0 !important;
  max-width: calc(100% - 48px);
  padding: 0 !important;
  position: absolute;
}

.woocommerce-cart .cross-sells .cdt-loop-buybar {
  bottom: .5rem;
  display: flex !important;
  height: 34px;
  margin: 0 !important;
  position: absolute;
  right: .5rem;
  width: 34px;
}

.woocommerce-cart .cross-sells .cdt-loop-buybar .cdt-loop-qty {
  display: none !important;
}

.woocommerce-cart .cross-sells .cdt-loop-buybar .button,
.woocommerce-cart .cross-sells .cdt-loop-buybar .cdt-loop-buybar__button-wrap,
.woocommerce-cart .cross-sells .cdt-loop-buybar .cdt-loop-buybar__button-wrap .wc-block-components-product-button__button {
  align-items: center !important;
  display: flex !important;
  flex: 0 0 34px !important;
  height: 34px !important;
  justify-content: center !important;
  margin: 0 !important;
  min-height: 34px !important;
  min-width: 34px !important;
  overflow: hidden !important;
  padding: 0 !important;
  width: 34px !important;
}

.woocommerce-cart .cross-sells .cdt-loop-buybar .button {
  border-radius: 7px !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  position: relative;
  text-indent: 0;
}

.woocommerce-cart .cross-sells .cdt-loop-buybar .button::before {
  background: #fff;
  content: "";
  display: block;
  height: 18px;
  left: 50%;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h8.7a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3Cpath d='M12 8v6'/%3E%3Cpath d='M9 11h6'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h8.7a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3Cpath d='M12 8v6'/%3E%3Cpath d='M9 11h6'/%3E%3C/svg%3E") center/contain no-repeat;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 18px;
}

@media (max-width: 1100px) {
  .woocommerce-cart .cart-collaterals {
    display: flex !important;
    flex-direction: column;
  }

  .woocommerce-cart .cart-collaterals .cart_totals {
    float: none !important;
    margin-left: 0 !important;
    max-width: none !important;
    order: 1;
    width: 100% !important;
  }

  .woocommerce-cart .cart-collaterals .cross-sells {
    float: none !important;
    margin-top: 1.35rem;
    max-width: none;
    order: 2;
    width: 100%;
  }

  .woocommerce-cart .cross-sells ul.products {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 720px) {
  .woocommerce-cart .cross-sells ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Categorias 1.2.68: topo curto para conversao e conteudo editorial abaixo da vitrine */
.cdt-category-intro {
  color: rgba(5, 22, 42, .84);
  font-size: 1rem;
  line-height: 1.55;
  margin: .75rem 0 1.35rem;
  max-width: 960px;
}

.cdt-category-intro p {
  margin: 0;
}

.cdt-category-seo {
  border-top: 1px solid rgba(88, 54, 38, .12);
  margin: 2rem auto 0;
  max-width: 1120px;
  padding: 1.75rem 0 0;
}

.cdt-category-seo__inner {
  max-width: 980px;
}

.cdt-category-seo__eyebrow {
  color: #c53c0b;
  font-size: .82rem;
  font-weight: 650;
  letter-spacing: .02em;
  margin: 0 0 .35rem;
  text-transform: uppercase;
}

.cdt-category-seo h2 {
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 0 1rem;
}

.cdt-category-seo__description {
  color: rgba(5, 22, 42, .86);
  font-size: 1rem;
  line-height: 1.66;
}

.cdt-category-seo__description p {
  margin: 0 0 .85rem;
}

.cdt-category-seo__pillar {
  background: #fff8f2;
  border: 1px solid rgba(197, 60, 11, .16);
  border-radius: 8px;
  color: rgba(5, 22, 42, .86);
  line-height: 1.55;
  margin: 1.25rem 0;
  padding: 1rem 1.1rem;
}

.cdt-category-seo__pillar a {
  color: #c53c0b;
  font-weight: 650;
}

.cdt-category-seo__faq {
  display: grid;
  gap: .7rem;
  margin-top: 1.25rem;
}

.cdt-category-seo__faq h3 {
  font-size: 1.12rem;
  font-weight: 650;
  letter-spacing: 0;
  margin: 0 0 .15rem;
}

.cdt-category-seo__faq details {
  border: 1px solid rgba(88, 54, 38, .14);
  border-radius: 8px;
  padding: .85rem 1rem;
}

.cdt-category-seo__faq summary {
  cursor: pointer;
  font-weight: 600;
}

.cdt-category-seo__faq p {
  color: rgba(5, 22, 42, .82);
  line-height: 1.55;
  margin: .65rem 0 0;
}

/* Final override: cart cross-sell add button is icon-only. */
.woocommerce-cart .cross-sells ul.products li.product .cdt-loop-buybar .button.add_to_cart_button,
.woocommerce-cart .cross-sells ul.products li.product .cdt-loop-buybar a.button.add_to_cart_button {
  align-items: center !important;
  background-color: #b21b14 !important;
  border: 0 !important;
  border-radius: 8px !important;
  color: transparent !important;
  display: inline-flex !important;
  font-size: 0 !important;
  height: 34px !important;
  justify-content: center !important;
  line-height: 0 !important;
  margin: 0 !important;
  min-height: 34px !important;
  min-width: 34px !important;
  overflow: hidden !important;
  padding: 0 !important;
  text-indent: 0 !important;
  white-space: nowrap !important;
  width: 34px !important;
}

.woocommerce-cart .cross-sells ul.products li.product .cdt-loop-buybar .button.add_to_cart_button::before,
.woocommerce-cart .cross-sells ul.products li.product .cdt-loop-buybar a.button.add_to_cart_button::before {
  background-color: #fff !important;
  content: "" !important;
  display: block !important;
  flex: 0 0 18px;
  height: 18px !important;
  margin: 0 !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h8.7a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center/contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='8' cy='21' r='1'/%3E%3Ccircle cx='19' cy='21' r='1'/%3E%3Cpath d='M2.05 2.05h2l2.66 12.42a2 2 0 0 0 2 1.58h8.7a2 2 0 0 0 1.95-1.57l1.65-7.43H5.12'/%3E%3C/svg%3E") center/contain no-repeat;
  opacity: 1 !important;
  position: static !important;
  transform: none !important;
  width: 18px !important;
}
