/* Back to top enters from the right while WhatsApp moves left to make room. */
#accessatl-back-to-top {transform:translateX(80px); transition:opacity .35s ease,transform .35s cubic-bezier(.22,1,.36,1),visibility .35s ease,background-color .25s ease;}
#accessatl-back-to-top.is-visible {transform:translateX(0);}
#accessatl-whatsapp {
  position:fixed; z-index:45; right:clamp(20px,3vw,40px);
  bottom:calc(24px + env(safe-area-inset-bottom,0px));
  box-sizing:border-box; display:inline-flex; align-items:center; justify-content:center; gap:9px;
  width:52px; height:52px; min-height:52px; padding:0; border:0; border-radius:50%; cursor:pointer;
  background:#25d366; color:#fff; font:600 14px/1 Inter,"Segoe UI",sans-serif;
  text-decoration:none; white-space:nowrap; box-shadow:0 8px 26px rgba(0,42,31,.2);
  transition:right .35s cubic-bezier(.22,1,.36,1),box-shadow .25s ease,background-color .25s ease;
}
#accessatl-whatsapp svg {width:22px;height:22px;flex:none;}
body.accessatl-back-to-top-visible #accessatl-whatsapp {right:calc(clamp(20px,3vw,40px) + 64px);}
#accessatl-whatsapp:hover {color:#fff;background:#1eb958;box-shadow:0 10px 28px rgba(0,42,31,.28);}
#accessatl-whatsapp:focus-visible {outline:3px solid #f4c542;outline-offset:4px;}
body.accessatl-menu-open #accessatl-whatsapp {opacity:0;visibility:hidden;pointer-events:none;}
.accessatl-chat[hidden] {display:none!important;}
.accessatl-chat {
  position:fixed; z-index:46; right:clamp(20px,3vw,40px);
  bottom:calc(88px + env(safe-area-inset-bottom,0px));
  width:min(350px,calc(100vw - 32px)); max-height:calc(100dvh - 105px); padding:0;
  overflow-y:auto; box-sizing:border-box; border-radius:16px;
  background:#fff; color:#172b2e; box-shadow:0 18px 55px rgba(0,33,35,.25);
  border:1px solid #d9e9e9; font-family:Inter,"Segoe UI",sans-serif;
}
.accessatl-chat-header {display:flex; align-items:flex-start; justify-content:space-between; gap:12px; padding:21px 22px; background:#06484c; color:#fff;}
.accessatl-chat-header h2 {margin:0; font-size:17px; font-weight:650; line-height:1.3; letter-spacing:0; color:#fff;}
.accessatl-chat-header p {margin:5px 0 0; font-size:12px; line-height:1.45; color:#c2dfdc;}
.accessatl-chat-close {display:grid; place-items:center; flex:none; width:36px; height:36px; margin:-5px -6px 0 0; padding:0; color:#fff; background:#ffffff12; border:1px solid #ffffff30; border-radius:50%; cursor:pointer;}
.accessatl-chat-close svg, .accessatl-chat-send svg {width:18px; height:18px;}
.accessatl-chat-content {padding:20px 22px 22px;}
.accessatl-chat-greeting {margin:0 0 18px; padding:13px 15px; border-radius:12px 12px 12px 3px; background:#edf6f6; color:#1d4243; font-size:14px; line-height:1.5;}
#accessatl-chat-form {display:block; margin:0; padding:0; background:none; border:0;}
#accessatl-chat-form label {display:block; margin:0 0 7px; color:#486261; font-size:12px; font-weight:600;}
#accessatl-chat-message {display:block; width:100%; min-height:84px; resize:vertical; box-sizing:border-box; padding:12px; border:1px solid #cddfdd; border-radius:9px; color:#172b2e; background:#fff; font:400 16px/1.45 Inter,"Segoe UI",sans-serif;}
#accessatl-chat-message:focus-visible, .accessatl-chat-close:focus-visible, .accessatl-chat-send:focus-visible {outline:3px solid #f4c542; outline-offset:2px;}
.accessatl-chat-send {display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:46px; margin:12px 0 0; padding:10px 14px; border:0; border-radius:9px; background:#087f83; color:#fff; font:600 14px/1.2 Inter,"Segoe UI",sans-serif; cursor:pointer;}
.accessatl-chat-send:hover {background:#06484c;}
.accessatl-chat-note {margin:10px 0 0; color:#6b817e; font-size:11px; line-height:1.45;}
body.accessatl-menu-open .accessatl-chat {visibility:hidden;pointer-events:none;}
/* WhatsApp-inspired scheme and conversation surface. */
.accessatl-chat {border:0; border-radius:13px; box-shadow:0 15px 50px rgba(0,0,0,.22);}
.accessatl-chat-header {align-items:center; gap:13px; padding:22px 20px; background:#075e54;}
.accessatl-chat-heading {min-width:0; flex:1;}
.accessatl-chat-header h2 {font-size:17px; font-weight:650;}
.accessatl-chat-header p {font-size:12px; color:#d6eae6;}
.accessatl-chat-avatar {display:grid; place-items:center; width:48px; height:48px; flex:0 0 48px; border-radius:50%; background:#ffffff12; border:1px solid #ffffff18; color:#fff;}
.accessatl-chat-avatar svg {width:26px; height:26px;}
.accessatl-chat-close {align-self:flex-start; width:30px; height:30px; margin:-12px -10px 0 0; background:transparent; border:0; border-radius:50%; color:#b1d1ca;}
.accessatl-chat-close:hover {background:#ffffff12; color:#fff;}
.accessatl-chat-content {padding:0;}
.accessatl-chat-conversation {box-sizing:border-box; padding:24px 20px; min-height:178px; background:#eae5dc url('chat-pattern.svg') repeat; background-size:220px 220px;}
.accessatl-chat-greeting {position:relative; display:block; max-width:235px; box-sizing:border-box; margin:0; padding:12px 14px 16px; border-radius:0 9px 9px 9px; background:#fff; color:#303b3a; font-size:14px; line-height:1.45; box-shadow:0 1px 2px #00000018;}
.accessatl-chat-greeting::before {content:""; position:absolute; top:0; left:-8px; width:0; height:0; border-top:10px solid #fff; border-left:8px solid transparent;}
.accessatl-chat-sender {display:block; margin-bottom:7px; font-size:12px; font-weight:650; color:#7b8883;}
#accessatl-chat-form {padding:17px 20px 18px; background:#fff;}
#accessatl-chat-form label {color:#66736e; font-weight:500;}
#accessatl-chat-message {background:#f5f6f6; border-color:#e5e8e6; border-radius:12px; min-height:74px;}
#accessatl-chat-message::placeholder {color:#919a96;}
.accessatl-chat-send {background:#25d366; border-radius:999px; font-weight:650;}
.accessatl-chat-send:hover {background:#20bd5a;}
.accessatl-chat-note {color:#82908a; text-align:center; font-size:10px;}
#accessatl-chat-message:focus-visible, .accessatl-chat-close:focus-visible, .accessatl-chat-send:focus-visible {outline-color:#128c7e;}
/* Continuous patterned panel with a quiet outlined composer. */
.accessatl-chat {background:#eae5dc url('chat-pattern.svg') repeat; background-size:220px 220px;}
.accessatl-chat-header {position:relative; display:block; min-height:44px; padding:0; background:transparent;}
.accessatl-chat-close {position:absolute; top:9px; right:10px; margin:0; color:#52665c; background:#ffffff80;}
.accessatl-chat-close:hover {color:#075e54; background:#fff;}
.accessatl-chat-content, .accessatl-chat-conversation, #accessatl-chat-form {background:transparent;}
.accessatl-chat-conversation {min-height:150px; padding-top:8px; padding-bottom:20px;}
#accessatl-chat-form {padding-top:0; padding-bottom:20px;}
#accessatl-chat-message {min-height:88px; background:transparent; border:1.5px solid #8c9f95; color:#243f35;}
/* Restore the branded green chat masthead. */
.accessatl-chat-header {display:flex; align-items:center; justify-content:space-between; gap:13px; min-height:92px; box-sizing:border-box; padding:21px 20px; background:#075e54; color:#fff;}
.accessatl-chat-header .accessatl-chat-heading {flex:1; min-width:0;}
.accessatl-chat-header h2 {margin:0; color:#fff; font-size:17px; font-weight:650; line-height:1.3; letter-spacing:0;}
.accessatl-chat-close {position:static; align-self:flex-start; margin:-10px -10px 0 0; color:#c5dfd9; background:transparent;}
.accessatl-chat-close:hover {color:#fff; background:#ffffff12;}
.accessatl-chat-conversation {padding-top:24px;}
.accessatl-chat-avatar img {display:block;width:34px;height:34px;object-fit:contain;}
.accessatl-chat-avatar {position:relative;}
.accessatl-chat-avatar::after {content:"";position:absolute;right:-1px;bottom:0;width:11px;height:11px;box-sizing:border-box;border:2px solid #075e54;border-radius:50%;background:#25d366;}
.accessatl-chat-header h2 {font-size:15.5px;line-height:1.3;}
.accessatl-chat-header .accessatl-chat-subtitle {margin:4px 0 0;font-size:11.5px;line-height:1.35;letter-spacing:.015em;color:#d6eae6;}
@media(max-width:380px) {
  .accessatl-chat-header {gap:10px;padding-inline:16px;}
  .accessatl-chat-avatar {width:44px;height:44px;flex-basis:44px;}
  .accessatl-chat-header h2 {font-size:14px;}
  .accessatl-chat-close {width:28px;height:28px;}
}
@media(max-width:600px) {
  #accessatl-whatsapp {right:16px;bottom:calc(18px + env(safe-area-inset-bottom,0px));width:46px;height:46px;min-height:46px;padding:0;}
  body.accessatl-back-to-top-visible #accessatl-whatsapp {right:72px;}
  .accessatl-chat {right:16px;bottom:calc(76px + env(safe-area-inset-bottom,0px));}
}
@media(prefers-reduced-motion:reduce) {
  #accessatl-whatsapp, #accessatl-back-to-top {transition:none;}
  #accessatl-back-to-top:not(.is-visible) {transform:none;}
}
