.floating-filter[hidden]{display:none}
.floating-filter{position:fixed;right:20px;bottom:28px;z-index:900;display:flex;align-items:center;gap:12px;max-width:260px;padding:14px 20px;border:1px solid #ffffff60;border-radius:18px;background:#1254bf;color:white;box-shadow:0 8px 30px #071b3c40;font:700 17px Barlow,sans-serif;text-align:left;cursor:pointer}
.floating-filter>span:first-child{font-size:28px;color:#ffcf32}
.floating-filter small{display:block;font-size:12px;font-weight:500;margin-top:3px}
.floating-filter:hover{background:#083d94}
.floating-filter-panel{position:fixed;inset:100px 20px 24px auto;margin:0;width:min(380px,calc(100vw - 32px));max-height:calc(100dvh - 124px);box-sizing:border-box;border:1px solid #c4d5ee;border-radius:22px;padding:22px;background:#f3f7ff;color:#11253e;box-shadow:0 20px 70px #071b3c50;font-family:Barlow,sans-serif;overflow:auto;overscroll-behavior:contain}
.floating-filter-panel::backdrop{background:#071b3c66}
.floating-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.floating-filter-heading h2{font:700 24px Barlow,sans-serif;margin:0}
.floating-filter-heading button{border:1px solid #c4d5ee;border-radius:50%;width:40px;height:40px;background:white;font-size:26px;cursor:pointer;color:#11253e}
.floating-search{display:grid;gap:8px;font-weight:700;font-size:14px}
.floating-search input{width:100%;box-sizing:border-box;padding:14px;border:1px solid #aebfda;border-radius:12px;background:white;font:16px Barlow,sans-serif;color:#11253e}
.floating-filter-caption{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin:24px 0 12px}
.floating-categories{display:grid;gap:7px}
.floating-categories button{font:600 15px Barlow,sans-serif;padding:12px 14px;text-align:left;border:1px solid #cfdbed;border-radius:10px;background:white;color:#19324f;cursor:pointer;min-height:44px}
.floating-categories button[aria-pressed=true]{background:#1254bf;border-color:#1254bf;color:white;box-shadow:inset 4px 0 #ffcf32}
.floating-categories button:hover{border-color:#1254bf}
.floating-filter-footer{position:sticky;bottom:-22px;display:flex;gap:10px;background:#f3f7ff;padding:16px 0 22px;margin-top:12px}
.floating-filter-footer button{flex:1;border:1px solid #b9cce6;border-radius:10px;padding:12px 8px;min-height:44px;font:700 14px Barlow,sans-serif;cursor:pointer}
.floating-clear{background:white;color:#19324f}.floating-apply{background:#1254bf;color:white}
.floating-filter-panel :focus-visible,.floating-filter:focus-visible{outline:3px solid #e4a900;outline-offset:3px}
body.filters-open{overflow:hidden}
/* Faixa lateral reservada: o atalho nunca ocupa a área dos cards. */
.explore-section{padding-right:76px}
.floating-filter{right:8px;top:50%;bottom:auto;transform:translateY(-50%);width:48px;max-width:48px;padding:14px 8px;flex-direction:column;gap:8px;border-radius:14px;box-shadow:0 4px 14px #071b3c25}
.floating-filter>span:first-child{font-size:24px;line-height:1}
.floating-filter>span:last-child{writing-mode:vertical-rl;font-size:15px;letter-spacing:.04em}
.floating-filter small{display:none}
@media(max-width:600px){.explore-section{padding-right:58px}.floating-filter{right:6px;width:46px;padding:12px 6px}.floating-filter-panel{inset:auto 0 0;margin:0;width:100%;max-width:100%;max-height:82dvh;border-radius:22px 22px 0 0;padding-bottom:max(22px,env(safe-area-inset-bottom))}}
