/* Clone local Litoral Moda Íntima — estilos do carrinho/busca/avisos */
.lit-toast {
  position: fixed; left: 50%; bottom: 28px; transform: translateX(-50%) translateY(20px);
  background: #8b173a; color: #fff; padding: 12px 22px; border-radius: 6px;
  font-size: 14px; z-index: 100000; opacity: 0; transition: .25s ease;
  box-shadow: 0 8px 24px rgba(0,0,0,.25); max-width: 92vw; text-align: center;
}
.lit-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
.lit-toast a { color: #ffd9e4; text-decoration: underline; }

/* itens do painel do carrinho */
.fastCartContent li.lit-item {
  display: flex; gap: 12px; align-items: flex-start;
  padding: 12px 0; border-bottom: 1px solid #eee; text-align: left;
}
.fastCartContent li.lit-item:last-child { border-bottom: 0; }
.fastCartContent li.lit-item .lit-img {
  width: 74px; height: 74px; object-fit: contain; flex: 0 0 74px;
  border: 1px solid #f0f0f0; background: #fff;
}
.fastCartContent li.lit-item .lit-info { flex: 1 1 auto; min-width: 0; }
.fastCartContent li.lit-item .title { margin: 0 0 6px; font-size: 13px; line-height: 1.3; }
.fastCartContent li.lit-item .title a { color: #333; text-transform: none; font-weight: 600; }
.fastCartContent li.lit-item .lit-opt { display: block; color: #777; font-size: 11px; margin-top: 2px; }
.fastCartContent li.lit-item .prices__old-price__price {
  display: block; font-size: 15px; font-weight: 700; color: #8b173a; margin: 4px 0 6px;
}
.fastCartContent li.lit-item .quantity-adder {
  display: inline-flex; align-items: center; border: 1px solid #ddd; border-radius: 4px;
  overflow: hidden; height: 30px;
}
.fastCartContent li.lit-item .quantity-adder .add-action {
  width: 28px; height: 28px; line-height: 28px; text-align: center; cursor: pointer;
  background: #f7f7f7; user-select: none;
}
.fastCartContent li.lit-item .quantity-adder input.quantity {
  width: 42px; height: 28px; border: 0; text-align: center; font-size: 13px;
}
.fastCartContent li.lit-item .remove-item {
  display: inline-block; margin-left: 10px; color: #999; font-size: 11px;
  text-decoration: underline; cursor: pointer; text-transform: none;
}
.fastCartContent li.lit-item .remove-item:hover { color: #c00; }
.lit-vazio { text-align: center; padding: 18px 0 8px; color: #777; font-size: 14px; }

/* resumo do carrinho no painel */
.lit-resumo { display: flex; justify-content: space-between; align-items: center; padding: 10px 0 0; font-size: 14px; }
.lit-resumo b { font-size: 17px; color: #8b173a; }

/* busca local */
.lit-busca-info { margin: 10px 0 20px; font-size: 15px; color: #555; }
.lit-busca-info b { color: #8b173a; }
.lit-busca-vazio { padding: 40px 10px; text-align: center; color: #666; }
.lit-busca-vazio h2 { font-size: 20px; }
.lit-busca-vazio p { margin: 8px 0 18px; }
.lit-busca-vazio .lit-sug { display: inline-block; margin: 4px 6px; padding: 6px 14px;
  border: 1px solid #8b173a; border-radius: 20px; color: #8b173a; font-size: 13px; }

/* pagina do carrinho */
.lit-cart-wrap { padding: 24px 0 60px; }
.lit-cart-wrap h1 { font-size: 26px; text-transform: uppercase; color: #5c1229; }
.lit-cart-tabela { width: 100%; border-collapse: collapse; margin: 18px 0; }
.lit-cart-tabela th { font-size: 12px; text-transform: uppercase; color: #777; text-align: left;
  border-bottom: 1px solid #eee; padding: 8px 6px; font-weight: 600; }
.lit-cart-tabela td { padding: 14px 6px; border-bottom: 1px solid #f1f1f1; vertical-align: middle; }
.lit-cart-tabela img { width: 72px; height: 72px; object-fit: contain; }
.lit-cart-tabela .lit-nome { font-weight: 600; color: #333; text-transform: none; }
.lit-cart-tabela .lit-opt { display: block; color: #888; font-size: 12px; font-weight: 400; }
.lit-cart-totalbox { border: 1px solid #eee; padding: 18px; margin-top: 10px; }
.lit-cart-totalbox .linha { display: flex; justify-content: space-between; padding: 6px 0; font-size: 15px; }
.lit-cart-totalbox .linha.total { border-top: 1px solid #eee; margin-top: 8px; padding-top: 12px;
  font-size: 20px; font-weight: 700; color: #8b173a; }
.lit-btn { display: inline-block; background: #12ab2f; color: #fff; padding: 12px 28px;
  border-radius: 4px; font-weight: 700; text-transform: uppercase; font-size: 14px; border: 0; }
.lit-btn:hover { background: #0f9427; color: #fff; }
.lit-btn.pink { background: #8b173a; }
.lit-btn.pink:hover { background: #74122f; }
.lit-aviso { background: #fff7e6; border: 1px solid #ffe0a3; color: #7a5a00; padding: 14px 16px;
  border-radius: 6px; font-size: 14px; margin: 18px 0; }
.lit-aviso b { color: #6b4e00; }
.lit-acoes { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-top: 16px; }

/* frete calculado (mock local) */
.lit-frete-opts { margin: 12px 0; border: 1px solid #eee; border-radius: 4px; padding: 12px; }
.lit-frete-opts div { display: flex; justify-content: space-between; padding: 5px 0; font-size: 14px; }
.lit-frete-opts .nome { font-weight: 600; }

/* ------------------------------------------------------------------
   Overflow horizontal no celular (blog / GenerateBlocks)
   Causa: o texto do site usa NBSP (\u00a0) entre palavras ("Os produtos
   sex shop mais vendidos..."), e .gb-headline-text e um <p> display:flex.
   Com overflow-wrap:break-word o min-content continua sendo a maior
   sequencia inquebravel (as palavras coladas por NBSP), entao o item
   flex nao encolhe e o texto passa da largura da viewport (82 px em
   /blog/c/sex-shop/page/19/ com 390 px).
   overflow-wrap:anywhere tambem afeta o calculo de min-content, entao a
   caixa encolhe e a linha quebra. Nao muda nada no texto normal.
   ------------------------------------------------------------------ */
.gb-headline,
.gb-headline-text,
.gb-headline-text a {
  overflow-wrap: anywhere;
  word-break: normal;
}
/* rede de seguranca para textos longos dentro do conteudo do blog */
.entry-content, .dynamic-content-template, .site-main { min-width: 0; }
.entry-content p, .entry-content li, .entry-content h1, .entry-content h2,
.entry-content h3, .entry-content h4, .entry-content blockquote {
  overflow-wrap: anywhere;
}

/* ------------------------------------------------------------------
   Paginacao do GenerateBlocks estourava a largura
   .gb-query-loop-pagination e display:flex + flex-wrap:nowrap, entao
   com a pagina atual no meio ("27 28 29 ... 53") a fileira fica com
   ~976 px e passa da coluna (778 px) e da viewport. Medido em
   /blog/autor/bruno/page/27/: +326 px em 390, +228 em 820, +155 em
   768, +75 em 1024 e +18 em 1100 — a pagina estoura em qualquer tela
   abaixo de 1200 px.
   Aqui so ligamos o wrap onde de fato estoura: assim o desktop largo
   (>=1200) mantem a fileira unica do site original.
   ------------------------------------------------------------------ */
@media (max-width: 1199px) {
  .gb-query-loop-pagination,
  .nav-links,
  .pagination {
    flex-wrap: wrap;
  }
}
