/* Shared compact contact controls. Disclosures are positioned in the viewport by JS. */
.contact-dock{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:8px}
.contact-dock__item{position:relative}
.contact-dock__direct,.contact-dock__item summary{width:40px;height:44px;padding:0;background:var(--accent);border:1px solid #ffffff60;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--paper);cursor:pointer;list-style:none;box-shadow:0 2px 8px #132e4810;text-decoration:none}
.contact-dock__direct:hover{text-decoration:none;background:var(--accent-hover)}
.contact-dock__direct:focus-visible,.contact-dock__item summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.contact-dock__item summary::-webkit-details-marker{display:none}
.contact-dock__direct svg,.contact-dock__item summary svg{width:22px;height:22px}
.contact-dock__icon--filled{fill:currentColor;stroke:none}
.contact-dock__item--whatsapp.contact-dock__direct,.contact-dock__item--whatsapp summary,.contact-dock__item--wechat summary{color:var(--paper);background:var(--success)}
.contact-dock__item--whatsapp.contact-dock__direct:hover,.contact-dock__item--whatsapp summary:hover,.contact-dock__item--wechat summary:hover{background:var(--success-hover)}
.contact-dock__item--email.contact-dock__direct,.contact-dock__item--email summary,.contact-dock__item--phone summary{background:var(--accent);color:var(--paper)}
.contact-dock__label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.contact-dock__item[open] summary{box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--accent);border-color:var(--paper)}
.contact-dock__panel{position:absolute;right:calc(100% + 12px);top:0;width:max-content;max-width:min(310px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:18px;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--accent);box-shadow:var(--shadow);border-radius:var(--radius);overflow:auto;overscroll-behavior:contain;color:var(--ink)}
.contact-dock__panel a{font-size:15px;font-weight:700;overflow-wrap:anywhere}
.contact-dock__panel img{width:220px;height:auto;max-width:100%}
@media(max-width:1100px){
  body{padding-bottom:var(--contact-dock-height,66px)}
  html{scroll-padding-bottom:calc(var(--contact-dock-height,66px) + 12px)}
  .contact-dock{top:auto;bottom:0;left:0;right:0;transform:none;flex-direction:row;justify-content:center;gap:8px;padding:5px 16px calc(5px + env(safe-area-inset-bottom));background:var(--navy);border-top:1px solid #ffffff40}
  .contact-dock__item{flex:1;min-width:0;max-width:84px}
  .contact-dock__direct,.contact-dock__item summary{width:100%;min-height:48px;height:auto;padding:5px 2px;border:0;box-shadow:none;flex-direction:column;gap:2px}
  .contact-dock__direct svg,.contact-dock__item summary svg{width:21px;height:21px}
  .contact-dock__label{position:static;width:auto;height:auto;clip-path:none;overflow:visible;font-size:11px;font-weight:600;line-height:1.3;text-align:center;overflow-wrap:anywhere}
  .contact-dock__panel{top:auto;bottom:calc(100% + 12px);right:0}
  .contact-dock__panel img{width:210px}
}
@media(max-width:360px){.contact-dock{gap:6px;padding-inline:8px}.contact-dock__direct,.contact-dock__item summary{width:100%}}
.no-js .contact-dock{display:none}

