.profile-floating-contacts{position:fixed;z-index:21;right:calc(20px + 2.5vw + env(safe-area-inset-right));bottom:calc(var(--profile-floating-nav-height,101px) + max(8px,44px - 5dvh));display:flex;flex-direction:column;gap:12px;opacity:var(--floating-contact-opacity,1);transition:opacity 1.04s ease}
.profile-floating-contacts .contact-hint{--contact-label-limit:calc(97.5vw - 40px - env(safe-area-inset-right))}
.profile-floating-contacts .profile-whatsapp{position:relative;right:auto;bottom:auto;z-index:auto}
.profile-email{position:relative;display:grid;place-items:center;width:56px;height:56px;padding:0;border:0;border-radius:50%;color:var(--gold);background:none;box-shadow:none}
.profile-email svg{stroke-width:1.5}
/* Hide quickly; the controller waits before starting the softer return. */
.profile-floating-contacts.is-scroll-hidden{transition-duration:.1s}
.profile-floating-contacts.is-scroll-hidden,.profile-floating-contacts.is-scroll-hidden *{pointer-events:none!important}
.profile-floating-contacts:has(:focus-visible){opacity:1;transition:none}
.profile-floating-contacts:has(:focus-visible),.profile-floating-contacts:has(:focus-visible) *{pointer-events:auto!important}
.profile-media-expanded .profile-floating-contacts,.dialog-open .profile-floating-contacts,body:has(dialog[open]) .profile-floating-contacts{display:none}
.email-contact-dialog{width:min(440px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--line);border-radius:20px;color:var(--text);background:var(--chrome-reflection),var(--chrome-bg);box-shadow:0 24px 90px rgba(0,0,0,.6);overflow:auto;overscroll-behavior:contain}
.email-contact-dialog::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.email-contact-panel{position:relative;padding:32px 28px 28px}
.email-contact-close{position:absolute;top:12px;right:12px}
.email-contact-symbol{display:block;color:var(--gold);margin-bottom:16px}
.email-contact-dialog h2{margin:0 0 12px;font:700 clamp(27px,6vw,34px)/1.18 'Playfair Display',Georgia,serif;color:var(--gold)}
.email-contact-dialog h2:focus{outline:none}
.email-contact-context{margin:0 0 24px;font-size:16px;color:var(--text);line-height:1.6}
.email-contact-context span{display:block;color:var(--muted);font-size:13px;overflow-wrap:anywhere}
.email-contact-form{display:grid;gap:10px}
.email-contact-form label{font-size:14px;color:var(--text)}
.email-contact-form input,.email-contact-form textarea{box-sizing:border-box;width:100%;min-width:0;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:rgba(0,0,0,.24);color:var(--text);font:inherit;font-size:16px;line-height:1.5}
.email-contact-form input{margin-bottom:8px}
.email-contact-form textarea{min-height:112px;resize:vertical}
.email-contact-form textarea::placeholder{color:var(--muted);opacity:.75}
.email-contact-form p{margin:2px 0 8px;color:var(--muted);font-size:12.5px;line-height:1.6}
.email-contact-form .button{width:100%;min-height:48px}
body.email-contact-open{overflow:hidden}
.email-contact-dialog[open]{animation:email-contact-enter .18s ease-out}
@keyframes email-contact-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.profile-floating-contacts{right:calc(16px + 2.5vw + env(safe-area-inset-right))}}
/* Longer legal labels wrap before reaching the floating controls. */
@media(max-width:600px){body:has([data-floating-contacts]) .footer-review{max-width:calc(95vw - 176px - env(safe-area-inset-right));flex-wrap:wrap;justify-content:center}}
@media(max-width:360px){.email-contact-panel{padding:30px 20px 22px}}
@media(prefers-reduced-motion:reduce){.profile-email,.profile-floating-contacts{transition:none}.email-contact-dialog[open]{animation:none}}
