/* Ofertas do checkout: vitrine "adicione também", resumo do pedido e modal "turbinar" */

/* ---- Vitrine ---- */
.vitrine{ border:1px solid #fde1c8; border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 4px 18px rgba(0,0,0,.05); }
.vitrine-topo{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:.1rem;
  padding:.75rem 1rem; color:#fff; background:linear-gradient(90deg,#e4572e,#f07a3a);
}
.vitrine-topo small{ font-size:.62rem; font-weight:800; letter-spacing:.12em; opacity:.9; }
.vitrine-topo b{ font-size:1.02rem; }
.vitrine-topo span{ font-size:.78rem; opacity:.92; }
.vitrine-corpo{ padding:.4rem .9rem .2rem; }

.vitrine-grupo{ padding:.6rem 0 .5rem; }
.vitrine-grupo + .vitrine-grupo{ border-top:1px solid #f1f1f1; }
.vitrine-grupo-titulo{
  font-size:.78rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#475569;
  display:flex; align-items:center; gap:.4rem; margin-bottom:.55rem;
}
.vitrine-grupo-titulo i{ font-size:1rem; }
.vitrine-cards{ display:grid; grid-template-columns:repeat(auto-fill, minmax(104px, 1fr)); gap:.55rem; }

.vitrine-card{
  position:relative; display:flex; flex-direction:column; align-items:center; text-align:center;
  padding:1rem .45rem .55rem; border:1px solid #e5e7eb; border-radius:12px; background:#fff;
  transition:border-color .15s, box-shadow .15s;
}
.vitrine-card.marcado{ border-color:#16a34a; box-shadow:0 0 0 2px rgba(22,163,74,.15); background:#f7fef9; }
.vitrine-selo{
  position:absolute; top:-.55rem; left:50%; transform:translateX(-50%);
  background:#16a34a; color:#fff; font-size:.62rem; font-weight:800; padding:.08rem .45rem; border-radius:999px; white-space:nowrap;
}
.vitrine-qtd{ font-size:1.05rem; font-weight:800; color:#111827; line-height:1.1; }
.vitrine-un{ font-size:.58rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:#6b7280; }
.vitrine-emoji{ font-size:.85rem; margin:.2rem 0; min-height:1.2rem; color:#1e3a8a; font-weight:700; }
.vitrine-de{ font-size:.7rem; color:#9ca3af; }
.vitrine-preco{ font-size:.95rem; font-weight:800; color:#ea580c; margin-bottom:.4rem; }
.vitrine-add{
  width:100%; border:0; border-radius:8px; padding:.4rem .3rem; font-size:.78rem; font-weight:700;
  color:#fff; background:linear-gradient(90deg,#15803d,#16a34a); cursor:pointer;
}
.vitrine-card.marcado .vitrine-add{ background:#fff; color:#15803d; box-shadow:inset 0 0 0 1.5px #16a34a; }

.vitrine-extra{ margin-top:.6rem; padding:.6rem .7rem; border-radius:10px; background:#fff7ed; border:1px solid #fed7aa; }
#ofertasPerfilBox.vitrine-extra{ margin:.2rem .9rem .8rem; }
.vitrine-ver-mais{
  display:block; width:calc(100% - 1.8rem); margin:.3rem .9rem .9rem; padding:.6rem;
  border:1.5px dashed #f59e8b; border-radius:12px; background:#fff; color:#ea580c; font-weight:700; font-size:.85rem;
}
.vitrine-ver-mais:hover{ background:#fff7ed; }

/* ---- Resumo do pedido ---- */
.resumo-pedido{ border:1px solid #e5e7eb; border-radius:14px; padding:.8rem .95rem; background:#fff; }
.resumo-titulo{ font-weight:700; font-size:.88rem; margin-bottom:.5rem; display:flex; align-items:center; gap:.4rem; }
.resumo-item{ padding:.45rem 0; }
.resumo-item + .resumo-item{ border-top:1px solid #f3f4f6; }
.resumo-linha{ display:flex; justify-content:space-between; gap:.6rem; font-size:.88rem; color:#111827; }
.resumo-linha b{ white-space:nowrap; }
.resumo-sub{ font-size:.72rem; color:#9ca3af; margin:.15rem 0 0 .6rem; }
.resumo-destino{
  display:flex; align-items:center; gap:.5rem; margin:.3rem 0 0 .6rem; padding-left:.6rem;
  border-left:2px solid #e5e7eb; font-size:.76rem; min-width:0;
}
.resumo-destino img{ width:26px; height:26px; border-radius:6px; object-fit:cover; flex-shrink:0; }
.resumo-destino i{ color:#9ca3af; font-size:1rem; }
.resumo-destino a, .resumo-destino span{ color:#ea580c; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; flex:1; min-width:0; text-decoration:none; }
.resumo-destino b{ color:#111827; margin-left:auto; }
.resumo-economia{ margin-top:.35rem; font-size:.8rem; color:#15803d; }
.resumo-total{
  display:flex; justify-content:space-between; align-items:center;
  margin-top:.5rem; padding-top:.55rem; border-top:1px solid #e5e7eb; font-weight:700;
}
.resumo-total b{ font-size:1.25rem; color:#ea580c; }

/* ---- Modal "turbinar" (SweetAlert2) ---- */
.turbo-popup{ border-radius:18px !important; padding:1.4rem 1.2rem 1.1rem !important; }
.turbo-icone{ font-size:2.2rem; line-height:1; }
.turbo-titulo{ font-size:1.25rem; font-weight:800; color:#111827; margin-top:.4rem; }
.turbo-sub{ font-size:.9rem; color:#6b7280; margin-top:.25rem; }
.turbo-caixa{
  margin:1rem 0 .8rem; padding:.9rem; border-radius:14px;
  background:linear-gradient(135deg,#fff7e6,#ffedc2); border:1px solid #f6d58b;
}
.turbo-rotulo{ font-size:.68rem; font-weight:800; letter-spacing:.1em; color:#b45309; }
.turbo-qtd{ font-size:2rem; font-weight:900; color:#111827; line-height:1.1; }
.turbo-un{ font-size:.85rem; color:#4b5563; }
.turbo-precos{ margin-top:.45rem; display:flex; gap:.5rem; justify-content:center; align-items:center; }
.turbo-precos s{ color:#9ca3af; }
.turbo-precos b{ font-size:1.35rem; color:#15803d; }
.turbo-precos span{ background:#16a34a; color:#fff; font-size:.75rem; font-weight:800; padding:.1rem .45rem; border-radius:999px; }
.turbo-resumo{ display:flex; justify-content:space-between; font-size:.9rem; color:#4b5563; padding:.15rem .2rem; }
.turbo-resumo b{ color:#111827; }
.turbo-resumo.total{ font-size:1rem; border-top:1px dashed #e5e7eb; margin-top:.3rem; padding-top:.45rem; }
.turbo-resumo.total b{ color:#15803d; }
.turbo-btn-sim{
  width:100%; margin:.9rem 0 0 !important; padding:.8rem 1rem !important;
  border-radius:12px !important; font-weight:800 !important; font-size:1rem !important;
  background:#16a34a !important; color:#fff !important; border:0 !important;
}
.turbo-btn-nao{
  width:100%; margin:.35rem 0 0 !important; background:transparent !important;
  color:#6b7280 !important; border:0 !important; font-size:.85rem !important; text-decoration:underline;
  box-shadow:none !important;
}
.turbo-acoes{ flex-direction:column; width:100%; margin-top:0 !important; }

/* ---- Grade "escolher nas minhas publicações" (assets/js/publicacoes.js) ---- */
.pub-box{ margin-top:.6rem; padding:.8rem; border:1px solid #e5e7eb; border-radius:14px; background:#fafafa; }
.pub-grade{ display:grid; grid-template-columns:repeat(3, 1fr); gap:.4rem; margin-top:.6rem; }
@media (min-width:576px){ .pub-grade{ grid-template-columns:repeat(4, 1fr); } }
.pub-item{
  position:relative; aspect-ratio:1/1; padding:0; overflow:hidden;
  border:3px solid transparent; border-radius:10px; background:#e5e7eb; cursor:pointer;
  transition:border-color .12s, transform .12s;
}
.pub-item img{ width:100%; height:100%; object-fit:cover; display:block; }
.pub-item:hover{ transform:scale(.98); }
.pub-item.marcado{ border-color:#16a34a; }
.pub-item.marcado img{ filter:brightness(.8); }
.pub-sem-foto{ font-size:.7rem; color:#6b7280; display:flex; height:100%; align-items:center; justify-content:center; }
.pub-video{
  position:absolute; top:4px; right:4px; width:20px; height:20px; border-radius:50%;
  background:rgba(0,0,0,.55); color:#fff; font-size:.8rem; display:flex; align-items:center; justify-content:center;
}
.pub-check{
  position:absolute; top:4px; left:4px; width:22px; height:22px; border-radius:50%;
  background:#16a34a; color:#fff; font-size:.85rem; display:none; align-items:center; justify-content:center;
}
.pub-item.marcado .pub-check{ display:flex; }
.pub-qtd{
  position:absolute; left:4px; right:4px; bottom:4px; text-align:center;
  font-size:.72rem; font-weight:800; color:#fff; text-shadow:0 1px 2px rgba(0,0,0,.6);
}
.pub-resumo{ margin-top:.6rem; font-size:.85rem; color:#1f2937; }

/* ---- Para qual publicação vai a oferta (assets/js/ofertas.js) ---- */
.vitrine-destino{ margin-top:.55rem; padding:.55rem .65rem; border-radius:10px; background:#f8fafc; border:1px solid #e2e8f0; }
.vitrine-destino-titulo{ font-size:.78rem; font-weight:600; color:#334155; }
.vitrine-destino-outra{ border:0; background:none; padding:0; color:#ea580c; font-weight:700; font-size:.78rem; text-decoration:underline; }
.vitrine-destino-lista{ display:flex; gap:.4rem; overflow-x:auto; padding:.4rem 0 .1rem; }
.vitrine-destino-item{
  position:relative; flex:0 0 auto; width:54px; height:54px; padding:0; overflow:hidden;
  border:2px solid transparent; border-radius:9px; background:#e5e7eb; cursor:pointer;
}
.vitrine-destino-item img{ width:100%; height:100%; object-fit:cover; display:block; }
.vitrine-destino-item i.bi-image{ color:#94a3b8; font-size:1.2rem; }
.vitrine-destino-item.marcado{ border-color:#16a34a; }
.vitrine-destino-check{
  position:absolute; top:2px; right:2px; width:16px; height:16px; border-radius:50%;
  background:#16a34a; color:#fff; font-size:.65rem; display:none; align-items:center; justify-content:center;
}
.vitrine-destino-item.marcado .vitrine-destino-check{ display:flex; }
