.rln-floating-contact { position: fixed; top: calc(72dvh - 29px); right: max(18px, env(safe-area-inset-right)); z-index: 9998; width: 58px; height: 58px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; }
.rln-floating-contact[hidden], .rln-floating-contact [hidden] { display: none !important; }
body.rln-home-body .rln-contact-launcher { display: grid; place-items: center; position: relative; width: 58px; height: 58px; min-width: 58px; padding: 0; margin: 0; border: 1px solid rgba(201,238,100,.66); border-radius: 50%; color: #c9ee64; background: rgba(9,20,29,.93); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); box-shadow: 0 8px 30px rgba(3,12,18,.24), inset 0 0 0 4px rgba(201,238,100,.04); cursor: grab; touch-action: none; user-select: none; -webkit-user-select: none; transition: background .2s, color .2s, box-shadow .2s; }
body.rln-home-body .rln-contact-launcher:hover, body.rln-home-body .rln-contact-launcher[aria-expanded="true"] { background: #c9ee64; color: #0c1720; box-shadow: 0 8px 32px rgba(3,12,18,.3); }
.rln-contact-launcher:focus-visible, .rln-contact-panel a:focus-visible, .rln-contact-close:focus-visible { outline: 2px solid #c9ee64; outline-offset: 5px; }
.rln-floating-contact.is-dragging .rln-contact-launcher { cursor: grabbing; color: #0c1720; background: #c9ee64; box-shadow: 0 12px 36px rgba(3,12,18,.4); }
.rln-whatsapp-icon { width: 29px; height: 29px; fill: currentColor; transform: translateY(-2px); pointer-events: none; }
.rln-contact-grip { position: absolute; bottom: 8px; left: 50%; display: flex; gap: 3px; transform: translateX(-50%); opacity: .65; pointer-events: none; }
.rln-contact-grip i { width: 2px; height: 2px; border-radius: 50%; background: currentColor; }
.rln-contact-hint { position: absolute; right: calc(100% + 12px); top: 50%; transform: translateY(-50%) translateX(4px); padding: 9px 12px; border: 1px solid rgba(201,238,100,.25); border-radius: 8px; color: #fff; background: #0c1720; font-size: 11px; line-height: 1.4; white-space: nowrap; pointer-events: none; opacity: 0; visibility: hidden; transition: opacity .2s, transform .2s; }
.rln-floating-contact[data-side="left"] .rln-contact-hint { left: calc(100% + 12px); right: auto; }
@media (hover: hover) { .rln-contact-launcher:hover ~ .rln-contact-hint, .rln-floating-contact:has(.rln-contact-launcher:hover) .rln-contact-hint, .rln-floating-contact:has(.rln-contact-launcher:focus-visible) .rln-contact-hint { opacity: 1; visibility: visible; transform: translateY(-50%); } }
.rln-floating-contact.is-open .rln-contact-hint, .rln-floating-contact.is-dragging .rln-contact-hint { display: none; }
body.rln-home-body .rln-contact-panel { position: fixed; width: min(348px, calc(100vw - 28px)); max-height: calc(100dvh - 110px); overflow-y: auto; overscroll-behavior: contain; padding: 20px; border: 1px solid rgba(201,238,100,.3); border-radius: 18px; color: #fff; background: rgba(9,20,29,.97); -webkit-backdrop-filter: blur(24px) saturate(125%); backdrop-filter: blur(24px) saturate(125%); box-shadow: 0 18px 65px rgba(3,12,18,.32); animation: rln-contact-enter .18s ease-out; }
.rln-contact-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: -8px -8px 6px 0; }
.rln-contact-panel-head > span { font-size: 9px; line-height: 1.4; font-weight: 700; letter-spacing: .15em; color: #c9ee64; }
body.rln-home-body .rln-contact-close { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; min-height: 40px; padding: 0; margin: 0; border: 0; border-radius: 50%; background: transparent; box-shadow: none; color: rgba(255,255,255,.75); cursor: pointer; }
body.rln-home-body .rln-contact-close:hover { color: #c9ee64; background: rgba(255,255,255,.06); }
.rln-contact-close svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
body.rln-home-body .rln-contact-panel h2 { margin: 0; color: #fff; font-size: 25px; font-weight: 400; letter-spacing: -.02em; line-height: 1.16; text-transform: none; overflow-wrap: anywhere; }
.rln-contact-intro { margin: 14px 0 20px; color: rgba(255,255,255,.7); font-size: 13px; line-height: 1.65; }
.rln-contact-context { display: grid; gap: 5px; margin: 0 0 20px; padding: 10px 12px; border-left: 2px solid #c9ee64; border-radius: 0 7px 7px 0; background: rgba(255,255,255,.04); }
.rln-contact-context span { color: rgba(255,255,255,.5); font-size: 10px; line-height: 1.5; }
.rln-contact-context strong { color: #fff; font-size: 12px; font-weight: 500; line-height: 1.5; overflow-wrap: anywhere; }
body.rln-home-body .rln-contact-panel a { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 48px; padding: 12px 16px; border: 1px solid rgba(255,255,255,.26); border-radius: 8px; text-decoration: none; color: #fff; font-size: 12px; font-weight: 650; line-height: 1.5; transition: background .18s, border-color .18s; }
body.rln-home-body .rln-contact-panel a.rln-contact-whatsapp { border-color: #c9ee64; background: #c9ee64; color: #0c1720; }
body.rln-home-body .rln-contact-panel a.rln-contact-whatsapp:hover { background: #d9ff7c; }
.rln-contact-inquiry { margin-top: 8px; }
body.rln-home-body .rln-contact-panel a.rln-contact-inquiry:hover { border-color: #c9ee64; background: rgba(201,238,100,.06); }
.rln-contact-panel a svg { flex: 0 0 18px; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; }
.rln-contact-note { margin: 14px 0 0; color: rgba(255,255,255,.48); font-size: 10px; line-height: 1.6; }
.rln-contact-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@keyframes rln-contact-enter { from { opacity: 0; translate: 0 6px; } to { opacity: 1; translate: 0 0; } }
@media (max-width: 600px) { .rln-floating-contact, body.rln-home-body .rln-contact-launcher { width: 54px; height: 54px; min-width: 54px; } .rln-contact-hint { display: none; } body.rln-home-body .rln-contact-panel { padding: 18px; border-radius: 14px; } body.rln-home-body .rln-contact-panel h2 { font-size: 23px; } }
@media (prefers-reduced-motion: reduce) { .rln-contact-panel { animation: none !important; } .rln-floating-contact *, .rln-floating-contact *::before { transition: none !important; } }
