/* ====== Venzzani — Cart (Woo Blocks) ====== */
.wc-block-cart{
  --c-text:#111; --c-border:#e6e8eb; --c-soft:#f6f7f9; --c-brand:#0c0b0c; --r:12px;
  color:var(--c-text);
}

/* Layout geral */
.wc-block-cart__container{max-width:1200px; margin:24px auto; padding:0 16px;}
.wc-block-cart .wc-block-cart__submit-container{ margin-top:16px; }

/* Tabela de itens como “cards” */
.wc-block-cart-items__table{width:100%; border-collapse:separate; border-spacing:0 12px;}
.wc-block-cart-items__row{
  background:#fff; border:1px solid var(--c-border); border-radius:var(--r);
  box-shadow:0 8px 20px rgba(0,0,0,.04);
}
.wc-block-cart-items__row > td{padding:14px 16px; vertical-align:middle;}
.wc-block-cart-items__image img{
  width:72px; height:auto; border-radius:10px; border:1px solid var(--c-border); background:#fff;
}
.wc-block-components-product-name{font:700 18px/1.25 "Times New Roman", serif; color:var(--c-text);}

/* Preço/total alinhado à direita */
.wc-block-cart-items__total{text-align:right; font-weight:700;}

/* Quantidade */
.wc-block-components-quantity-selector input,
.wc-block-components-quantity-selector button{ height:36px; border-radius:10px; }

/* Totais (sidebar) */
.wc-block-cart .wc-block-cart__totals{
  background:#fff; border:1px solid var(--c-border); border-radius:var(--r);
  padding:16px; box-shadow:0 8px 20px rgba(0,0,0,.04);
}
.wc-block-components-totals-coupon,
.wc-block-components-panel__content{
  background:#fff; border:1px solid var(--c-border); border-radius:var(--r);
  padding:12px; margin:12px 0;
}

/* Botões */
.wc-block-cart .wc-block-components-button,
.wc-block-cart .wc-block-cart__submit-button{
  background:var(--c-brand) !important; color:#fff !important; border:0 !important;
  border-radius:10px !important; height:44px; padding:0 18px;
  font-weight:800; letter-spacing:.02em;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}
.wc-block-cart .wc-block-components-button:hover,
.wc-block-cart .wc-block-cart__submit-button:hover{
  filter:brightness(1.06); transform:translateY(-1px);
}

/* Avisos do carrinho (message/info/error) */
.wc-block-components-notice-banner{
  border:1px solid var(--c-border); background:#eefcf3;
  border-radius:12px; box-shadow:0 6px 18px rgba(0,0,0,.06);
}
.wc-block-components-notice-banner__content{padding:12px 16px;}
.wc-block-components-notice-banner__actions .wc-block-components-button{
  background:var(--c-brand) !important; color:#fff !important; border-radius:10px !important;
}

/* =========================================================
   NOVO NA LOJA (carrinho vazio) — igual Catálogo/Destaques
   Funciona para Woo Blocks (.wc-block-grid__products)
   e para o grid clássico <ul class="products">
   ========================================================= */

/* GRID — cards NUNCA ficam “fininhos” */
.woocommerce-cart .wc-block-grid__products,
.woocommerce-cart ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap:28px !important;
  max-width:1200px !important;
  margin:22px auto 40px !important;
  padding:0 16px !important;
  list-style:none !important;
}

/* Mata heranças do tema no grid clássico */
.woocommerce-cart ul.products::before,
.woocommerce-cart ul.products::after{ content:none !important; display:none !important; }
.woocommerce-cart ul.products li.product{
  float:none !important;
  width:auto !important;
  margin:0 !important;
}

/* CARD */
.woocommerce-cart .wc-block-grid__product,
.woocommerce-cart ul.products li.product{
  background:#f6f9f7;
  border-radius:16px;
  overflow:hidden;
  display:flex !important;
  flex-direction:column;
  position:relative;
  box-shadow:0 1px 0 rgba(0,0,0,.02);
  transition:transform .18s ease, box-shadow .18s ease;
}
.woocommerce-cart .wc-block-grid__product:hover,
.woocommerce-cart ul.products li.product:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(0,0,0,.06);
}

/* IMAGEM 4:3 cover (igual catálogo) */
.woocommerce-cart .wc-block-grid__product-image,
.woocommerce-cart ul.products li.product a.woocommerce-LoopProduct-link{
  display:block; background:#fff; border-bottom:1px solid #f1f1f1;
}
.woocommerce-cart .wc-block-grid__product-image img,
.woocommerce-cart ul.products li.product a.woocommerce-LoopProduct-link img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:4 / 3 !important;
  object-fit:cover !important;
  display:block !important;
}

