
/* Contact map enlargement and opt-in informational chatbot DEMO.
   Preserves the approved four-brand-colour palette. */
#contact.contact{
  grid-template-columns:minmax(275px,.75fr) minmax(0,1.3fr)!important;
  gap:clamp(23px,3vw,46px)!important;
  align-items:start;
}
#contact .contact-map-card{
  width:100%!important;max-width:none!important;
  padding:17px!important;
}
#contact .contact-map-card .map-frame{
  height:520px!important;min-height:520px!important;
  border-radius:12px!important;
}
#contact .contact-map-card iframe{height:100%!important;width:100%!important;border:0!important}
#contact .contact-information{min-width:0}
#contact .contact-map-heading{gap:7px!important}
/* Button is a small chat launcher, not a giant help tab. */
.chat-launch.chatbot-launch{
 display:inline-flex!important;align-items:center;justify-content:center;gap:10px;
 background:#093624!important;color:#FFFFFF!important;
 border:1px solid #093624!important;
 border-radius:999px!important;
 padding:12px 18px!important;
 height:49px!important;min-height:49px!important;width:auto!important;
 font:700 13px/1.1 system-ui,sans-serif!important;
 right:20px!important;bottom:22px!important;
 box-shadow:0 8px 25px rgba(9,54,36,.19)!important;
 z-index:85!important;
 text-decoration:none!important;white-space:nowrap!important;
 transition:background .22s ease,transform .22s ease,box-shadow .22s ease!important;
}
.chat-launch.chatbot-launch svg{display:block;flex:none;width:20px;height:20px}
.chat-launch.chatbot-launch::after{content:none!important;display:none!important}
.chat-launch.chatbot-launch:hover{
 background:#205B42!important;transform:translateY(-2px)!important;
 box-shadow:0 11px 26px rgba(9,54,36,.24)!important
}
.chat-launch.chatbot-launch:focus-visible,.chatbot-panel button:focus-visible,
.chatbot-panel input:focus-visible{outline:2px solid #205B42!important;outline-offset:3px!important}
.chatbot-panel[hidden]{display:none!important}
.chatbot-panel{
 position:fixed!important;right:20px!important;bottom:84px!important;
 top:auto!important;left:auto!important;
 display:flex!important;flex-direction:column!important;
 width:min(390px,calc(100vw - 36px))!important;
 max-width:calc(100vw - 32px)!important;
 height:min(525px,calc(100dvh - 125px))!important;
 max-height:calc(100dvh - 125px)!important;
 padding:0!important;overflow:hidden!important;
 background:#FFFFFF!important;border:1px solid rgba(126,144,136,.45)!important;
 border-radius:19px!important;
 box-shadow:0 20px 65px rgba(9,54,36,.24)!important;
 z-index:90!important;
 font-family:inherit!important;color:#093624!important;
 isolation:isolate;
}
.chatbot-panel .chatbot-head{
 display:flex;align-items:center;gap:11px;flex:none;margin:0!important;
 padding:15px 15px!important;background:#093624!important;color:#FFFFFF!important;
}
.chatbot-avatar{
 width:36px;height:36px;display:grid;place-items:center;flex:none;
 border:1px solid rgba(255,255,255,.33);border-radius:12px;
 font-size:19px;color:#FFFFFF;background:#205B42;
}
.chatbot-heading{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.chatbot-heading strong{font-size:14px;font-weight:800;color:#FFFFFF}
.chatbot-heading>span{font-size:11px;color:#FFFFFF;opacity:.88}
.chatbot-status-dot{
 display:inline-block;width:6px;height:6px;border-radius:50%;
 background:#C0B5A1;margin-right:4px;vertical-align:middle;
}
.chatbot-panel .chatbot-close{
 display:grid!important;place-items:center;flex:none;width:34px;height:34px;
 margin:0!important;padding:0!important;background:transparent!important;
 color:#FFFFFF!important;border:1px solid rgba(255,255,255,.26)!important;
 border-radius:10px!important;font-size:26px!important;line-height:1!important;
 cursor:pointer;
}
.chatbot-panel .chatbot-close:hover{background:#205B42!important}
.chatbot-messages{
 flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;
 display:flex;flex-direction:column;gap:10px;padding:18px 14px!important;
 background:#FFFFFF;
 scrollbar-width:thin;scrollbar-color:#7E9088 transparent;
}
.chatbot-message{max-width:90%;display:flex;flex-direction:column;gap:7px}
.chatbot-message.is-bot{align-self:flex-start}
.chatbot-message.is-user{align-self:flex-end}
.chatbot-bubble{
 border-radius:14px;padding:11px 13px;font-size:13px;line-height:1.5;
 overflow-wrap:anywhere;white-space:pre-wrap;
}
.chatbot-message.is-bot .chatbot-bubble{
 background:color-mix(in srgb,#7E9088 13%,#FFFFFF);
 border:1px solid color-mix(in srgb,#7E9088 24%,#FFFFFF);
 color:#093624;border-bottom-left-radius:4px;
}
.chatbot-message.is-user .chatbot-bubble{
 background:#205B42;color:#FFFFFF;border-bottom-right-radius:4px;
}
.chatbot-action{
 display:inline-flex!important;align-self:flex-start;align-items:center;
 font:700 12px/1.25 system-ui,sans-serif!important;
 color:#205B42!important;background:#FFFFFF!important;
 text-decoration:none!important;border:1px solid #7E9088!important;
 border-radius:10px;padding:9px 11px;max-width:100%;
}
.chatbot-action:hover{background:color-mix(in srgb,#7E9088 10%,#FFFFFF)!important}
.chatbot-bottom{flex:none;padding:12px!important;border-top:1px solid color-mix(in srgb,#7E9088 28%,#FFFFFF);background:#FFFFFF}
.chatbot-quick{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding-bottom:11px;overscroll-behavior-x:contain}
.chatbot-quick::-webkit-scrollbar{display:none}
.chatbot-panel .chatbot-quick button{
 background:color-mix(in srgb,#7E9088 12%,#FFFFFF)!important;
 border:1px solid color-mix(in srgb,#7E9088 34%,#FFFFFF)!important;
 border-radius:999px!important;color:#093624!important;
 flex:none;white-space:nowrap;
 padding:8px 11px!important;margin:0!important;font:700 11px/1.1 system-ui,sans-serif!important;
 cursor:pointer;min-height:33px;
}
.chatbot-panel .chatbot-quick button:hover{background:#C0B5A1!important}
.chatbot-composer{
 display:flex!important;align-items:center;gap:9px!important;
 background:#FFFFFF!important;border:1px solid #7E9088!important;
 border-radius:12px!important;min-height:45px;
 padding:5px 5px 5px 12px!important;margin:0!important;
 box-shadow:none!important;max-width:none!important;
}
.chatbot-composer input{
 flex:1;min-width:0;height:34px;font:400 13px system-ui,sans-serif!important;
 background:transparent!important;color:#093624!important;border:0!important;
 outline:0!important;padding:0!important;box-shadow:none!important;
}
.chatbot-composer input:focus-visible{outline:none!important}
.chatbot-composer:focus-within{outline:2px solid #205B42!important;outline-offset:1px}
.chatbot-panel .chatbot-composer button{
 display:grid!important;place-items:center!important;flex:none;
 width:34px!important;height:34px!important;margin:0!important;
 padding:0!important;border:0!important;border-radius:8px!important;
 background:#205B42!important;color:#FFFFFF!important;font-size:17px!important;
 cursor:pointer;
}
.chatbot-panel .chatbot-composer button:hover{background:#093624!important}
.chatbot-disclaimer{margin:8px 0 0!important;text-align:center;color:#205B42!important;font-size:10px!important;line-height:1.3!important}
.chatbot-panel .sr-only{
 position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
 overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
@media(max-width:1000px){
 #contact.contact{
  grid-template-columns:minmax(240px,.78fr) minmax(0,1.2fr)!important;
  gap:24px!important;
 }
 #contact .contact-map-card .map-frame{height:455px!important;min-height:455px!important}
}
@media(max-width:760px){
 #contact.contact{grid-template-columns:minmax(0,1fr)!important;gap:17px!important}
 #contact .contact-map-card{padding:10px!important}
 #contact .contact-map-card .map-frame{height:365px!important;min-height:365px!important}
 .chat-launch.chatbot-launch{
   right:13px!important;
   bottom:calc(80px + env(safe-area-inset-bottom,0px))!important;
   padding:0!important;width:50px!important;height:50px!important;
   min-width:50px!important;min-height:50px!important;border-radius:50%!important;
   overflow:visible!important;
 }
 .chat-launch.chatbot-launch svg{width:23px;height:23px}
 .chat-launch.chatbot-launch span{display:none!important}
 .chatbot-panel{
   width:calc(100vw - 22px)!important;max-width:420px!important;
   right:11px!important;
   bottom:calc(141px + env(safe-area-inset-bottom,0px))!important;
   height:min(490px,calc(100dvh - 162px - env(safe-area-inset-bottom,0px)))!important;
   max-height:calc(100dvh - 162px - env(safe-area-inset-bottom,0px))!important;
   border-radius:17px!important;
 }
 .chatbot-messages{padding:13px!important}
 .chatbot-panel .chatbot-head{padding:11px 13px!important}
 .chatbot-quick{padding-bottom:9px}
 .chatbot-bottom{padding:10px!important}
}
@media(max-width:390px){
 #contact .contact-map-card .map-frame{height:325px!important;min-height:325px!important}
}
@media(prefers-reduced-motion:reduce){
 .chat-launch.chatbot-launch{transition:none!important}
 .chat-launch.chatbot-launch:hover{transform:none!important}
}
