/* Frete gratis para todo o Brasil + previsao de entrega (badcat clone) */
.bc-frete{
  width:100%;
  box-sizing:border-box;
  margin:20px 0 0;
  padding:12px 14px;
  border:1px solid #d9ecdd;
  border-radius:14px;
  background:#f3fbf5;
  font-family:"Montserrat",sans-serif;
  text-align:left;
}
.bc-frete *{box-sizing:border-box}
.bc-frete__row{display:flex;align-items:center;gap:12px}
.bc-frete__ic{flex:0 0 auto;width:26px;height:26px;color:#0f8a3d;display:flex;align-items:center;justify-content:center}
.bc-frete__ic svg{width:26px;height:26px;display:block}
.bc-frete__txt{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.35}
.bc-frete__txt strong{font-size:14px;font-weight:700;color:#0f8a3d;text-transform:none;letter-spacing:0;display:block}
.bc-frete__txt span{font-size:12.5px;color:#4a5a4f;display:block;text-transform:none}
.bc-frete__txt span b{color:#1d1d1d;font-weight:700}
.bc-frete__tag{flex:0 0 auto;font-size:12px;font-weight:700;color:#fff;background:#0f8a3d;border-radius:999px;padding:4px 10px;white-space:nowrap;text-transform:none}
.bc-datas{color:#0f8a3d !important}
.bc-gratis{color:#0f8a3d;font-weight:700}

/* versao compacta usada dentro do carrinho (drawer e pagina /compra/) */
.bc-frete--mini{margin:10px 0 0;padding:10px 12px;border-radius:12px}
.bc-frete--mini .bc-frete__row{gap:10px}
.bc-frete--mini .bc-frete__ic,.bc-frete--mini .bc-frete__ic svg{width:22px;height:22px}
.bc-frete--mini .bc-frete__txt strong{font-size:13px}
.bc-frete--mini .bc-frete__txt span{font-size:12px}

@media (max-width:480px){
  .bc-frete{padding:10px 12px;border-radius:12px;margin-top:16px}
  .bc-frete__row{gap:10px}
  .bc-frete__ic,.bc-frete__ic svg{width:22px;height:22px}
  .bc-frete__txt strong{font-size:13px}
  .bc-frete__txt span{font-size:11.5px}
  .bc-frete__tag{font-size:11px;padding:3px 8px}
}


/* ===================== CARRINHO LATERAL (drawer) — bc-lc =====================
   Pedido do dono (07/11/2026): no celular o carrinho estava quebrado
   (banner rosa de altura fixa cortando o texto, rodape "fixed" vazando 36px
   para fora do painel, 218px fixos na lista e 220px de padding fantasma).
   Aqui: faixa do limite de R$ 350,00, lista com altura livre e rodape colado.
   ------------------------------------------------------------------------- */

/* 1) fora o banner de gamificacao do tema (35px fixos para texto de 2 linhas) */
.head-bar, .header-banner-gamification, .cart-gamification-banner { display: none !important; }

/* 2) painel vira coluna: cabecalho / faixa / lista (rola) / rodape */
.panel-wrap .panel { display: flex !important; flex-direction: column !important;
  padding: 12px 16px 0 !important; overflow: hidden !important; }
.panel-wrap .panel .panel-header { flex: 0 0 auto; margin-bottom: 8px !important; padding-bottom: 10px !important; }
.panel-wrap .panel .panel-header .panel-title { font-size: 20px !important; line-height: 26px !important; }
.panel-wrap .panel .panel-header .panel-close img { width: 22px !important; height: 22px !important; }

/* 3) faixa do limite do pedido */
.bc-lc-topo { flex: 0 0 auto; margin: 0 0 8px; padding: 8px 11px 9px; border-radius: 12px;
  background: #f7f7f9; border: 1px solid #ececec; font-family: "Montserrat", sans-serif; }
.bc-lc-lim__l { display: flex; align-items: baseline; justify-content: space-between; gap: 8px;
  font-size: 11px; color: #6b6b6b; letter-spacing: .1px; }
.bc-lc-lim__l b { color: #0d4350; font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.bc-lc-bar { position: relative; height: 6px; margin-top: 5px; border-radius: 99px; background: #e5e7ea; overflow: hidden; }
.bc-lc-bar > i { position: absolute; left: 0; top: 0; bottom: 0; width: 0; border-radius: 99px;
  background: linear-gradient(90deg, #e02487, #ff6ab5); transition: width .35s ease; }
.bc-lc-lim__d { margin-top: 5px; font-size: 10.5px; line-height: 1.25; color: #6b6b6b; }
.bc-lc-topo[data-estado="quase"] .bc-lc-bar > i { background: linear-gradient(90deg, #ef9b12, #ffca4a); }
.bc-lc-topo[data-estado="cheio"] .bc-lc-lim__l b { color: #d3181f; }
.bc-lc-topo[data-estado="cheio"] .bc-lc-bar > i { background: #d3181f; }
.bc-lc-topo[data-estado="cheio"] .bc-lc-lim__d { color: #d3181f; font-weight: 600; }

/* 4) lista de itens: altura livre (o tema travava 218px) e item compacto */
.panel-wrap .panel .scroller { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden;
  -webkit-overflow-scrolling: touch; }
.panel-wrap .panel .items { min-height: 0; }
.panel-wrap .panel .items .fastCartContent { display: flex !important; flex-direction: column;
  gap: 4px !important; height: auto !important; max-height: none !important;
  overflow: visible !important; padding: 0 2px 4px !important; }
.panel-wrap .panel .items .fastcart { display: flex !important; align-items: flex-start; gap: 10px;
  padding: 8px 0 !important; border-bottom: 1px solid #f1f1f1; }
.panel-wrap .panel .items .fastcart:last-child { border-bottom: 0; }
.panel-wrap .panel .items .fastcart .pull-left { flex: 0 0 62px; width: 62px !important; float: none !important; }
.panel-wrap .panel .items .fastcart .pull-left img { width: 62px !important; height: 82px !important;
  max-width: 62px !important; max-height: 82px !important; margin-top: 0 !important;
  object-fit: cover; border-radius: 8px; }
.panel-wrap .panel .items .fastcart .pull-right { flex: 1 1 auto; min-width: 0; float: none !important; }
.panel-wrap .panel .items .fastcart .pull-right .title { display: block !important; width: auto !important;
  height: auto !important; float: none !important; margin-bottom: 2px; }
.panel-wrap .panel .items .fastcart .pull-right .title a { height: auto !important; font-size: 12.5px !important;
  line-height: 1.28; font-weight: 600; -webkit-line-clamp: 2; display: -webkit-box;
  -webkit-box-orient: vertical; overflow: hidden; }
.panel-wrap .panel .items .fastcart .pull-right .text-left { height: auto !important; }
.panel-wrap .panel .items .fastcart .pull-right .text-left > span { display: block; font-size: 11px !important;
  line-height: 1.45; color: #6b6b6b; }
.panel-wrap .panel .items .fastcart .fast-qtd { height: auto !important; width: auto !important;
  justify-content: space-between !important; margin: 3px 0 2px !important; }
.panel-wrap .panel .items .fastcart .new-price { font-size: 13.5px !important; }
.panel-wrap .panel .items .fastcart .remove-item { min-height: 20px !important; width: 20px !important; }
.panel-wrap .panel .items .fastcart .remove-item img { width: 12px !important; height: 12px !important; }

/* 5) acoes: sem os 220px de padding e sem o rodape fixed que vazava 36px */
.panel-wrap .panel .actions-container { flex: 0 0 auto; padding: 0 0 4px !important; }
.panel-wrap .panel .actions-container .coupon-content,
.panel-wrap .panel .actions-container .freight-content { margin-top: 9px !important; }
.panel-wrap .panel .actions-container .coupon-content .title,
.panel-wrap .panel .actions-container .freight-content .title { font-size: 12.5px !important;
  margin-bottom: 5px !important; }
.panel-wrap .panel .actions-container .coupon-content input { height: 34px !important; }
.panel-wrap .panel .actions-container .coupon-content button { height: 34px !important;
  width: 92px !important; font-size: 12.5px; }
.panel-wrap .panel .infos-container { margin-top: 9px !important; font-size: 12.5px !important; }
.panel-wrap .panel .infos-container > div { padding: 5px 0 !important; }

/* card do frete no drawer: 2 linhas, sem o rotulo "Entrega" repetido */
.panel-wrap .panel .freight-content .title { display: none !important; }
.panel-wrap .panel .bc-frete--mini { margin-top: 0 !important; padding: 8px 10px !important;
  border-radius: 10px !important; }
.panel-wrap .panel .bc-frete--mini .bc-frete__row { gap: 8px !important; align-items: flex-start !important; }
.panel-wrap .panel .bc-frete--mini .bc-frete__ic { width: 18px !important; height: 18px !important; flex: 0 0 18px; }
.panel-wrap .panel .bc-frete--mini .bc-frete__txt strong { font-size: 11.5px !important; }
.panel-wrap .panel .bc-frete--mini .bc-frete__txt span { font-size: 10.5px !important; }

/* 6) rodape: total + botao + "continuar comprando" fininho */
.panel-wrap .panel .action { position: static !important; left: auto !important; right: auto !important;
  bottom: auto !important; width: auto !important; height: auto !important; z-index: auto !important;
  margin: 6px -16px 0 !important; padding: 9px 16px calc(9px + env(safe-area-inset-bottom, 0px)) !important;
  background: #fff !important; border-top: 1px solid #eee;
  box-shadow: 0 -6px 16px rgba(13, 67, 80, .06); }
.panel-wrap .panel .action .subtotal-fastcart { padding-bottom: 6px !important; }
.panel-wrap .panel .action .subtotal-fastcart .subtotal-fastcart-text { font-size: 14px !important;
  line-height: 22px !important; }
.panel-wrap .panel .action .subtotal-fastcart .new-price.cart-total { font-size: 17px !important; }
.panel-wrap .panel .action .button-action-fastcart { margin-top: 7px !important; }
.panel-wrap .panel .action .button-action-fastcart .btn-default { position: static !important;
  width: 100% !important; height: 44px !important; display: flex !important; align-items: center;
  justify-content: center; border-radius: 24px !important; font-size: 14.5px !important; }
.bc-lc-continuar { margin-top: 4px; text-align: center; }
.bc-lc-continuar a { display: inline-block; padding: 3px 6px; font-size: 11.5px; color: #6b6b6b;
  text-decoration: underline; }
.bc-lc-continuar a:hover { color: #0d4350; }

/* 7) telas baixas: o bloco de acoes tambem rola em vez de empurrar o rodape */
@media (max-height: 700px) {
  .panel-wrap .panel .actions-container { max-height: 58vh; overflow-y: auto; }
}

/* 8) faixa do limite tambem no checkout (/checkout/) */
.bk-limite { margin: 10px 0 0; padding: 9px 11px; border-radius: 12px; background: #f7f7f9;
  border: 1px solid #ececec; }
.bk-limite .bc-lc-lim__l { font-size: 11px; }
.bk-limite .bc-lc-lim__l b { font-size: 11.5px; }
.bk-limite .bc-lc-lim__d { font-size: 10.5px; }
.bk-itens { display: flex; flex-direction: column; gap: 6px; margin-top: 6px; }
.bk-itens .bk-item { border-top: 1px solid #f1f1f1; padding-top: 6px; }
.bk-itens .bk-item:first-child { border-top: 0; padding-top: 0; }


/* ============ bc-lc v2: sem vazio no meio, resumo miudo, toast fora do botao ============ */
/* 9) a lista cresce so o necessario; quando enche, e ela que rola */
.panel-wrap .panel .scroller { flex: 0 1 auto !important; min-height: 0 !important; overflow-y: auto !important; }
.panel-wrap .panel .items .fastCartContent { overflow: visible !important; }
/* 10) cupom e frete logo abaixo dos itens; o resumo (Frete/Desconto/Subtotal) cola no rodape */
.panel-wrap .panel .actions-container { flex: 1 1 auto !important; display: flex !important;
  flex-direction: column !important; min-height: 0 !important; overflow-y: auto !important;
  padding: 0 0 2px !important; }
.panel-wrap .panel .actions-container .infos-container { margin-top: auto !important; }
/* 11) linhas do resumo em 13px e divisor fino (o tema desenhava uma caixa em volta) */
.panel-wrap .panel .actions-container .infos-container div { font-size: 13px !important;
  line-height: 1.35 !important; }
.panel-wrap .panel .actions-container .infos-container .new-price.cart-total,
.panel-wrap .panel .actions-container .infos-container #freight-result,
.panel-wrap .panel .actions-container .infos-container #valTotal { font-size: 13px !important;
  font-weight: 600 !important; }
.panel-wrap .panel .actions-container .infos-container > div { padding: 3px 0 !important; }
.panel-wrap .panel .bottom-border { height: 0 !important; margin: 5px 0 !important;
  border: 0 !important; border-top: 1px solid #ededed !important; width: 100% !important; }
/* 12) o toast cobria o botao "Finalizar compra" */
#badc-toast { bottom: 136px !important; }

/* ===== bc-lc sug v1: "Complete seu pedido" na faixa vazia do drawer ===== */
.panel-wrap .panel #bc-lc-sug { flex: 0 0 auto; margin-top: 10px; }
.panel-wrap .panel #bc-lc-sug.is-vazio,
.panel-wrap .panel #bc-lc-sug:empty { display: none !important; }
.bc-lc-sug__h { display: flex; align-items: baseline; justify-content: space-between; gap: 8px;
  font-family: "Montserrat", sans-serif; font-size: 11.5px; font-weight: 700; color: #0d4350;
  margin-bottom: 6px; }
.bc-lc-sug__h span { font-size: 10.5px; font-weight: 500; color: #6b6b6b; white-space: nowrap; }
.bc-lc-sug__trilho { display: flex; gap: 8px; overflow-x: auto; overflow-y: hidden;
  padding: 0 0 4px; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.bc-lc-sug__trilho::-webkit-scrollbar { display: none; }
.bc-lc-sug__c { position: relative; flex: 0 0 78px; width: 78px; text-align: left; }
.bc-lc-sug__a { display: block; }
.bc-lc-sug__c img { width: 78px !important; height: 100px !important; max-width: 78px !important;
  max-height: 100px !important; object-fit: cover; border-radius: 8px; background: #f4f4f6; display: block; }
.bc-lc-sug__p { display: block; margin-top: 3px; font-family: "Montserrat", sans-serif;
  font-size: 11px; font-weight: 700; color: #0d4350; }
.bc-lc-sug__n { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
  overflow: hidden; font-size: 10px; line-height: 1.2; color: #8a8a8a; }
.bc-lc-sug__add { position: absolute; top: 74px; right: 4px; width: 22px; height: 22px;
  padding: 0; border: 0; border-radius: 50%; background: #e02487; color: #fff;
  font-size: 15px; line-height: 22px; font-weight: 600; cursor: pointer;
  box-shadow: 0 2px 6px rgba(224, 36, 135, .35); }
.bc-lc-sug__add:active { transform: scale(.94); }
.bc-lc-sug.is-cheio .bc-lc-sug__h { color: #d3181f; }
.bc-lc-sug__vazio { font-size: 10.5px; line-height: 1.35; color: #6b6b6b; }
.bc-lc-sug__vazio b { color: #0d4350; }
@media (max-height: 700px) {
  .bc-lc-sug__c, .bc-lc-sug__c img { flex-basis: 66px; width: 66px !important; }
  .bc-lc-sug__c img { height: 84px !important; max-height: 84px !important; }
  .bc-lc-sug__add { top: 60px; }
}

/* 13) rodape bleed (-16px) nao pode virar rolagem lateral no bloco de acoes */
.panel-wrap .panel .actions-container { overflow-x: clip !important; }
@supports not (overflow-x: clip) {
  .panel-wrap .panel .actions-container { overflow-x: hidden !important; }
}

/* 14) o rodape tinha margem -16px (bleed) => 16px de rolagem lateral fantasma.
   Sem o bleed o visual do botao fica identico (ele ja ocupava a largura util)
   e o bloco de acoes para de ter scroll horizontal. */
.panel-wrap .panel .action { margin: 6px 0 0 !important;
  padding: 9px 0 calc(9px + env(safe-area-inset-bottom, 0px)) !important; }