.fede-launch{position:fixed;right:1.25rem;bottom:1.25rem;z-index:80;background:#174b46;color:#fff;padding:.9rem 1.2rem;border-radius:2rem;text-decoration:none;box-shadow:0 4px 20px #0002;font:inherit}
.fede-panel{position:fixed;inset:auto 1.25rem 1.25rem auto;margin:0;width:min(400px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);padding:0;border:1px solid #d4e1db;border-radius:22px;background:#fafbf7;color:#173e39;box-shadow:0 12px 60px #0003;overflow:auto;font:inherit}
.fede-panel::backdrop{background:#102d292e}.fede-panel header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem;border-bottom:1px solid #d4e1db}.fede-panel header p{font-size:.8rem;margin:.3rem 0 0}.fede-panel button{font:inherit;cursor:pointer}.fede-panel header button{border:0;background:transparent;font-size:1.7rem;min-width:44px;min-height:44px}.fede-body{padding:1.2rem}.fede-bubble{background:#e6eee7;padding:1rem;border-radius:3px 16px 16px;margin:0 0 1rem}.fede-note{font-size:.85rem;line-height:1.5}.fede-options{display:grid;gap:.5rem}.fede-options button{padding:.75rem 1rem;text-align:left;border:1px solid #b7cfc3;border-radius:12px;background:white;color:inherit;transition:background .2s}.fede-options button:hover{background:#e6eee7}.fede-response{margin-top:1rem}.fede-response a{color:inherit;text-underline-offset:4px}.fede-panel [hidden]{display:none}.fede-panel :focus-visible,.fede-launch:focus-visible{outline:3px solid #b26725;outline-offset:3px}
@media(max-width:600px){.fede-launch{right:1rem;bottom:1rem}.fede-panel{right:1rem;bottom:1rem}.footer{padding-bottom:6rem}}
.fede-navigation{position:sticky;top:0;z-index:1;display:flex;gap:.5rem;padding:.75rem 1.2rem;background:#fafbf7;border-bottom:1px solid #d4e1db}.fede-navigation button{min-height:44px;padding:.5rem .75rem;border:1px solid #b7cfc3;border-radius:8px;background:#fff;color:inherit}.fede-navigation button:disabled{opacity:.45;cursor:default}.fede-body h2{font-size:1.2rem;line-height:1.3}.fede-destinations a{display:block;padding:.75rem 0;color:inherit;text-underline-offset:4px}
.footer{padding-bottom:6rem}.fede-panel,.fede-panel *{box-sizing:border-box}.fede-panel{overscroll-behavior:contain}.fede-launch{bottom:calc(1rem + env(safe-area-inset-bottom,0px))}.fede-panel{bottom:calc(1rem + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 2rem - env(safe-area-inset-bottom,0px))}body:has(.menu-panel.open) .fede-launch{visibility:hidden}
.fede-choice{margin:.25rem 0 1rem auto;width:fit-content;max-width:90%;padding:.65rem 1rem;border-radius:16px 3px 16px 16px;background:#174b46;color:white;font-size:.9rem}.fede-options button{transition:background .2s,transform .2s}.fede-options button:active{transform:scale(.98)}.fede-destinations a{margin-top:.6rem;padding:.8rem 1rem;border:1px solid #b7cfc3;border-radius:12px;background:#e6eee7}
@media(prefers-reduced-motion:reduce){.fede-options button{transition:none}.fede-options button:active{transform:none}}
.fede-panel{width:min(440px,calc(100vw - 2rem));height:min(720px,calc(100dvh - 2rem));overflow:hidden;background:#f4f4eb;color:#004b51}
.fede-panel[open]{display:flex;flex-direction:column;animation:fede-open .3s ease-out}
.fede-panel header{flex:none;background:#004b51;color:#fff;border:0;padding:1rem 1.2rem;gap:.8rem}
.fede-panel header>div{flex:1}.fede-panel header button{color:inherit;border-radius:50%}.fede-panel header button:hover{background:#ffffff20}
.fede-avatar{display:grid;place-items:center;width:42px;height:42px;flex:none;border:1px solid #ffffff70;border-radius:50%;font-size:1.65rem;letter-spacing:-.08em}
.fede-panel header strong{font-size:1.1rem;letter-spacing:.06em}.fede-panel header p{color:#e0ece5}
.fede-navigation{position:static;flex:none;justify-content:space-between;padding:.65rem 1.2rem;background:#eef1e7}
.fede-navigation button{border:0;background:transparent;padding:.35rem .2rem;font-size:.85rem;text-decoration:underline;text-underline-offset:4px}
.fede-body{overflow:auto;min-height:0;flex:1;padding:1rem 1.2rem 1.3rem;scrollbar-width:thin;scrollbar-color:#afc4bb transparent}
.fede-note{font-size:.75rem;margin:0 0 1.2rem;color:#536b66;line-height:1.45}
.fede-body h2{font-size:1.25rem;letter-spacing:-.025em;margin:.6rem 0 .85rem}
.fede-bubble{line-height:1.55;font-size:.95rem;white-space:pre-line;background:#e1e9df;border-radius:3px 18px 18px;margin-bottom:1rem}
.fede-choice{font-size:.78rem;line-height:1.4;background:#004b51;max-width:94%;margin-top:0}
.fede-options{gap:.6rem}.fede-options button{min-height:46px;font-size:.9rem;line-height:1.35;padding:.8rem 1rem;border-color:#c3d2c9;border-radius:12px;background:#fffdf6;transition:background .2s,border-color .2s,transform .2s}
.fede-options button:hover{border-color:#004b51;background:#e4ece2;transform:translateX(3px)}
.fede-destinations a{background:#004b51;color:#fff;border:0;text-decoration:none;border-radius:99px;padding:.85rem 1rem;text-align:center;font-size:.9rem;line-height:1.4;transition:background .2s}
.fede-destinations a:hover{background:#08676b}.fede-panel :focus-visible{outline:2px solid #a96e28;outline-offset:3px}
.fede-contact{padding:1rem;border:1px solid #bdcec4;border-radius:14px;background:#fffdf6;margin-bottom:.8rem;overflow-wrap:anywhere}
.fede-contact h3{font-size:.95rem;margin:0 0 .75rem}.fede-contact p{font-size:.87rem;line-height:1.5;margin:.45rem 0}.fede-contact a{display:block;font-size:.87rem;color:inherit;margin-top:.6rem;text-underline-offset:3px}
.fede-contact .fede-preview{font-size:.72rem;color:#765317;background:#f5e9ca;padding:.4rem .6rem;border-radius:6px}
.fede-search{display:block;font-size:.8rem;margin-bottom:.8rem}.fede-search input{box-sizing:border-box;width:100%;margin-top:.4rem;padding:.7rem;border:1px solid #bdcec4;border-radius:8px;background:#fffdf6;font:inherit;color:inherit}
.fede-end,[data-fede-empty]{font-size:.8rem;color:#536b66;line-height:1.5;margin-top:1.2rem}
@keyframes fede-open{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:600px){.fede-panel{inset:auto .5rem calc(.5rem + env(safe-area-inset-bottom,0px)) .5rem;width:calc(100vw - 1rem);height:min(720px,calc(100dvh - 1rem - env(safe-area-inset-bottom,0px)));max-height:calc(100dvh - 1rem - env(safe-area-inset-bottom,0px));border-radius:18px}.fede-body{padding:1rem}.fede-launch{font-size:.9rem}}
@media(prefers-reduced-motion:reduce){.fede-panel[open]{animation:none}.fede-options button,.fede-destinations a{transition:none}.fede-options button:hover{transform:none}}
