/* VoyaFare customer-service quick answers, lightweight and mobile-first */
#vf-concierge{margin:18px 0 30px;background:#f2f7ff;border:1px solid #cbdcf1;border-radius:18px;padding:clamp(16px,3vw,25px)}
#vf-concierge h2{margin:0 0 8px;font-size:23px;color:#103c70}
#vf-concierge p{color:#405d7c;line-height:1.5;font-size:14px;margin:8px 0}
#vf-concierge .vf-chat-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
#vf-concierge label{display:block;font-weight:750;color:#153c69;font-size:13px;margin:12px 0 6px}
#vf-concierge select,#vf-concierge input,#vf-concierge textarea{font:inherit;padding:12px;border:1px solid #aabfd6;border-radius:10px;background:#fff;color:#173a60;min-height:44px;max-width:100%}
#vf-concierge select{width:100%}
#vf-concierge input{flex:1 1 230px}
#vf-concierge button{font:inherit;border:0;border-radius:10px;background:#155fb8;color:#fff;padding:12px 15px;cursor:pointer;font-weight:780;min-height:44px}
#vf-concierge button:focus-visible,#vf-concierge select:focus-visible,#vf-concierge input:focus-visible,#vf-concierge textarea:focus-visible{outline:3px solid #78b2f6;outline-offset:2px}
#vf-concierge .vf-topic{font-size:13px;min-height:38px;background:#fff;color:#155aab;border:1px solid #bfcee2;padding:8px 11px}
#vf-concierge .vf-reply{background:#fff;border:1px solid #d7e2f0;border-radius:13px;padding:14px 16px;margin:15px 0 6px;line-height:1.6;color:#143d6c}
#vf-concierge .vf-footnote{font-size:12px;color:#60758d}
#vf-concierge a{color:#0c5cb8;font-weight:750}
#vf-concierge .vf-contact{display:flex;gap:12px;flex-wrap:wrap;margin:13px 0 0}
#vf-concierge .vf-contact a{display:inline-flex;align-items:center;min-height:40px;padding:8px 12px;background:#fff;border:1px solid #c5d7ec;border-radius:10px;text-decoration:none}

/* Compact subject shortcuts; service-specific posters reuse existing VoyaFare assets. */
#vf-concierge .vf-service-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:10px 0}
#vf-concierge .vf-service-pill{border:1px solid #bad1ea;
  border-radius:12px;min-height:44px;padding:8px 7px;background:#fff;
  color:#154675;font-size:12px;font-weight:750;cursor:pointer;white-space:normal;line-height:1.3}
#vf-concierge .vf-service-pill[aria-pressed="true"]{outline:2px solid #0c6acb;outline-offset:1px}
#vf-concierge .vf-service-pill[data-service="medical"]{
  background:linear-gradient(90deg,rgba(7,52,87,.79),rgba(9,84,112,.76)),
    url('/images/voyafare-medical-video-poster.jpg') center/cover;color:white}
#vf-concierge .vf-service-pill[data-service="shipping"]{
  background:linear-gradient(90deg,rgba(7,52,87,.77),rgba(8,64,107,.79)),
    url('/images/voyafare-international-shipping-poster.jpg') center/cover;color:white}
#vf-concierge .vf-service-banner{display:flex;align-items:center;min-height:54px;
  margin:10px 0;padding:12px 14px;border-radius:12px;
  background:#e8f2ff;color:#133e70;font-size:13px;font-weight:700;line-height:1.45}
#vf-concierge[data-service="medical"] .vf-service-banner{
  background:linear-gradient(90deg,rgba(4,38,68,.84),rgba(6,55,89,.65)),
    url('/videos/voyafare-medical-travel-cover.jpg') center/cover;
  color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4);min-height:84px}
#vf-concierge[data-service="shipping"] .vf-service-banner{
  background:linear-gradient(90deg,rgba(4,35,65,.81),rgba(5,54,93,.63)),
    url('/images/voyafare-international-shipping-poster.jpg') center/cover;
  color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4);min-height:84px}
#vf-concierge .vf-more-topics{border:2px solid #7ca7d6;background:#eaf3ff;
  color:#0956a8;font-weight:850}