/* SELO — padroniza como “Promoção” */
.woocommerce-cart .wc-block-grid__product-onsale,
.woocommerce-cart ul.products li.product .onsale{
  position:absolute; top:12px; left:12px; z-index:3;
  padding:6px 12px; border-radius:999px;
  background:#111; color:#fff; font:700 12px/1 "Times New Roman", serif;
  letter-spacing:.02em; pointer-events:none;
}
.woocommerce-cart .wc-block-grid__product-onsale{ color:transparent; }
.woocommerce-cart .wc-block-grid__product-onsale::after{ content:"Promoção"; color:#fff; }

/* TÍTULO */
.woocommerce-cart .wc-block-grid__product-title,
.woocommerce-cart ul.products li.product .woocommerce-loop-product__title{
  margin:14px 16px 8px !important;
  font:700 20px/1.25 "Times New Roman", serif !important;
  color:#111 !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; min-height:44px;
}

/* PREÇO */
.woocommerce-cart .wc-block-grid__product-price,
.woocommerce-cart ul.products li.product .price{
  margin:0 16px 12px !important;
  font-size:16px !important; font-weight:700 !important; color:#111 !important;
}
.woocommerce-cart .wc-block-grid__product-price del,
.woocommerce-cart ul.products li.product .price del{
  color:#777 !important; opacity:.85; margin-right:8px;
}
.woocommerce-cart .wc-block-grid__product-price ins,
.woocommerce-cart ul.products li.product .price ins{
  color:#146b5a !important; text-decoration:none !important; font-weight:800 !important;
}

/* BOTÃO — largura total, centralizado, sem quebrar */
.woocommerce-cart .wc-block-grid__product .wp-block-button{ margin-top:auto !important; }
.woocommerce-cart .wc-block-grid__product .wp-block-button__link,
.woocommerce-cart ul.products li.product .button,
.woocommerce-cart ul.products li.product .add_to_cart_button,
.woocommerce-cart ul.products li.product .ajax_add_to_cart{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:calc(100% - 32px) !important;
  height:44px !important;
  margin:0 16px 16px !important;
  padding:0 18px !important;
  white-space:nowrap !important;           /* NÃO quebra o texto */
  text-align:center !important;
  background:#111 !important; color:#fff !important;
  border:0 !important; border-radius:12px !important;
  font-weight:800 !important; letter-spacing:.02em !important;
  transition:filter .2s, transform .02s; cursor:pointer;
}
.woocommerce-cart .wc-block-grid__product .wp-block-button__link:hover,
.woocommerce-cart ul.products li.product .button:hover{ filter:brightness(1.08); }
.woocommerce-cart .wc-block-grid__product .wp-block-button__link:active,
.woocommerce-cart ul.products li.product .button:active{ transform:translateY(1px); }
/* ===== FIX DURO: "Novo na loja" (carrinho vazio) com texto vertical e card fino ===== */

/* 1) Garante o GRID correto (cada card >= 260px) */
.woocommerce-cart .wc-block-grid__products,
.woocommerce-cart ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap:28px !important;
  max-width:1200px !important;
  margin:22px auto 40px !important;
  padding:0 16px !important;
}

/* 2) Neutraliza heranças do tema no grid clássico */
.woocommerce-cart ul.products::before,
.woocommerce-cart ul.products::after{ content:none !important; display:none !important; }
.woocommerce-cart ul.products li.product{
  float:none !important;
  width:auto !important;
  margin:0 !important;
}

/* 3) Hard reset de estilos estranhos (texto na vertical / transformações) */
.woocommerce-cart .wc-block-grid__product,
.woocommerce-cart .wc-block-grid__product *{
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  transform: none !important;
  rotate: none !important;
  -webkit-transform: none !important;
  -ms-transform: none !important;
}

/* 4) Evita “quebra por letra” em títulos e preços */
.woocommerce-cart .wc-block-grid__product-title,
.woocommerce-cart .wc-block-grid__product-price,
.woocommerce-cart ul.products li.product .woocommerce-loop-product__title,
.woocommerce-cart ul.products li.product .price{
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
}

/* 5) Card — não deixar afinar e manter layout */
.woocommerce-cart .wc-block-grid__product,
.woocommerce-cart ul.products li.product{
  min-width:260px !important;
  width:auto !important;
  background:#f6f9f7;
  border-radius:16px;
  overflow:hidden;
  display:flex !important;
  flex-direction:column;
  position:relative;
  box-shadow:0 1px 0 rgba(0,0,0,.02);
  transition:transform .18s ease, box-shadow .18s ease;
}
.woocommerce-cart .wc-block-grid__product:hover,
.woocommerce-cart ul.products li.product:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(0,0,0,.06);
}

