/* produto.css — CSS compartilhado das páginas de produto do Fórum
   (page-produto-3dias.php e page-produto-visita-tecnica.php), migrado
   dos <style> inline de produto-forum-3dias.html e
   produto-forum-visita-tecnica.html. */

.produto-page { padding:48px 64px 80px; max-width:1100px; margin:0 auto; }
.breadcrumb { display:flex; align-items:center; gap:8px; font-size:11px; color:var(--gray-light); margin-bottom:24px; }
.breadcrumb a { color:var(--gray-light); text-decoration:none; }
.breadcrumb a:hover { color:var(--blue-dark); }
.breadcrumb span { color:var(--gray-subtle); }

.produto-grid { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }

.produto-img-wrap { border-radius:12px; overflow:hidden; position:sticky; top:88px; }
.produto-img-wrap img { width:100%; display:block; }

.produto-info-label { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--blue-dark); margin-bottom:10px; }
.produto-info-titulo { font-family:var(--font-display); font-size:clamp(26px,3vw,38px); font-weight:800; text-transform:uppercase; color:var(--graphite); line-height:1.15; margin-bottom:16px; }
.produto-info-preco { font-family:var(--font-display); font-size:36px; font-weight:900; color:var(--green-dark); margin-bottom:20px; }

.produto-desc { font-size:14px; color:var(--gray); line-height:1.85; margin-bottom:24px; }

.produto-inclui { background:var(--off-white); border:1.5px solid var(--surface-2); border-radius:8px; padding:22px; margin-bottom:24px; }
.produto-inclui-titulo { font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--gray-light); margin-bottom:12px; }
.produto-inclui-item { display:flex; align-items:flex-start; gap:10px; font-size:13px; color:var(--gray-dark); line-height:1.6; margin-bottom:8px; }
.produto-inclui-item:last-child { margin-bottom:0; }
.produto-inclui-item svg { width:16px; height:16px; color:var(--green-dark); flex-shrink:0; margin-top:1px; }

/* VARIANTE — CIRCUITO (só usado na página "3 Dias e 1 Visita Técnica") */
.variante-label { font-size:11px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--graphite); margin-bottom:10px; }
.variante-required { color:var(--gold-dark); font-weight:400; text-transform:none; letter-spacing:0; }
.variante-select {
  width:100%; background:var(--white); border:1.5px solid var(--surface-2);
  border-radius:6px; padding:13px 16px; font-size:13px; color:var(--graphite);
  outline:none; font-family:var(--font-body); cursor:pointer; margin-bottom:20px;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235c6370' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center;
}
.variante-select:focus { border-color:var(--blue-dark); }

.circuito-preview { display:none; background:var(--off-white); border:1.5px solid var(--surface-2); border-radius:8px; padding:16px; margin-bottom:20px; }
.circuito-preview.ativo { display:flex; gap:14px; align-items:center; }
.circuito-preview img { width:64px; height:64px; border-radius:6px; object-fit:cover; flex-shrink:0; }
.circuito-preview-nome { font-family:var(--font-display); font-size:14px; font-weight:700; color:var(--graphite); text-transform:uppercase; margin-bottom:4px; }
.circuito-preview-desc { font-size:11px; color:var(--gray); line-height:1.5; }

.produto-qtd-row { display:flex; align-items:center; gap:16px; margin-bottom:20px; }
.produto-qtd { display:flex; align-items:center; border:1.5px solid var(--surface-2); border-radius:6px; overflow:hidden; }
.produto-qtd button { width:38px; height:42px; background:var(--off-white); border:none; font-size:16px; color:var(--graphite); cursor:pointer; }
.produto-qtd button:hover { background:var(--surface-2); }
.produto-qtd input { width:48px; height:42px; border:none; text-align:center; font-size:14px; color:var(--graphite); font-family:var(--font-body); }
.produto-qtd input:focus { outline:none; }

.produto-cta { width:100%; padding:16px; border-radius:6px; border:none; background:var(--green-dark); color:white; font-family:var(--font-display); font-weight:700; font-size:15px; letter-spacing:1px; text-transform:uppercase; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:10px; transition:all .25s; }
.produto-cta:hover { background:var(--green); transform:translateY(-2px); box-shadow:0 8px 28px rgba(2,102,51,.25); }
.produto-cta svg { width:18px; height:18px; }

/* Estado "desabilitado" — usado na página de visita técnica até um circuito ser escolhido. */
.produto-cta:disabled,
.produto-cta.desabilitado { background:var(--gray-subtle); color:var(--gray-light); cursor:not-allowed; }
.produto-cta.desabilitado:hover { background:var(--gray-subtle); transform:none; box-shadow:none; }

.produto-nota { font-size:11px; color:var(--gray-light); text-align:center; margin-top:12px; }

.produto-desconto-box { background:rgba(204,146,15,.06); border:1.5px solid rgba(204,146,15,.25); border-radius:8px; padding:18px 20px; margin-top:24px; }
.produto-desconto-titulo { font-family:var(--font-display); font-size:13px; font-weight:800; color:var(--gold-dark); text-transform:uppercase; margin-bottom:6px; }
.produto-desconto-texto { font-size:12px; color:var(--gray); line-height:1.6; }
.produto-desconto-texto a { color:var(--gold-dark); }

.produto-aviso-vagas { display:flex; align-items:center; gap:8px; font-size:11px; color:var(--gold-dark); margin-top:10px; }
.produto-aviso-vagas svg { width:14px; height:14px; flex-shrink:0; }

@media (max-width: 768px) {
  .produto-page { padding:100px 20px 60px; }
  .produto-grid { grid-template-columns:1fr; gap:28px; }
  .produto-img-wrap { position:static; }
}
