/* ===== SIZE LOJA — Identidade visual baseada no sizengenharia.com ===== */
:root{
  --vinho: #C9A227;
  --vinho-escuro: #A6841C;
  --navy: #161830;
  --navy-escuro: #0d0f1e;
  --cinza-texto: #333333;
  --cinza-claro: #f4f4f6;
  --borda: #e2e2e6;
  --amarelo-estrela: #ffb400;
  --verde-ok: #2e7d32;
}
/* nota: variável --vinho mantida no nome por compatibilidade interna, mas agora representa o dourado */

*{box-sizing:border-box; margin:0; padding:0;}
body{
  font-family: 'Segoe UI', Roboto, Arial, sans-serif;
  background:#ffffff;
  color: var(--cinza-texto);
  line-height:1.5;
}
a{color:inherit; text-decoration:none;}
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible{
  outline:2px solid var(--vinho); outline-offset:2px;
}
ul{list-style:none;}
img{max-width:100%; display:block;}
button{cursor:pointer; font-family:inherit;}

.container{max-width:1280px; margin:0 auto; padding:0 20px;}

/* ===== TOPO — faixa de retorno ao site principal ===== */
.faixa-retorno{
  background: var(--navy-escuro);
  color:#fff;
  font-size:13px;
  padding:6px 0;
}
.faixa-retorno .container{display:flex; justify-content:space-between; align-items:center;}
.faixa-retorno a{color:#fff; opacity:.85; transition:opacity .2s;}
.faixa-retorno a:hover{opacity:1; text-decoration:underline;}

/* ===== HEADER PRINCIPAL ===== */
header.topo{
  background: var(--navy);
  padding:16px 0;
}
.topo .container{
  display:flex;
  align-items:center;
  gap:24px;
}
.logo-loja{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  font-weight:700;
  font-size:22px;
  white-space:nowrap;
}
.logo-loja span{font-weight:300; opacity:.85;}
.logo-loja img{
  height:34px;
  width:auto;
  flex-shrink:0;
}

.busca{
  flex:1;
  display:flex;
  max-width:680px;
}
.busca input{
  flex:1;
  border:none;
  padding:11px 16px;
  border-radius:4px 0 0 4px;
  font-size:14px;
}
.busca button{
  background: var(--navy-escuro);
  color:#fff;
  border:none;
  padding:0 18px;
  border-radius:0 4px 4px 0;
}

.topo-acoes{
  display:flex;
  align-items:center;
  gap:22px;
  color:#fff;
  font-size:13px;
}
.topo-acoes a{display:flex; flex-direction:column; align-items:center; gap:2px; opacity:.95;}
.topo-acoes a:hover{opacity:1;}
.icone-carrinho{position:relative;}
.badge-carrinho{
  position:absolute; top:-8px; right:-10px;
  background:#fff; color:var(--vinho-escuro);
  font-weight:700; font-size:11px;
  border-radius:50%; width:18px; height:18px;
  display:flex; align-items:center; justify-content:center;
}

/* ===== NAV CATEGORIAS ===== */
nav.categorias{
  background: var(--navy);
  border-bottom:3px solid var(--vinho-escuro);
}
nav.categorias ul{
  display:flex;
  gap:28px;
  padding:11px 0;
  font-size:13.5px;
  overflow-x:auto;
}
nav.categorias a{color:#fff; opacity:.88; white-space:nowrap;}
nav.categorias a:hover{opacity:1; border-bottom:2px solid #fff;}

/* ===== BREADCRUMB ===== */
.breadcrumb{
  font-size:12.5px;
  color:#888;
  padding:14px 0;
}
.breadcrumb a:hover{text-decoration:underline; color:var(--vinho-escuro);}

/* ===== HERO BANNER ===== */
.hero-banner{
  background: linear-gradient(120deg, var(--navy) 0%, var(--navy-escuro) 100%);
  color:#fff;
  border-radius:10px;
  padding:46px 40px;
  margin:22px 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.hero-banner h1{font-size:30px; margin-bottom:10px;}
.hero-banner p{opacity:.9; max-width:480px; font-size:15px;}
.hero-banner .btn-cta{
  margin-top:18px;
  display:inline-block;
  background:var(--vinho);
  color:var(--navy);
  font-weight:700;
  padding:11px 26px;
  border-radius:6px;
}
.hero-icone{font-size:90px; opacity:.25;}

/* ===== LAYOUT CATALOGO ===== */
.layout-catalogo{
  display:grid;
  grid-template-columns:230px 1fr;
  gap:24px;
  margin:24px 0 50px;
}

/* FILTROS */
.filtros{
  border:1px solid var(--borda);
  border-radius:8px;
  padding:18px;
  height:fit-content;
  position:sticky;
  top:14px;
  box-shadow:0 2px 10px rgba(22,24,48,.04);
}
.filtros h3{font-size:14px; margin-bottom:12px; color:var(--navy);}
.filtro-grupo{margin-bottom:20px;}
.filtro-grupo h4{font-size:12.5px; text-transform:uppercase; letter-spacing:.4px; color:#777; margin-bottom:8px;}
.filtro-grupo label{
  display:flex; align-items:center; gap:7px;
  font-size:13.5px; padding:4px 0; cursor:pointer; color:#444;
}
.filtro-faixa-preco{display:flex; gap:8px; align-items:center;}
.filtro-faixa-preco input{width:70px; padding:6px; border:1px solid var(--borda); border-radius:4px; font-size:12.5px;}
.btn-limpar-filtros{transition:border-color .15s, color .15s;}
.btn-limpar-filtros:hover{border-color:var(--navy) !important; color:var(--navy) !important;}

/* BARRA RESULTADOS */
.barra-resultados{
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:16px; font-size:13.5px; color:#555;
}
.barra-resultados select{padding:7px 10px; border:1px solid var(--borda); border-radius:5px; font-size:13px;}

/* GRID DE PRODUTOS */
.grid-produtos{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:18px;
}
.card-produto{
  border:1px solid var(--borda);
  border-radius:10px;
  padding:14px;
  background:#fff;
  transition: box-shadow .2s, transform .15s;
  display:flex;
  flex-direction:column;
}
.card-produto:hover{
  box-shadow:0 8px 24px rgba(0,0,0,.09);
  transform:translateY(-3px);
  border-color:transparent;
}
.thumb-produto{
  background: var(--cinza-claro);
  border-radius:8px;
  aspect-ratio:1/1;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:12px;
  overflow:hidden;
  position:relative;
}
.thumb-produto img{width:100%; height:100%; object-fit:cover; transition:transform .3s;}
.card-produto:hover .thumb-produto img{transform:scale(1.04);}
.selo{
  position:absolute; top:8px; left:8px;
  background:var(--vinho); color:var(--navy);
  font-size:10.5px; font-weight:700;
  padding:3px 8px; border-radius:4px;
}
.nome-produto{
  font-size:13.5px;
  color:#222;
  margin-bottom:6px;
  min-height:38px;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.estrelas{color:var(--amarelo-estrela); font-size:12px; margin-bottom:6px;}
.estrelas span{color:#999; margin-left:4px;}
.preco-produto{font-size:21px; font-weight:700; color:#222; margin-bottom:2px;}
.preco-parcelas{font-size:12px; color:var(--verde-ok); margin-bottom:10px;}
.frete-gratis{font-size:11.5px; color:var(--verde-ok); font-weight:700; margin-bottom:10px;}
.btn-add-carrinho{
  margin-top:auto;
  background: var(--navy);
  color:#fff;
  border:none;
  padding:10px;
  border-radius:6px;
  font-size:13.5px;
  font-weight:600;
  transition:background .2s;
}
.btn-add-carrinho:hover{background:var(--navy-escuro);}

/* ===== PAGINA DE PRODUTO ===== */
.layout-produto{
  display:grid;
  grid-template-columns:1fr 1fr 280px;
  gap:32px;
  margin:24px 0 50px;
}
.galeria-principal{
  background:var(--cinza-claro);
  border-radius:10px;
  aspect-ratio:1/1;
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.galeria-principal img{width:100%; height:100%; object-fit:cover;}
.galeria-miniaturas{display:flex; gap:8px; margin-top:10px;}
.galeria-miniaturas div{
  width:64px; height:64px; border-radius:6px;
  background:var(--cinza-claro); border:2px solid transparent; cursor:pointer;
  overflow:hidden;
}
.galeria-miniaturas div.ativa{border-color:var(--vinho);}
.galeria-miniaturas img{width:100%;height:100%;object-fit:cover;}

.info-produto h1{font-size:22px; color:#222; margin-bottom:8px;}
.info-produto .vendidos{font-size:12.5px; color:#777; margin-bottom:14px;}
.info-produto .preco-grande{font-size:34px; font-weight:700; color:#222; margin:10px 0 2px;}
.info-produto .desconto{
  display:inline-block; background:#e8f5e9; color:var(--verde-ok);
  font-size:12px; font-weight:700; padding:2px 8px; border-radius:4px; margin-left:8px;
}
.info-produto .tabs{display:flex; gap:18px; border-bottom:1px solid var(--borda); margin:24px 0 14px;}
.info-produto .tabs button{
  background:none; border:none; padding:10px 2px; font-size:14px; color:#777;
  border-bottom:2px solid transparent;
}
.info-produto .tabs button.ativa{color:var(--navy); border-color:var(--vinho); font-weight:600;}
.descricao-produto{font-size:14px; color:#444;}
.descricao-produto li{padding:4px 0; padding-left:18px; position:relative;}
.descricao-produto li::before{content:"✓"; position:absolute; left:0; color:var(--verde-ok); font-weight:700;}

.caixa-compra{
  border:1px solid var(--borda);
  border-radius:10px;
  padding:20px;
  height:fit-content;
  position:sticky;
  top:14px;
  box-shadow:0 2px 10px rgba(22,24,48,.04);
}
.caixa-compra .preco-grande{font-size:26px; font-weight:700; color:#222;}
.caixa-compra .frete-info{
  font-size:13px; color:#444; margin:14px 0;
  border-top:1px solid var(--borda); border-bottom:1px solid var(--borda);
  padding:12px 0;
}
.caixa-compra .frete-gratis{font-size:13px;}
.seletor-qtd{
  display:flex; align-items:center; gap:0; margin:14px 0;
  border:1px solid var(--borda); border-radius:6px; width:fit-content;
}
.seletor-qtd button{background:var(--cinza-claro); border:none; width:30px; height:32px; font-size:15px;}
.seletor-qtd span{width:40px; text-align:center; font-size:14px;}
.btn-comprar{
  width:100%; background:var(--vinho); color:var(--navy); border:none;
  padding:13px; border-radius:6px; font-size:14.5px; font-weight:700; margin-bottom:10px;
  transition:background .2s, color .2s;
}
.btn-comprar:hover{background:var(--vinho-escuro); color:#fff;}
.btn-add-carrinho-grande{
  width:100%; background:#fff; color:var(--navy); border:2px solid var(--navy);
  padding:11px; border-radius:6px; font-size:14.5px; font-weight:700;
  transition:background .2s;
}
.btn-add-carrinho-grande:hover{background:var(--cinza-claro);}
.selo-confianca{display:flex; gap:8px; align-items:flex-start; font-size:12px; color:#666; margin-top:16px;}

/* ===== RELACIONADOS ===== */
.secao-relacionados{margin:40px 0;}
.secao-relacionados h2{font-size:19px; color:var(--navy); margin-bottom:16px; border-left:4px solid var(--vinho); padding-left:10px;}

/* ===== CARRINHO ===== */
.layout-carrinho{display:grid; grid-template-columns:1fr 320px; gap:26px; margin:26px 0 50px;}
.lista-carrinho{border:1px solid var(--borda); border-radius:10px; overflow:hidden;}
.item-carrinho{
  display:grid; grid-template-columns:80px 1fr auto auto auto;
  gap:16px; align-items:center; padding:18px; border-bottom:1px solid var(--borda);
}
.item-carrinho:last-child{border-bottom:none;}
.item-carrinho .thumb-carrinho{width:80px; height:80px; background:var(--cinza-claro); border-radius:6px; overflow:hidden;}
.item-carrinho .thumb-carrinho img{width:100%;height:100%;object-fit:cover;}
.item-carrinho .nome{font-size:14px; color:#222; margin-bottom:4px;}
.item-carrinho .remover{font-size:12px; color:var(--vinho-escuro); cursor:pointer;}
.item-carrinho .preco-item{font-weight:700; font-size:15px;}

.resumo-pedido{border:1px solid var(--borda); border-radius:10px; padding:20px; height:fit-content; box-shadow:0 2px 10px rgba(22,24,48,.04);}
.resumo-pedido h3{font-size:16px; margin-bottom:16px; color:var(--navy);}
.linha-resumo{display:flex; justify-content:space-between; font-size:13.5px; padding:7px 0; color:#444;}
.linha-resumo.total{font-size:17px; font-weight:700; color:#222; border-top:1px solid var(--borda); margin-top:8px; padding-top:14px;}
.cupom{display:flex; gap:8px; margin:14px 0;}
.cupom input{flex:1; padding:9px; border:1px solid var(--borda); border-radius:5px; font-size:13px;}
.cupom button{padding:0 14px; background:var(--navy); color:#fff; border:none; border-radius:5px; font-size:13px;}

/* ===== CHECKOUT ===== */
.layout-checkout{display:grid; grid-template-columns:1fr 320px; gap:26px; margin:26px 0 50px;}
.bloco-checkout{border:1px solid var(--borda); border-radius:10px; padding:22px; margin-bottom:18px; box-shadow:0 2px 10px rgba(22,24,48,.04);}
.bloco-checkout h3{font-size:15px; color:var(--navy); margin-bottom:14px; display:flex; align-items:center; gap:8px;}
.bloco-checkout h3 .num{
  background:var(--vinho); color:var(--navy); width:22px; height:22px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700;
}
.grid-form{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.grid-form .full{grid-column:1/-1;}
.campo label{display:block; font-size:12.5px; color:#666; margin-bottom:5px;}
.campo input, .campo select{width:100%; padding:10px; border:1px solid var(--borda); border-radius:6px; font-size:13.5px;}
.opcoes-pagamento{display:flex; flex-direction:column; gap:10px;}
.opcao-pagamento{
  border:1px solid var(--borda); border-radius:8px; padding:12px 14px;
  display:flex; align-items:center; gap:10px; cursor:pointer; font-size:13.5px;
  transition:border-color .15s, background .15s;
}
.opcao-pagamento:hover{border-color:var(--vinho);}
.opcao-pagamento:has(input:checked){border-color:var(--vinho); background:#fdf8e8;}
.btn-finalizar{
  width:100%; background:var(--vinho); color:var(--navy); border:none;
  padding:14px; border-radius:6px; font-size:15px; font-weight:700;
  transition:background .2s, color .2s;
}
.btn-finalizar:hover{background:var(--vinho-escuro); color:#fff;}

/* ===== CALCULADORA DE FRETE ===== */
.calc-frete{margin:14px 0;}
.calc-frete-form{display:flex; gap:8px;}
.calc-frete-form input{flex:1; padding:9px; border:1px solid var(--borda); border-radius:5px; font-size:13px;}
.calc-frete-form button{padding:0 14px; background:var(--navy); color:#fff; border:none; border-radius:5px; font-size:13px; font-weight:600;}
.calc-frete-form button:hover{background:var(--navy-escuro);}
.calc-frete-link{font-size:12px; color:var(--vinho-escuro); cursor:pointer; margin-top:4px; display:inline-block;}
.opcoes-frete{margin-top:10px; display:flex; flex-direction:column; gap:8px;}
.opcao-frete{
  border:1px solid var(--borda); border-radius:7px; padding:10px 12px;
  display:flex; justify-content:space-between; align-items:center; font-size:13px; cursor:pointer;
  transition:border-color .15s;
}
.opcao-frete:hover{border-color:var(--vinho);}
.opcao-frete:has(input:checked){border-color:var(--vinho); background:#fdf8e8;}
.opcao-frete .transp{font-weight:600; color:#222;}
.opcao-frete .prazo{color:#777; font-size:12px;}
.opcao-frete .preco{font-weight:700; color:var(--verde-ok);}
.calc-frete-erro{color:#c0392b; font-size:12.5px; margin-top:6px;}

/* ===== CONTA (LOGIN / CADASTRO / MINHA CONTA) ===== */
.layout-conta-auth{
  max-width:420px; margin:36px auto 60px;
  border:1px solid var(--borda); border-radius:10px; padding:32px;
  box-shadow:0 4px 18px rgba(22,24,48,.06);
}
.layout-conta-auth h1{font-size:21px; color:var(--navy); margin-bottom:6px;}
.layout-conta-auth .sub{font-size:13px; color:#777; margin-bottom:22px;}
.layout-conta-auth .campo{margin-bottom:14px;}
.layout-conta-auth .campo label{display:block; font-size:12.5px; color:#666; margin-bottom:5px;}
.layout-conta-auth .campo input{width:100%; padding:10px; border:1px solid var(--borda); border-radius:6px; font-size:13.5px;}
.layout-conta-auth .checkbox-termos{display:flex; align-items:flex-start; gap:8px; font-size:12.5px; color:#555; margin:14px 0;}
.btn-conta{
  width:100%; background:var(--vinho); color:var(--navy); border:none;
  padding:13px; border-radius:6px; font-size:14.5px; font-weight:700; margin-top:6px;
}
.btn-conta:hover{background:var(--vinho-escuro); color:#fff;}
.link-conta-alt{text-align:center; font-size:13px; color:#555; margin-top:18px;}
.link-conta-alt a{color:var(--vinho-escuro); font-weight:600;}
.divisor-conta{text-align:center; font-size:12px; color:#999; margin:18px 0; position:relative;}

.layout-minha-conta{display:grid; grid-template-columns:230px 1fr; gap:24px; margin:26px 0 50px;}
.menu-conta{border:1px solid var(--borda); border-radius:10px; padding:10px; height:fit-content; box-shadow:0 2px 10px rgba(22,24,48,.04);}
.menu-conta a{display:block; padding:11px 14px; border-radius:6px; font-size:13.5px; color:#444; transition:background .15s;}
.menu-conta a.ativo{background:var(--cinza-claro); color:var(--navy); font-weight:700;}
.menu-conta a:hover{background:var(--cinza-claro);}
.menu-conta hr{border:none; border-top:1px solid var(--borda); margin:8px 0;}
.cartao-pedido{border:1px solid var(--borda); border-radius:10px; padding:16px 18px; margin-bottom:14px; box-shadow:0 2px 10px rgba(22,24,48,.04); transition:box-shadow .2s;}
.cartao-pedido:hover{box-shadow:0 4px 16px rgba(22,24,48,.08);}
.cartao-pedido .topo-pedido{display:flex; justify-content:space-between; font-size:12.5px; color:#777; margin-bottom:10px; padding-bottom:10px; border-bottom:1px solid var(--borda);}
.status-pedido{font-weight:700; font-size:11.5px; padding:3px 9px; border-radius:20px;}
.status-pedido.entregue{background:#e8f5e9; color:var(--verde-ok);}
.status-pedido.transporte{background:#fdf8e8; color:var(--vinho-escuro);}
.status-pedido.processando{background:#eef0fa; color:var(--navy);}
.item-pedido{display:flex; gap:12px; align-items:center; font-size:13.5px; color:#333;}
.item-pedido img{width:50px; height:50px; border-radius:6px; object-fit:cover; background:var(--cinza-claro);}

/* ===== FOOTER ===== */
footer.rodape{
  background: var(--navy-escuro);
  color:#cfd0db;
  margin-top:50px;
  padding:40px 0 18px;
  font-size:13px;
}
.rodape .colunas{
  display:grid; grid-template-columns:repeat(4,1fr); gap:24px; margin-bottom:26px;
}
.rodape h4{color:#fff; font-size:14px; margin-bottom:12px;}
.rodape li{padding:4px 0; opacity:.85;}
.rodape li:hover{opacity:1; text-decoration:underline;}
.rodape .copy{
  border-top:1px solid rgba(255,255,255,.1); padding-top:16px; text-align:center; opacity:.7;
}

@media(max-width:900px){
  .layout-catalogo{grid-template-columns:1fr;}
  .filtros{position:static;}
  .layout-produto{grid-template-columns:1fr;}
  .layout-carrinho, .layout-checkout{grid-template-columns:1fr;}
  .caixa-compra{position:static;}
  .layout-minha-conta{grid-template-columns:1fr;}
  .menu-conta{position:static; display:flex; overflow-x:auto; gap:4px; padding:8px;}
  .menu-conta a{white-space:nowrap;}
  .menu-conta hr{display:none;}
  .rodape .colunas{grid-template-columns:1fr 1fr;}
  .topo .container{flex-wrap:wrap;}
  .busca{order:3; max-width:100%;}
}

@media(max-width:600px){
  .hero-banner{padding:30px 22px; flex-direction:column; align-items:flex-start; text-align:left;}
  .hero-banner h1{font-size:23px;}
  .hero-banner p{font-size:13.5px;}
  .hero-icone{display:none;}
  .grid-produtos{grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:12px;}
  .card-produto{padding:10px;}
  .preco-produto{font-size:18px;}
  .info-produto .preco-grande{font-size:26px;}
  .caixa-compra .preco-grande{font-size:22px;}
  .grid-form{grid-template-columns:1fr;}
  .rodape .colunas{grid-template-columns:1fr;}
  .barra-resultados{flex-direction:column; align-items:flex-start; gap:8px;}
  .barra-resultados select{width:100%;}

  .item-carrinho{
    grid-template-columns:64px 1fr; grid-template-rows:auto auto;
    gap:6px 12px; padding:14px;
  }
  .item-carrinho .thumb-carrinho{width:64px; height:64px; grid-row:1/3;}
  .item-carrinho .seletor-qtd{grid-column:2; margin:0;}
  .item-carrinho .preco-item{grid-column:2; text-align:left;}

  .layout-conta-auth{padding:22px; margin:20px auto 40px;}
}
