
:root{
  --assistant-wine:#3a070d;
  --assistant-wine-2:#5d1720;
  --assistant-gold:#d8ad62;
  --assistant-cream:#f7f1e9;
  --assistant-line:#e2d2bf;
  --assistant-text:#2b1115;
  --assistant-muted:#756963;
}
*{box-sizing:border-box}
body.assistant-page{margin:0;background:var(--assistant-cream);color:var(--assistant-text);min-height:100vh}
.assistant-top{min-height:88px;background:linear-gradient(135deg,var(--assistant-wine),#250307);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:14px clamp(18px,5vw,70px);border-bottom:1px solid rgba(216,173,98,.4)}
.assistant-brand{display:flex;gap:14px;align-items:center;text-decoration:none;color:#fff}
.assistant-mark{width:54px;height:54px;border:1px solid var(--assistant-gold);display:grid;place-items:center;color:var(--assistant-gold);font:700 26px Georgia}
.assistant-brand strong{display:block;font:500 clamp(20px,3vw,28px) Georgia}
.assistant-brand small{display:block;color:var(--assistant-gold);text-transform:uppercase;letter-spacing:.13em;font-size:9px;margin-top:5px}
.assistant-back{color:var(--assistant-gold);text-decoration:none;font-weight:700}
.assistant-shell{width:min(980px,calc(100% - 28px));margin:40px auto 70px}
.assistant-intro{text-align:center;max-width:760px;margin:0 auto 26px}
.assistant-intro h1{font:600 clamp(38px,6vw,64px) Georgia;margin:8px 0 14px}
.assistant-intro p{font-size:18px;line-height:1.6;color:#55484a}
.assistant-card{background:#fff;border:1px solid var(--assistant-line);border-radius:18px;box-shadow:0 20px 50px rgba(54,15,12,.08);overflow:hidden}
.chat-head{padding:18px 22px;background:#fffaf3;border-bottom:1px solid var(--assistant-line);display:flex;justify-content:space-between;align-items:center}
.chat-head strong{display:block;font:600 23px Georgia}
.chat-head small{display:block;color:var(--assistant-muted);margin-top:4px}
.online-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#3d9958;margin-right:6px}
.restart-button,.secondary-action{border:1px solid var(--assistant-gold);background:#fff;color:var(--assistant-text);border-radius:8px;padding:9px 13px;font-weight:700;cursor:pointer}
.chat-messages{height:min(510px,58vh);overflow-y:auto;padding:24px;background:linear-gradient(180deg,#fff,#fffaf5)}
.message{display:flex;margin-bottom:16px}
.message.bot{justify-content:flex-start}
.message.user{justify-content:flex-end}
.message-bubble{max-width:min(76%,680px);padding:13px 16px;border-radius:16px;line-height:1.55;white-space:pre-wrap}
.message.bot .message-bubble{background:#f1e7da;border-bottom-left-radius:4px}
.message.user .message-bubble{background:var(--assistant-wine);color:#fff;border-bottom-right-radius:4px}
.message-meta{font-size:10px;opacity:.66;margin-top:5px}
.quick-replies{display:flex;flex-wrap:wrap;gap:8px;padding:0 22px 16px;background:#fffaf5}
.quick-replies button{border:1px solid #cba76c;background:#fff;border-radius:999px;padding:10px 14px;cursor:pointer;font-weight:700}
.chat-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:16px 20px;border-top:1px solid var(--assistant-line)}
.chat-compose textarea{width:100%;resize:none;border:1px solid #cdbda9;border-radius:10px;padding:12px 14px;font:inherit}
.chat-compose button,#finishTriage{border:0;border-radius:9px;background:var(--assistant-wine);color:#fff;padding:12px 20px;font-weight:800;cursor:pointer}
.chat-compose button:disabled,#finishTriage:disabled{opacity:.55;cursor:wait}
.file-area,.consent-area{padding:18px 22px;border-top:1px solid var(--assistant-line);background:#fffaf3}
.file-area input{display:block;margin:10px 0}
.file-area small{display:block;color:var(--assistant-muted);margin-bottom:12px}
.consent-area label{display:flex;gap:10px;align-items:flex-start;line-height:1.45}
.consent-area input{margin-top:4px}
#finishTriage{margin-top:16px;width:100%}
.chat-status{min-height:24px;padding:0 22px 14px;font-weight:700}
.chat-status.success{color:#28743d}
.chat-status.error{color:#9b1c1c}
.direct-form{text-align:center;color:var(--assistant-muted)}
.direct-form a{color:var(--assistant-wine);font-weight:800}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:650px){
  .assistant-top{align-items:flex-start}
  .assistant-back{font-size:13px;margin-top:7px}
  .assistant-brand small{max-width:210px}
  .assistant-shell{margin-top:24px}
  .assistant-intro h1{font-size:40px}
  .assistant-intro p{font-size:16px}
  .message-bubble{max-width:88%}
  .chat-compose{grid-template-columns:1fr}
  .chat-compose button{width:100%}
}

/* v29: respeita corretamente as etapas ocultas do chat */
.chat-compose[hidden],.file-area[hidden],.consent-area[hidden],.quick-replies[hidden]{display:none!important}


/* v30 — bloco de destaque para o formulário tradicional */
.direct-form-card{
  margin:32px auto 0;
  padding:30px 26px 34px;
  border:1px solid var(--assistant-gold);
  border-radius:18px;
  background:
    radial-gradient(circle at top, rgba(216,173,98,.08), transparent 42%),
    #fffaf4;
  text-align:center;
  box-shadow:0 16px 34px rgba(54,15,12,.06);
}

.direct-form-divider{
  display:grid;
  grid-template-columns:minmax(30px,1fr) auto minmax(30px,1fr);
  align-items:center;
  gap:14px;
  max-width:760px;
  margin:0 auto 18px;
}

.direct-form-divider>span{
  height:1px;
  background:linear-gradient(
    90deg,
    transparent,
    var(--assistant-gold)
  );
  position:relative;
}

.direct-form-divider>span:last-child{
  background:linear-gradient(
    90deg,
    var(--assistant-gold),
    transparent
  );
}

.direct-form-divider>span::after{
  content:"";
  position:absolute;
  top:50%;
  width:7px;
  height:7px;
  background:var(--assistant-gold);
  transform:translateY(-50%) rotate(45deg);
}

.direct-form-divider>span:first-child::after{
  right:0;
}

.direct-form-divider>span:last-child::after{
  left:0;
}

.direct-form-icon{
  width:58px;
  height:58px;
  border:1px solid var(--assistant-gold);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#b78031;
  font-size:28px;
  background:#fff;
}

.direct-form-card h2{
  margin:0 0 10px;
  font:600 clamp(34px,5vw,52px) Georgia,serif;
  color:var(--assistant-wine);
}

.direct-form-card p{
  margin:0 auto 20px;
  max-width:720px;
  color:#6d5d56;
  font-size:20px;
  line-height:1.55;
}

.direct-form-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-width:min(100%,680px);
  padding:18px 28px;
  border:1px solid var(--assistant-gold);
  border-radius:14px;
  background:linear-gradient(
    135deg,
    var(--assistant-wine),
    #6d111d
  );
  color:#fff;
  text-decoration:none;
  font:700 clamp(20px,3vw,29px) Georgia,serif;
  box-shadow:
    0 10px 20px rgba(58,7,13,.18),
    inset 0 1px 0 rgba(255,255,255,.12);
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background .18s ease;
}

.direct-form-button:hover{
  transform:translateY(-2px);
  background:linear-gradient(
    135deg,
    #4e0b14,
    #851a27
  );
  box-shadow:
    0 14px 26px rgba(58,7,13,.23),
    inset 0 1px 0 rgba(255,255,255,.15);
}

.direct-form-button:focus-visible{
  outline:3px solid rgba(216,173,98,.55);
  outline-offset:4px;
}

.direct-form-button-icon{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  border:2px solid var(--assistant-gold);
  border-radius:8px;
  color:var(--assistant-gold);
  font-family:Arial,sans-serif;
  font-size:28px;
  line-height:1;
}

@media(max-width:650px){
  .direct-form-card{
    padding:24px 16px 26px;
  }

  .direct-form-card h2{
    font-size:36px;
  }

  .direct-form-card p{
    font-size:17px;
  }

  .direct-form-button{
    width:100%;
    min-width:0;
    padding:16px 18px;
    font-size:20px;
  }

  .direct-form-divider{
    gap:10px;
  }

  .direct-form-icon{
    width:50px;
    height:50px;
    font-size:24px;
  }
}


/* v35 — encerramento inteligente e ajuda complementar */
.chat-status.success{
  white-space:normal;
}

.quick-replies button{
  text-align:left;
}

.quick-replies button:last-child{
  border-color:rgba(92,20,28,.28);
}

@media(min-width:760px){
  .quick-replies{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .quick-replies button:last-child{
    grid-column:1/-1;
    text-align:center;
  }
}
