/* Floating multilingual contact hub */
.contact-hub{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:max(24px,calc(env(safe-area-inset-bottom) + 18px));z-index:10020;font-family:inherit}
.contact-hub-fab{min-width:154px;height:58px;padding:0 20px 0 16px;border:1px solid rgba(255,255,255,.48);border-radius:999px;display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;background:linear-gradient(145deg,#d6ae54,#a97922);box-shadow:0 14px 36px rgba(9,18,36,.28),inset 0 1px 0 rgba(255,255,255,.5);transition:transform .2s ease,box-shadow .2s ease}
.contact-hub-fab:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(9,18,36,.34)}
.contact-hub-fab:active{transform:scale(.96)}
.contact-hub-fab svg{width:25px;height:25px;flex:0 0 25px;fill:none;stroke:#101827;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.contact-hub-fab-label{display:block;color:#101827;font-size:15px;font-weight:850;line-height:1;white-space:nowrap;letter-spacing:.01em}
.contact-hub-panel{position:absolute;right:0;bottom:74px;width:min(330px,calc(100vw - 32px));padding:16px;border:1px solid rgba(255,255,255,.62);border-radius:24px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(24px) saturate(150%);backdrop-filter:blur(24px) saturate(150%);box-shadow:0 24px 64px rgba(9,18,36,.24);transform-origin:bottom right;animation:contactHubIn .22s ease-out}
@keyframes contactHubIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}
.contact-hub-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:2px 2px 13px}
.contact-hub-head strong{display:block;color:#111827;font-size:18px;line-height:1.2}
.contact-hub-head span{display:block;margin-top:4px;color:#667085;font-size:13px}
.contact-hub-close,.facebook-qr-close{border:0;background:rgba(17,24,39,.07);color:#111827;border-radius:50%;width:34px;height:34px;font-size:24px;line-height:1;cursor:pointer}
.contact-hub-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.contact-hub-item{min-height:58px;padding:10px 11px;border:1px solid rgba(17,24,39,.08);border-radius:16px;background:rgba(255,255,255,.72);display:flex;align-items:center;gap:10px;color:#111827!important;text-decoration:none!important;font:inherit;font-size:14px;font-weight:750;cursor:pointer;text-align:left;transition:transform .18s ease,background .18s ease,border-color .18s ease}
.contact-hub-item:hover{transform:translateY(-1px);background:#fff;border-color:rgba(181,137,48,.34)}
.contact-hub-icon{width:34px;height:34px;flex:0 0 34px;border-radius:50%;display:grid;place-items:center;background:#111827;color:#ddb55b;font-size:17px;font-weight:900}
.contact-hub-icon.whatsapp{background:#25d366;color:#fff}.contact-hub-icon.viber{background:#7360f2;color:#fff}.contact-hub-icon.facebook{background:#1877f2;color:#fff;font-family:Arial,sans-serif;font-size:22px}
.facebook-qr-modal{position:fixed;inset:0;z-index:10040;display:grid;place-items:center;padding:22px}
.facebook-qr-backdrop{position:absolute;inset:0;border:0;background:rgba(5,10,20,.62);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}
.facebook-qr-card{position:relative;z-index:1;width:min(420px,100%);padding:22px;border-radius:26px;background:#fff;box-shadow:0 30px 90px rgba(0,0,0,.34);text-align:center;animation:contactHubIn .22s ease-out}
.facebook-qr-card strong{display:block;padding-right:35px;font-size:20px;color:#111827}
.facebook-qr-card img{display:block;width:100%;max-height:480px;object-fit:contain;margin:15px auto 8px;border-radius:16px;background:#fff}
.facebook-qr-card p{margin:8px 8px 0;color:#667085;font-size:14px;line-height:1.5}
.facebook-qr-close{position:absolute;right:15px;top:15px}
body.contact-hub-lock{overflow:hidden}
[hidden]{display:none!important}
@media (max-width:600px){
  .contact-hub{
    position:fixed;
    right:16px;
    bottom:calc(env(safe-area-inset-bottom) + 8px);
    z-index:10020;
  }
  .contact-hub-fab{
    min-width:142px;
    height:54px;
    padding:0 17px 0 14px;
  }
  .contact-hub-fab svg{
    width:23px;
    height:23px;
    flex-basis:23px;
  }
  .contact-hub-fab-label{font-size:14px}
  .contact-hub-panel{
    bottom:66px;
    width:min(320px,calc(100vw - 32px));
    padding:14px;
    border-radius:22px;
  }
  .contact-hub-actions{grid-template-columns:1fr 1fr}
  .contact-hub-item{min-height:55px;padding:9px;font-size:13px}
  .facebook-qr-card{padding:18px;border-radius:22px}
}


/* Inline contact trigger used by destination and tour detail CTA sections. */
.contact-hub-inline{
  min-width:154px;
  height:58px;
  padding:0 20px 0 16px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  cursor:pointer;
  background:linear-gradient(145deg,#d6ae54,#a97922);
  color:#101827;
  box-shadow:0 14px 36px rgba(9,18,36,.22),inset 0 1px 0 rgba(255,255,255,.5);
  font:inherit;
  font-size:15px;
  font-weight:850;
  line-height:1;
  white-space:nowrap;
  letter-spacing:.01em;
  transition:transform .2s ease,box-shadow .2s ease;
}
.contact-hub-inline:hover{transform:translateY(-2px);box-shadow:0 18px 42px rgba(9,18,36,.3)}
.contact-hub-inline:active{transform:scale(.97)}
.contact-hub-inline svg{width:25px;height:25px;flex:0 0 25px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.contact-hub-inline-wide{width:100%;}
@media(max-width:600px){
  .contact-hub-inline{min-width:142px;height:54px;padding:0 17px 0 14px;font-size:14px}
  .contact-hub-inline svg{width:23px;height:23px;flex-basis:23px}
}
