/* ============ RESET E BASE ============ */
*{box-sizing:border-box;margin:0;padding:0;font-family:'Inter','Segoe UI',Arial,sans-serif;-webkit-font-smoothing:antialiased}
body{background:#f7f7fa;color:#1a1a2e;padding-bottom:120px;line-height:1.5}
a{color:inherit}
img{display:block;max-width:100%}

/* ============ TOPO ============ */
.topo{
  background:linear-gradient(135deg,#6a1b9a 0%,#c2185b 100%);
  color:#fff;padding:14px 24px;
  display:flex;justify-content:space-between;align-items:center;
  flex-wrap:wrap;gap:10px;
  box-shadow:0 2px 12px rgba(106,27,154,.2);
  position:sticky;top:0;z-index:100
}
.topo .logo{font-size:1.2em;font-weight:800;letter-spacing:-.3px}
.selos{display:flex;gap:8px;flex-wrap:wrap}
.selos span{
  background:rgba(255,255,255,.18);
  padding:6px 14px;border-radius:20px;font-size:.8em;
  font-weight:500;backdrop-filter:blur(8px)
}

/* ============ BANNER DISCRETO ============ */
.banner-discreto{
  background:linear-gradient(90deg,#fff8e1,#fff3e0);
  color:#b71c1c;padding:10px 20px;text-align:center;
  font-size:.9em;border-bottom:1px solid #ffe0b2;
  font-weight:500
}

/* ============ CARROSSEL ============ */
.carrossel-wrap{
  position:relative;max-width:1200px;margin:20px auto;
  border-radius:16px;overflow:hidden;
  box-shadow:0 8px 30px rgba(0,0,0,.12);
  height:340px;padding:0 16px;
  background:#1a1a2e
}
@media(max-width:900px){.carrossel-wrap{height:280px}}
@media(max-width:600px){.carrossel-wrap{height:200px;margin:12px auto;padding:0 10px}}
.carrossel{position:relative;height:100%;border-radius:16px;overflow:hidden}
.slide{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  text-decoration:none;color:#fff;
  opacity:0;transition:opacity .8s ease;pointer-events:none;
  overflow:hidden
}
.slide.ativo{opacity:1;pointer-events:auto}
.slide-conteudo{
  position:relative;z-index:2;text-align:center;
  padding:20px 40px;max-width:900px
}
.slide h2{
  font-size:2.4em;font-weight:900;letter-spacing:-.5px;
  margin-bottom:12px;text-shadow:0 2px 20px rgba(0,0,0,.5);
  line-height:1.15
}
.slide p{
  font-size:1.1em;font-weight:500;
  text-shadow:0 1px 10px rgba(0,0,0,.5);opacity:.95
}
@media(max-width:768px){
  .slide h2{font-size:1.5em}
  .slide p{font-size:.95em}
  .slide-conteudo{padding:15px 25px}
}
/* Vídeo de fundo */
.slide-video-bg{
  position:absolute;inset:0;z-index:0;
  width:100%;height:100%;object-fit:cover
}
.slide-video-bg iframe{
  position:absolute;top:50%;left:50%;
  width:177.78vh;min-width:100%;height:56.25vw;min-height:100%;
  transform:translate(-50%,-50%);
  pointer-events:none;border:0
}
.slide-overlay{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(135deg,rgba(0,0,0,.5),rgba(0,0,0,.35))
}
.carrossel-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  width:46px;height:46px;border-radius:50%;border:0;
  background:rgba(255,255,255,.9);color:#333;
  font-size:1.8em;font-weight:300;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  z-index:5;transition:.2s;box-shadow:0 4px 15px rgba(0,0,0,.2)
}
.carrossel-btn:hover{background:#fff;transform:translateY(-50%) scale(1.1)}
.carrossel-btn.prev{left:24px}
.carrossel-btn.next{right:24px}
@media(max-width:600px){
  .carrossel-btn{width:36px;height:36px;font-size:1.4em}
  .carrossel-btn.prev{left:12px}
  .carrossel-btn.next{right:12px}
}
.carrossel-dots{
  position:absolute;bottom:16px;left:50%;transform:translateX(-50%);
  display:flex;gap:8px;z-index:5
}
.dot{
  width:10px;height:10px;border-radius:50%;border:0;
  background:rgba(255,255,255,.55);cursor:pointer;transition:.2s;
  padding:0
}
.dot.ativo{background:#fff;width:30px;border-radius:5px}
/* ============ AVISO MÍNIMO ============ */
.aviso-pedido-minimo{
  background:linear-gradient(90deg,#fff3e0,#ffe0b2);
  color:#e65100;padding:14px;text-align:center;
  font-size:.95em;border-bottom:1px solid #ffcc80;
  font-weight:500
}

/* ============ BUSCA + CATEGORIAS ============ */
.busca-cat{max-width:1200px;margin:25px auto;padding:0 20px}
.busca-cat form{display:flex;gap:8px;margin-bottom:18px;max-width:600px}
.busca-cat input{
  flex:1;padding:14px 20px;border:2px solid #e5e5ec;
  border-radius:12px;font-size:1em;background:#fff;
  transition:.2s
}
.busca-cat input:focus{outline:0;border-color:#6a1b9a;box-shadow:0 0 0 4px rgba(106,27,154,.1)}
.busca-cat button{
  padding:0 26px;background:#6a1b9a;color:#fff;
  border:0;border-radius:12px;cursor:pointer;font-size:1.1em;
  transition:.2s
}
.busca-cat button:hover{background:#4a148c}
.cats{display:flex;gap:8px;flex-wrap:wrap}
.cats a{
  padding:9px 18px;background:#fff;border-radius:30px;
  text-decoration:none;color:#555;border:1.5px solid #e5e5ec;
  font-size:.9em;font-weight:500;transition:.2s
}
.cats a:hover{border-color:#6a1b9a;color:#6a1b9a}
.cats a.ativa{background:#6a1b9a;color:#fff;border-color:#6a1b9a;box-shadow:0 4px 12px rgba(106,27,154,.25)}

/* ============ GRID DE PRODUTOS ============ */
.grid{
  max-width:1200px;margin:0 auto;padding:0 20px;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
  gap:22px
}

.produto-card{
  background:#fff;border-radius:16px;overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,.05);
  transition:.3s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column
}
.produto-card:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 32px rgba(106,27,154,.15)
}

.card-link{text-decoration:none;color:inherit;flex:1;display:block}
.card-img{
  position:relative;width:100%;aspect-ratio:1/1;
  background:#f7f7fa;overflow:hidden
}
.card-img img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s ease
}
.produto-card:hover .card-img img{transform:scale(1.08)}
.card-sem-img{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  font-size:3.5em;color:#ddd
}
.card-cod{
  position:absolute;top:10px;left:10px;
  background:rgba(0,0,0,.7);color:#fff;
  padding:4px 10px;border-radius:8px;
  font-size:.72em;font-weight:600;
  backdrop-filter:blur(6px)
}
.card-galeria{
  position:absolute;bottom:10px;right:10px;
  background:rgba(0,0,0,.7);color:#fff;
  padding:4px 10px;border-radius:8px;
  font-size:.72em;font-weight:600;
  backdrop-filter:blur(6px)
}
.card-tag{
  position:absolute;top:10px;right:10px;
  padding:4px 10px;border-radius:8px;
  font-size:.7em;font-weight:700;
  text-transform:uppercase;letter-spacing:.3px
}
.card-tag-pronta{background:#e8f5e9;color:#2e7d32}
.card-tag-encomenda{background:#fff3e0;color:#e65100}

.card-info{padding:14px 16px 10px}
.card-cat{
  font-size:.72em;color:#9c27b0;font-weight:700;
  text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px
}
.card-nome{
  font-size:.95em;font-weight:600;color:#1a1a2e;
  margin-bottom:8px;line-height:1.35;min-height:38px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden
}
.card-preco{
  font-size:1.25em;font-weight:800;color:#6a1b9a;
  letter-spacing:-.5px;margin-bottom:4px
}
.card-estoque{font-size:.8em;color:#888;font-weight:500}

.card-acoes{
  padding:10px 14px 14px;border-top:1px solid #f0f0f5;
  display:flex;gap:8px;align-items:center
}
.card-qtd{
  display:flex;align-items:center;justify-content:space-between;
  background:#f4f4f7;border-radius:30px;padding:3px;flex:1;gap:4px
}
.card-qtd button{
  width:32px;height:32px;border-radius:50%;border:0;
  background:#6a1b9a;color:#fff;font-size:1.1em;
  cursor:pointer;font-weight:700;transition:.15s;
  display:flex;align-items:center;justify-content:center
}
.card-qtd button:hover{background:#4a148c;transform:scale(1.08)}
.card-qtd span{
  font-weight:800;font-size:1em;min-width:24px;text-align:center;
  color:#1a1a2e
}
.card-ver{
  background:#f3e5f5;color:#6a1b9a;
  padding:8px 12px;border-radius:10px;
  text-decoration:none;font-size:.78em;font-weight:700;
  white-space:nowrap;transition:.15s
}
.card-ver:hover{background:#e1bee7}

/* ============ BARRA FIXA ============ */
.barra-fixa{
  position:fixed;bottom:0;left:0;right:0;
  background:#fff;box-shadow:0 -4px 24px rgba(0,0,0,.08);
  padding:14px 24px;display:flex;align-items:center;gap:20px;
  flex-wrap:wrap;z-index:50;border-top:1px solid #f0f0f5
}
.progresso{flex:1;min-width:220px}
.barra{
  height:8px;background:#e5e5ec;border-radius:5px;
  overflow:hidden;margin-bottom:6px
}
.barra > div{
  height:100%;background:linear-gradient(90deg,#6a1b9a,#c2185b);
  transition:width .4s cubic-bezier(.4,0,.2,1);border-radius:5px
}
#contagem{font-size:.85em;color:#666;font-weight:600}
.total{font-size:1.1em;font-weight:600;color:#1a1a2e}
#btn-finalizar{
  padding:14px 32px;border:0;border-radius:14px;
  background:linear-gradient(135deg,#25d366,#128c7e);
  color:#fff;font-size:1em;font-weight:700;cursor:pointer;
  transition:.2s;box-shadow:0 4px 14px rgba(37,211,102,.3)
}
#btn-finalizar:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(37,211,102,.4)}
#btn-finalizar:disabled{background:#c7c7d1;cursor:not-allowed;box-shadow:none}

/* ============ MODAL ============ */
.modal{
  display:none;position:fixed;inset:0;
  background:rgba(20,15,40,.6);backdrop-filter:blur(4px);
  z-index:100;align-items:center;justify-content:center;padding:20px
}
.modal-box{
  background:#fff;padding:32px;border-radius:20px;
  width:100%;max-width:460px;box-shadow:0 24px 60px rgba(0,0,0,.3);
  animation:modalIn .3s cubic-bezier(.4,0,.2,1)
}
@keyframes modalIn{
  from{opacity:0;transform:translateY(20px) scale(.95)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.modal-box h2{margin-bottom:20px;color:#6a1b9a;font-size:1.4em;font-weight:800}
.modal-box label{display:block;margin-bottom:14px;font-size:.85em;color:#555;font-weight:600}
.modal-box input,.modal-box select{
  width:100%;padding:12px 14px;border:2px solid #e5e5ec;
  border-radius:10px;margin-top:5px;font-size:1em;background:#fff;
  transition:.2s
}
.modal-box input:focus,.modal-box select:focus{
  outline:0;border-color:#6a1b9a;box-shadow:0 0 0 4px rgba(106,27,154,.1)
}
.modal-btns{display:flex;gap:10px;margin-top:24px}
.modal-btns button{
  flex:1;padding:14px;border:0;border-radius:10px;
  cursor:pointer;font-weight:700;background:#f0f0f5;
  color:#444;transition:.15s
}
.modal-btns button:hover{background:#e5e5ec}
.modal-btns .verde{
  background:linear-gradient(135deg,#25d366,#128c7e);color:#fff
}
.modal-btns .verde:hover{box-shadow:0 4px 14px rgba(37,211,102,.4)}

/* ============ PÁGINA DO PRODUTO (PDP) ============ */
.breadcrumb{max-width:1200px;margin:20px auto 0;padding:0 20px}
.breadcrumb a{
  color:#6a1b9a;text-decoration:none;font-weight:600;
  font-size:.9em;display:inline-flex;align-items:center;gap:5px
}
.breadcrumb a:hover{text-decoration:underline}

.pdp{
  max-width:1200px;margin:20px auto;padding:0 20px;
  display:grid;grid-template-columns:minmax(0,500px) minmax(0,1fr);
  gap:50px;align-items:start
}
@media(max-width:900px){.pdp{grid-template-columns:1fr;gap:25px}}

/* Galeria */
.pdp-galeria{position:sticky;top:100px}
@media(max-width:900px){.pdp-galeria{position:static}}
.pdp-galeria-principal{
  position:relative;width:100%;aspect-ratio:1/1;
  background:#fff;border-radius:16px;overflow:hidden;
  box-shadow:0 4px 20px rgba(0,0,0,.06);
  margin-bottom:14px;max-height:500px
}
.pdp-galeria-principal img{
  width:100%;height:100%;object-fit:contain;
  background:#fff;padding:20px
}
.pdp-galeria-principal > div{
  width:100%;height:100%
}
.pdp-sem-img{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  font-size:5em;color:#ddd
}
.pdp-thumbs{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));
  gap:10px
}
.pdp-thumb{
  position:relative;aspect-ratio:1/1;
  background:#fff;border-radius:10px;overflow:hidden;
  cursor:pointer;border:2.5px solid #e5e5ec;transition:.2s
}
.pdp-thumb img{width:100%;height:100%;object-fit:cover}
.pdp-thumb:hover{border-color:#ce93d8;transform:translateY(-2px)}
.pdp-thumb.ativa{border-color:#6a1b9a;box-shadow:0 4px 12px rgba(106,27,154,.25)}
.pdp-thumb-video{
  width:100%;height:100%;display:flex;align-items:center;justify-content:center;
  background:#1a1a2e;color:#fff;font-size:1.8em
}

/* Info */
.pdp-info{padding-top:10px}
.pdp-cat{
  display:inline-block;background:#f3e5f5;color:#6a1b9a;
  padding:5px 14px;border-radius:20px;
  font-size:.75em;font-weight:700;
  text-transform:uppercase;letter-spacing:.5px;
  margin-bottom:14px
}
.pdp-titulo{
  font-size:1.9em;font-weight:800;color:#1a1a2e;
  line-height:1.25;letter-spacing:-.5px;margin-bottom:10px
}
@media(max-width:768px){.pdp-titulo{font-size:1.5em}}
.pdp-codigo{color:#888;font-size:.85em;margin-bottom:16px}
.pdp-codigo strong{color:#555}

.pdp-badge{
  display:inline-block;padding:8px 16px;border-radius:10px;
  font-weight:600;font-size:.85em;margin-bottom:18px
}
.pdp-badge-verde{background:#e8f5e9;color:#2e7d32;border-left:4px solid #4caf50}
.pdp-badge-laranja{background:#fff3e0;color:#e65100;border-left:4px solid #ff9800}

.pdp-preco{
  font-size:2.6em;font-weight:900;color:#6a1b9a;
  letter-spacing:-1px;margin:10px 0 8px;line-height:1
}
@media(max-width:768px){.pdp-preco{font-size:2em}}
.pdp-estoque{color:#2e7d32;font-size:.95em;font-weight:600;margin-bottom:20px}

.pdp-aviso{
  background:linear-gradient(90deg,#fff3e0,#ffe0b2);
  color:#e65100;padding:14px 18px;border-radius:12px;
  font-size:.9em;margin-bottom:24px;border-left:4px solid #ff9800;
  line-height:1.5
}
.pdp-aviso small{opacity:.8;font-weight:500}

.pdp-compra{display:flex;align-items:center;gap:15px;margin-bottom:20px}
.pdp-compra label{font-weight:700;color:#333;font-size:.95em}
.pdp-qtd{
  display:flex;align-items:center;gap:16px;
  background:#f4f4f7;border-radius:30px;padding:5px 10px
}
.pdp-qtd button{
  width:40px;height:40px;border-radius:50%;border:0;
  background:#6a1b9a;color:#fff;font-size:1.2em;
  cursor:pointer;font-weight:700;transition:.15s;
  display:flex;align-items:center;justify-content:center
}
.pdp-qtd button:hover{background:#4a148c;transform:scale(1.08)}
.pdp-qtd span{min-width:36px;text-align:center;font-weight:800;font-size:1.15em}

.pdp-btn-agregar{
  width:100%;padding:18px;
  background:linear-gradient(135deg,#6a1b9a,#c2185b);
  color:#fff;border:0;border-radius:14px;
  font-size:1.05em;font-weight:800;cursor:pointer;
  transition:.2s;letter-spacing:.2px;
  box-shadow:0 6px 20px rgba(106,27,154,.25);margin-bottom:24px
}
.pdp-btn-agregar:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(106,27,154,.35)
}

.pdp-selos{
  display:grid;grid-template-columns:repeat(3,1fr);gap:10px;
  margin-bottom:28px
}
.pdp-selos > div{
  padding:14px 8px;background:#fafafa;border-radius:12px;
  text-align:center;font-size:1.3em;line-height:1.3;
  border:1px solid #f0f0f5
}
.pdp-selos small{
  display:block;font-size:.62em;color:#666;
  font-weight:600;margin-top:4px;letter-spacing:.2px
}

.pdp-descricao{
  background:#fafafa;padding:22px;border-radius:14px;
  border:1px solid #f0f0f5
}
.pdp-descricao h3{
  color:#6a1b9a;font-size:1em;margin-bottom:12px;
  font-weight:800;text-transform:uppercase;letter-spacing:.5px
}
.pdp-descricao p{
  line-height:1.75;color:#444;font-size:.95em;
  white-space:pre-line
}

/* Relacionados */
.pdp-relacionados{
  max-width:1200px;margin:60px auto 40px;padding:0 20px
}
.pdp-relacionados h2{
  color:#1a1a2e;margin-bottom:22px;font-size:1.4em;font-weight:800;
  letter-spacing:-.3px
}
.pdp-grid-rel{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px
}
.pdp-card-rel{
  background:#fff;border-radius:14px;padding:12px;
  text-decoration:none;color:inherit;
  box-shadow:0 2px 10px rgba(0,0,0,.05);
  transition:.25s
}
.pdp-card-rel:hover{
  transform:translateY(-5px);
  box-shadow:0 12px 28px rgba(106,27,154,.15)
}
.pdp-rel-img{
  width:100%;aspect-ratio:1/1;background:#f7f7fa;
  border-radius:10px;overflow:hidden;margin-bottom:10px
}
.pdp-rel-img img{width:100%;height:100%;object-fit:cover}
.pdp-card-rel h3{
  font-size:.85em;font-weight:600;color:#1a1a2e;
  margin-bottom:6px;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  overflow:hidden;min-height:34px
}
.pdp-card-rel .card-preco{font-size:1em;font-weight:800;color:#6a1b9a}

.pdp-voltar{
  display:block;text-align:center;max-width:300px;margin:0 auto 40px;
  background:#fff;color:#6a1b9a;text-decoration:none;
  padding:14px 24px;border-radius:30px;font-weight:700;
  box-shadow:0 2px 12px rgba(0,0,0,.06);transition:.2s;
  border:2px solid #f0f0f5
}
.pdp-voltar:hover{border-color:#6a1b9a;transform:translateY(-2px)}

/* ============ ADMIN ============ */
.login-bg{
  display:flex;align-items:center;justify-content:center;
  min-height:100vh;background:linear-gradient(135deg,#6a1b9a,#c2185b)
}
.login-box{
  background:#fff;padding:40px;border-radius:20px;
  width:360px;max-width:100%;
  box-shadow:0 20px 60px rgba(0,0,0,.3)
}
.login-box h2{
  color:#6a1b9a;margin-bottom:24px;text-align:center;
  font-weight:800;font-size:1.4em
}
.login-box input{
  width:100%;padding:14px;margin-bottom:14px;
  border:2px solid #e5e5ec;border-radius:10px;font-size:1em;
  transition:.2s
}
.login-box input:focus{outline:0;border-color:#6a1b9a;box-shadow:0 0 0 4px rgba(106,27,154,.1)}
.login-box button{
  width:100%;padding:14px;background:linear-gradient(135deg,#6a1b9a,#c2185b);
  color:#fff;border:0;border-radius:10px;font-weight:700;
  cursor:pointer;font-size:1em;transition:.2s
}
.login-box button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(106,27,154,.3)}

.admin-menu{
  background:#1a1a2e;color:#fff;padding:16px 25px;
  display:flex;gap:15px;align-items:center;flex-wrap:wrap;
  box-shadow:0 2px 12px rgba(0,0,0,.1)
}
.admin-menu a{
  color:#fff;text-decoration:none;padding:8px 14px;
  border-radius:8px;font-size:.9em;font-weight:600;transition:.15s
}
.admin-menu a:hover{background:rgba(255,255,255,.12)}

.container{max-width:1100px;margin:30px auto;padding:0 20px}
.container h1{margin-bottom:24px;color:#1a1a2e;font-weight:800;font-size:1.6em}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px}
.card-stat{
  background:#fff;padding:24px;border-radius:14px;text-align:center;
  box-shadow:0 2px 10px rgba(0,0,0,.05)
}
.card-stat h3{font-size:2.2em;color:#6a1b9a;font-weight:800}
.card-stat.verde h3{color:#25d366}
.card-stat.rojo h3{color:#e53935}

.tabela{
  width:100%;background:#fff;border-collapse:collapse;
  border-radius:14px;overflow:hidden;
  box-shadow:0 2px 10px rgba(0,0,0,.05)
}
.tabela th{
  background:#1a1a2e;color:#fff;padding:14px;text-align:left;
  font-size:.85em;font-weight:700;text-transform:uppercase;letter-spacing:.3px
}
.tabela td{padding:12px 14px;border-bottom:1px solid #f0f0f5;font-size:.85em}
.tabela a{text-decoration:none;margin-right:6px;font-size:1.1em}

.form-produto{
  background:#fff;padding:28px;border-radius:16px;
  box-shadow:0 2px 10px rgba(0,0,0,.05)
}
.form-produto label{
  display:block;margin-bottom:16px;font-size:.88em;
  color:#444;font-weight:600
}
.form-produto input,.form-produto select,.form-produto textarea{
  width:100%;padding:12px;border:2px solid #e5e5ec;
  border-radius:10px;margin-top:6px;font-size:1em;
  font-family:inherit;transition:.2s
}
.form-produto input:focus,.form-produto select:focus,.form-produto textarea:focus{
  outline:0;border-color:#6a1b9a;box-shadow:0 0 0 4px rgba(106,27,154,.1)
}
.form-produto fieldset{
  border:2px solid #f0f0f5;border-radius:12px;
  padding:20px;margin-bottom:22px
}
.form-produto legend{
  padding:0 12px;font-weight:800;color:#6a1b9a;font-size:.95em
}
.form-produto button{
  padding:14px 28px;background:linear-gradient(135deg,#6a1b9a,#c2185b);
  color:#fff;border:0;border-radius:10px;cursor:pointer;
  font-weight:700;font-size:.95em;transition:.2s
}
.form-produto button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(106,27,154,.25)}
.form-produto .check{display:flex;align-items:center;gap:8px;font-weight:500}
.form-produto .check input{width:auto}

.grid-calc{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;margin-bottom:16px
}
.margem-info{
  padding:14px;background:#fafafa;border-radius:10px;
  font-size:.92em;margin-top:12px;border:1px solid #f0f0f5
}
.radio-linha{
  display:flex;align-items:center;gap:10px;padding:12px;
  background:#fafafa;border-radius:10px;margin-bottom:10px;
  cursor:pointer;font-weight:500;transition:.15s
}
.radio-linha:hover{background:#f0f0f5}
.radio-linha input[type=radio]{width:auto}

.ok{background:#e8f5e9;color:#2e7d32;padding:12px;border-radius:10px;margin:12px 0;font-weight:600}
.erro{background:#ffebee;color:#c62828;padding:12px;border-radius:10px;margin-bottom:12px;font-weight:600}
.txt-vermelho{color:#e53935;font-weight:800}

/* Tabs de imagem */
.tabs-img{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.tabs-img button{
  padding:10px 18px;border:2px solid #e5e5ec;background:#fff;
  color:#555;border-radius:10px;cursor:pointer;
  font-weight:600;font-size:.85em;transition:.15s
}
.tabs-img button.ativo{background:#6a1b9a;color:#fff;border-color:#6a1b9a}
.tab-content{
  display:none;padding:14px;background:#fafafa;
  border-radius:10px;border:1px dashed #ddd
}
.tab-content.ativo{display:block}
.preview{margin-top:12px;max-width:200px;border-radius:10px;border:2px solid #f0f0f5}
.preview-video{margin-top:12px;max-width:280px;border-radius:10px}

/* Mobile */
@media(max-width:600px){
  .topo{padding:12px 16px}
  .topo .logo{font-size:1em}
  .selos span{font-size:.7em;padding:4px 10px}
  .grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;padding:0 12px}
  .card-info{padding:10px 12px}
  .card-nome{font-size:.85em;min-height:34px}
  .card-preco{font-size:1.05em}
  .card-acoes{padding:8px 10px 10px;flex-direction:column}
  .card-ver{width:100%;text-align:center}
  .barra-fixa{padding:10px 14px;gap:10px}
  #btn-finalizar{padding:12px 20px;font-size:.9em}
  .busca-cat{padding:0 12px}
  .pdp{padding:0 15px}
  .pdp-selos{grid-template-columns:repeat(3,1fr);gap:6px}
  .pdp-selos > div{padding:10px 4px;font-size:1.1em}
}
/* v4 carrossel */
.carrossel-wrap{position:relative;max-width:1200px;margin:20px auto;border-radius:16px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.12);height:340px;padding:0 16px;background:#1a1a2e}
@media(max-width:900px){.carrossel-wrap{height:280px}}
@media(max-width:600px){.carrossel-wrap{height:200px;margin:12px auto;padding:0 10px}}
.carrossel{position:relative;height:100%;border-radius:16px;overflow:hidden}
.slide{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-decoration:none;color:#fff;opacity:0;transition:opacity .8s ease;pointer-events:none;overflow:hidden}
.slide.ativo{opacity:1;pointer-events:auto}
.slide-conteudo{position:relative;z-index:2;text-align:center;padding:20px 40px;max-width:900px}
.slide h2{font-size:2.4em;font-weight:900;letter-spacing:-.5px;margin-bottom:12px;text-shadow:0 2px 20px rgba(0,0,0,.5);line-height:1.15}
.slide p{font-size:1.1em;font-weight:500;text-shadow:0 1px 10px rgba(0,0,0,.5);opacity:.95}
@media(max-width:768px){.slide h2{font-size:1.5em}.slide p{font-size:.95em}.slide-conteudo{padding:15px 25px}}
.slide-video-bg{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover}
.slide-video-bg iframe{position:absolute;top:50%;left:50%;width:177.78vh;min-width:100%;height:56.25vw;min-height:100%;transform:translate(-50%,-50%);pointer-events:none;border:0}
.slide-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(0,0,0,.5),rgba(0,0,0,.35))}
.carrossel-btn{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:#333;font-size:1.8em;font-weight:300;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:5;transition:.2s;box-shadow:0 4px 15px rgba(0,0,0,.2)}
.carrossel-btn:hover{background:#fff;transform:translateY(-50%) scale(1.1)}
.carrossel-btn.prev{left:24px}
.carrossel-btn.next{right:24px}
@media(max-width:600px){.carrossel-btn{width:36px;height:36px;font-size:1.4em}.carrossel-btn.prev{left:12px}.carrossel-btn.next{right:12px}}
.carrossel-dots{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:5}
.dot{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.55);cursor:pointer;transition:.2s;padding:0}
.dot.ativo{background:#fff;width:30px;border-radius:5px}

/* v4 preview admin */
.bp{width:100%;height:130px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;padding:15px;background-size:cover;background-position:center;position:relative;overflow:hidden}
.bp h3{font-size:1.15em;text-shadow:0 2px 10px rgba(0,0,0,.5);margin:0}
.bp p{font-size:.8em;opacity:.95;text-shadow:0 1px 8px rgba(0,0,0,.5);margin:4px 0 0}
.bp .bgc{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.4),rgba(0,0,0,.5));z-index:1}
.bp > *{position:relative;z-index:2}
/* v5 precos por faixa */
.precos-faixas{margin:10px 0;display:flex;flex-direction:column;gap:5px}
.preco-linha{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:#fafafa;border-radius:8px;border:2px solid transparent;font-size:.85em;transition:.2s}
.preco-linha.destacada{background:#f1f8e9;border-color:#c8e6c9}
.preco-linha.ativa{background:#e8f5e9;border-color:#4caf50;box-shadow:0 2px 8px rgba(76,175,80,.2)}
.preco-qtd{color:#666;font-weight:600}
.preco-valor{color:#6a1b9a;font-weight:800}
.preco-linha.ativa .preco-qtd{color:#2e7d32}
.preco-linha.ativa .preco-valor{color:#2e7d32;font-size:1.1em}

.card-total-info{margin-top:8px;font-size:.8em;text-align:right}
.preco-atual{display:block;color:#6a1b9a;font-weight:700}
.total-mini{display:block;color:#888;font-weight:600;font-size:.85em}

.card-incentivo{background:linear-gradient(90deg,#fff3e0,#ffe0b2);color:#e65100;padding:8px 12px;border-radius:0 0 16px 16px;font-size:.78em;font-weight:600;text-align:center}

/* PDP tabela de preços */
.pdp-tabela-precos{background:#fafafa;border-radius:14px;padding:18px;margin:20px 0;border:2px solid #f0f0f5}
.pdp-preco-faixa{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border-radius:10px;margin-bottom:8px;border:2px solid #f0f0f5;transition:.2s}
.pdp-preco-faixa.destaque{background:#f1f8e9}
.pdp-preco-faixa.ativa{border-color:#4caf50;background:#e8f5e9;transform:scale(1.02);box-shadow:0 4px 12px rgba(76,175,80,.15)}
.pdp-faixa-qtd{color:#555;font-weight:600;font-size:.95em}
.pdp-faixa-qtd small{background:#6a1b9a;color:#fff;padding:2px 8px;border-radius:10px;font-size:.7em;margin-left:6px}
.pdp-faixa-preco{color:#6a1b9a;font-weight:800;font-size:1.15em}
.pdp-preco-faixa.ativa .pdp-faixa-preco{color:#2e7d32}

.pdp-preco-atual{text-align:center;padding:15px;background:#f3e5f5;border-radius:12px;margin:15px 0}
.pdp-total-mini{margin-left:15px;font-weight:700;color:#6a1b9a}
.pdp-incentivo{background:linear-gradient(90deg,#fff3e0,#ffe0b2);color:#e65100;padding:12px;border-radius:10px;margin-bottom:18px;font-size:.9em;text-align:center;font-weight:600}