/* Ask Five West: the website's assistant (/assets/fw-chat.js), in the site's off-white look (user, 2026-09-26: "the button
   aesthetic does not match the website"): the launcher is the site's primary button (clay pill), the panel a white card with the
   Quote Builder's app bar on top, choices are the site's outlined buttons and the way onward its clay button. Scoped under .fwc-. */
.fwc *{box-sizing:border-box}
.fwc{font-family:var(--sans,"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif)}

/* ---- the launcher: .btn.btn-primary ---- */
.fwc-launch{position:fixed;right:18px;bottom:18px;z-index:70;display:inline-flex;align-items:center;gap:10px;font:inherit;font-family:var(--sans,"DM Sans",sans-serif);font-size:15px;font-weight:600;letter-spacing:.005em;padding:13px 22px 13px 18px;border-radius:999px;border:1.5px solid transparent;background:var(--clay-deep,#A8482A);color:#FCF6EE;cursor:pointer;box-shadow:0 8px 22px rgba(168,72,42,.22),0 2px 6px rgba(40,30,20,.08);transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.fwc-launch[hidden]{display:none}
.fwc-launch:hover{background:var(--clay,#C2653F);transform:translateY(-2px);box-shadow:0 14px 30px rgba(168,72,42,.26),0 2px 6px rgba(40,30,20,.08)}
.fwc-launch:focus-visible{outline:2px solid var(--clay-deep,#A8482A);outline-offset:3px}
.fwc-launch .ic{width:18px;height:18px;flex:none}
.fwc-launch .dot{width:8px;height:8px;border-radius:50%;background:#FCF6EE;flex:none;animation:fwcpulse 2s ease-out infinite}
.fwc-launch.in{animation:fwcin .5s cubic-bezier(.2,.7,.2,1) both}
@keyframes fwcin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes fwcpulse{0%{box-shadow:0 0 0 0 rgba(252,246,238,.75)}70%{box-shadow:0 0 0 9px rgba(252,246,238,0)}100%{box-shadow:0 0 0 0 rgba(252,246,238,0)}}
@keyframes fwcpulse2{0%{box-shadow:0 0 0 0 rgba(231,174,92,.7)}70%{box-shadow:0 0 0 9px rgba(231,174,92,0)}100%{box-shadow:0 0 0 0 rgba(231,174,92,0)}}

/* ---- the panel: a white card ---- */
.fwc-desk{position:fixed;right:16px;bottom:16px;z-index:80;width:min(400px,calc(100vw - 32px));height:min(620px,calc(100vh - 32px));height:min(620px,calc(100dvh - 32px));display:flex;flex-direction:column;background:#FFFFFF;border:1px solid var(--line-2,#D6CFC2);border-radius:18px;overflow:hidden;box-shadow:0 24px 60px rgba(40,30,20,.14),0 2px 8px rgba(40,30,20,.06)}
.fwc-desk[hidden]{display:none}
/* the Quote Builder's app bar */
.fwc-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 12px 11px 18px;background:#FBFAF7;border-bottom:1px solid var(--line,#E7E2D9);color:var(--ink,#332A1F)}
.fwc-head .t{display:flex;align-items:center;gap:8px;font-family:var(--serif,"Fraunces",Georgia,serif);font-size:17px;font-weight:600;color:var(--ink,#332A1F);cursor:default;user-select:none;touch-action:manipulation}
.fwc-head .t .dot{width:8px;height:8px;border-radius:50%;background:var(--sun,#E7AE5C);animation:fwcpulse2 2s ease-out infinite}
.fwc-head .sub{font-family:var(--mono,ui-monospace,SFMono-Regular,Menlo,monospace);font-size:10.5px;letter-spacing:.06em;color:var(--ink-faint,#6B6150);margin:3px 0 0 16px}
.fwc-head .hb{display:flex;align-items:center;gap:2px}
.fwc-head .x,.fwc-head .re{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:none;border:0;border-radius:999px;color:var(--ink-dim,#5C5244);cursor:pointer;font-size:19px;line-height:1}
.fwc-head .re{font-size:17px}
.fwc-head .x:hover,.fwc-head .re:hover{color:var(--clay-deep,#A8482A);background:rgba(168,72,42,.07)}
.fwc-head .x:focus-visible,.fwc-head .re:focus-visible{outline:2px solid var(--clay-deep,#A8482A);outline-offset:1px}
.fwc-prog{height:3px;background:var(--line,#E7E2D9);flex:none}
.fwc-prog i{display:block;height:100%;width:0;background:var(--clay,#C2653F);transition:width .5s cubic-bezier(.2,.7,.2,1)}
.fwc-desk.admin .fwc-head{box-shadow:inset 0 -2px 0 var(--clay,#C2653F)}
.fwc-desk.admin .fwc-head .sub{color:var(--clay-deep,#A8482A);font-weight:700}

/* ---- the conversation ---- */
.fwc-log{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:10px;background:#FBFAF7}
.fwc-log > *{flex:none}
.fwc-msg{max-width:90%;padding:10px 14px;border-radius:16px;font-size:14.5px;line-height:1.55}
.fwc-msg.bot{background:#FFFFFF;border:1px solid var(--line,#E7E2D9);color:var(--ink-2,#3D3428);align-self:flex-start;border-bottom-left-radius:5px;box-shadow:0 1px 2px rgba(40,30,20,.04)}
.fwc-msg.bot b{color:var(--ink,#2A2219);font-weight:600}
.fwc-msg.bot a{color:var(--clay-deep,#A8482A);font-weight:600;text-decoration:underline;text-decoration-color:rgba(168,72,42,.4);text-underline-offset:2px}
.fwc-msg.bot a:hover{text-decoration-color:currentColor}
.fwc-msg.bot.q{background:transparent;border-color:transparent;box-shadow:none;color:var(--ink-dim,#5C5244);padding:2px 4px 0;font-size:13.5px;font-weight:600}
.fwc-msg.bot.flag{background:rgba(168,72,42,.05);border-color:rgba(168,72,42,.28);color:var(--ink,#2A2219)}
.fwc-msg.bot.fit{background:rgba(95,112,80,.07);border-color:rgba(95,112,80,.35);color:var(--ink,#2A2219)}
.fwc-msg.bot.typing{padding:9px 14px}
.fwc-msg.me{background:var(--clay-deep,#A8482A);color:#FCF6EE;align-self:flex-end;border-bottom-right-radius:5px;font-weight:600;max-width:82%}
.fwc-list{margin:6px 0 2px;padding-left:18px;display:grid;gap:3px}
.fwc-why{display:block;margin-top:6px;font-size:12.5px;color:var(--ink-faint,#6B6150)}
.fwc-typing{display:inline-flex;gap:4px;padding:4px 0}
.fwc-typing i{width:6px;height:6px;border-radius:50%;background:var(--ink-faint,#6B6150);animation:fwcblink 1.1s infinite}
.fwc-typing i:nth-child(2){animation-delay:.18s}
.fwc-typing i:nth-child(3){animation-delay:.36s}
@keyframes fwcblink{0%,80%,100%{opacity:.25}40%{opacity:1}}

/* ---- choices: .btn-ghost; the way onward: .btn-primary; "ask something else": a quiet text link ---- */
.fwc-opts{display:flex;flex-wrap:wrap;gap:7px;align-self:flex-start;max-width:100%}
.fwc-opts.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch}
.fwc-opt{font:inherit;font-family:var(--sans,"DM Sans",sans-serif);font-size:14px;font-weight:600;line-height:1.3;letter-spacing:.005em;padding:9px 16px;border-radius:999px;border:1.5px solid var(--line-2,#D6CFC2);background:#FFFFFF;color:var(--ink,#332A1F);cursor:pointer;text-align:left;text-decoration:none;display:inline-flex;align-items:center;gap:7px;transition:transform .2s ease,border-color .2s ease,color .2s ease,background .2s ease}
.fwc-opts.grid .fwc-opt{border-radius:14px;padding:10px 13px}
.fwc-opt:hover{border-color:var(--clay,#C2653F);color:var(--clay-deep,#A8482A);transform:translateY(-1px)}
.fwc-opt:focus-visible{outline:2px solid var(--clay-deep,#A8482A);outline-offset:2px}
.fwc-opt.go{background:var(--clay-deep,#A8482A);border-color:var(--clay-deep,#A8482A);color:#FCF6EE;box-shadow:0 6px 16px rgba(168,72,42,.18)}
.fwc-opt.go:hover{background:var(--clay,#C2653F);border-color:var(--clay,#C2653F);color:#FCF6EE}
.fwc-opt.go::after{content:"\2192";transition:transform .2s ease}
.fwc-opt.go:hover::after{transform:translateX(3px)}
.fwc-opt.ghost{border-color:transparent;background:transparent;color:var(--ink-dim,#5C5244);padding:9px 6px;text-decoration:underline;text-decoration-color:rgba(92,82,68,.4);text-underline-offset:3px}
.fwc-opt.ghost:hover{color:var(--clay-deep,#A8482A);border-color:transparent;text-decoration-color:currentColor;transform:none}

/* ---- the typed answer ---- */
.fwc-foot{border-top:1px solid var(--line,#E7E2D9);padding:10px 14px 9px;background:#FFFFFF;flex:none}
.fwc-inrow{display:flex;gap:8px;margin-bottom:7px}
.fwc-inrow[hidden]{display:none}
.fwc-inrow input{flex:1;min-width:0;font:inherit;font-size:15px;padding:10px 14px;border:1.5px solid var(--line-2,#D6CFC2);border-radius:12px;background:#FFFFFF;color:var(--ink,#332A1F)}
.fwc-inrow input::placeholder{color:#A39884}
.fwc-inrow input:focus{outline:none;border-color:var(--clay-deep,#A8482A);box-shadow:0 0 0 3px rgba(168,72,42,.14)}
.fwc-inrow button{font:inherit;font-weight:600;font-size:14.5px;padding:10px 18px;border-radius:999px;border:0;background:var(--clay-deep,#A8482A);color:#FCF6EE;cursor:pointer;transition:background .2s ease}
.fwc-inrow button:hover{background:var(--clay,#C2653F)}
.fwc-fine{font-size:11.5px;color:var(--ink-faint,#6B6150);line-height:1.45;margin:0}
body.fwc-open .fwc-launch{display:none}

/* ---- phones: the panel is the screen ---- */
@media(max-width:640px){.fwc-inrow input{font-size:16px}.fwc-head .sub{display:none}.fwc-opt{padding:10px 16px}}
@media(max-width:520px){.fwc-desk{right:0;bottom:0;width:100vw;height:100vh;height:100dvh;border-radius:0;border:0}.fwc-launch{right:14px;bottom:14px}}
@media(prefers-reduced-motion:reduce){.fwc-launch .dot,.fwc-head .t .dot,.fwc-typing i{animation:none}.fwc-launch.in{animation:none}.fwc-opt,.fwc-launch{transition:none}}
@media print{.fwc{display:none}}