#vf-concierge .vf-topic{white-space:normal;max-width:100%;text-align:left}
@media(prefers-reduced-motion:reduce){
  #vf-concierge .vf-service-pills{scroll-behavior:auto}
}

/* Conversational transcript; local FAQ and optional AI share the same accessible UI. */
#vf-concierge .vf-chat-transcript{display:flex;flex-direction:column;gap:9px;min-height:120px;max-height:300px;overflow:auto;overscroll-behavior:contain;margin:13px 0;padding:10px;background:#eaf2fd;border:1px solid #d9e6f5;border-radius:13px}
#vf-concierge .vf-chat-bubble{border-radius:13px;padding:10px 13px;line-height:1.5;font-size:13px;max-width:94%;display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere}
#vf-concierge .vf-chat-bubble strong{font-size:11px;letter-spacing:.02em}
#vf-concierge .vf-chat-user{background:#dcecff;color:#163f70;align-self:flex-end}
#vf-concierge .vf-chat-assistant{background:#fff;border:1px solid #cbdbed;color:#173c67;align-self:flex-start}
#vf-concierge #vf-ask:disabled{opacity:.6;cursor:wait}

/* Chat first: a visible conversation and composer on mobile and desktop. */
#vf-concierge .vf-screen-reader-only{position:absolute!important;width:1px!important;height:1px!important;
 padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;
 white-space:nowrap!important;border:0!important}
#vf-concierge .vf-topic-drawer{margin:10px 0;border-radius:10px;background:#fff;border:1px solid #d3e2f3;padding:10px}
#vf-concierge .vf-topic-drawer summary{cursor:pointer;color:#174b86;font-weight:750;font-size:13px}
#vf-concierge .vf-topic-drawer #vf-topics{padding:4px 0}
#vf-concierge .vf-chat-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
#vf-concierge .vf-chat-composer textarea{width:100%;min-width:0;resize:vertical;min-height:70px;max-height:145px;font-size:16px;line-height:1.4}
#vf-concierge .vf-chat-composer #vf-ask{min-width:74px;align-self:stretch;background:#0e69cf}
#vf-concierge .vf-chat-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:8px}
#vf-concierge .vf-chat-actions button{font-size:12px;min-height:38px;padding:8px 12px;background:#ecf4ff;color:#185183;border:1px solid #c2d7f0}
#vf-concierge .vf-chat-actions button[hidden]{display:none!important}
#vf-concierge .vf-contact{margin-top:11px}
@media(max-width:360px){#vf-concierge .vf-service-pills{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* The three dots show that an actual AI request is awaiting its response.
   They do not suggest a local FAQ lookup is a reasoning model. */
#vf-concierge .vf-chat-pending{min-width:140px}
#vf-concierge .vf-chat-typing-dots{display:inline-flex;align-items:center;gap:5px;min-height:22px}
#vf-concierge .vf-chat-typing-dot{
  display:block;width:7px;height:7px;border-radius:50%;background:#2367bd;
  animation:vf-chat-thinking 1.1s ease-in-out infinite
}
#vf-concierge .vf-chat-typing-dot:nth-child(2){animation-delay:.16s}
#vf-concierge .vf-chat-typing-dot:nth-child(3){animation-delay:.32s}
@keyframes vf-chat-thinking{
  0%,65%,100%{transform:translateY(0);opacity:.45}
  32%{transform:translateY(-5px);opacity:1}
}
@media(prefers-reduced-motion:reduce){
  #vf-concierge .vf-chat-typing-dot{animation:none!important;opacity:.8}
}

/* Quote conversion is an explicit customer action, not a hidden chat capture. */
#vf-concierge .vf-quote-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px;align-items:center}
#vf-concierge .vf-quote-actions a{display:inline-flex;align-items:center;justify-content:center;border:1px solid #0f63bd;padding:9px 12px;border-radius:9px;font-size:12px;font-weight:800;text-decoration:none;min-height:39px}
#vf-concierge .vf-quote-actions .vf-quote-call{background:#0e68c9;color:#fff}
#vf-concierge .vf-quote-actions .vf-quote-link{background:#edf6ff;color:#0755a8}
#vf-concierge .vf-quote-note{flex-basis:100%;font-size:12px;line-height:1.5;color:#355b83}
#vf-concierge .vf-quote-actions a:focus-visible{outline:3px solid #74baff;outline-offset:2px}

