/* Wizard de contato em tela cheia. Carregado depois de site.css e usa os mesmos tokens. */
html.wz-open{
  overflow:hidden
}
html.wz-open .cookie-banner{
  z-index:400
}
.wz{
  position:fixed;
  inset:0;
  z-index:300;
  display:flex;
  flex-direction:column;
  background:linear-gradient(180deg,var(--blue-soft),var(--white) 42%);
  overflow-y:auto;
  overscroll-behavior:contain
}
.wz[hidden]{
  display:none
}
.wz-top{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:18px clamp(18px,4vw,40px)
}
.wz-logo{
  grid-column:2;
  justify-self:center
}
.wz-back,.wz-close{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-width:44px;
  min-height:44px;
  padding:0 12px;
  border:0;
  border-radius:999px;
  background:transparent;
  color:var(--muted);
  font-weight:700;
  cursor:pointer;
  transition:background .2s var(--ease),color .2s var(--ease)
}
.wz-back{
  grid-column:1;
  justify-self:start
}
.wz-close{
  grid-column:3;
  justify-self:end;
  justify-content:center
}
.wz-back:hover,.wz-close:hover{
  background:var(--white);
  color:var(--ink)
}
.wz-back .icon{
  transform:rotate(180deg)
}
.wz-back[hidden]{
  display:none
}
.wz-body{
  width:min(100% - 36px,680px);
  margin:auto;
  padding:clamp(12px,4vh,48px) 0 64px
}
.wz-title{
  margin:0 0 14px;
  font-size:clamp(28px,5vw,46px);
  line-height:1.12;
  letter-spacing:-.02em;
  outline:0
}
.wz-hint{
  margin:0 0 28px;
  color:var(--muted);
  font-size:17px
}
.wz-hint[hidden]{
  display:none
}
.wz-input{
  width:100%;
  padding:16px 18px;
  border:2px solid var(--line);
  border-radius:var(--radius);
  background:var(--white);
  color:var(--ink);
  font-size:20px;
  line-height:1.4
}
.wz-input:hover{
  border-color:#b9c7d8
}
.wz-input:focus{
  outline:0;
  border-color:var(--action);
  box-shadow:0 0 0 4px #1764d926
}
textarea.wz-input{
  resize:vertical;
  min-height:150px
}
.wz-options{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px
}
.wz-option{
  padding:16px 18px;
  border:2px solid var(--line);
  border-radius:var(--radius);
  background:var(--white);
  color:var(--ink);
  font-size:17px;
  font-weight:700;
  line-height:1.3;
  text-align:left;
  cursor:pointer;
  transition:border-color .2s var(--ease),background .2s var(--ease),transform .2s var(--ease)
}
.wz-option:hover{
  border-color:var(--action);
  transform:translateY(-1px)
}
.wz-option:focus-visible{
  outline:3px solid var(--action);
  outline-offset:2px
}
.wz-option[aria-checked="true"]{
  border-color:var(--action);
  background:var(--blue-soft)
}
.wz-error{
  margin:14px 0 0;
  color:#b42318;
  font-weight:600
}
.wz-error[hidden]{
  display:none
}
.wz-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:18px;
  margin-top:28px
}
.wz-next[hidden],.wz-alt[hidden]{
  display:none
}
.wz-alt{
  min-height:44px;
  padding:8px 4px;
  border:0;
  background:transparent;
  color:var(--action);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:.25em;
  cursor:pointer
}
.wz-stage.is-entering,.wz-result:not([hidden]){
  animation:wz-in .32s var(--ease)
}
@keyframes wz-in{
  from{
    opacity:0;
    transform:translateY(14px)
  }
  to{
    opacity:1;
    transform:none
  }
}
.wz-result{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px
}
.wz-result[hidden]{
  display:none
}
.wz-result .button{
  margin-top:14px
}
.wz-result-icon{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  margin-bottom:18px;
  border-radius:50%;
  background:var(--green);
  color:var(--ink)
}
.wz-launch h2{
  font-size:30px;
  margin-bottom:14px
}
.wz-launch>p{
  margin-bottom:24px
}
.wz-launch>p.wz-launch-note{
  margin:18px 0 0;
  color:var(--muted);
  font-size:14px
}
@media (max-width:560px){
  .wz-options{
    grid-template-columns:1fr
  }
  .wz-back span{
    display:none
  }
}
@media (prefers-reduced-motion:reduce){
  .wz-stage.is-entering,.wz-result:not([hidden]){
    animation:none
  }
  .wz-option:hover{
    transform:none
  }
}