/* 6) Imagem 4:3, como no catálogo */
.woocommerce-cart .wc-block-grid__product-image,
.woocommerce-cart ul.products li.product a.woocommerce-LoopProduct-link{
  display:block; background:#fff; border-bottom:1px solid #f1f1f1;
}
.woocommerce-cart .wc-block-grid__product-image img,
.woocommerce-cart ul.products li.product a.woocommerce-LoopProduct-link img{
  width:100% !important;
  height:auto !important;
  aspect-ratio:4 / 3 !important;
  object-fit:cover !important;
  display:block !important;
}

/* 7) Selo “Promoção” */
.woocommerce-cart .wc-block-grid__product-onsale,
.woocommerce-cart ul.products li.product .onsale{
  position:absolute; top:12px; left:12px; z-index:3;
  padding:6px 12px; border-radius:999px;
  background:#111; color:#fff; font:700 12px/1 "Times New Roman", serif;
  letter-spacing:.02em; pointer-events:none;
}
.woocommerce-cart .wc-block-grid__product-onsale{ color:transparent; }
.woocommerce-cart .wc-block-grid__product-onsale::after{ content:"Promoção"; color:#fff; }

/* 8) Tipografia do card */
.woocommerce-cart .wc-block-grid__product-title,
.woocommerce-cart ul.products li.product .woocommerce-loop-product__title{
  margin:14px 16px 8px !important;
  font:700 20px/1.25 "Times New Roman", serif !important;
  color:#111 !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; min-height:44px;
}
.woocommerce-cart .wc-block-grid__product-price,
.woocommerce-cart ul.products li.product .price{
  margin:0 16px 12px !important;
  font-size:16px !important; font-weight:700 !important; color:#111 !important;
}
.woocommerce-cart .wc-block-grid__product-price del,
.woocommerce-cart ul.products li.product .price del{ color:#777 !important; opacity:.85; margin-right:8px; }
.woocommerce-cart .wc-block-grid__product-price ins,
.woocommerce-cart ul.products li.product .price ins{ color:#146b5a !important; text-decoration:none !important; font-weight:800 !important; }

/* 9) Botão — horizontal, centralizado, sem quebrar */
.woocommerce-cart .wc-block-grid__product .wp-block-button{ margin-top:auto !important; }
.woocommerce-cart .wc-block-grid__product .wp-block-button__link,
.woocommerce-cart ul.products li.product .button,
.woocommerce-cart ul.products li.product .add_to_cart_button,
.woocommerce-cart ul.products li.product .ajax_add_to_cart{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:calc(100% - 32px) !important;
  height:44px !important;
  margin:0 16px 16px !important;
  padding:0 18px !important;
  white-space:nowrap !important;
  text-align:center !important;
  background:#111 !important; color:#fff !important;
  border:0 !important; border-radius:12px !important;
  font-weight:800 !important; letter-spacing:.02em !important;
  line-height:1 !important;
  transform:none !important;
}

/* ============================
   "Novo na loja" (carrinho vazio)
   – deixar idêntico aos Destaques/Categorias
   – trocar OFERTA → Promoção e alinhar tudo
   ============================ */

/* 1) Selo de promoção (clássico <ul class="products"> e Woo Blocks) */
.woocommerce-cart ul.products li.product .onsale,
.woocommerce-cart .wc-block-grid__product-onsale{
  position:absolute;
  top:14px; left:14px;
  padding:6px 12px;
  background:#111;
  color:#fff;
  border-radius:999px;
  font-weight:700;
  line-height:1;
  /* esconde o texto nativo “OFERTA/Sale!” para podermos injetar “Promoção” */
  font-size:0;
}
.woocommerce-cart ul.products li.product .onsale::after,
.woocommerce-cart .wc-block-grid__product-onsale::after{
  content:"Promoção";
  font-size:12px;
  letter-spacing:.02em;
}

/* 2) Título (mesma tipografia/margens dos Destaques) */
.woocommerce-cart .wc-block-grid__product-title,
.woocommerce-cart ul.products li.product .woocommerce-loop-product__title{
  margin:16px 18px 8px !important;
  font:700 20px/1.25 "Times New Roman", serif !important;
  color:#111 !important;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; min-height:44px;
}

/* 3) Preço (mesmo espaçamento e cor) */
.woocommerce-cart .wc-block-grid__product-price,
.woocommerce-cart ul.products li.product .price{
  margin:0 18px 14px !important;
  font-size:16px !important;
  font-weight:700 !important;
  color:#111 !important;
  display:block !important;
}
.woocommerce-cart .wc-block-grid__product-price del,
.woocommerce-cart ul.products li.product .price del{
  color:#777 !important; opacity:.85; margin-right:8px;
}
.woocommerce-cart .wc-block-grid__product-price ins,
.woocommerce-cart ul.products li.product .price ins{
  color:#146b5a !important; text-decoration:none !important; font-weight:800 !important;
}

/* 4) Botão (mesmo “pill” dos Destaques) */
.woocommerce-cart .wc-block-grid__product .wp-block-button{ margin-top:auto !important; }
.woocommerce-cart .wc-block-grid__product .wp-block-button__link,
.woocommerce-cart ul.products li.product .button,
.woocommerce-cart ul.products li.product .add_to_cart_button,
.woocommerce-cart ul.products li.product .ajax_add_to_cart{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:44px !important;
  width:calc(100% - 32px) !important;
  margin:0 16px 16px !important;
  padding:0 18px !important;
  background:#111 !important; color:#fff !important;
  border:0 !important; border-radius:12px !important;
  font-weight:800 !important; letter-spacing:.02em !important;
  white-space:nowrap !important;
  transition:filter .2s, transform .02s;
}
.woocommerce-cart .wc-block-grid__product .wp-block-button__link:hover,
.woocommerce-cart ul.products li.product .button:hover{ filter:brightness(1.08); }
.woocommerce-cart .wc-block-grid__product .wp-block-button__link:active,
.woocommerce-cart ul.products li.product .button:active{ transform:translateY(1px); }

/* 5) Imagem com ratio 4:3 e borda inferior suave (igual destaques) */
.woocommerce-cart .wc-block-grid__product-image,
.woocommerce-cart ul.products li.product a.woocommerce-LoopProduct-link{
  display:block; background:#fff; border-bottom:1px solid #f1f1f1;
}
.woocommerce-cart .wc-block-grid__product-image img,
.woocommerce-cart ul.products li.product a.woocommerce-LoopProduct-link img{
  width:100% !important; height:auto !important;
  aspect-ratio:4/3 !important; object-fit:cover !important; display:block;
}
/* =============== HARD RESET do selo (OFERTA -> Promoção)
   Somente no carrinho / bloco "Novo na loja"
   Funciona para Woo Blocks e para <ul class="products">
   =============== */

/* Zera estilos teimosos do tema e aplica nosso layout */
.woocommerce-cart .wc-block-grid__product .wc-block-grid__product-onsale,
.woocommerce-cart ul.products li.product .onsale{
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  right: auto !important;

  display: inline-block !important;
  padding: 6px 12px !important;

  background: #111 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;

  line-height: 1 !important;
  text-shadow: none !important;
  text-transform: none !important;
  letter-spacing: .02em !important;
  box-shadow: none !important;

  /* “apaga” o texto OFERTA para injetarmos o nosso */
  font-size: 0 !important;

  z-index: 10 !important;
}

/* Injeta "Promoção" no selo */
.woocommerce-cart .wc-block-grid__product .wc-block-grid__product-onsale::after,
.woocommerce-cart ul.products li.product .onsale::after{
  content: "Promoção";
  font-size: 12px;       /* volta o tamanho do texto */
  color: #fff;
}

/* Garantia: evita algum wrapper empurrar o selo para a direita */
.woocommerce-cart .wc-block-grid__product,
.woocommerce-cart ul.products li.product{
  position: relative; /* ancora absoluta do selo */
}
/* Novo na loja – imagens padronizadas como nos Destaques */

/* O WRAPPER vira uma “caixa” 4:3, com overflow escondido */
.woocommerce-cart .wc-block-grid__product-image,
.woocommerce-cart ul.products li.product a.woocommerce-LoopProduct-link{
  display:block;
  width:100%;
  aspect-ratio: 4 / 3;          /* mesma proporção da home */
  overflow:hidden;
  background:#fff;
  border-bottom:1px solid #f1f1f1;
}

/* A IMAGEM passa a ocupar 100% da caixa */
.woocommerce-cart .wc-block-grid__product-image img,
.woocommerce-cart ul.products li.product a.woocommerce-LoopProduct-link img{
  width:100% !important;
  height:100% !important;       /* >>> chave para padronizar <<< */
  object-fit:cover !important;  /* corta o excesso como “cover” */
  display:block !important;
}

/* (opcional) se algum tema impõe max-height/height via classe placeholder */
.woocommerce-cart img.woocommerce-placeholder{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
