/* tv-site.css — Taberna Virtual: tema claro + usabilidade no celular (compartilhado entre páginas) */
html:root{
  --bg-dark:#ffffff; --bg-card:#ffffff; --bg-mid:#f5f5f6;
  --border-gold:#dcdcdc; --border-light:#eaeaea;
  --orange:#e8730a; --orange-brand:#e8730a; --gold:#e8730a; --gold-light:#e8730a;
  --text-light:#1a1a1a; --text-muted:#8a8a8a; --text-dim:#999999; --red-accent:#e3222e;
  --shadow-warm:rgba(0,0,0,.08); --shadow-deep:rgba(0,0,0,.06);
  --font-title:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-heading:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-label:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
html,body{overflow-x:clip}
img,video{max-width:100%}

/* iPhone: campo com letra menor que 16px faz o navegador dar zoom sozinho
   e a pessoa fica tendo que arrastar a tela para o lado. */
input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],
input[type=date],input[type=search],input:not([type]),select,textarea{font-size:16px !important}

/* ---------- Formulários (cadastro, login, perfil, carrinho) ---------- */
.field label,.form-group label{font-family:var(--font-body)!important;font-size:13px!important;font-weight:600!important;
  letter-spacing:.02em!important;text-transform:none!important;color:#3a3a3a!important;margin-bottom:6px}
.field input,.field select,.field textarea,.form-group input,.form-group select,.form-group textarea,#cupomInput{
  min-height:48px;padding:12px 14px!important;border:1px solid #cfcfcf!important;border-radius:8px!important;
  background:#ffffff!important;color:#1a1a1a!important;font-family:var(--font-body)!important;font-style:normal!important;box-shadow:none}
.field input::placeholder,.form-group input::placeholder{color:#9a9a9a;font-style:normal!important}
.field input:focus,.field select:focus,.form-group input:focus,.form-group select:focus{outline:none;border-color:#e8730a!important;
  box-shadow:0 0 0 3px rgba(232,115,10,.18)!important}
.field select option,.form-group select option{background:#fff!important;color:#1a1a1a!important}
.btn-primary,.btn-finalizar,.btn-salvar,.btn-social{min-height:52px;font-size:16px!important;font-family:var(--font-body)!important;
  letter-spacing:.03em!important;border-radius:8px!important;clip-path:none!important;transform:none!important}
.pw-toggle{min-width:44px;min-height:44px}

/* ---------- Avisos de erro campo a campo ---------- */
.tv-invalido input,.tv-invalido select,.tv-invalido textarea,input.tv-invalido,select.tv-invalido{
  border-color:#e3222e!important;background:#fff5f5!important;box-shadow:0 0 0 3px rgba(227,34,46,.14)!important}
.tv-erro{color:#c81e2a;font-size:13.5px;font-weight:600;margin-top:6px;line-height:1.35;font-family:var(--font-body);font-style:normal}
.tv-erro::before{content:"⚠ "}
.check-row.tv-invalido{outline:2px solid #e3222e;outline-offset:4px;border-radius:6px}
.msg.error{position:sticky;top:8px;z-index:20}

/* ---------- Páginas que ainda estavam no tema escuro ---------- */
body:has(.bg-overlay){background:#faf6ee!important;color:#1a1a1a}
.bg-overlay{display:none!important}
.carrinho-hero,.perfil-hero{background:linear-gradient(160deg,#f6ead0 0%,#faf6ee 100%)!important;border-bottom:1px solid #eaeaea}
.steps-bar,.tabs-bar{background:#ffffff!important;border-bottom:1px solid #eaeaea!important}
.avatar-ring,.hero-icon{background:#ffffff!important}
body:has(.carrinho-hero) #footer,body:has(.perfil-hero) #footer{background:#f5f5f6!important;border-top:1px solid #eaeaea}

/* ---------- Celular ---------- */
@media (max-width:760px){
  .container{padding-left:16px!important;padding-right:16px!important}
  .steps-inner{gap:4px!important;justify-content:space-between;flex-wrap:nowrap}
  .step-item:not(.ativo) .step-label{display:none}
  .card-body{padding-left:16px!important;padding-right:16px!important}
  .back-link{position:absolute!important}
}

/* barra fixa "Finalizar pedido" no celular (criada pelo tv-site.js no carrinho) */
.tv-barra-compra{position:fixed;left:0;right:0;bottom:0;z-index:900;display:none;align-items:center;gap:12px;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#ffffff;border-top:1px solid #e5e5e5;
  box-shadow:0 -6px 20px rgba(0,0,0,.10);font-family:var(--font-body)}
.tv-barra-compra .tv-bc-total{flex:1;line-height:1.15}
.tv-barra-compra .tv-bc-total small{display:block;font-size:12px;color:#6b6b6b}
.tv-barra-compra .tv-bc-total strong{font-size:18px;color:#1a1a1a}
.tv-barra-compra button{min-height:48px;padding:0 20px;border:0;border-radius:8px;background:#e8730a;color:#fff;
  font-size:16px;font-weight:700;font-family:var(--font-body)}
@media (max-width:760px){ .tv-barra-compra.tv-mostrar{display:flex} body.tv-com-barra .tv-whatsapp-float{bottom:84px!important} }

/* faixa de formas de pagamento no rodapé */
.tv-pagamento{border-top:1px solid #eaeaea;margin-top:20px;padding-top:16px;display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;
  justify-content:center;font-family:var(--font-body);font-size:13.5px;color:#4a4a4a}
.tv-pagamento b{color:#1a1a1a}
.tv-pagamento .tv-selo{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #e0e0e0;border-radius:999px;background:#fff}

/* vitrines por jogo na home (montadas pelo index.html) */
#tv-vitrines{padding:44px 0 20px;background:#ffffff;text-align:left}
.tv-vitrine{margin-bottom:34px}
.tv-vitrine-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px;padding-bottom:8px;border-bottom:2px solid #f1e3cf}
.tv-vitrine-head h3{margin:0;font-family:var(--font-body);font-size:20px;font-weight:800;color:#1a1a1a;text-transform:uppercase;letter-spacing:.03em}
.tv-vitrine-head a{color:#e8730a;font-weight:700;font-size:14px;text-decoration:none;white-space:nowrap;font-family:var(--font-body)}
.tv-vitrine .cta-prod-edit{display:none!important}
