/* SDL Chauffeurs — chat booking widget (uses color/font variables from style.css) */

.chat-widget{
  background:var(--bg-panel-2);
  border:1px solid #3d3b3b;
  border-radius:6px;
  overflow:hidden;
  max-width:640px;
  margin:0 auto;
  box-shadow:0 25px 60px -25px rgba(0,0,0,.7);
}
.chat-widget-header{
  padding:20px 22px;
  border-bottom:1px solid #3d3b3b;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.chat-widget-header h3{
  font-family:var(--display);
  font-weight:500;
  letter-spacing:1.5px;
  text-transform:uppercase;
  font-size:17px;
  margin:0;
  color:var(--white);
}
.chat-widget-header p{
  margin:4px 0 0;
  font-size:12.5px;
  color:var(--text-muted);
}
.chat-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex-shrink:0;box-shadow:0 0 8px var(--gold);}

.chat-thread{
  height:420px;
  overflow-y:auto;
  padding:20px 20px 8px;
  display:flex;
  flex-direction:column;
  gap:14px;
  background:var(--bg-dark);
}
.chat-thread::-webkit-scrollbar{width:6px;}
.chat-thread::-webkit-scrollbar-thumb{background:#3d3b3b;border-radius:3px;}

.chat-msg{
  max-width:82%;
  padding:11px 14px;
  border-radius:3px;
  font-size:14.5px;
  line-height:1.55;
  font-family:var(--sans-light);
  animation:chatRise .25s ease;
  white-space:pre-line;
}
@keyframes chatRise{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

.chat-msg.bot{align-self:flex-start;background:var(--bg-panel-2);border-left:2px solid var(--gold-dark);color:var(--white);}
.chat-msg.user{align-self:flex-end;background:#34322e;color:var(--white);}
.chat-msg.summary{align-self:stretch;background:var(--bg-panel-2);border:1px solid #3d3b3b;border-radius:4px;}

.chat-summary-title{
  font-size:12.5px;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:12px;
  font-family:var(--display);
}
.chat-summary dl{margin:0;display:grid;grid-template-columns:112px 1fr;row-gap:8px;column-gap:10px;}
.chat-summary dt{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding-top:1px;}
.chat-summary dd{margin:0;font-size:14px;color:var(--white);}

.chat-composer{border-top:1px solid #3d3b3b;padding:14px 16px;background:var(--bg-panel-2);}
.chat-choice-row{display:flex;flex-wrap:wrap;gap:8px;}
.chat-choice-btn{
  background:transparent;
  border:1px solid var(--gold-dark);
  color:var(--white);
  padding:9px 14px;
  border-radius:3px;
  font-size:13.5px;
  font-family:var(--sans-light);
  cursor:pointer;
  transition:background .15s,border-color .15s;
}
.chat-choice-btn:hover{background:rgba(243,181,48,.14);border-color:var(--gold);}

.chat-text-row{display:flex;gap:8px;}
.chat-text-row input,.chat-text-row textarea{
  flex:1;
  background:var(--bg-dark);
  border:1px solid #444;
  border-radius:3px;
  color:var(--white);
  padding:11px 12px;
  font-size:14px;
  font-family:var(--sans-light);
}
.chat-text-row textarea{resize:none;}
.chat-text-row input:focus,.chat-text-row textarea:focus{outline:none;border-color:var(--gold-dark);}
.chat-text-row input::placeholder,.chat-text-row textarea::placeholder{color:#7a7772;}

.chat-send-btn{
  background:var(--gold);
  border:none;
  color:#1a1a1a;
  font-weight:700;
  font-size:13.5px;
  padding:0 18px;
  border-radius:3px;
  cursor:pointer;
}
.chat-send-btn:hover{background:var(--gold-dark);}
.chat-send-btn:disabled{background:#454540;color:#8a867d;cursor:not-allowed;}

.chat-error{font-size:12.5px;color:#e08a6f;margin-top:8px;}
.chat-field-hint{font-size:11.5px;color:var(--text-muted);margin-bottom:8px;}

/* Multi-field "group" screens (e.g. airport + flight number + date + time together) */
.chat-group{display:flex;flex-direction:column;gap:10px;margin-bottom:10px;}
.chat-field{display:flex;flex-direction:column;gap:4px;}
.chat-field-label{
  font-size:11px;
  color:var(--text-muted);
  text-transform:uppercase;
  letter-spacing:.05em;
}
.chat-field input,.chat-field select{
  background:var(--bg-dark);
  border:1px solid #444;
  border-radius:3px;
  color:var(--white);
  padding:10px 12px;
  font-size:14px;
  font-family:var(--sans-light);
}
.chat-field input:focus,.chat-field select:focus{outline:none;border-color:var(--gold-dark);}
.chat-group-send{width:100%;padding:11px 0;}

/* "What time?" with a not-sure fallback (item 3) */
.chat-unsure-btn{
  display:block;
  background:none;
  border:none;
  color:var(--text-muted);
  font-size:12.5px;
  text-decoration:underline;
  padding:10px 0 0;
  margin:0 auto 0 0;
  cursor:pointer;
  font-family:var(--sans-light);
}
.chat-unsure-btn:hover{color:var(--gold);}

.chat-restart{padding:16px 20px 20px;text-align:center;background:var(--bg-panel-2);}
.chat-restart button{
  background:none;
  border:1px solid #3d3b3b;
  color:var(--text-muted);
  font-size:13px;
  padding:9px 16px;
  border-radius:3px;
  font-family:var(--sans-light);
  cursor:pointer;
}
.chat-restart button:hover{border-color:var(--gold-dark);color:var(--white);}

@media (max-width:600px){
  .chat-thread{height:380px;}
  .chat-summary dl{grid-template-columns:96px 1fr;}
}
