[hidden]{display:none!important}
.age-gate{border:1px solid var(--line);border-radius:16px;padding:18px;margin-top:22px;background:var(--surface2)}
.age-gate summary{cursor:pointer;font-weight:600;min-height:32px}
.age-gate label{display:flex;align-items:flex-start;gap:12px;margin-top:16px;font-size:.9rem;cursor:pointer}
.age-gate input{width:20px;height:20px;flex-shrink:0;accent-color:#dfe3e8}
.age-gate p{font-size:.82rem;color:#b8bbc1;margin:12px 0 0}
.age-gate+form{margin-top:24px}
#contact-fields{border:0;margin:0;padding:0;min-width:0}
.whatsapp-float img{width:100%;height:100%;border-radius:inherit}
.whatsapp-float:before,.whatsapp-float:after{animation:none}
.chat-reopen{margin-top:16px}
.chat-panel{position:fixed;z-index:55;right:24px;bottom:calc(98px + env(safe-area-inset-bottom,0px));width:min(470px,calc(100vw - 32px));height:min(730px,calc(100dvh - 125px));min-height:240px;border:1px solid #4b4e55;border-radius:22px;background:#151619;box-shadow:0 24px 80px #0008;display:flex;flex-direction:column;overflow:hidden;color:#f5f5f4;transform-origin:bottom right}
.chat-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line)}
.chat-header strong{font-family:Manrope,sans-serif;font-size:1.1rem}
.chat-header small{display:block;color:#b8bbc1;font-size:.85rem;margin-top:3px}
.tool-icon{border:1px solid #555960;background:transparent;color:inherit;border-radius:50%;min-width:38px;min-height:38px;font-size:1.3rem;cursor:pointer}
.chat-messages{flex:1 1 auto;min-height:120px;overflow:auto;overscroll-behavior:contain;padding:18px;display:flex;flex-direction:column;gap:14px}
.chat-message{border:1px solid #36383e;border-radius:14px 14px 14px 3px;padding:12px 14px;background:#202126;max-width:96%;white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;line-height:1.7;flex-shrink:0}
.chat-message.user{align-self:flex-end;background:#dfe3e8;color:#151619;border-radius:14px 14px 3px 14px}
.chat-message b{display:block;font-size:.8rem;letter-spacing:.05em;margin-bottom:4px}
.chat-composer{flex-shrink:0;padding:14px 20px 18px;border-top:1px solid var(--line)}
.chat-composer label{display:block;font-size:.9rem;color:#b8bbc1;margin-bottom:6px}
.chat-entry{display:flex;gap:8px;align-items:flex-end}
.chat-entry textarea{width:100%;min-height:48px;max-height:100px;resize:vertical;padding:12px;background:#0d0e10;border:1px solid #555960;border-radius:12px;color:#f5f5f4;font-size:1rem;line-height:1.5;min-width:0}
.chat-entry button{min-height:48px;border:0;border-radius:12px;padding:0 14px;background:#e8eaed;color:#151619;font-weight:700;cursor:pointer}
.chat-entry button:disabled{opacity:.55;cursor:wait}
.chat-notice{font-size:.8rem;line-height:1.55;color:#b8bbc1;margin:8px 0}
.chat-notice button,.privacy-link{color:inherit;text-decoration:underline;border:0;background:none;padding:3px;font:inherit;cursor:pointer}
.chat-status{font-size:.85rem;color:#e5c6a2;min-height:1.4em;margin:5px 0}
.chat-contact{font-size:.85rem;text-decoration:underline;color:#dfe3e8}
.cookie-banner{position:fixed;z-index:70;left:24px;bottom:24px;width:min(430px,calc(100vw - 48px));padding:22px;background:#202126;border:1px solid #555960;border-radius:20px;box-shadow:0 16px 50px #0008}
.cookie-banner strong{font-family:Manrope,sans-serif;font-size:1rem}
.cookie-banner p{font-size:.82rem;color:#c1c3c9;line-height:1.7;margin:10px 0 16px}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.cookie-actions .btn{min-height:42px;font-size:.78rem;padding:0 16px}
.privacy-dialog{width:min(650px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border:1px solid #555960;border-radius:22px;background:#151619;color:#f5f5f4;padding:26px}
.privacy-dialog::backdrop{background:#08090bd9}
.privacy-dialog h2{font:600 1.6rem Manrope,sans-serif;letter-spacing:-.04em;margin:0}
.privacy-dialog h3{font-size:1rem;margin:24px 0 8px}
.privacy-dialog p{font-size:.87rem;color:#c1c3c9;line-height:1.8}
.privacy-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.privacy-dialog a{text-decoration:underline}
.privacy-dialog .btn{margin-top:12px}
:is(.chat-panel,.cookie-banner,.privacy-dialog,.age-gate) :is(button,a,input,textarea,summary):focus-visible,.chat-reopen:focus-visible,.privacy-link:focus-visible{outline:2px solid #e8eaed;outline-offset:4px}
@media(max-width:560px){.chat-panel{right:16px;bottom:calc(84px + env(safe-area-inset-bottom,0px));height:calc(100dvh - 110px)}.cookie-banner{left:16px;bottom:16px;width:calc(100vw - 32px);padding:18px}.cookie-banner p{margin:8px 0 12px}.privacy-dialog{padding:22px}}

@media(max-height:640px){.chat-panel{bottom:12px;height:calc(100dvh - 24px);min-height:0;overflow:auto}.chat-messages{flex:1 0 140px}.chat-header{padding:12px 16px}.chat-composer{padding:10px 14px}.chat-notice{font-size:.75rem}}
