/* V12.1 — correções pontuais de mobile, ícones e briefing em etapas. */
/* No mobile a navegação é feita pela própria página: sem hambúrguer e atalho de comandos. */
@media(max-width:768px){
 #mobile-menu,.menu-toggle,.v11-command-trigger,#nav-links{display:none!important}
 header{flex-wrap:nowrap!important;justify-content:space-between;align-items:center;gap:8px}
 .header-controls{margin:0 0 0 auto!important;order:2;gap:7px;flex:none}
 .logo-box{flex:0 1 auto;min-width:0;max-width:calc(100% - 102px);overflow:hidden;text-overflow:clip}
}
/* Botões e ícones devem continuar legíveis em TODOS os temas, inclusive sobre um card aceso. */
body.theme-active .header-controls .header-icon:not(:hover),
body.theme-active .header-controls .language-switch:not(:hover){border-color:var(--scene-accent)!important;color:var(--scene-accent)!important; background:transparent!important}
body.theme-active .header-controls .header-icon:hover,
body.theme-active .header-controls .header-icon:focus-visible,
body.theme-active .header-controls .language-switch:hover{border-color:var(--scene-accent)!important;background:var(--scene-accent)!important;color:var(--scene-bg)!important}
body.theme-active .header-controls #sound-toggle[aria-pressed='true'] {border-color:var(--scene-accent)!important;background:var(--scene-accent)!important;color:var(--scene-bg)!important}
body.theme-active header .header-icon svg,body.theme-active footer .footer-icon svg {stroke:currentColor!important;fill:none!important;opacity:1!important;visibility:visible!important}
body.theme-active #contato.is-theme-focus .social-btn{color:var(--scene-focus-ink)!important;border-color:var(--scene-focus-ink)!important;background:transparent!important;opacity:1!important;visibility:visible!important}
body.theme-active #contato.is-theme-focus .social-btn svg{fill:currentColor!important;stroke:none!important;opacity:1!important}
body.theme-active #contato.is-theme-focus .social-btn:hover,
body.theme-active #contato.is-theme-focus .social-btn:focus-visible {background:var(--scene-focus-ink)!important;color:var(--scene-accent)!important}
body.theme-active #contato.is-theme-focus .social-btn:hover svg,
body.theme-active #contato.is-theme-focus .social-btn:focus-visible svg{fill:currentColor!important}
body.theme-active footer .footer-icon {opacity:1!important;visibility:visible!important;background:var(--scene-accent)!important;color:var(--scene-bg)!important;border-color:var(--scene-accent)!important}
body.theme-active footer .footer-icon:hover {background:var(--scene-bg)!important;color:var(--scene-accent)!important}
/* Ícone de ação vetorial — não depende de glifo unicode / emoji do dispositivo. */
.v12-arrow-icon{display:inline-block;width:21px;height:21px;flex:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:square;stroke-linejoin:miter;fill:none;vertical-align:middle}
/* Etapas do briefing: container menor que a viewport e sem zoom automático em iOS. */
.brief-dialog {box-sizing:border-box!important;max-width:min(640px,calc(100vw - 24px))!important;max-height:calc(100dvh - 24px)!important;width:min(640px,calc(100vw - 24px))!important;padding:clamp(16px,3vw,28px)!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;scrollbar-gutter:stable}
.brief-dialog .brief-intro{font-size:clamp(13px,2.2vw,15px);line-height:1.55;margin-bottom:12px}
.brief-dialog .brief-progress{display:flex;align-items:center;gap:6px;margin:12px 0 13px; font:700 19px/1.2 var(--font-pixel)}
.brief-dialog .brief-progress span{display:block;height:7px;background:#ddd;flex:1;border:1px solid #111;transition:background-color .2s}
.brief-dialog .brief-progress span.is-current{background:#111}
.brief-dialog .brief-progress-label{font:700 20px var(--font-pixel);margin-bottom:9px}
.brief-dialog .brief-step{display:flex;flex-direction:column;min-width:0;gap:0}
.brief-dialog .brief-step[hidden],.brief-dialog [hidden]{display:none!important}
.brief-dialog .brief-step label{margin:12px 0 6px;font-size:21px;line-height:1.15}
.brief-dialog input,.brief-dialog textarea,.brief-dialog select{font-size:16px!important;line-height:1.45!important;min-height:50px!important;max-width:100%;border-radius:0!important;touch-action:manipulation}
.brief-dialog textarea{min-height:126px!important}
.brief-dialog .brief-actions{display:flex;gap:9px;align-items:stretch;margin-top:15px}
.brief-dialog .brief-step-button{flex:1;min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#111;color:#fff;border:3px solid #111;font:800 14px/1.3 var(--font-bold);padding:11px 12px;cursor:pointer;text-align:center}
.brief-dialog .brief-step-button.back{flex:0 0 auto;background:#fff;color:#111}
.brief-dialog .brief-submit{margin:0;flex:1;min-height:48px;display:flex;justify-content:center;align-items:center;gap:7px;font-size:14px;padding:10px}
.brief-dialog .brief-summary{padding:11px 13px;background:#f5f5f5;border:3px solid #111;font:500 13px/1.6 var(--font-bold);overflow-wrap:anywhere;white-space:pre-wrap;min-width:0;max-height:200px;overflow-y:auto}
.brief-dialog :is(.brief-step-button,.brief-submit):focus-visible{outline:3px dashed #ff3867;outline-offset:3px}
@media(max-width:768px){
 .brief-dialog{width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important;margin:auto!important; padding:15px!important;box-shadow:4px 4px 0 #111!important;border-width:4px!important}
 .brief-dialog h2{font-size:clamp(24px,7vw,33px);overflow-wrap:anywhere;margin-bottom:9px}
 .brief-dialog .brief-head{margin-bottom:8px}
 .brief-dialog .brief-step-button,.brief-dialog .brief-submit{font-size:13px}
 .brief-dialog .brief-summary{font-size:12px}
 .brief-dialog .brief-intro{font-size:13px}
 .brief-dialog .brief-footnote{font-size:12px}
}
@media(max-height:560px){.brief-dialog{max-height:calc(100dvh - 10px)!important}}
@media(prefers-reduced-motion:reduce){.brief-dialog .brief-progress span{transition:none}}
