/* Botão SOS (vermelho) + formulário de emergência */
.sos-fab{position:fixed;left:14px;bottom:16px;z-index:9997;display:flex;align-items:center;gap:.5rem;border:0;cursor:pointer;background:#dc2626;color:#fff;font:900 1rem Orbitron,Barlow,sans-serif;letter-spacing:.12em;padding:.75rem 1.1rem;border-radius:999px;box-shadow:0 6px 18px rgba(220,38,38,.55),0 0 0 3px #fff;animation:sos-pulse 2.4s infinite}
.sos-fab:hover{background:#b91c1c}.sos-fab:focus-visible{outline:3px solid #0C0C0C;outline-offset:3px}
.sos-fab svg{width:1.4rem;height:1.4rem}
@keyframes sos-pulse{0%,100%{box-shadow:0 6px 18px rgba(220,38,38,.55),0 0 0 3px #fff}50%{box-shadow:0 6px 26px rgba(220,38,38,.9),0 0 0 3px #fff,0 0 0 10px rgba(220,38,38,.25)}}
@media(prefers-reduced-motion:reduce){.sos-fab{animation:none}}
@media(max-width:767px){.sos-fab{left:10px;bottom:14px;padding:.6rem .95rem;font-size:.9rem}body:has(input:focus) .sos-fab,body:has(textarea:focus) .sos-fab,body:has(select:focus) .sos-fab{display:none}}

.sos-dlg{border:0;padding:0;width:min(34rem,calc(100vw - 20px));max-height:calc(100vh - 20px);background:#fff;color:#0C0C0C;border-top:6px solid #dc2626;box-shadow:0 20px 60px rgba(0,0,0,.5);overflow:auto;overscroll-behavior:contain}
.sos-dlg::backdrop{background:rgba(12,12,12,.7)}
.sos-hd{display:flex;align-items:flex-start;gap:.8rem;padding:1rem 1.2rem .4rem}
.sos-hd h2{margin:0;font:900 1.35rem Orbitron,Barlow,sans-serif;color:#b91c1c;letter-spacing:.04em;text-transform:uppercase}
.sos-hd p{margin:.25rem 0 0;font-size:.92rem;color:#444}
.sos-x{margin-left:auto;border:0;background:#f1f1f1;width:2.4rem;height:2.4rem;font-size:1.5rem;line-height:1;cursor:pointer;flex:0 0 auto}
.sos-x:hover{background:#e0e0e0}
.sos-urg{margin:.4rem 1.2rem 0;background:#fef2f2;border-left:4px solid #dc2626;padding:.55rem .8rem;font-size:.88rem}
.sos-urg a{color:#b91c1c;font-weight:800}
.sos-form{padding:.6rem 1.2rem 1.2rem;display:grid;gap:.75rem}
.sos-form label{display:grid;gap:.25rem;font-weight:700;font-size:.88rem}
.sos-form label small{font-weight:400;color:#555}
.sos-form input[type=text],.sos-form input[type=email],.sos-form input[type=tel],.sos-form textarea{width:100%;border:2px solid #bdbdbd;padding:.65rem .75rem;font:500 1rem Barlow,sans-serif;background:#fff;border-radius:0}
.sos-form input:focus,.sos-form textarea:focus{outline:0;border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.2)}
.sos-form textarea{min-height:5.5rem;resize:vertical}
.sos-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
@media(max-width:520px){.sos-row{grid-template-columns:1fr}}
.sos-form label.sos-foto{border:2px dashed #dc2626;background:#fffafa;padding:.7rem;display:flex;align-items:center;gap:.8rem;cursor:pointer;position:relative}
.sos-foto input{position:absolute;opacity:0;width:1px;height:1px}
.sos-foto:focus-within{box-shadow:0 0 0 3px rgba(220,38,38,.3)}
.sos-foto .sos-ph{width:4.2rem;height:4.2rem;flex:0 0 auto;background:#fee2e2 center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:#dc2626;font-size:1.8rem;font-weight:900}
.sos-foto b{display:block;color:#b91c1c}.sos-foto span.t{display:block;font-size:.82rem;font-weight:500;color:#555;word-break:break-all}
.sos-form label.sos-chk{display:flex;gap:.55rem;align-items:flex-start;font-weight:500;font-size:.85rem}
.sos-chk input{margin-top:.2rem;width:1.1rem;height:1.1rem;flex:0 0 auto;accent-color:#dc2626}
.sos-send{border:0;background:#dc2626;color:#fff;font:900 1.05rem Orbitron,Barlow,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:.95rem;cursor:pointer}
.sos-send:hover{background:#b91c1c}.sos-send:disabled{opacity:.6;cursor:wait}
.sos-err{margin:0;background:#fef2f2;border:1px solid #dc2626;color:#991b1b;padding:.55rem .75rem;font-weight:600;font-size:.9rem}
.sos-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sos-ok{padding:1.6rem 1.2rem 1.4rem;text-align:center}
.sos-ok h3{margin:0 0 .5rem;font:900 1.2rem Orbitron,Barlow,sans-serif;color:#15803d}
.sos-ok a.btn{display:inline-block;margin-top:.8rem;background:#0C0C0C;color:#fff;padding:.7rem 1.3rem;font-weight:800;text-decoration:none}
[hidden]{display:none!important}
.sos-loc{display:grid;gap:.35rem}
.sos-locbtn{border:2px solid #0C0C0C;background:#fff;color:#0C0C0C;font:800 .95rem Barlow,sans-serif;padding:.75rem;cursor:pointer}
.sos-locbtn:hover{background:#f3f3f3}.sos-locbtn.ok{border-color:#15803d;background:#f0fdf4;color:#166534}.sos-locbtn:disabled{opacity:.6;cursor:wait}
.sos-locmsg{margin:0;font-size:.82rem;color:#555}.sos-locmsg a{color:#b91c1c;font-weight:700}
