/* AlviTravel contact controls — consolidated responsive layout.
   Layout: social menu opens above its toggle; independent Crisp chat stays below.
   Both launchers remain visible and never share the same vertical space. */
:root{
  --alvi-control-right:18px;
  --alvi-chat-bottom:calc(22px + env(safe-area-inset-bottom,0px));
  --alvi-hub-bottom:calc(92px + env(safe-area-inset-bottom,0px));
}
.contact-hub{
  position:fixed!important;right:var(--alvi-control-right)!important;
  bottom:var(--alvi-hub-bottom)!important;z-index:1100!important;
  display:flex!important;flex-direction:column!important;align-items:flex-end!important;
  pointer-events:none!important;
}
.contact-hub-toggle,.contact-hub-item{pointer-events:auto!important}
.contact-hub-menu{
  display:flex!important;flex-direction:column!important;align-items:flex-end!important;
  gap:8px!important;margin:0 0 12px!important;padding:7px 5px 8px 12px!important;
  max-height:calc(100vh - 180px)!important;
  max-height:calc(100dvh - 180px)!important;
  overflow-y:auto!important;overflow-x:hidden!important;scrollbar-width:none!important;
}
.contact-hub-menu::-webkit-scrollbar{display:none}
.contact-hub-item{
  display:flex!important;flex:none!important;width:max-content!important;
  min-height:48px!important;gap:10px!important;align-items:center!important;
  justify-content:flex-end!important;padding:0!important;
  background:transparent!important;text-decoration:none!important;
}
.contact-hub-label{
  box-sizing:border-box!important;display:flex!important;flex:none!important;
  width:134px!important;min-width:134px!important;height:40px!important;
  align-items:center!important;justify-content:center!important;
  padding:0 12px!important;border:1px solid #dbe8f6!important;
  border-radius:13px!important;background:rgba(255,255,255,.97)!important;
  color:#1b3958!important;font:800 13px/1.2 Manrope,system-ui,sans-serif!important;
  letter-spacing:0!important;white-space:nowrap!important;
  box-shadow:0 6px 19px rgba(12,38,69,.12)!important;
}
.contact-hub-icon{
  display:grid!important;place-items:center!important;flex:none!important;
  width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;
  max-width:46px!important;max-height:46px!important;padding:0!important;
  border-radius:14px!important;overflow:hidden!important;background:transparent!important;
  box-shadow:0 7px 19px rgba(7,37,67,.16)!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
}
.contact-hub-instagram .contact-hub-icon{border-radius:14px!important}
.contact-hub-icon img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;border:0!important}
.contact-hub-toggle{
  position:relative!important;display:grid!important;place-items:center!important;
  box-sizing:border-box!important;flex:none!important;
  width:54px!important;height:54px!important;min-width:54px!important;min-height:54px!important;
  max-width:54px!important;max-height:54px!important;
  border:0!important;border-radius:18px!important;
  background:linear-gradient(145deg,#2486e6,#095bb8)!important;
  color:white!important;box-shadow:0 9px 24px rgba(11,91,177,.25)!important;
  cursor:pointer!important;
}
.contact-hub-dots{font-size:25px!important}
.contact-hub-close{font-size:34px!important}
.contact-hub-badge{display:none!important}

/* A truly independent Crisp launcher, BELOW the social toggle. */
.standalone-chat-button{
  box-sizing:border-box;position:fixed;z-index:1101;
  right:var(--alvi-control-right);bottom:var(--alvi-chat-bottom);
  display:flex;align-items:center;justify-content:flex-end;gap:10px;
  min-height:52px;padding:4px 4px 4px 15px;
  border:1px solid #d7e8f7;border-radius:18px;
  background:rgba(255,255,255,.98);color:#1a3c5f;
  font:800 13px/1.2 Manrope,system-ui,sans-serif;
  box-shadow:0 8px 24px rgba(7,39,70,.16);cursor:pointer;
  transition:transform .2s ease,box-shadow .2s ease;
}
.standalone-chat-label{white-space:nowrap}
.standalone-chat-icon{
  display:grid;place-items:center;flex:none;
  width:42px;height:42px;border-radius:14px;
  background:linear-gradient(145deg,#258def,#0e65c5);color:#fff;
}
.standalone-chat-icon svg{display:block}
.crisp-client [aria-label="Open chat"]{display:none!important;visibility:hidden!important;pointer-events:none!important}
a.floating-wa,.alvi-chat-nudge,.alvi-chat-badge{display:none!important;visibility:hidden!important;pointer-events:none!important}
.contact-hub-toggle:focus-visible,.contact-hub-item:focus-visible,.standalone-chat-button:focus-visible{
  outline:3px solid #58a8f7!important;outline-offset:3px!important;
}
@media(hover:hover){
  .contact-hub-item:hover .contact-hub-icon{transform:translateY(-2px)!important;box-shadow:0 11px 24px rgba(7,37,67,.22)!important}
  .contact-hub-item:hover .contact-hub-label{border-color:#a7cdf1!important;color:#0e64bb!important}
  .standalone-chat-button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(7,39,70,.22)}
}
@media(max-width:700px){
  :root{
    --alvi-control-right:14px;
    --alvi-chat-bottom:calc(84px + env(safe-area-inset-bottom,0px));
    --alvi-hub-bottom:calc(148px + env(safe-area-inset-bottom,0px));
  }
  .contact-hub-menu{
    gap:7px!important;margin-bottom:9px!important;
    max-height:calc(100vh - 235px)!important;
    max-height:calc(100dvh - 235px)!important;
  }
  .contact-hub-item{min-height:44px!important}
  .contact-hub-label{width:125px!important;min-width:125px!important;height:36px!important;font-size:12px!important}
  .contact-hub-icon,.contact-hub-instagram .contact-hub-icon{
    width:44px!important;height:44px!important;
    min-width:44px!important;min-height:44px!important;
    max-width:44px!important;max-height:44px!important;border-radius:13px!important;
  }
  .contact-hub-toggle{
    width:50px!important;height:50px!important;min-width:50px!important;min-height:50px!important;
    max-width:50px!important;max-height:50px!important;border-radius:16px!important;
  }
  .standalone-chat-button{min-height:48px;padding:4px 4px 4px 12px;border-radius:16px;font-size:12px}
  .standalone-chat-icon{width:38px;height:38px;border-radius:12px}
}
@media(max-height:560px){
  .contact-hub-menu{max-height:calc(100dvh - 235px)!important}
}
@media(prefers-reduced-motion:reduce){
  .contact-hub-icon,.standalone-chat-button,.contact-hub-item,.contact-hub-toggle{transition:none!important}
}
/* When Crisp chat window opens, remove both controls from its interactive area. */
body.alvi-crisp-open .contact-hub,
body.alvi-crisp-open .standalone-chat-button{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
}

/* Footer: explicit grid placement stops brand, address and navigation colliding. */
footer .footer-inner{display:grid!important;grid-template-columns:minmax(185px,1fr) minmax(190px,1fr);column-gap:32px;row-gap:20px;align-items:start!important}
footer .footer-brand{display:flex!important;align-items:center!important;gap:14px!important;min-width:0;white-space:nowrap}
footer .footer-brand .brand-logo-img{width:56px!important;height:56px!important;flex:none;object-fit:contain}
footer .footer-brand>span{font-size:clamp(21px,2.8vw,28px)!important;font-weight:800!important;line-height:1.2!important}
footer .footer-nap{min-width:0;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:7px!important;font-size:14px!important;line-height:1.5!important}
footer .footer-nap>span{max-width:100%;overflow-wrap:break-word}
footer .footer-nap a{white-space:nowrap}
footer .footer-seo-links{grid-column:1/-1;display:flex!important;flex-wrap:wrap!important;gap:10px 18px!important;min-width:0}
footer .footer-inner>p{grid-column:1/-1;margin:0!important;line-height:1.5}
@media(max-width:700px){footer .footer-inner{grid-template-columns:minmax(0,1fr)!important;justify-items:start!important;gap:18px!important;text-align:left!important}footer .footer-brand{max-width:100%}footer .footer-nap,footer .footer-seo-links,footer .footer-inner>p{grid-column:1!important}footer .footer-nap{align-items:flex-start!important}footer .footer-seo-links{gap:10px 16px!important}}
