/* Native details keeps all four contact routes available without JavaScript. */
.chat-widget {
  position:fixed;
  right:max(24px,env(safe-area-inset-right,0px));
  bottom:max(24px,env(safe-area-inset-bottom,0px));
  z-index:90;
  width:max-content;
  max-width:calc(100vw - 48px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));
  color:var(--ink,#0b1b1c);
}
.chat-widget[open] { z-index:110; }
.chat-widget .chat-launcher {
  position:static;
  inset:auto;
  z-index:auto;
  width:auto;
  max-width:100%;
  margin:0;
  display:flex;
  min-height:44px;
  padding:10px 12px;
  gap:8px;
  border-radius:9px;
  list-style:none;
  cursor:pointer;
  color:var(--paper,#f4f3eb);
  background:var(--teal,#153d35);
  border:1px solid #45615a;
  box-shadow:0 4px 16px #0000001a;
}
.chat-widget .chat-launcher::-webkit-details-marker { display:none; }
.chat-widget .chat-launcher::marker { content:""; }
.chat-widget .chat-launcher:hover { background:var(--teal-light,#245348); box-shadow:0 6px 18px #00000024; }
.chat-widget .chat-launcher:focus-visible { outline:2px solid var(--paper,#f4f3eb); outline-offset:2px; box-shadow:0 0 0 5px var(--teal-light,#245348); }
.chat-widget .chat-launcher>.icon { width:22px; height:22px; }
.chat-widget .chat-launcher .chat-arrow { display:none; }
.contact-options {
  --contact-panel-padding:18px;
  box-sizing:border-box;
  position:absolute;
  right:0;
  bottom:calc(100% + 12px);
  width:300px;
  max-width:calc(100vw - 48px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));
  max-height:calc(100vh - 128px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
  max-height:calc(100dvh - 128px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));
  overflow:auto;
  overscroll-behavior:contain;
  scroll-padding-top:76px;
  padding:var(--contact-panel-padding);
  border:1px solid #ced6c9;
  border-radius:14px;
  color:#183a30;
  background:var(--paper,#f4f3eb);
  box-shadow:0 16px 44px #061c2429,0 3px 10px #061c2412;
}
.contact-options-heading { position:sticky; top:calc(-1 * var(--contact-panel-padding)); z-index:1; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin:calc(-1 * var(--contact-panel-padding)) calc(-1 * var(--contact-panel-padding)) 0; padding:var(--contact-panel-padding) var(--contact-panel-padding) 8px; background:var(--paper,#f4f3eb); }
.contact-options-heading h2 { margin:0; font-size:23px; font-weight:500; line-height:1.3; letter-spacing:-.8px; }
.contact-options-close {
  display:grid;
  place-items:center;
  flex:none;
  width:44px;
  height:44px;
  padding:10px;
  margin:-7px -8px -2px 0;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#335447;
  cursor:pointer;
}
.contact-options-close[hidden] { display:none; }
.contact-options-close svg { width:20px; height:20px; }
.contact-options-close:hover { background:#dce4d5; }
.contact-options .contact-options-help { margin:6px 0 14px; color:#566b5c; font-size:12px; line-height:1.65; }
.contact-options-channels { display:grid; gap:8px; }
.contact-options .contact-channel {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:60px;
  padding:10px;
  border:1px solid #cdd8c7;
  border-radius:9px;
  background:#fcfcf7;
  color:#193b30;
  text-decoration:none;
}
.contact-channel-icon { display:grid; place-items:center; flex:none; width:30px; height:30px; border-radius:50%; color:#315e49; background:#e8eedf; }
.contact-channel-icon .icon { width:20px; height:20px; }
.contact-channel-copy { display:flex; flex:1; flex-direction:column; min-width:0; gap:2px; }
.contact-channel-copy strong { font-size:13px; line-height:1.4; font-weight:500; }
.contact-channel-copy small { font-size:10.5px; line-height:1.45; color:#566b5c; overflow-wrap:anywhere; }
.contact-channel .contact-channel-arrow { flex:none; width:14px; height:14px; color:#6b7e69; }
.contact-options .contact-channel:hover { border-color:#7d9a79; background:#eff3e9; }
.contact-options .contact-options-support { display:inline-flex; align-items:center; gap:9px; min-height:44px; margin-top:6px; color:#315b46; font-size:11px; line-height:1.7; text-decoration:underline; text-underline-offset:4px; }
.contact-options-support .icon { width:13px; height:13px; }
.contact-options a:focus-visible,.contact-options button:focus-visible { outline:2px solid #315e49; outline-offset:3px; }
@media(max-width:680px) {
  .chat-widget { right:max(16px,env(safe-area-inset-right,0px)); bottom:max(16px,env(safe-area-inset-bottom,0px)); max-width:calc(100vw - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)); }
  .chat-widget .chat-launcher { min-height:44px; padding:10px 12px; gap:8px; border-radius:9px; }
  .chat-widget .chat-launcher small,.chat-widget .chat-launcher .chat-arrow { display:none; }
  .contact-options { --contact-panel-padding:14px; position:fixed; right:max(16px,env(safe-area-inset-right,0px)); bottom:calc(max(16px,env(safe-area-inset-bottom,0px)) + 54px); width:300px; max-width:calc(100% - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)); max-height:calc(100vh - 100px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); max-height:calc(100dvh - 100px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); scroll-padding-top:64px; border-radius:12px; }
  .contact-options-heading h2 { font-size:22px; }
  .contact-options-channels { gap:7px; }
  .contact-options .contact-channel { min-height:56px; gap:9px; padding:8px 10px; }
  .contact-channel-icon { width:28px; height:28px; }
}
@media(max-width:370px) {
  .chat-widget .chat-launcher { padding-inline:10px; gap:6px; }
  .chat-widget .chat-launcher>.icon { width:20px; height:20px; }
  .chat-widget .chat-launcher>span { font-size:11px; }
}
@media(max-height:480px) {
  .contact-options { --contact-panel-padding:14px; scroll-padding-top:64px; }
  .contact-options .contact-options-help { margin:4px 0 10px; font-size:11px; line-height:1.6; }
  .contact-options-channels { gap:6px; }
  .contact-options .contact-channel { min-height:52px; padding:7px 9px; }
  .contact-options .contact-options-support { margin-top:4px; }
}
@media print { .chat-widget { display:none!important; } }
