/* PiraWine — alinhamento geral + sacola, checkout e Pix (redesenho 22/10/2026, 2ª rodada).
   Carregado depois de vp2.css. */

/* Alinhamento: todo conteúdo na mesma coluna do cabeçalho (o tema antigo forçava 10px em .conteiner) */
.vp2 main .conteiner, .vp2 main .vp2-wrap { width: 100% !important; max-width: 1280px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 24px !important; padding-right: 24px !important; float: none !important; }
.vp2 main .conteiner .vp2-wrap, .vp2 main .vp2-wrap .vp2-wrap { padding-left: 0 !important; padding-right: 0 !important; }
@media (max-width: 767px) { .vp2 main .conteiner, .vp2 main .vp2-wrap { padding-left: 16px !important; padding-right: 16px !important; } }

/* grades: 4 colunas em página inteira; 3 ao lado dos filtros (4 em tela grande); 2 no tablet e no celular */
.vp2 .secao-principal .vp2-grade { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (min-width: 1400px) { .vp2 .secao-principal .vp2-grade { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .vp2-grade { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; } .vp2 .secao-principal .vp2-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) { .vp2-grade, .vp2 .secao-principal .vp2-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* produto: no notebook as miniaturas vão para baixo da foto */
@media (max-width: 1200px) and (min-width: 901px) {
  .vp2-produto-grade { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; }
  .vp2-galeria { grid-template-columns: 1fr; }
  .vp2-foto { grid-column: 1; }
  .vp2-miniaturas { grid-column: 1; grid-row: 2; flex-direction: row; overflow-x: auto; max-height: none; }
  .vp2-miniaturas button { width: 64px; height: 64px; }
}

/* ---------- sacola, checkout e Pix ---------- */
.vp3 { padding-top: 8px; padding-bottom: 32px; }
.vp3 .vp2-passos { margin: 16px auto 24px; }
.vp3-carregando { padding: 60px 0; text-align: center; color: var(--v2-suave); }
.vp3-grade { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; align-items: start; }
.vp3-titulo { margin: 0 0 16px; font: 400 30px/1.15 var(--v2-serifa); color: var(--v2-texto); }
.vp3-titulo span { font: 400 15px var(--v2-texto-fonte); color: var(--v2-suave); margin-left: 6px; }
.vp3-suave { color: var(--v2-suave); font-size: 14px; }
.vp3-itens { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--v2-borda); }
.vp3-item { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 18px; align-items: start; padding: 18px 0; border-bottom: 1px solid var(--v2-borda); }
.vp3-item--off { opacity: .55; }
.vp3-item-img { display: block; width: 96px; height: 96px; border-radius: 12px; border: 1px solid var(--v2-borda); background: linear-gradient(180deg, #fff, var(--v2-creme)); padding: 6px; }
.vp3-item-img img { width: 100%; height: 100%; object-fit: contain; }
.vp3-item-info { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.vp3-item-nome { font-weight: 600; font-size: 15.5px; line-height: 1.35; color: var(--v2-texto) !important; text-decoration: none; }
.vp3-item-nome:hover { color: var(--v2-vinho) !important; }
.vp3-item-var { font-size: 13px; color: var(--v2-suave); }
.vp3-item-meta { display: inline-flex; align-items: center; gap: 4px; font-size: 12.5px; color: var(--v2-ok); }
.vp3-item-meta svg { flex: none; }
.vp3-item-acoes { display: flex; align-items: center; gap: 16px; margin-top: 8px; flex-wrap: wrap; }
.vp3-qtd .vp2-qtd-btn, .vp3-qtd input { height: 40px; }
.vp3-qtd .vp2-qtd-btn { width: 38px; }
.vp3-remover { display: inline-flex; align-items: center; gap: 6px; padding: 6px 0; border: 0; background: none; color: var(--v2-suave); font-size: 13px; cursor: pointer; }
.vp3-remover:hover { color: var(--v2-vinho); }
.vp3-item-preco { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 1px; min-width: 120px; }
.vp3-item-preco s { font-size: 12.5px; color: var(--v2-suave); }
.vp3-item-preco strong { font-size: 19px; color: var(--v2-vinho); }
.vp3-item-preco small { font-size: 12px; color: var(--v2-vinho); font-weight: 600; }
.vp3-item-preco span { font-size: 12px; color: var(--v2-suave); }
.vp3-sugestoes { margin-top: 28px; }
.vp3-sugestoes h2 { margin: 0 0 12px; font: 400 22px var(--v2-serifa); }
.vp3-sug-lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.vp3-sug { display: flex; gap: 12px; padding: 12px; border: 1px solid var(--v2-borda); border-radius: var(--v2-raio); background: #fff; align-items: flex-start; }
.vp3-sug img { width: 64px; height: 64px; object-fit: contain; flex: none; }
.vp3-sug > div { min-width: 0; }
.vp3-sug-nome { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13.5px; font-weight: 600; line-height: 1.35; color: var(--v2-texto) !important; text-decoration: none; }
.vp3-sug p { margin: 4px 0 6px; font-size: 12.5px; color: var(--v2-suave); }
.vp3-sug p strong { color: var(--v2-vinho); font-size: 15px; }
.vp3-sug-add { padding: 5px 12px; border: 1px solid var(--v2-vinho); border-radius: 999px; background: #fff; color: var(--v2-vinho); font-weight: 600; font-size: 12.5px; cursor: pointer; }
.vp3-sug-add:hover { background: var(--v2-vinho); color: #fff; }
.vp3-continuar { display: inline-block; margin-top: 20px; color: var(--v2-vinho) !important; font-weight: 600; text-decoration: none; }
/* resumo */
.vp3-resumo { position: sticky; top: 150px; padding: 22px; border: 1px solid var(--v2-borda); border-radius: var(--v2-raio); background: var(--v2-creme); }
.vp3-resumo h2 { margin: 0 0 14px; font: 400 22px var(--v2-serifa); }
.vp3-resumo dl { margin: 0; }
.vp3-resumo dl > div { display: flex; justify-content: space-between; gap: 12px; padding: 8px 0; font-size: 14.5px; }
.vp3-resumo dt { color: var(--v2-suave); font-weight: 400; }
.vp3-resumo dd { margin: 0; text-align: right; }
.vp3-desc dd { color: var(--v2-ok); }
.vp3-gratis { color: var(--v2-ok); }
.vp3-total { border-top: 1px solid var(--v2-borda); margin-top: 6px; padding-top: 14px !important; align-items: baseline; }
.vp3-total dt { color: var(--v2-texto) !important; font-weight: 700 !important; font-size: 16px; }
.vp3-total dd { font: 700 26px var(--v2-texto-fonte); color: var(--v2-vinho); }
.vp3-aviso { margin: 6px 0 0; padding: 10px 12px; border-radius: 10px; background: #fff7e8; color: #7a5410; font-size: 12.5px; }
.vp3-cep { margin: 16px 0; padding-top: 16px; border-top: 1px solid var(--v2-borda); }
.vp3-cep label { display: block; font-weight: 600; font-size: 13.5px; margin-bottom: 6px; }
.vp3-cep-linha { display: flex; gap: 8px; }
.vp3-cep-linha input { flex: 1; min-width: 0; height: 44px; margin: 0; padding: 0 12px; border: 1px solid var(--v2-borda); border-radius: 10px; background: #fff; font-size: 15px; box-shadow: none; }
.vp3-cep-linha .vp2-btn { min-height: 44px; padding: 0 16px; }
.vp3-cep-ajuda { display: inline-block; margin-top: 6px; font-size: 12.5px; color: var(--v2-vinho) !important; }
.vp3-cep-resultado p { margin: 8px 0 0; font-size: 13.5px; }
.vp3-cep-ok strong { color: var(--v2-ok); }
.vp3-barra { height: 6px; margin-top: 8px; border-radius: 3px; background: var(--v2-creme-2); overflow: hidden; }
.vp3-barra span { display: block; height: 100%; background: var(--v2-ouro); }
.vp3-finalizar { width: 100%; }
.vp3-seguro { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 6px; font-size: 12.5px; color: var(--v2-suave); }
.vp3-seguro li { display: flex; align-items: center; gap: 6px; }
.vp3-seguro svg { color: var(--v2-vinho); flex: none; }
.vp3-mini { list-style: none; margin: 0 0 12px; padding: 0 0 12px; border-bottom: 1px solid var(--v2-borda); display: grid; gap: 10px; }
.vp3-mini li { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: 10px; align-items: center; font-size: 13px; }
.vp3-mini img { width: 48px; height: 48px; object-fit: contain; background: #fff; border-radius: 8px; border: 1px solid var(--v2-borda); }
.vp3-mini strong { color: var(--v2-texto); font-size: 13.5px; }
/* checkout */
.vp3-caixa { margin: 0 0 18px; padding: 22px; border: 1px solid var(--v2-borda); border-radius: var(--v2-raio); background: #fff; min-width: 0; }
.vp3-caixa legend { display: flex; align-items: center; gap: 10px; float: left; width: 100%; margin: 0 0 14px; padding: 0; border: 0; font: 400 22px var(--v2-serifa); color: var(--v2-texto); }
.vp3-caixa legend + * { clear: both; }
.vp3-caixa legend span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--v2-vinho); color: #fff; font: 700 14px var(--v2-texto-fonte); }
.vp3-linha { display: grid; grid-template-columns: 1fr 1fr; gap: 0 14px; }
.vp3-linha--end { grid-template-columns: 3fr 1fr; }
.vp3-linha--cidade { grid-template-columns: 2fr 2fr 1fr; }
.vp3-campo { display: block; margin-bottom: 12px; min-width: 0; }
.vp3-campo label, .vp3-campo > span { display: block; margin-bottom: 4px; font-size: 13px; font-weight: 600; color: var(--v2-texto); }
.vp3-campo label span { font-weight: 400; color: var(--v2-suave); }
.vp3-campo input, .vp3-campo textarea { width: 100%; height: 46px; margin: 0; padding: 0 12px; border: 1px solid var(--v2-borda); border-radius: 10px; background: #fff; font: 15px var(--v2-texto-fonte); color: var(--v2-texto); box-shadow: none; }
.vp3-campo textarea { height: auto; padding: 10px 12px; font-size: 12.5px; resize: none; }
.vp3-campo input:focus { border-color: var(--v2-vinho); outline: none; box-shadow: 0 0 0 3px rgba(110, 18, 24, .12); }
.vp3-nota { margin: 4px 0 0; font-size: 12.5px; color: var(--v2-suave); }
.vp3-envio:not(:empty) { margin-top: 4px; }
.vp3-forma, .vp3-pix-opcao { display: flex; align-items: center; gap: 10px; padding: 14px; border: 1px solid var(--v2-vinho); border-radius: 12px; background: var(--v2-creme); font-size: 14px; }
label.vp3-pix { display: flex; align-items: center; gap: 10px; padding: 14px; border: 1px solid var(--v2-vinho); border-radius: 12px; background: var(--v2-creme); font-size: 14px; max-width: none; margin: 0; box-shadow: none; text-align: left; }
.vp3-forma input, label.vp3-pix input, .vp3-aceite input { margin: 0; accent-color: var(--v2-vinho); }
.vp3-aceite { display: flex; align-items: flex-start; gap: 8px; margin: 16px 0; font-size: 13.5px; }
.vp3-aceite a { color: var(--v2-vinho) !important; }
.vp3 .vp-finalizar { width: 100%; }
.vp3-erro { margin: 0 0 14px; padding: 12px 14px; border-radius: 10px; background: #fdecec; color: #8a1c1c; border: 1px solid #f3c6c6; }
.vp3-email { display: grid; gap: 4px; max-width: 460px; margin-top: 12px; }
.vp3-vazio { max-width: 560px; margin: 40px auto; padding: 32px; text-align: center; border: 1px solid var(--v2-borda); border-radius: var(--v2-raio); background: var(--v2-creme); }
.vp3-vazio h1 { margin: 0 0 8px; font: 400 28px var(--v2-serifa); }
/* tela do Pix */
div.vp3-pix { max-width: 460px; margin: 24px auto; padding: 28px; text-align: center; border: 1px solid var(--v2-borda); border-radius: var(--v2-raio); background: #fff; box-shadow: var(--v2-sombra); }
div.vp3-pix h1 { margin: 0 0 6px; font: 400 28px var(--v2-serifa); }
.vp3-pix-tag { margin: 0 0 6px; color: var(--v2-ouro); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.vp3-pix-valor { font-size: 22px; color: var(--v2-vinho); }
div.vp3-pix img { display: block; margin: 16px auto; border: 1px solid var(--v2-borda); border-radius: 12px; padding: 8px; }
.vp3-pix-passos { text-align: left; margin: 0 0 16px; padding-left: 20px; font-size: 14px; color: var(--v2-suave); }
div.vp3-pix .vp3-campo { text-align: left; }
div.vp3-pix .vp-copiar { width: 100%; }
.vp3-aguardando { margin: 12px 0 0; color: var(--v2-suave); font-size: 13px; }
.vp3-pix--ok .vp3-pix-icone { display: grid; place-items: center; width: 56px; height: 56px; margin: 0 auto 10px; border-radius: 50%; background: #e7f4ec; color: var(--v2-ok); }
.vp3-pix--ok svg { width: 28px; height: 28px; }

@media (max-width: 1000px) {
  .vp3-grade { grid-template-columns: 1fr; }
  .vp3-resumo { position: static; }
}
@media (max-width: 767px) {
  .vp3-titulo { font-size: 24px; }
  .vp3-item { grid-template-columns: 76px minmax(0, 1fr); gap: 12px; }
  .vp3-item-img { width: 76px; height: 76px; }
  .vp3-item-preco { grid-column: 2; text-align: left; flex-direction: row; flex-wrap: wrap; gap: 2px 8px; align-items: baseline; justify-content: flex-start; min-width: 0; }
  .vp3-item-preco span { flex-basis: 100%; }
  .vp3-sug-lista { grid-template-columns: 1fr; }
  .vp3-linha, .vp3-linha--end { grid-template-columns: 1fr; }
  .vp3-linha--cidade { grid-template-columns: 1fr 90px; }
  .vp3-linha--cidade .vp3-campo:first-child { grid-column: 1 / -1; }
  .vp3-caixa { padding: 16px; }
  .vp2-passos li { font-size: 12px; }
}

/* barra fixa da sacola no celular */
.vp3-fixa { display: none; }
@media (max-width: 767px) {
  .vp3-fixa { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 800; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--v2-borda); box-shadow: 0 -6px 20px rgba(0, 0, 0, .06); }
  .vp3-fixa small { display: block; font-size: 12px; color: var(--v2-suave); }
  .vp3-fixa strong { font-size: 20px; color: var(--v2-vinho); }
  .vp3-fixa .vp2-btn { flex: none; }
  .pagina-carrinho:not(.vp-simples) .vp2-rodape { padding-bottom: 72px; }
}
/* newsletter do rodapé: o tema antigo achatava o campo */
.vp2-news-form input[type="email"] { height: 48px !important; min-height: 48px; line-height: normal !important; padding: 0 18px !important; margin: 0 !important; border: 0 !important; border-radius: 999px !important; box-shadow: none !important; background: #fff !important; font-size: 15px !important; }
@media (max-width: 767px) { .vp2-news .componente { flex: 1 1 100%; } .vp2-news-form { flex-direction: column; } .vp2-news-form input[type="email"], .vp2-news-form button { width: 100%; } .vp2-rodape-cols { padding-top: 32px; } }

@media (max-width: 767px) { .vp3-cep-campo + .vp3-campo { margin-top: -6px; } .vp3-cep-campo + .vp3-campo label { display: none; } }

/* produto: frete por CEP, harmonização */
.vp2-cep-produto { margin-top: 12px; padding-top: 12px; border-top: 1px dashed var(--v2-borda); }
.vp2-cep-produto label { display: block; font-size: 13px; font-weight: 600; margin-bottom: 6px; }
.vp2-cep-produto div { display: flex; gap: 8px; }
.vp2-cep-produto input { flex: 1; min-width: 0; height: 42px; margin: 0; padding: 0 12px; border: 1px solid var(--v2-borda); border-radius: 10px; font-size: 15px; box-shadow: none; }
.vp2-cep-produto .vp2-btn { min-height: 42px; padding: 0 16px; }
.vp2-cep-resultado { margin: 8px 0 0; font-size: 13.5px; }
.vp2-cep-resultado small { color: var(--v2-suave); }
.vp2-harmoniza { margin-top: 16px; }
.vp2-harmoniza ul { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0; padding: 0; }
.vp2-harmoniza li { padding: 6px 12px; border-radius: 999px; background: var(--v2-creme); border: 1px solid var(--v2-borda); font-size: 13px; }
/* Pix: prazo, status e próximos passos */
.vp3-pix-prazo { margin: 4px 0 0; padding: 8px 12px; border-radius: 10px; background: #fff7e8; color: #7a5410; font-size: 13.5px; }
.vp3-pix-valor-linha { margin: 4px 0; }
div.vp3-pix .vp-copiar { margin: 4px 0 14px; }
.vp3-pulso { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--v2-ouro); margin-right: 6px; animation: vp3pulso 1.2s infinite; }
@keyframes vp3pulso { 50% { opacity: .25; } }
.vp3-proximos { text-align: left; margin: 16px 0; padding: 16px 16px 16px 34px; background: var(--v2-creme); border-radius: 12px; font-size: 14px; display: grid; gap: 6px; }
@media (prefers-reduced-motion: reduce) { .vp3-pulso { animation: none; } }
/* home: como comprar e confiança */
.vp2-passos-compra { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; counter-reset: pc; margin: 0; padding: 0; list-style: none; }
.vp2-passos-compra li { position: relative; padding: 22px 20px 20px; border: 1px solid var(--v2-borda); border-radius: var(--v2-raio); background: #fff; counter-increment: pc; }
.vp2-passos-compra li::before { content: counter(pc); display: grid; place-items: center; width: 32px; height: 32px; margin-bottom: 10px; border-radius: 50%; background: var(--v2-vinho); color: #fff; font-weight: 700; }
.vp2-passos-compra strong { display: block; font-size: 15px; margin-bottom: 4px; }
.vp2-passos-compra span { color: var(--v2-suave); font-size: 13.5px; }
.vp2-confianca { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.vp2-confianca > div { padding: 20px; border-radius: var(--v2-raio); background: var(--v2-creme); border: 1px solid var(--v2-borda); }
.vp2-confianca h3 { margin: 0 0 8px; font: 400 19px var(--v2-serifa); color: var(--v2-vinho); }
.vp2-confianca p, .vp2-confianca li { font-size: 13.5px; color: #4a3d3c; margin: 0 0 4px; }
.vp2-confianca ul { list-style: none; margin: 0; padding: 0; }
.vp2-confianca a { color: var(--v2-vinho) !important; }
@media (max-width: 900px) { .vp2-passos-compra { grid-template-columns: 1fr 1fr; } .vp2-confianca { grid-template-columns: 1fr; } }

.vp2-canais { list-style: none; margin: 16px 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.vp2-canais li { padding: 16px; border: 1px solid var(--v2-borda); border-radius: var(--v2-raio); background: var(--v2-creme); }
.vp2-canais strong { display: block; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--v2-ouro); margin-bottom: 4px; }
.vp2-canais a { color: var(--v2-vinho) !important; font-weight: 600; }

/* acessibilidade (Lighthouse): área de toque dos pontos do banner, migalhas como lista válida, selo Pix sem distorção, título oculto */
.vp2-hero-pontos { gap: 0; }
.vp2-hero-pontos button { box-sizing: content-box; background-clip: content-box; padding: 7px; width: 10px; height: 10px; }
.vp2-hero-pontos button[aria-current] { width: 28px; }
.vp2 .breadcrumbs li.breadcrumbs-next { list-style: none; }
.vp2-pagamento img { width: 71px; height: 25px; object-fit: contain; }
.vp-oculto-leitor { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* aviso de idade (substitui o modal simples de paginas.css) */
.vp-idade { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 20px 16px; background: radial-gradient(circle at 50% 30%, rgba(110, 18, 24, .88), rgba(30, 6, 9, .95)); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); animation: vpIdadeFundo .25s ease-out; }
.vp-idade-caixa { position: relative; width: 100%; max-width: 440px; padding: 36px 32px 26px; border-radius: 18px; background: #fbf7f2; text-align: center; box-shadow: 0 24px 60px rgba(0, 0, 0, .45); border-top: 4px solid var(--v2-ouro); animation: vpIdadeCaixa .3s ease-out; }
.vp-idade-marca { display: inline-flex; align-items: center; gap: 10px; color: var(--v2-vinho); }
.vp-idade-marca svg { width: 24px; height: 28px; fill: currentColor; }
.vp-idade-marca span { font: 700 15px/1.02 var(--v2-serifa); letter-spacing: .14em; text-transform: uppercase; text-align: left; }
.vp-idade-selo { width: 64px; height: 64px; margin: 22px auto 14px; display: grid; place-items: center; border-radius: 50%; border: 2px solid var(--v2-ouro); color: var(--v2-vinho); font: 700 20px var(--v2-serifa); }
.vp-idade-titulo { margin: 0 0 8px; color: #24160a; font: 700 25px/1.2 var(--v2-serifa); }
.vp-idade-texto { margin: 0 0 22px; color: #5c4a4a; font-size: 15px; line-height: 1.5; }
.vp-idade-acoes { display: flex; flex-direction: column; gap: 10px; }
.vp-idade-acoes button { height: 50px; border-radius: 999px; font: 700 15px var(--v2-texto-fonte); cursor: pointer; transition: background .15s, border-color .15s; }
.vp-idade-sim { border: 0; background: var(--v2-vinho); color: #fff; }
.vp-idade-sim:hover { background: var(--v2-vinho-2); }
.vp-idade-nao { border: 1px solid #d9c9c0; background: transparent; color: #4a3838; }
.vp-idade-nao:hover { border-color: var(--v2-vinho); color: var(--v2-vinho); }
.vp-idade-msg { margin: 14px 0 0; padding: 10px 12px; border-radius: 10px; background: #fbe9e7; color: #9b1c14; font-size: 14px; }
.vp-idade-lei { margin: 18px 0 0; padding-top: 14px; border-top: 1px solid #ece2d8; color: #6b5858; font-size: 12px; line-height: 1.45; }
@keyframes vpIdadeFundo { from { opacity: 0; } }
@keyframes vpIdadeCaixa { from { opacity: 0; transform: translateY(12px) scale(.98); } }
@media (max-width: 480px) { .vp-idade-caixa { padding: 30px 22px 22px; } .vp-idade-titulo { font-size: 22px; } }
@media (prefers-reduced-motion: reduce) { .vp-idade, .vp-idade-caixa { animation: none; } }

/* preço riscado de referência (maior preço encontrado em outras lojas) */
.vp2-ref { color: #6b5858; font-size: 12px; }
.vp2-preco .vp2-ref { font-size: 11.5px; }

/* galeria no celular: carrossel de arrastar em largura total (some a foto fixa e as miniaturas) */
.vp2-carrossel { display: none; }
@media (max-width: 900px) {
  .vp2-galeria--varias .vp2-foto, .vp2-galeria--varias .vp2-miniaturas { display: none !important; }
  .vp2-galeria .vp2-foto { width: 100%; max-height: none; aspect-ratio: 1; padding: 16px; }
  .vp2-galeria .vp2-foto img { max-height: none; }
  .vp2-carrossel { display: block; position: relative; margin: 0 -16px; }
  .vp2-carrossel-trilho { display: flex; margin: 0; padding: 0; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .vp2-carrossel-trilho::-webkit-scrollbar { display: none; }
  .vp2-carrossel-trilho li { flex: 0 0 100%; scroll-snap-align: center; aspect-ratio: 1; display: grid; place-items: center; padding: 20px; background: linear-gradient(180deg, #fff, var(--v2-creme)); }
  .vp2-carrossel-trilho img { width: 100%; height: 100%; object-fit: contain; }
  .vp2-carrossel-conta { position: absolute; top: 12px; right: 16px; padding: 3px 10px; border-radius: 999px; background: rgba(36, 22, 10, .62); color: #fff; font-size: 12px; font-weight: 600; }
  .vp2-carrossel-pontos { display: flex; justify-content: center; gap: 6px; padding: 12px 0 2px; }
  .vp2-carrossel-pontos i { width: 7px; height: 7px; border-radius: 4px; background: #d9c9c0; transition: width .2s, background .2s; }
  .vp2-carrossel-pontos i.ativo { width: 20px; background: var(--v2-vinho); }
}
@media (max-width: 900px) {
  /* o nome do vinho já é o título logo abaixo da foto: nas migalhas fica só o caminho */
  .vp2-produto .breadcrumbs li:last-child, .vp2-produto .breadcrumbs li.breadcrumbs-next:nth-last-child(2) { display: none; }
}

/* cards do mesmo tamanho: a área da foto é sempre quadrada, qualquer que seja a proporção da imagem
   (as fotos oficiais dos produtores vêm altas e finas, largas, pequenas…); meta em 1 linha e nome em 2 */
.vp2-card-img { overflow: hidden; min-height: 0; }
.vp2-card-img img { position: absolute; top: 14px; left: 14px; width: calc(100% - 28px); height: calc(100% - 28px); max-width: none; object-fit: contain; }
.vp2-card-meta { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vp2-card-nome { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; }
/* linha do preço riscado sempre presente (vazia quando não há): todos os cards ficam com a mesma altura */
.vp2-de-linha { display: block; min-height: 1.45em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 13px; color: #8a7777; }
.vp2-de-linha .vp2-ref { font-size: 11.5px; }
.vp2-card .vp2-preco small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* alturas fixas por linha (sem isso, 1–2 px de diferença de fonte viravam cards desalinhados na grade) */
.vp2-card-nome { line-height: 1.3; height: 2.6em; min-height: 0; }
.vp2-card-meta { line-height: 1.4; height: 1.4em; }
.vp2-de-linha { line-height: 1.45; height: 1.45em; min-height: 0; }
.vp2-card .vp2-preco small { line-height: 1.4; height: 1.4em; }
.vp2-card .vp2-preco p { white-space: nowrap; }
/* card indisponível ocupa o mesmo espaço do bloco de preço */
.vp2-card .vp2-preco { min-height: 66px; }
.vp2-card .vp2-indisp { display: flex; align-items: center; min-height: 66px; margin: 0; }

/* ===== Área do cliente (22/10/2026) ===== */
.vp2-conta b { font-weight: 700; }
.vp2-fav { position: absolute; top: 10px; right: 10px; z-index: 2; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--v2-borda); border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--v2-vinho); cursor: pointer; transition: transform .15s; }
.vp2-fav:hover { transform: scale(1.08); }
.vp2-fav.ativo path { fill-opacity: 1; }
.vp2-fav:focus-visible { outline: 3px solid var(--v2-ouro); outline-offset: 2px; }
.vp2-titulo-linha { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.vp2-fav--produto { position: static; flex: none; width: 44px; height: 44px; margin-top: 4px; }
.vp3-ja-comprou { margin: 16px 0 0; font-size: 14px; color: #5c4a4a; }
.vc { padding-top: 24px; padding-bottom: 48px; }
.vc-topo { margin-bottom: 18px; }
.vc-topo h1, .vc-entrar h1 { margin: 0; font: 700 clamp(26px, 3.4vw, 34px)/1.15 var(--v2-serifa); color: #24160a; }
.vc-ola { margin: 0 0 4px; color: var(--v2-ouro-texto); font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.vc-grade { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 28px; align-items: start; }
.vc-menu ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; position: sticky; top: 150px; }
.vc-menu a { display: block; padding: 10px 14px; border-radius: 10px; color: #3b2a2a; text-decoration: none; font-weight: 600; }
.vc-menu a:hover { background: var(--v2-creme); }
.vc-menu a[aria-current] { background: var(--v2-vinho); color: #fff; }
.vc-menu .vc-sair { color: #8a2a2a; }
.vc-conteudo { display: grid; gap: 16px; min-width: 0; }
.vc-sub { margin: 10px 0 0; font: 700 20px var(--v2-serifa); color: #24160a; }
.vc-suave { color: #6b5858; margin: 0; }
.vc-pequeno { font-size: 13px; }
.vc-espaco { margin-top: 16px; }
.vc-caixa { background: #fff; border: 1px solid var(--v2-borda); border-radius: 14px; padding: 18px 20px; display: grid; gap: 12px; }
.vc-vazio { background: var(--v2-creme); border-radius: 14px; padding: 22px; display: grid; gap: 12px; justify-items: start; }
.vc-vazio p { margin: 0; }
.vc-aviso { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; background: #fbf0d9; border: 1px solid #ecd7a6; border-radius: 14px; padding: 14px 18px; }
.vc-aviso p { margin: 0; }
.vc-aviso--ok { background: #e5f3ea; border-color: #b9dcc6; }
.vc-pedido { background: #fff; border: 1px solid var(--v2-borda); border-radius: 14px; padding: 16px 18px; display: grid; gap: 12px; }
.vc-pedido-topo { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.vc-pedido-topo p { margin: 0; }
.vc-num { font-size: 16px; }
.vc-chip { display: inline-block; padding: 4px 10px; border-radius: 999px; font-size: 12.5px; font-weight: 700; white-space: nowrap; background: #eee; color: #3b2a2a; }
.vc-chip--ok { background: #e5f3ea; color: #1f6b45; }
.vc-chip--alerta { background: #fbf0d9; color: #7a5200; }
.vc-chip--cancelado { background: #f3e3e3; color: #8a2a2a; }
.vc-fotos { display: flex; gap: 8px; }
.vc-fotos img { width: 56px; height: 56px; object-fit: contain; background: var(--v2-creme); border-radius: 8px; padding: 4px; }
.vc-acoes { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.vc-link { border: 0; background: none; padding: 4px 0; color: var(--v2-vinho); font: 600 14px var(--v2-texto-fonte); text-decoration: underline; cursor: pointer; }
.vc-link:disabled { color: #8a7777; text-decoration: none; cursor: default; }
.vc-perigo { color: #8a2a2a; }
.vc-tempo { list-style: none; margin: 4px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.vc-tempo li { position: relative; display: grid; justify-items: center; gap: 8px; text-align: center; font-size: 12.5px; color: #8a7777; font-weight: 600; }
.vc-tempo li span { width: 18px; height: 18px; border-radius: 50%; border: 2px solid #d9c9c0; background: #fff; position: relative; z-index: 1; }
.vc-tempo li::before { content: ""; position: absolute; top: 8px; left: -50%; width: 100%; height: 2px; background: #d9c9c0; }
.vc-tempo li:first-child::before { display: none; }
.vc-tempo li.feito, .vc-tempo li.atual { color: #24160a; }
.vc-tempo li.feito span { background: var(--v2-vinho); border-color: var(--v2-vinho); }
.vc-tempo li.atual span { border-color: var(--v2-vinho); box-shadow: 0 0 0 4px rgba(110, 18, 24, .15); }
.vc-tempo li.feito::before, .vc-tempo li.atual::before { background: var(--v2-vinho); }
.vc-cancelado { background: #f3e3e3; color: #6d1f1f; border-radius: 12px; padding: 12px 16px; margin: 0; }
.vc-pix { background: #fff; border: 2px solid var(--v2-vinho); border-radius: 14px; padding: 18px; display: grid; gap: 10px; justify-items: center; text-align: center; }
.vc-pix h2 { margin: 0; font: 700 20px var(--v2-serifa); }
.vc-pix p { margin: 0; }
.vc-itens { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.vc-itens li { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 12px; align-items: center; background: #fff; border: 1px solid var(--v2-borda); border-radius: 12px; padding: 10px 14px; }
.vc-itens img { width: 64px; height: 64px; object-fit: contain; background: var(--v2-creme); border-radius: 8px; padding: 4px; }
.vc-itens p { margin: 0; }
.vc-totais { margin: 0; display: grid; gap: 6px; background: var(--v2-creme); border-radius: 12px; padding: 14px 18px; }
.vc-totais div { display: flex; justify-content: space-between; gap: 12px; }
.vc-totais dt, .vc-totais dd { margin: 0; }
.vc-total { font-weight: 700; font-size: 17px; border-top: 1px solid var(--v2-borda); padding-top: 8px; }
.vc-duas { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.vc-duas p { margin: 6px 0 0; }
.vc-ajuda { margin: 6px 0 0; padding-left: 18px; display: grid; gap: 6px; }
.vc-adega { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.vc-adega p { margin: 0; background: #fff; border: 1px solid var(--v2-borda); border-radius: 12px; padding: 14px; display: grid; gap: 2px; }
.vc-adega strong { font: 700 28px var(--v2-serifa); color: var(--v2-vinho); }
.vc-adega span { color: #6b5858; font-size: 13px; }
.vc-sugestoes { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.vc-enderecos { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.vc-enderecos li { background: #fff; border: 1px solid var(--v2-borda); border-radius: 12px; padding: 14px 16px; display: grid; gap: 8px; }
.vc-enderecos p { margin: 0; }
.vc-fixos { margin: 0; display: grid; gap: 8px; background: var(--v2-creme); border-radius: 12px; padding: 14px 18px; }
.vc-fixos div { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.vc-fixos dt { color: #6b5858; }
.vc-fixos dd { margin: 0; font-weight: 600; }
.vc-manter, .vc-chave { display: flex; gap: 10px; align-items: center; font-size: 15px; cursor: pointer; }
.vc-chave input, .vc-manter input { width: 20px; height: 20px; accent-color: var(--v2-vinho); }
.vc-confirmar { background: #f3e3e3; border-radius: 12px; padding: 12px 16px; }
.vc-confirmar p { margin: 0 0 10px; }
.vc-paginas { display: flex; gap: 6px; }
.vc-paginas a { padding: 6px 12px; border: 1px solid var(--v2-borda); border-radius: 8px; text-decoration: none; color: #3b2a2a; }
.vc-paginas a[aria-current] { background: var(--v2-vinho); color: #fff; border-color: var(--v2-vinho); }
.vp-ok { color: #1f6b45; font-weight: 600; margin: 0; }
.vc-entrar { padding-top: 32px; padding-bottom: 56px; display: grid; justify-items: center; }
.vc-entrar-caixa { width: 100%; max-width: 460px; background: #fff; border: 1px solid var(--v2-borda); border-radius: 18px; padding: 28px; display: grid; gap: 14px; }
.vc-entrar-caixa form { display: grid; gap: 12px; }
.vc-entrar-caixa p { margin: 0; }
#vc-codigo { font: 700 26px/1 ui-monospace, Consolas, monospace; letter-spacing: 8px; text-align: center; }
.vc-enviado { background: #e5f3ea; color: #1f6b45; border-radius: 10px; padding: 10px 12px; font-size: 14px; }
.vc-reenviar { font-size: 14px; color: #6b5858; }
.vc-vantagens { margin: 4px 0 0; padding: 14px 16px 14px 34px; background: var(--v2-creme); border-radius: 12px; display: grid; gap: 6px; font-size: 14px; }
.vc-sem-conta { background: var(--v2-creme); border-radius: 12px; padding: 16px; display: grid; gap: 12px; justify-items: start; }
@media (max-width: 900px) {
  .vc-grade { grid-template-columns: 1fr; gap: 16px; }
  .vc-menu ul { position: static; display: flex; overflow-x: auto; gap: 6px; padding-bottom: 4px; scrollbar-width: none; }
  .vc-menu a { white-space: nowrap; border: 1px solid var(--v2-borda); padding: 8px 12px; }
  .vc-sugestoes { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .vc-tempo li { font-size: 11px; }
  .vc-entrar-caixa { padding: 22px 18px; }
}

/* elemento com o atributo hidden fica escondido mesmo quando a classe define display (ex.: .vc-caixa { display: grid }) */
[hidden] { display: none !important; }

/* abas da conta no celular rolam dentro da própria faixa, sem alargar a página */
.vc-grade > * { min-width: 0; }
@media (max-width: 900px) { .vc-grade { grid-template-columns: minmax(0, 1fr); } .vc-menu { overflow: hidden; } }

/* países da home: a faixa rola para o lado e cortava o anel do círculo (sombra por fora da foto); o respiro deixa o anel inteiro */
.vp2-paises { padding: 6px 6px 10px; margin: -6px -6px 0; }

/* ===== Login com senha e criação de conta (22/10/2026) ===== */
.vc-abas { display: grid; grid-template-columns: 1fr 1fr; background: var(--v2-creme); border-radius: 999px; padding: 4px; }
.vc-abas button { border: 0; background: none; padding: 10px; border-radius: 999px; font: 700 15px var(--v2-texto-fonte); color: #5c4a4a; cursor: pointer; }
.vc-abas button[aria-selected="true"] { background: #fff; color: var(--v2-vinho); box-shadow: 0 1px 4px rgba(36, 22, 10, .12); }
.vc-abas button:focus-visible { outline: 3px solid var(--v2-ouro); outline-offset: 2px; }
.vc-entrar-caixa [role="tabpanel"], #vc-painel-codigo { display: grid; gap: 14px; }
.vc-senha { position: relative; }
.vc-senha input { padding-right: 86px !important; width: 100%; }
.vc-olho { position: absolute; right: 6px; top: 50%; transform: translateY(-50%); border: 0; background: none; padding: 6px 10px; color: var(--v2-vinho); font: 700 13px var(--v2-texto-fonte); cursor: pointer; }
.vc-regra { margin: 6px 0 0; font-size: 13px; color: #6b5858; }
.vc-regra.ok { color: #1f6b45; font-weight: 600; }
.vc-linha-entre { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; font-size: 14px; }
.vc-linha-entre a { color: var(--v2-vinho); font-weight: 600; }
.vc-ou { display: flex; align-items: center; gap: 12px; color: #8a7777; font-size: 13px; margin: 0; }
.vc-ou::before, .vc-ou::after { content: ""; flex: 1; height: 1px; background: var(--v2-borda); }
.vc-largo { width: 100%; justify-content: center; }
.vp3-criar-conta { margin-top: 12px; padding: 14px; border: 1px dashed #d9c9c0; border-radius: 12px; display: grid; gap: 10px; }
.vp3-criar-conta .vp3-campo { margin: 0; }
.vp3-conta-pos { max-width: 560px; margin: 16px auto 0; }
.vp3-criar-senha { background: #fff; border: 1px solid var(--v2-borda); border-radius: 14px; padding: 16px 18px; display: grid; gap: 10px; }
.vp3-criar-senha p { margin: 0; }
.vp3-criar-senha .vp3-linha { display: flex; gap: 10px; flex-wrap: wrap; }
.vp3-criar-senha input { flex: 1 1 220px; height: 46px; border: 1px solid #d9c9c0; border-radius: 10px; padding: 0 14px; font-size: 15px; }
.vp3-conta-aviso { background: #e5f3ea; color: #1f6b45; border-radius: 12px; padding: 12px 16px; margin: 0; }

.vc-titulo { margin: 0; font: 700 clamp(24px, 3vw, 30px)/1.15 var(--v2-serifa); color: #24160a; }


/* ===== Sacola, checkout e Pix — versão 2 (23/10/2026) =====
   Medidas únicas: campo 48 px · botão principal 52 px · botão secundário 48 px · raio 12 px · espaço entre blocos 20 px */
.ck-grade { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; align-items: start; margin-top: 8px; }
.ck-principal { display: grid; gap: 20px; min-width: 0; }
.ck-resumo { position: sticky; top: 132px; display: grid; gap: 16px; padding: 22px; background: #fff; border: 1px solid var(--v2-borda); border-radius: 16px; box-shadow: 0 8px 28px rgba(36, 22, 10, .06); }
.vp-simples .ck-resumo { top: 24px; }
.ck-resumo h2, .ck-bloco h2, .ck-cab h1, .ck-sugestoes h2, .ck-pix-lado h2 { margin: 0; font: 700 22px/1.2 var(--v2-serifa); color: #24160a; }
.ck-cab { display: flex; align-items: baseline; gap: 10px; }
.ck-cab h1 { font-size: clamp(26px, 3vw, 32px); }
.ck-cab span { color: #6b5858; font-size: 15px; }
.ck-pequeno { font-size: 13px; margin: 0; }
.ck-mudo { color: #6b5858; }
.ck-ok { color: #1f6b45; }
.ck-centro { text-align: center; }
.ck-link { border: 0; background: none; padding: 0; color: var(--v2-vinho); font: 600 13px var(--v2-texto-fonte); text-decoration: underline; cursor: pointer; }
.ck-btn { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.ck-btn-sec { min-height: 48px; height: 48px; padding: 0 18px; }
.ck-acoes { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }

/* itens da sacola */
.ck-itens { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--v2-borda); }
.ck-item { display: grid; grid-template-columns: 104px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--v2-borda); }
.ck-item--off { opacity: .55; }
.ck-item-foto img { width: 104px; height: 104px; object-fit: contain; background: var(--v2-creme); border-radius: 12px; padding: 6px; }
.ck-item-info { display: grid; gap: 6px; min-width: 0; }
.ck-item-nome { font: 600 16px/1.35 var(--v2-texto-fonte); color: #24160a; text-decoration: none; }
.ck-item-nome:hover { color: var(--v2-vinho); }
.ck-item-var { font-size: 13px; color: #6b5858; }
.ck-item-estoque { display: inline-flex; gap: 6px; align-items: center; font-size: 13px; color: #1f6b45; }
.ck-item-acoes { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 4px; }
.ck-qtd { display: inline-grid; grid-template-columns: 40px 48px 40px; height: 44px; border: 1px solid #d9c9c0; border-radius: 999px; overflow: hidden; background: #fff; }
.ck-qtd button { border: 0; background: none; font-size: 20px; color: var(--v2-vinho); cursor: pointer; }
.ck-qtd input { border: 0 !important; text-align: center; font-size: 16px; font-weight: 600; width: 100%; padding: 0 !important; height: 42px !important; box-shadow: none !important; -moz-appearance: textfield; }
.ck-qtd input::-webkit-outer-spin-button, .ck-qtd input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.ck-remover { display: inline-flex; gap: 6px; align-items: center; border: 0; background: none; color: #6b5858; font-size: 13px; cursor: pointer; padding: 0; }
.ck-remover:hover { color: #8a2a2a; }
.ck-item-preco { display: grid; justify-items: end; gap: 2px; text-align: right; white-space: nowrap; }
.ck-item-preco s { color: #8a7777; font-size: 13px; }
.ck-item-preco strong { font: 700 20px var(--v2-texto-fonte); color: var(--v2-vinho); }
.ck-item-preco small { color: #6b5858; font-size: 12px; margin-top: -2px; }
.ck-item-preco span { color: #6b5858; font-size: 12px; }

/* sugestões */
.ck-sugestoes { display: grid; gap: 12px; }
.ck-sugestoes h2 { font-size: 20px; }
.ck-sug-lista { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ck-sug { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; align-items: center; padding: 12px; border: 1px solid var(--v2-borda); border-radius: 12px; background: #fff; }
.ck-sug img { width: 72px; height: 72px; object-fit: contain; background: var(--v2-creme); border-radius: 10px; padding: 4px; }
.ck-sug-nome { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13.5px; font-weight: 600; color: #24160a; text-decoration: none; }
.ck-sug p { margin: 4px 0 6px; font-size: 13px; color: #6b5858; }
.ck-sug p strong { color: var(--v2-vinho); font-size: 15px; }
.ck-sug-add { border: 1px solid var(--v2-vinho); background: #fff; color: var(--v2-vinho); border-radius: 999px; height: 34px; padding: 0 14px; font-weight: 700; font-size: 13px; cursor: pointer; }
.ck-continuar { color: var(--v2-vinho); font-weight: 600; text-decoration: none; }

/* CEP e frete */
.ck-cep { display: grid; gap: 8px; padding: 14px; background: var(--v2-creme); border-radius: 12px; }
.ck-cep label { font-weight: 700; font-size: 14px; }
.ck-cep-linha { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.ck-cep input, .ck-campo input, .ck-campo select { height: 48px !important; min-height: 48px; width: 100%; padding: 0 14px !important; border: 1px solid #d9c9c0 !important; border-radius: 12px !important; background: #fff !important; font-size: 16px !important; box-shadow: none !important; margin: 0 !important; color: #24160a; }
.ck-cep input:focus, .ck-campo input:focus { outline: none; border-color: var(--v2-vinho) !important; box-shadow: 0 0 0 3px rgba(110, 18, 24, .12) !important; }
.ck-frete-ok { display: grid; gap: 8px; padding: 14px; background: #f3f8f4; border: 1px solid #cfe5d6; border-radius: 12px; }
.ck-frete-ok p { margin: 0; font-size: 14px; }
.ck-barra { height: 8px; border-radius: 4px; background: #e2ece5; overflow: hidden; }
.ck-barra span { display: block; height: 100%; background: #1f6b45; border-radius: 4px; }

/* valores e total */
.ck-valores { margin: 0; display: grid; gap: 10px; }
.ck-valores > div { display: flex; justify-content: space-between; gap: 12px; font-size: 15px; }
.ck-valores dt, .ck-valores dd { margin: 0; }
.ck-valores dt { color: #5c4a4a; }
.ck-desc dd { color: #1f6b45; font-weight: 600; }
.ck-total, .ck-subtotal-pix { padding-top: 12px; border-top: 1px solid var(--v2-borda); align-items: baseline; }
.ck-total dt { font-weight: 700; color: #24160a; font-size: 16px; }
.ck-total dd { font: 700 28px var(--v2-texto-fonte); color: var(--v2-vinho); }
.ck-subtotal-pix dt { font-weight: 700; color: #24160a; }
.ck-subtotal-pix dd { font: 700 22px var(--v2-texto-fonte); color: #24160a; }
.ck-aviso { margin: 0; padding: 10px 12px; background: #fbf0d9; border-radius: 10px; font-size: 13px; color: #5c4210; }
.ck-economia { display: flex; gap: 8px; align-items: center; margin: 0; padding: 10px 12px; background: #e9f5ee; border-radius: 10px; color: #1f6b45; font-size: 14px; }
.ck-finalizar { width: 100%; }
.ck-confianca { list-style: none; margin: 0; padding: 14px 0 0; border-top: 1px solid var(--v2-borda); display: grid; gap: 10px; }
.ck-confianca li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 13px; color: #5c4a4a; }
.ck-confianca svg { color: var(--v2-vinho); margin-top: 1px; }
.ck-confianca strong { color: #24160a; }
.ck-confianca a { color: var(--v2-vinho); }

/* mini lista (resumo do checkout e Pix) */
.ck-mini { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ck-mini li { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.ck-mini-foto { position: relative; }
.ck-mini-foto img { width: 64px; height: 64px; object-fit: contain; background: var(--v2-creme); border-radius: 10px; padding: 4px; display: block; }
.ck-mini-foto b { position: absolute; top: -6px; right: -6px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--v2-vinho); color: #fff; font-size: 12px; display: grid; place-items: center; }
.ck-mini-nome { font-size: 14px; line-height: 1.35; color: #24160a; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ck-mini strong { font-size: 14px; color: #24160a; white-space: nowrap; }

/* checkout */
.ck-bloco { display: grid; gap: 14px; padding: 22px; background: #fff; border: 1px solid var(--v2-borda); border-radius: 16px; }
.ck-bloco h2 { display: flex; align-items: center; gap: 10px; font-size: 20px; }
.ck-bloco h2 span { width: 30px; height: 30px; border-radius: 50%; background: var(--v2-vinho); color: #fff; font: 700 15px var(--v2-texto-fonte); display: grid; place-items: center; }
.ck-conta-link { margin: -4px 0 0; font-size: 14px; color: #5c4a4a; }
.ck-conta-link a { color: var(--v2-vinho); font-weight: 700; }
.ck-linha { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ck-linha--rua { grid-template-columns: minmax(0, 1fr) 140px; }
.ck-linha--cidade { grid-template-columns: minmax(0, 1fr) 100px; }
.ck-linha--cep { grid-template-columns: 220px auto; align-items: end; justify-content: start; }
.ck-cep-ajuda { height: 48px; display: inline-flex; align-items: center; }
.ck-campo { display: grid; gap: 6px; min-width: 0; }
.ck-campo label, .ck-campo > span { font-size: 14px; font-weight: 600; color: #24160a; }
.ck-campo label span { font-weight: 400; color: #6b5858; }
.vp-endereco { display: grid; gap: 14px; }
.ck-envio:empty { display: none; }
.ck-forma { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; padding: 14px; border: 2px solid var(--v2-vinho); border-radius: 12px; background: #fdf8f6; }
.ck-forma svg { color: var(--v2-vinho); }
.ck-forma--gratis { border-color: #1f6b45; background: #f3f8f4; }
.ck-forma--gratis svg { color: #1f6b45; }
.ck-forma div { display: grid; gap: 2px; font-size: 14px; }
.ck-forma span { color: #5c4a4a; }
.ck-pix-opcao { display: grid; grid-template-columns: 20px 71px minmax(0, 1fr); gap: 12px; align-items: center; padding: 14px; border: 2px solid var(--v2-vinho); border-radius: 12px; background: #fdf8f6; }
.ck-pix-opcao input { width: 18px; height: 18px; accent-color: var(--v2-vinho); }
.ck-pix-opcao div { display: grid; gap: 2px; font-size: 14px; }
.ck-pix-opcao span { color: #1f6b45; font-weight: 600; }
.ck-criar-conta { display: grid; gap: 10px; padding: 14px; border: 1px dashed #d9c9c0; border-radius: 12px; }
.ck-check { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 10px; align-items: start; font-size: 14px; cursor: pointer; }
.ck-check input { width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--v2-vinho); }
.ck-check a { color: var(--v2-vinho); }
.ck-bloco .vp-finalizar { width: 100%; font-size: 17px; }
.ck-erro-geral { padding: 14px 16px; border-radius: 12px; background: #fbe9e7; color: #8a2a2a; font-weight: 600; }
.ck-resumo-cel { display: none; }
.ck-valores-caixa { display: grid; gap: 12px; padding-top: 14px; border-top: 1px solid var(--v2-borda); }

/* barra fixa (celular) */
.ck-fixa { display: none; }

/* Pix */
.ck-pix-grade { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; align-items: start; margin-top: 8px; }
.ck-pix-caixa { display: grid; gap: 14px; justify-items: center; padding: 28px; background: #fff; border: 1px solid var(--v2-borda); border-radius: 16px; box-shadow: 0 8px 28px rgba(36, 22, 10, .06); max-width: 620px; width: 100%; margin: 0 auto; }
.ck-pix-caixa h1 { margin: 0; font: 700 clamp(26px, 3vw, 32px)/1.2 var(--v2-serifa); color: #24160a; }
.ck-pix-caixa p { margin: 0; }
.ck-pix-tag { color: var(--v2-ouro-texto); font-weight: 700; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.ck-pix-valor { font-size: 28px; color: var(--v2-vinho); }
.ck-pix-prazo { padding: 8px 14px; background: #fbf0d9; border-radius: 999px; font-size: 14px; color: #5c4210; }
.ck-pix-qr { width: 240px; height: 240px; padding: 10px; border: 1px solid var(--v2-borda); border-radius: 14px; background: #fff; }
.ck-pix-caixa .vp-copiar { width: 100%; max-width: 420px; }
.ck-codigo { width: 100%; max-width: 420px; text-align: left; }
.ck-codigo textarea { width: 100%; border: 1px solid #d9c9c0; border-radius: 12px; padding: 10px 12px; font: 13px ui-monospace, Consolas, monospace; resize: none; color: #3b2a2a; background: #faf7f4; }
.ck-pix-passos { margin: 0; padding-left: 20px; text-align: left; display: grid; gap: 4px; font-size: 14px; color: #3b2a2a; max-width: 420px; width: 100%; }
.ck-aguardando { display: inline-flex; align-items: center; gap: 8px; color: #5c4a4a; font-size: 14px; }
.ck-pulso { width: 10px; height: 10px; border-radius: 50%; background: var(--v2-ouro); animation: ckPulso 1.4s ease-in-out infinite; }
@keyframes ckPulso { 50% { opacity: .3; transform: scale(.7); } }
.ck-pix-caixa--ok { border-color: #b9dcc6; }
.ck-pix-icone { width: 56px; height: 56px; border-radius: 50%; background: #e5f3ea; color: #1f6b45; display: grid; place-items: center; }
.ck-pix-icone svg { width: 28px; height: 28px; }
.ck-pix-lado { display: grid; gap: 16px; }
.ck-pix-itens, .ck-pix-depois { display: grid; gap: 12px; padding: 22px; background: #fff; border: 1px solid var(--v2-borda); border-radius: 16px; }
.ck-pix-lado h2 { font-size: 19px; }
.ck-pix-depois ol { margin: 0; padding-left: 20px; display: grid; gap: 8px; font-size: 14px; color: #3b2a2a; }
.ck-vazio { display: grid; gap: 12px; justify-items: center; text-align: center; padding: 48px 16px; }
.ck-vazio h1 { margin: 0; font: 700 30px var(--v2-serifa); }
.ck-vazio p { margin: 0; color: #5c4a4a; }

@media (max-width: 1000px) {
  .ck-grade, .ck-pix-grade { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .ck-resumo { position: static; }
  .ck-pix-lado { max-width: 620px; width: 100%; margin: 0 auto; }
}
@media (max-width: 767px) {
  .ck-item { grid-template-columns: 84px minmax(0, 1fr); gap: 12px; }
  .ck-item-foto img { width: 84px; height: 84px; }
  .ck-item-preco { grid-column: 2; justify-items: start; text-align: left; grid-template-columns: auto auto; column-gap: 8px; align-items: baseline; }
  .ck-item-preco s { grid-column: 1 / -1; }
  .ck-item-preco span { grid-column: 1 / -1; }
  .ck-sug-lista { grid-template-columns: minmax(0, 1fr); }
  .ck-linha, .ck-linha--rua { grid-template-columns: minmax(0, 1fr); }
  .ck-linha--cidade { grid-template-columns: minmax(0, 1fr) 90px; }
  .ck-linha--cep { grid-template-columns: minmax(0, 1fr); }
  .ck-cep-ajuda { height: auto; }
  .ck-bloco, .ck-resumo, .ck-pix-caixa, .ck-pix-itens, .ck-pix-depois { padding: 18px 16px; border-radius: 14px; }
  .ck-resumo-cel { display: block; background: #fff; border: 1px solid var(--v2-borda); border-radius: 14px; }
  .ck-resumo-cel summary { display: grid; grid-template-columns: minmax(0, 1fr) auto 16px; gap: 10px; align-items: center; padding: 14px 16px; cursor: pointer; list-style: none; font-weight: 600; font-size: 14px; }
  .ck-resumo-cel summary::-webkit-details-marker { display: none; }
  .ck-resumo-cel summary strong { color: var(--v2-vinho); font-size: 16px; }
  .ck-resumo-cel[open] summary svg { transform: rotate(180deg); }
  .ck-resumo-cel-corpo { padding: 0 16px 14px; }
  .ck-grade--checkout .ck-resumo .ck-mini { display: none; }
  .ck-fixa { display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; gap: 12px; align-items: center; justify-content: space-between; padding: 10px max(16px, env(safe-area-inset-left, 0px)) calc(10px + env(safe-area-inset-bottom, 0px)); background: #fff; border-top: 1px solid var(--v2-borda); box-shadow: 0 -6px 20px rgba(36, 22, 10, .08); }
  .ck-fixa div { display: grid; min-width: 0; }
  .ck-fixa small { color: #6b5858; font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .ck-fixa strong { font: 700 20px var(--v2-texto-fonte); color: var(--v2-vinho); }
  .ck-fixa .ck-btn { min-height: 48px; padding: 0 20px; flex: none; }
  .pagina-carrinho .vp2-main { padding-bottom: 88px; }
  .ck-pix-qr { width: 220px; height: 220px; }
}

/* checkout v2 — ajustes depois da 1ª medição */
.ck-btn { height: 52px; }
.ck-btn-sec { height: 48px; }
@media (max-width: 767px) {
  .ck-item-preco { display: block; text-align: left; }
  .ck-item-preco s { display: block; }
  .ck-item-preco strong { display: inline; font-size: 19px; }
  .ck-item-preco small { display: inline; margin-left: 4px; }
  .ck-item-preco span { display: block; }
  /* sacola no celular: itens, depois o resumo com CEP e total, depois as sugestões */
  .ck-grade:not(.ck-grade--checkout) { display: flex; flex-direction: column; gap: 20px; }
  .ck-grade:not(.ck-grade--checkout) > .ck-principal { display: contents; }
  .ck-grade:not(.ck-grade--checkout) .ck-cab { order: 1; }
  .ck-grade:not(.ck-grade--checkout) .ck-itens { order: 2; }
  .ck-grade:not(.ck-grade--checkout) > .ck-resumo { order: 3; }
  .ck-grade:not(.ck-grade--checkout) .ck-sugestoes { order: 4; }
  .ck-grade:not(.ck-grade--checkout) > .ck-principal > p { order: 5; margin: 0; }
  .ck-fixa .ck-btn { height: 48px; }
}
@media (max-width: 767px) { .ck-total dd { font-size: 24px; white-space: nowrap; } .ck-total dt { font-size: 15px; } .ck-valores > div { align-items: baseline; } }


/* Checkout por etapas (23/10/2026): Seus dados → Entrega → Pagamento */
.ck-bloco-topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ck-bloco-corpo { display: grid; gap: 14px; }
.ck-bloco-corpo[hidden], .ck-bloco-resumo[hidden], .ck-alterar[hidden], .ck-erro-etapa[hidden] { display: none; }
.ck-bloco.ck-fechado { background: #faf7f4; }
.ck-bloco.ck-fechado h2 { color: #9a8c86; }
.ck-bloco.ck-fechado h2 span { background: #d9cfc9; }
.ck-bloco.ck-feito h2 span { background: #2f7d4f; font-size: 0; }
.ck-bloco.ck-feito h2 span::after { content: "✓"; font-size: 16px; }
.ck-bloco.ck-aberto { border-color: var(--v2-vinho); box-shadow: 0 6px 24px rgba(90, 20, 40, .08); }
.ck-bloco-resumo { margin: -4px 0 0 40px; font-size: 14px; line-height: 1.5; color: #5c4a4a; overflow-wrap: anywhere; }
.ck-alterar { background: none; border: 0; padding: 6px 4px; color: var(--v2-vinho); font: 700 14px var(--v2-texto-fonte); text-decoration: underline; cursor: pointer; }
.ck-avancar { width: 100%; font-size: 17px; }
.ck-erro-etapa { margin: 0; padding: 12px 14px; border-radius: 12px; background: #fbe9e7; color: #8a2a2a; font-weight: 600; }
@media (max-width: 600px) { .ck-bloco-resumo { margin-left: 0; } }
.ck-bloco-corpo .ck-campo { align-content: start; }
.ck-bloco-corpo .ck-ajuda { margin: 0; font-size: 13px; line-height: 1.4; color: #6b5858; }
.ck-bloco-corpo > .ck-ajuda { margin-top: -8px; }
#formularioCheckout { display: grid; gap: 12px; }

/* Resumo do pedido no topo no celular/tablet (pedido do dono, 23/10/2026) */
.ck-confianca-baixo { display: none; }
@media (max-width: 1000px) {
  .ck-grade--checkout { display: flex; flex-direction: column; gap: 16px; }
  .ck-grade--checkout > .ck-resumo { order: -1; }
  .ck-grade--checkout .ck-resumo .ck-mini { display: grid; }
  .ck-grade--checkout .ck-resumo-cel { display: none; }
  .ck-grade--checkout .ck-resumo > .ck-confianca { display: none; }
  .ck-confianca-baixo { display: block; margin-top: 16px; padding: 18px 16px; background: #fff; border: 1px solid var(--v2-borda); border-radius: 14px; }
}
@media (max-width: 1000px) {
  .ck-grade--checkout { align-items: stretch; max-width: 640px; width: 100%; margin-left: auto; margin-right: auto; }
  .ck-grade--checkout > .ck-resumo, .ck-grade--checkout > .ck-principal { width: 100%; }
  .ck-grade--checkout .ck-resumo { gap: 14px; }
  .ck-grade--checkout .ck-mini li { grid-template-columns: 56px minmax(0, 1fr) auto; }
  .ck-grade--checkout .ck-mini-foto img { width: 56px; height: 56px; }
}
.ck-confianca-baixo .ck-confianca { border-top: 0 !important; padding-top: 0 !important; margin-top: 0 !important; }

/* ===== Checkout: acabamento visual (23/10/2026) ===== */
/* as etapas do acordeão já mostram o progresso; a régua do topo repetia 1-2-3 com outros nomes */
.carrinho-checkout .vp2-passos { display: none; }
.carrinho-checkout .ck-grade--checkout { margin-top: 24px; }
/* resumo */
.ck-resumo-topo { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.ck-resumo-topo .ck-link { font-size: 14px; }
.ck-grade--checkout .ck-resumo { background: #fffdfb; }
.ck-grade--checkout .ck-mini li { padding-bottom: 12px; border-bottom: 1px dashed #eadfd8; }
.ck-grade--checkout .ck-mini li:last-child { padding-bottom: 0; border-bottom: 0; }
.ck-grade--checkout .ck-mini-foto img { background: #f6efe9; }
.ck-grade--checkout .ck-mini strong { color: var(--v2-vinho); font-size: 15px; }
.ck-grade--checkout .ck-subtotal-pix dd, .ck-grade--checkout .ck-total dd { color: var(--v2-vinho); }
.ck-grade--checkout .ck-economia { justify-content: center; font-size: 15px; padding: 12px; border: 1px solid #cfe8d9; }
/* etapas */
.ck-bloco { gap: 16px; transition: border-color .2s, box-shadow .2s; }
.ck-bloco-topo { align-items: flex-start; }
.ck-bloco-sub { margin: 4px 0 0 40px; font-size: 14px; color: #6b5858; }
.ck-bloco.ck-aberto .ck-bloco-sub, .ck-bloco.ck-feito .ck-bloco-sub { display: none; }
.ck-bloco.ck-fechado { background: #fff; }
.ck-bloco.ck-fechado h2 { color: #3d2c2c; }
.ck-bloco.ck-fechado h2 span { background: #fff; color: #8a7a74; border: 2px solid #d9cfc9; }
.ck-bloco.ck-aberto { border: 2px solid var(--v2-vinho); padding: 21px; }
.ck-bloco.ck-feito h2 { color: #24160a; }
.ck-alterar { margin-top: 2px; }
.ck-avancar span { font-size: 20px; line-height: 1; }
.ck-bloco-corpo .ck-campo label { font-size: 14px; }
.ck-bloco-corpo input::placeholder { color: #a5978f; }
@media (max-width: 767px) {
  .carrinho-checkout .ck-grade--checkout { margin-top: 16px; }
  .ck-bloco.ck-aberto { padding: 17px 15px; }
  .ck-bloco-sub { margin-left: 0; font-size: 13px; }
  .ck-bloco h2 { font-size: 19px; }
}
.ck-grade--checkout .ck-economia { display: block; text-align: center; }
.ck-grade--checkout .ck-economia svg { vertical-align: -3px; margin-right: 4px; }
@media (max-width: 767px) { .ck-bloco .vp-finalizar { font-size: 15px; padding: 0 14px; } }

/* Resumo compacto do pedido no celular (23/10/2026): fotos + total + economia; "Ver detalhes" abre o resto */
.ck-compacto { display: none; }
@media (max-width: 767px) {
  .ck-grade--checkout .ck-resumo { gap: 12px; padding: 16px; }
  .ck-grade--checkout .ck-resumo h2 { font-size: 19px; }
  .ck-compacto { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "fotos valor" "ver ver"; gap: 10px 12px; align-items: center; }
  .ck-compacto-fotos { grid-area: fotos; display: flex; align-items: center; }
  .ck-compacto-fotos span { position: relative; margin-right: -10px; }
  .ck-compacto-fotos img { width: 44px; height: 44px; object-fit: contain; display: block; background: #f6efe9; border: 2px solid #fff; border-radius: 10px; padding: 2px; }
  .ck-compacto-fotos b { position: absolute; top: -6px; right: -4px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--v2-vinho); color: #fff; font-size: 11px; display: grid; place-items: center; }
  .ck-compacto-fotos em { margin-left: 16px; font-style: normal; font-size: 13px; color: #6b5858; }
  .ck-compacto-valor { grid-area: valor; display: grid; justify-items: end; text-align: right; padding-left: 12px; }
  .ck-compacto-valor small { font-size: 12px; color: #6b5858; }
  .ck-compacto-valor strong { font: 700 22px var(--v2-texto-fonte); color: var(--v2-vinho); white-space: nowrap; }
  .ck-compacto-valor span { font-size: 12px; color: #6b5858; }
  .ck-compacto-ver { grid-area: ver; display: flex; align-items: center; justify-content: center; gap: 6px; height: 40px; border: 1px solid var(--v2-borda); border-radius: 10px; background: #fff; color: var(--v2-vinho); font: 600 14px var(--v2-texto-fonte); cursor: pointer; }
  .ck-resumo--aberto .ck-compacto-ver svg { transform: rotate(180deg); }
  /* fechado: só o compacto e a economia */
  .ck-grade--checkout .ck-resumo:not(.ck-resumo--aberto) .ck-mini { display: none; }
  .ck-grade--checkout .ck-resumo:not(.ck-resumo--aberto) .ck-valores-caixa { padding-top: 0; border-top: 0; }
  .ck-grade--checkout .ck-resumo:not(.ck-resumo--aberto) .ck-valores-caixa > :not(.ck-economia) { display: none; }
  .ck-grade--checkout .ck-resumo .ck-economia { font-size: 14px; padding: 9px 10px; }
}
@media (max-width: 767px) { .ck-compacto-fotos { gap: 10px; } .ck-compacto-fotos span { margin-right: 0; } .ck-compacto-fotos em { margin-left: 2px; } }

/* Frete na página do produto (23/10/2026): destaque em uma linha + calcular pelo CEP, sem tabela */
.vp2-frete-produto { padding: 16px 18px; }
.vp2-frete-dest { display: flex; gap: 10px; align-items: flex-start; margin: 0; font-size: 15px; line-height: 1.4; color: #24160a; }
.vp2-frete-dest svg { flex: none; margin-top: 1px; color: var(--v2-vinho); }
.vp2-frete-dest small { font-size: 13px; color: #6b5858; }
.vp2-frete-dest--ok { color: #1f6b45; }
.vp2-frete-dest--ok svg { color: #1f6b45; }
.vp2-frete-produto .vp2-cep-produto { margin-top: 14px; padding-top: 14px; }
.vp2-frete-produto .vp2-cartao-nota { margin-top: 8px; }
.vp2-cep-resultado:not(:empty) { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; align-items: baseline; margin: 10px 0 0; padding: 10px 12px; background: #faf7f4; border-radius: 10px; font-size: 14px; }
.vp2-cep-resultado b { font-size: 15px; }
.vp2-cep-resultado small { grid-column: 1 / -1; color: #6b5858; font-size: 13px; }
.vp2-cep-resultado .vp-erro { grid-column: 1 / -1; }

/* Marca PiraWine (23/10/2026): cacho de uva + nome em uma linha, como na fachada da loja */
.vp2-logo span, .vp-idade-marca span { font: 700 24px/1 var(--v2-texto-fonte); letter-spacing: -.01em; text-transform: none; }
.vp2-logo svg { width: 28px; height: 32px; }
@media (max-width: 767px) { .vp2-logo span { font-size: 21px; } }

/* Loja física na página de contato (PiraWine) */
.vp3-loja-fisica { display: grid; grid-template-columns: minmax(0, 320px) minmax(0, 1fr); gap: 24px; align-items: start; margin: 8px 0 28px; }
.vp3-loja-fisica img { width: 100%; height: auto; border-radius: 14px; display: block; }
.vp3-loja-fisica p { margin: 0 0 10px; }
@media (max-width: 767px) { .vp3-loja-fisica { grid-template-columns: minmax(0, 1fr); } }

/* Logo oficial PiraWine (enviado pelo dono, 23/10/2026) */
.vp2-logo { gap: 8px; }
.vp2-logo .vp2-logo-cacho { width: auto; height: 40px; }
.vp2-logo .vp2-logo-nome { width: auto; height: 26px; }
.vp-idade-marca img { width: 120px; height: auto; }
@media (max-width: 767px) { .vp2-logo .vp2-logo-cacho { height: 34px; } .vp2-logo .vp2-logo-nome { height: 22px; } }
/* logo oficial inteiro (cacho em cima, nome embaixo), como o dono enviou */
.vp2-logo .vp2-logo-completo { width: auto; height: 64px; }
.vp2-rodape .vp2-logo .vp2-logo-completo, .vp2-logo--claro .vp2-logo-completo { height: 96px; }
@media (max-width: 767px) { .vp2-logo .vp2-logo-completo { height: 52px; } }
