.contact-trigger{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 18px;border:0;border-radius:999px;background:#040264;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.contact-trigger[hidden],.contact-sheet [hidden]{display:none!important}
.contact-float{position:fixed;right:calc(16px + env(safe-area-inset-right));bottom:calc(16px + env(safe-area-inset-bottom));z-index:45;max-width:calc(100vw - 32px);background:#fff;color:#040264;border:1px solid #04026424;box-shadow:0 8px 26px #04026433}
.contact-header{min-height:44px;padding:6px 12px;background:transparent;color:inherit;font-size:inherit}
.contact-sheet{box-sizing:border-box;width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:24px;border:0;border-radius:24px;background:#fff;color:#152040;box-shadow:0 20px 70px #0003;overflow-y:auto;overscroll-behavior:contain}
body:has(.contact-sheet[open]){overflow:hidden}
.contact-sheet::backdrop{background:#111b3a80}
.contact-sheet header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;margin-bottom:20px}
.contact-sheet h2{margin:0;font-size:24px;color:#040264;line-height:1.2}
.contact-sheet p{margin:8px 0 0;font-size:14px;line-height:1.5;color:#637087}
.contact-close{flex-shrink:0;min-width:44px;min-height:44px;border:0;border-radius:50%;background:#f1f3f9;color:#040264;font-size:28px;cursor:pointer}
.contact-channels{display:grid;gap:10px}
.contact-channel{display:flex;align-items:center;gap:14px;min-height:72px;padding:14px;border:1px solid #e0e4ef;border-radius:16px;text-decoration:none;color:#040264;background:#f8f9fd}
.contact-channel span:last-child{min-width:0}
.contact-channel strong,.contact-channel small{display:block;overflow-wrap:anywhere}
.contact-channel small{margin-top:4px;font-size:13px;color:#637087}
.contact-icon{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:12px;background:#e9e9f6;font-size:23px}
.contact-whatsapp{background:#f1faf5;border-color:#cce5d8;color:#12623e}
.contact-whatsapp .contact-icon{background:#dcefe4}
.contact-sheet .contact-hours{margin-top:18px;white-space:pre-line}
.contact-trigger:focus-visible,.contact-close:focus-visible,.contact-channel:focus-visible{outline:3px solid #5269e5;outline-offset:3px}
.contact-trigger:active,.contact-close:active,.contact-channel:active{transform:scale(.97)}
@media(max-width:760px){
  .contact-sheet{width:100%;max-width:none;max-height:85dvh;margin:auto 0 0;box-sizing:border-box;border-radius:24px 24px 0 0;padding:24px 20px calc(24px + env(safe-area-inset-bottom))}
  .contact-float{font-size:13px;padding:10px 14px;right:calc(12px + env(safe-area-inset-right));min-height:48px}
  .store-product-route .contact-float{bottom:calc(84px + env(safe-area-inset-bottom))}
  .checkout-body .contact-float{position:static;display:flex;width:fit-content;margin:0 auto 24px}
}
@media(prefers-reduced-motion:reduce){.contact-trigger:active,.contact-close:active,.contact-channel:active{transform:none}}

.contact-whatsapp-logo{display:block;flex-shrink:0;width:24px;height:24px}


/* Atendimento flutuante compacto — não cobre o rodapé */
.contact-float{
  width:58px;
  height:58px;
  min-width:58px;
  min-height:58px;
  max-width:none;
  padding:0;
  border:0;
  border-radius:50%;
  background:#25d366;
  color:#fff;
  box-shadow:0 10px 28px rgba(0,0,0,.24);
}
.contact-float .contact-whatsapp-logo{
  width:29px;
  height:29px;
}
.contact-float-label{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.contact-float:hover,
.contact-float:focus-visible{
  background:#20bd5a;
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(0,0,0,.28);
}
@media(max-width:760px){
  .contact-float{
    right:calc(14px + env(safe-area-inset-right));
    bottom:calc(14px + env(safe-area-inset-bottom));
    width:54px;
    height:54px;
    min-width:54px;
    min-height:54px;
    padding:0;
    font-size:0;
  }
  .contact-float .contact-whatsapp-logo{
    width:27px;
    height:27px;
  }
  .store-product-route .contact-float{
    bottom:calc(82px + env(safe-area-inset-bottom));
  }
}
