:root {
  --cor-primaria: #0D1B5E;
  --cor-secundaria: #F5A623;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: -apple-system, "Segoe UI", Roboto, sans-serif; color: #222; }

.site-header { background: #fff; border-bottom: 1px solid #eee; position: sticky; top: 0; z-index: 50; }
.site-header-inner { max-width: 1180px; margin: 0 auto; padding: 14px 20px; display: flex; justify-content: space-between; align-items: center; }
.site-logo img { max-height: 44px; }
.site-logo-texto { font-weight: 800; font-size: 20px; color: var(--cor-primaria); }
.site-nav a { margin-left: 20px; text-decoration: none; color: #333; font-weight: 600; font-size: 14px; }
.site-footer { text-align: center; padding: 24px; color: #888; font-size: 13px; border-top: 1px solid #eee; margin-top: 40px; }

.builder-secao { width: 100%; }
.builder-container { max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.builder-linha { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 20px; }
.builder-coluna { flex: 1; min-width: 0; }
.builder-col-12 { flex-basis: 100%; }
.builder-col-6 { flex-basis: calc(50% - 10px); }
.builder-col-4 { flex-basis: calc(33.33% - 14px); }
.builder-col-3 { flex-basis: calc(25% - 15px); }

.builder-heading { margin: 0 0 12px; line-height: 1.2; }
.builder-texto { line-height: 1.6; margin-bottom: 12px; }
.builder-img { max-width: 100%; border-radius: 8px; }
.builder-btn { display: inline-block; padding: 12px 26px; border-radius: 8px; text-decoration: none; font-weight: 700; }
.builder-btn.primary { background: var(--cor-primaria); color: #fff; }
.builder-btn.secondary { background: var(--cor-secundaria); color: #fff; }
.builder-video iframe { width: 100%; aspect-ratio: 16/9; border-radius: 8px; }

.builder-grade-produtos { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 20px; }
.produto-card { display: block; text-decoration: none; color: inherit; border: 1px solid #eee; border-radius: 10px; padding: 14px; transition: box-shadow .2s; }
.produto-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); }
.produto-card img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 6px; margin-bottom: 10px; }
.produto-card h3 { font-size: 15px; margin: 0 0 6px; }
.produto-preco { font-weight: 800; color: var(--cor-primaria); }

.builder-galeria { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; }
.builder-galeria img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; }

.builder-depoimentos { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.depoimento-card { background: #f9f9f9; border-radius: 10px; padding: 18px; margin: 0; }
.depoimento-card cite { display: block; margin-top: 10px; font-weight: 700; font-style: normal; color: var(--cor-primaria); }

@media (max-width: 768px) {
  .builder-col-6, .builder-col-4, .builder-col-3 { flex-basis: 100%; }
  .site-nav a { margin-left: 12px; font-size: 13px; }
}

/* ===== Carrinho (nav) ===== */
.nav-carrinho { position: relative; }
.carrinho-badge {
  background: var(--cor-secundaria); color: #fff; font-size: 11px; font-weight: 800;
  border-radius: 50%; padding: 2px 6px; position: relative; top: -8px; margin-left: 2px;
}

/* ===== Página de produto ===== */
.produto-detalhe-container { max-width: 1100px; margin: 30px auto; padding: 0 20px; display: flex; gap: 40px; flex-wrap: wrap; }
.produto-detalhe-galeria { flex: 1; min-width: 280px; }
.produto-img-principal { width: 100%; border-radius: 10px; aspect-ratio: 1; object-fit: cover; }
.produto-thumbs { display: flex; gap: 8px; margin-top: 10px; }
.produto-thumb { width: 60px; height: 60px; object-fit: cover; border-radius: 6px; cursor: pointer; border: 2px solid transparent; opacity: .7; }
.produto-thumb.ativa { border-color: var(--cor-primaria); opacity: 1; }

.produto-detalhe-info { flex: 1; min-width: 280px; }
.produto-detalhe-info h1 { margin: 0 0 10px; font-size: 28px; }
.produto-descricao-curta { color: #555; margin-bottom: 16px; }
.produto-preco-detalhe { margin-bottom: 20px; }
.preco-de { text-decoration: line-through; color: #999; margin-right: 10px; font-size: 16px; }
.preco-por { font-size: 28px; font-weight: 800; color: var(--cor-primaria); }

.produto-variacao-grupo { margin-bottom: 16px; }
.produto-variacao-grupo label { display: block; font-weight: 700; margin-bottom: 6px; font-size: 13px; }
.produto-variacao-opcoes { display: flex; gap: 8px; flex-wrap: wrap; }
.opcao-variacao {
  padding: 8px 16px; border: 1.5px solid #d9dce3; border-radius: 6px; background: #fff;
  cursor: pointer; font-size: 14px; transition: all .15s;
}
.opcao-variacao.selecionada { border-color: var(--cor-primaria); background: var(--cor-primaria); color: #fff; }
.produto-aviso-variacao { color: #d9534f; font-size: 13px; margin-bottom: 14px; }

.produto-qtd-comprar { display: flex; gap: 10px; align-items: center; margin-top: 10px; }
.produto-qtd-input { width: 70px; padding: 10px; border: 1.5px solid #d9dce3; border-radius: 6px; }
.btn-comprar {
  flex: 1; padding: 14px 24px; background: var(--cor-primaria); color: #fff; border: none;
  border-radius: 8px; font-weight: 700; cursor: pointer; font-size: 15px;
}
.btn-comprar:disabled { opacity: .5; cursor: not-allowed; }

.produto-descricao-longa { max-width: 1100px; margin: 40px auto; padding: 0 20px; }
.produto-descricao-longa h2 { font-size: 20px; margin-bottom: 12px; }

/* ===== Loja (listagem geral) ===== */
.loja-container { max-width: 1180px; margin: 30px auto; padding: 0 20px; display: flex; gap: 30px; }
.loja-filtros { width: 220px; flex-shrink: 0; }
.loja-filtros h3 { font-size: 15px; margin-bottom: 10px; }
.loja-filtros ul { list-style: none; padding: 0; margin: 0; }
.loja-filtros li { margin-bottom: 6px; }
.loja-filtros a { text-decoration: none; color: #444; font-size: 14px; }
.loja-filtros a.ativo { color: var(--cor-primaria); font-weight: 700; }
.loja-grade { flex: 1; }

/* ===== Carrinho (página) ===== */
.carrinho-container { max-width: 1000px; margin: 30px auto; padding: 0 20px; }
.carrinho-vazio { text-align: center; padding: 80px 20px; color: #999; }
.carrinho-vazio i { font-size: 48px; margin-bottom: 16px; display: block; }
.btn-continuar-comprando {
  display: inline-block; margin-top: 16px; padding: 12px 24px; background: var(--cor-primaria);
  color: #fff; text-decoration: none; border-radius: 8px; font-weight: 700;
}
.carrinho-tabela { width: 100%; border-collapse: collapse; }
.carrinho-tabela th { text-align: left; padding: 12px; border-bottom: 2px solid #eee; font-size: 13px; color: #888; }
.carrinho-tabela td { padding: 14px 12px; border-bottom: 1px solid #f1f1f1; vertical-align: middle; }
.carrinho-item-img { width: 50px; height: 50px; object-fit: cover; border-radius: 6px; }
.carrinho-qtd-input { width: 60px; padding: 6px; border: 1px solid #ddd; border-radius: 4px; }
.carrinho-remover { color: #d9534f; }
.carrinho-resumo { display: flex; justify-content: space-between; align-items: center; margin-top: 24px; }
.carrinho-total { font-size: 18px; }
.btn-finalizar {
  padding: 14px 30px; background: var(--cor-primaria); color: #fff; text-decoration: none;
  border-radius: 8px; font-weight: 700;
}

/* ===== Checkout ===== */
.checkout-container { max-width: 1000px; margin: 30px auto; padding: 0 20px; }
.checkout-grid { display: flex; gap: 30px; flex-wrap: wrap; margin-top: 20px; }
.checkout-form { flex: 2; min-width: 280px; }
.checkout-form h3 { margin-top: 20px; font-size: 16px; }
.campo { margin-bottom: 14px; }
.campo label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 5px; }
.campo input { width: 100%; padding: 11px; border: 1.5px solid #d9dce3; border-radius: 6px; box-sizing: border-box; }
.campo-grupo { display: flex; gap: 14px; }
.campo-grupo .campo { flex: 1; }
.btn-finalizar-pedido {
  width: 100%; padding: 15px; background: var(--cor-primaria); color: #fff; border: none;
  border-radius: 8px; font-weight: 700; font-size: 15px; cursor: pointer; margin-top: 10px;
}
.checkout-resumo { flex: 1; min-width: 240px; background: #f9f9f9; border-radius: 10px; padding: 18px; align-self: start; }
.checkout-item { display: flex; justify-content: space-between; font-size: 13px; margin-bottom: 10px; }
.checkout-total { display: flex; justify-content: space-between; font-weight: 800; font-size: 16px; border-top: 1px solid #ddd; padding-top: 10px; margin-top: 10px; }
.checkout-erro { background: #fee2e2; color: #991b1b; padding: 12px 16px; border-radius: 8px; margin-bottom: 16px; }

/* ===== Pedido confirmado ===== */
.pedido-confirmado-container { max-width: 600px; margin: 60px auto; padding: 0 20px; text-align: center; }
.pedido-confirmado-icone { font-size: 60px; color: #1f9d55; margin-bottom: 16px; }
.pedido-total { font-size: 20px; font-weight: 700; margin: 10px 0; }
.btn-whatsapp {
  display: inline-flex; align-items: center; gap: 8px; background: #25d366; color: #fff;
  text-decoration: none; padding: 14px 28px; border-radius: 8px; font-weight: 700; margin: 16px 0;
}
.pedido-aviso { color: #666; font-size: 14px; margin-bottom: 20px; }
