/* assets/css/voz.css — popup de voz que abre DEPOIS que a IA identifica a
   pedra: ela fala o resultado, pergunta (em áudio) se pode fazer mais
   perguntas e, se sim, conduz as perguntas por voz (ver assets/js/voz.js) */

.voz-overlay {
  position: fixed;
  inset: 0;
  background: rgba(46, 31, 23, 0.85);
  z-index: 9999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 16px;
  backdrop-filter: blur(8px);
}
.voz-overlay.active {
  display: flex;
}

.voz-pre-scan {
  width: 100%;
  max-width: 380px;
  padding: 24px 20px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 20px;
  box-shadow: 0 30px 80px rgba(46, 31, 23, 0.6);
}

.voz-topo {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.voz-contador {
  font-size: 11.5px;
  font-weight: 700;
  color: var(--ink-mute);
  letter-spacing: .03em;
}
.voz-btn-pular {
  font-family: 'Inter', sans-serif;
  background: transparent;
  border: none;
  color: var(--ink-mute);
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  text-decoration: underline;
  padding: 4px;
}

.voz-pergunta {
  font-size: 16px;
  font-weight: 600;
  color: var(--ink-soft);
  text-align: center;
  margin: 10px 0 20px;
  line-height: 1.4;
  min-height: 44px;
}

.voz-mic-wrap {
  position: relative;
  width: 220px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.voz-waveform {
  width: 220px;
  height: 56px;
  opacity: 0;
  transition: opacity .2s ease;
}
.voz-mic-wrap.ativo .voz-waveform {
  opacity: 1;
}

/* ---- Botão Falar / Parar ---- */
.voz-btn-mic {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 26px;
  border: none;
  border-radius: 999px;
  background: var(--accent, #235048);
  color: var(--on-accent, #ffffff);
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s ease, transform .15s ease, box-shadow .2s ease;
}
.voz-btn-mic:active {
  transform: scale(0.96);
}
.voz-btn-mic:disabled {
  opacity: .5;
  cursor: default;
  transform: none;
}
.voz-btn-mic .voz-icone-stop {
  display: none;
}
.voz-btn-mic.gravando {
  background: var(--danger, #235048);
  color: #fff;
  animation: voz-pulso-mic 1.4s ease-in-out infinite;
}
.voz-btn-mic.gravando .voz-icone-mic {
  display: none;
}
.voz-btn-mic.gravando .voz-icone-stop {
  display: block;
}
@keyframes voz-pulso-mic {
  0%, 100% { box-shadow: 0 0 0 0 rgba(46, 31, 23, .45); }
  50% { box-shadow: 0 0 0 10px rgba(46, 31, 23, 0); }
}

.voz-permissao-botoes {
  display: flex;
  gap: 10px;
  margin-top: 4px;
}
.voz-permissao-botoes .btn {
  flex: 1;
  font-size: 13.5px;
  padding: 12px 10px;
}

.voz-status {
  text-align: center;
  font-size: 12.5px;
  color: var(--ink-mute);
  margin-top: 12px;
  min-height: 16px;
}
.voz-status.pensando {
  animation: voz-pulso 1.1s ease-in-out infinite;
}
@keyframes voz-pulso {
  0%, 100% { opacity: .55; }
  50% { opacity: 1; }
}

.voz-transcricao {
  text-align: center;
  font-size: 13px;
  font-style: italic;
  color: var(--ink-soft);
  background: var(--card-alt);
  border-radius: 10px;
  padding: 8px 12px;
  margin-top: 10px;
}

.voz-resumo {
  text-align: center;
  font-size: 12.5px;
  color: var(--ink-mute);
  padding: 10px 0;
}
.voz-resumo-texto {
  font-size: 13px;
  color: var(--ink-soft);
  font-style: italic;
  margin: 8px 0 0;
}
/* Modal de anunciar no Marketplace */
/* Popup "Anunciar essa pedra": sobe de baixo no celular (bottom sheet) e vira cartão centralizado no desktop. */
.mp-seller-overlay{position:fixed;z-index:11000;inset:0;display:flex;align-items:flex-end;justify-content:center}.mp-seller-overlay[hidden]{display:none}
.mp-seller-backdrop{position:absolute;inset:0;background:rgba(46,31,23,.55);animation:mpSellerFade .22s ease-out}
.mp-seller-card{position:relative;width:100%;max-height:92vh;max-height:92dvh;overflow:auto;padding:22px 20px calc(24px + env(safe-area-inset-bottom,0px));background:var(--card,#fff);color:var(--ink,#2E1F17);border-radius:24px 24px 0 0;box-shadow:0 -8px 32px rgba(46,31,23,.18);animation:mpSellerUp .28s cubic-bezier(.2,.8,.2,1)}
.mp-seller-card::before{content:'';display:block;width:40px;height:4px;border-radius:2px;background:var(--line-strong,rgba(46,31,23,.18));margin:-12px auto 14px}
.mp-seller-card h2{margin:0 52px 14px 0;font-size:20px;font-weight:800;line-height:1.2}
.mp-seller-close{position:absolute;right:12px;top:14px;width:44px;height:44px;border:0;border-radius:50%;background:var(--header-pill-bg,rgba(46,31,23,.06));color:inherit;font-size:26px;line-height:1;cursor:pointer}
.mp-seller-card label{display:grid;gap:6px;margin:14px 0;font-size:13px;font-weight:700;color:var(--ink-soft,#3A2A20)}
.mp-seller-card input:not([type=checkbox]),.mp-seller-card textarea{box-sizing:border-box;width:100%;min-height:48px;padding:12px 14px;border:1px solid var(--line-strong,rgba(46,31,23,.18));border-radius:12px;background:var(--card,#fff);color:var(--ink,#2E1F17);font:15px 'Inter',sans-serif}
.mp-seller-card textarea{resize:none}
.mp-seller-card input:focus-visible,.mp-seller-card textarea:focus-visible{outline:3px solid var(--accent-medium,rgba(35, 80, 72,.18));outline-offset:1px;border-color:var(--accent,#235048)}
.mp-seller-photo{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line,rgba(46,31,23,.1));border-radius:14px;background:var(--bg,#FBF8F3);font-size:13px;line-height:1.35;color:var(--ink-mute,#6B5B4E)}
.mp-seller-photo img{width:56px;height:56px;flex:none;object-fit:cover;border-radius:12px}
.mp-seller-card small{font-weight:500;color:var(--ink-mute,#6B5B4E)}
.mp-seller-card .mp-seller-warning{display:block;color:var(--danger,#C1502E)}
.mp-seller-card .mp-seller-warning[hidden]{display:none}
.mp-seller-check{display:flex!important;align-items:center;gap:10px;min-height:44px;font-size:14px!important;font-weight:600!important}
.mp-seller-check input{width:22px;height:22px;accent-color:var(--accent,#235048)}
.mp-seller-card #mp-seller-error{color:var(--danger,#C1502E);font-size:13px;min-height:0;margin:6px 0}
.mp-seller-card #mp-seller-submit{min-height:52px;font-size:15px;font-weight:700}
.mp-seller-nota{margin:10px 0 0;text-align:center;font-size:12px;color:var(--ink-mute,#6B5B4E)}
.mp-seller-card #mp-seller-view{display:block;margin-top:12px;text-align:center;color:var(--accent,#235048);font-weight:700}
@keyframes mpSellerUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes mpSellerFade{from{opacity:0}to{opacity:1}}
@media (min-width:640px){.mp-seller-overlay{align-items:center;padding:16px}.mp-seller-card{width:min(460px,100%);border-radius:20px;padding-bottom:24px}.mp-seller-card::before{display:none}}
@media (prefers-reduced-motion:reduce){.mp-seller-card,.mp-seller-backdrop{animation:none}}
/* Popup de confirmação: anúncio publicado */
.mp-publicado-overlay{position:fixed;z-index:11100;inset:0;display:flex;align-items:center;justify-content:center;padding:20px}.mp-publicado-overlay[hidden]{display:none}
.mp-publicado-backdrop{position:absolute;inset:0;background:rgba(46,31,23,.6);animation:mpSellerFade .2s ease-out}
.mp-publicado-card{position:relative;width:min(380px,100%);padding:28px 22px 22px;background:var(--card,#fff);color:var(--ink,#2E1F17);border-radius:24px;box-shadow:0 16px 48px rgba(46,31,23,.28);text-align:center;animation:mpPublicadoPop .28s cubic-bezier(.2,.8,.2,1)}
.mp-publicado-icone{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:var(--emerald,#235048);color:#fff;display:flex;align-items:center;justify-content:center}
.mp-publicado-card h2{margin:0 0 8px;font-size:22px;font-weight:800;line-height:1.2}
.mp-publicado-card p{margin:0 0 20px;font-size:15px;line-height:1.45;color:var(--ink-mute,#6B5B4E)}
.mp-publicado-card .btn{min-height:52px;font-size:15px;font-weight:700}
.mp-publicado-ver{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:6px;color:var(--accent,#235048);font-size:14px;font-weight:700;text-decoration:none}
@keyframes mpPublicadoPop{from{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.mp-publicado-card,.mp-publicado-backdrop{animation:none}}
