/* P192 — Contact Rail S+16 State Authority */
/* First-paint authority: legacy rails are never visible while deferred JS initializes. */
.floating-social,.whatsapp-float,.p30-contact-rail,.p35-contact-rail,.projects-contact-rail{display:none!important}
.s16-contact-rail{
  --s16-rail-peek:48px;position:fixed;top:46%;z-index:920;display:flex;flex-direction:column;
  gap:7px;padding:9px 8px;border:1px solid rgba(161,134,47,.42);
  background:color-mix(in srgb,#fff 91%,transparent);box-shadow:0 14px 34px rgba(18,39,41,.14);
  backdrop-filter:blur(16px) saturate(1.06);-webkit-backdrop-filter:blur(16px) saturate(1.06);
  transform:translateY(-50%);transition:transform .3s cubic-bezier(.22,.61,.36,1),box-shadow .2s ease;
  isolation:isolate;contain:layout paint;max-height:calc(100dvh - 160px)
}
html[dir="ltr"] .s16-contact-rail{right:0;border-right:0;border-radius:21px 0 0 21px}
html[dir="rtl"] .s16-contact-rail{left:0;border-left:0;border-radius:0 21px 21px 0}
.s16-contact-rail a{position:relative;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;background:#23383c;color:#fff;border:1px solid rgba(255,255,255,.1);box-shadow:0 5px 13px rgba(16,29,37,.14);outline:none;transition:transform .18s ease,background .18s ease,box-shadow .18s ease,border-color .18s ease}
.s16-contact-rail a svg{width:19px;height:19px;fill:currentColor}
.s16-contact-rail a:hover{transform:translateY(-1px);background:#315056;border-color:rgba(198,163,58,.48);box-shadow:0 8px 18px rgba(13,31,38,.2)}
.s16-contact-rail a:focus-visible,.s16-contact-rail__toggle:focus-visible{outline:3px solid #f4cf61;outline-offset:3px}
.s16-contact-rail a[data-channel="whatsapp"]{background:#64aa4f;color:#fff;border-color:rgba(255,255,255,.2);box-shadow:0 7px 16px rgba(74,158,60,.22)}
.s16-contact-rail a[data-channel="whatsapp"]:hover{background:#579946}
.s16-contact-rail a::after{content:attr(data-label);position:absolute;top:50%;white-space:nowrap;padding:7px 10px;border-radius:9px;background:#102427;color:#fff;font:700 11px/1.1 Inter,Arial,sans-serif;letter-spacing:.01em;opacity:0;pointer-events:none;transform:translateY(-50%) scale(.96);transition:opacity .14s ease,transform .14s ease;box-shadow:0 7px 18px rgba(0,0,0,.18)}
html[dir="ltr"] .s16-contact-rail a::after{right:calc(100% + 10px)}html[dir="rtl"] .s16-contact-rail a::after{left:calc(100% + 10px)}
.s16-contact-rail a:hover::after,.s16-contact-rail a:focus-visible::after{opacity:1;transform:translateY(-50%) scale(1)}
.s16-contact-rail__toggle{position:absolute;top:50%;width:var(--s16-rail-peek);min-width:44px;height:56px;display:grid;place-items:center;border:1px solid rgba(161,134,47,.64);background:#dfc56c;color:#142725;box-shadow:0 8px 20px rgba(20,39,37,.16);cursor:pointer;border-radius:13px;font:900 23px/1 Inter,Arial,sans-serif;transition:filter .18s ease,box-shadow .18s ease}
.s16-contact-rail__toggle span{display:grid;place-items:center;width:24px;height:24px}
html[dir="ltr"] .s16-contact-rail__toggle{left:0;transform:translate(-100%,-50%);border-right:0;border-radius:13px 0 0 13px}
html[dir="rtl"] .s16-contact-rail__toggle{right:0;transform:translate(100%,-50%);border-left:0;border-radius:0 13px 13px 0}
.s16-contact-rail__toggle:hover{filter:brightness(1.035);box-shadow:0 10px 24px rgba(20,39,37,.2)}
/* Closed is the canonical CSS default; open requires an explicit HTML state. */
html[dir="ltr"] .s16-contact-rail:not([data-state="open"]),html[dir="ltr"] .s16-contact-rail[data-state="closed"]{transform:translate(calc(100% + 1px),-50%)}
html[dir="rtl"] .s16-contact-rail:not([data-state="open"]),html[dir="rtl"] .s16-contact-rail[data-state="closed"]{transform:translate(calc(-100% - 1px),-50%)}
.s16-contact-rail:not([data-state="open"]) a,.s16-contact-rail[data-state="closed"] a{visibility:hidden;pointer-events:none}
html[data-theme="dark"] .s16-contact-rail,body.dark .s16-contact-rail,.dark .s16-contact-rail{background:rgba(7,24,25,.94);border-color:rgba(217,189,98,.38);box-shadow:0 16px 38px rgba(0,0,0,.34)}
html[data-theme="dark"] .s16-contact-rail a,body.dark .s16-contact-rail a,.dark .s16-contact-rail a{background:#243b3f;border-color:rgba(255,255,255,.09);color:#f7fbf8}
html[data-theme="dark"] .s16-contact-rail a:hover,body.dark .s16-contact-rail a:hover,.dark .s16-contact-rail a:hover{background:#315157;border-color:rgba(217,189,98,.42)}
html[data-theme="dark"] .s16-contact-rail a[data-channel="whatsapp"],body.dark .s16-contact-rail a[data-channel="whatsapp"],.dark .s16-contact-rail a[data-channel="whatsapp"]{background:#69ad51}
@media(max-width:1180px){
 .s16-contact-rail{top:41%;gap:6px;padding:7px 6px}.s16-contact-rail a{width:44px;height:44px;border-radius:12px}.s16-contact-rail__toggle{height:52px}
}
@media(max-width:720px){
 .s16-contact-rail{--s16-rail-peek:44px;top:auto;bottom:max(104px,calc(84px + env(safe-area-inset-bottom)));transform:none;flex-direction:row;gap:5px;padding:6px 7px;border-radius:16px!important;border:1px solid rgba(161,134,47,.46)!important;max-width:calc(100vw - 68px)}
 html[dir="ltr"] .s16-contact-rail{right:max(12px,env(safe-area-inset-right));left:auto}html[dir="rtl"] .s16-contact-rail{left:max(12px,env(safe-area-inset-left));right:auto}
 .s16-contact-rail a{width:44px;height:44px}.s16-contact-rail a::after{display:none}.s16-contact-rail__toggle{top:50%;height:50px}
 html[dir="ltr"] .s16-contact-rail:not([data-state="open"]),html[dir="ltr"] .s16-contact-rail[data-state="closed"]{transform:translateX(calc(100% + max(12px,env(safe-area-inset-right))))}
 html[dir="rtl"] .s16-contact-rail:not([data-state="open"]),html[dir="rtl"] .s16-contact-rail[data-state="closed"]{transform:translateX(calc(-100% - max(12px,env(safe-area-inset-left))))}
}
@media(max-width:460px){.s16-contact-rail{bottom:max(98px,calc(78px + env(safe-area-inset-bottom)));gap:4px;padding:5px}.s16-contact-rail a{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.s16-contact-rail,.s16-contact-rail a,.s16-contact-rail__toggle,.s16-contact-rail a::after{transition:none!important;scroll-behavior:auto!important}}
@media print{.s16-contact-rail{display:none!important}}