/* Quote requests are explicit, separate from chat and fare-alert subscription. */
#vf-concierge .vf-quote-actions button,#vf-concierge .vf-quote-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 12px;border-radius:9px;font-size:12px;font-weight:800;cursor:pointer;text-decoration:none;border:1px solid #0e63bf}
#vf-concierge .vf-quote-actions .vf-quote-call{background:#0e68c9;color:#fff}
#vf-concierge .vf-quote-actions .vf-quote-link{background:#edf6ff;color:#0755a8}
#vf-concierge .vf-inline-quote-panel{margin:12px 0;padding:14px;border:1px solid #bcd5f1;border-radius:13px;background:#fafdff;color:#173d69;max-height:450px;overflow-y:auto}
#vf-concierge .vf-inline-quote-panel[hidden]{display:none!important}
#vf-concierge .vf-inline-quote-panel h3{font-size:17px;margin:0 0 5px}
#vf-concierge .vf-inline-quote-panel p{font-size:12px;line-height:1.5}
#vf-concierge .vf-inline-quote-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
#vf-concierge .vf-inline-quote-fields label{min-width:0;font-size:12px;font-weight:750}
#vf-concierge .vf-inline-quote-fields input,#vf-concierge .vf-inline-quote-fields select{width:100%;min-width:0;margin-top:4px;min-height:42px;border:1px solid #aecae8;border-radius:8px;padding:8px;font-size:16px;background:white;color:#173d69}
#vf-concierge .vf-inline-quote-fields .vf-quote-wide{grid-column:1/-1}
#vf-concierge .vf-quote-consent{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.45;margin:10px 0}
#vf-concierge .vf-quote-consent input{margin:3px 0 0;flex-shrink:0}
#vf-concierge .vf-quote-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
#vf-concierge .vf-inline-quote-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
#vf-concierge .vf-inline-quote-buttons button,#vf-concierge .vf-inline-quote-buttons a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border:1px solid #176ac6;border-radius:8px;padding:8px 12px;font-size:12px;font-weight:800;text-decoration:none}
#vf-concierge .vf-inline-quote-buttons .vf-quote-send{background:#0e68c9;color:white}
#vf-concierge .vf-inline-quote-buttons .vf-quote-call{background:#edf6ff;color:#0755a8}
#vf-concierge .vf-inline-quote-buttons .vf-quote-dismiss{background:white;color:#1e537e}
#vf-concierge .vf-inline-quote-buttons button:disabled{opacity:.55;cursor:not-allowed}
#vf-concierge .vf-quote-submit-status{font-weight:650}
#vf-concierge .vf-quote-privacy{color:#56738e}
#vf-concierge .vf-fare-alert-entry{margin:14px 0}
#vf-concierge .vf-fare-alert-entry a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:1px solid #b6d6fa;border-radius:9px;background:#eaf4ff;font-size:13px;color:#0d61bf;font-weight:800;text-decoration:none}
@media(max-width:570px){#vf-concierge .vf-inline-quote-fields{grid-template-columns:1fr}}

/* Chat-first customer assistant: hide navigation shortcuts, not any knowledge
   sources or backend service routing. Visitors can ask all topics directly. */
#vf-concierge label[for="vf-service"],
#vf-concierge #vf-service,
#vf-concierge #vf-topics,
#vf-concierge .vf-topic-drawer,
#vf-concierge .vf-service-pills,
#vf-concierge .vf-service-banner{display:none!important}
#vf-concierge .vf-chat-intro{margin:6px 0 13px;color:#506780;font-size:13px;line-height:1.45}
#vf-concierge .vf-chat-transcript{
  min-height:185px;max-height:min(48dvh,400px);padding:13px;
  margin:12px 0 13px;background:#f5f9fe;border-color:#d8e4f1
}
#vf-concierge .vf-chat-composer{margin-top:6px!important}
#vf-concierge .vf-chat-composer textarea{border:1px solid #adc9e8;border-radius:12px}
#vf-concierge #vf-ask{border-radius:12px}
.vfSiteHelpPanel #vf-concierge .vf-chat-transcript{min-height:170px;max-height:min(33dvh,280px)}
