/* FitBlizu — cookie consent banner (app/Views/partials/_consent.php, public/assets/app/consent.js).
   Non-modal card: on the map it floats above the bottom dock (AGENTS.md rule 2 — never cover the dock), on content pages
   and desktop it sits bottom-left. Accept and Decline are equal in size and weight (no dark pattern). Tokens from app.css. */
.fb-consent {
    position: fixed; z-index: 60; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    max-width: 420px; margin: 0 auto; padding: 16px;
    color: var(--fb-text); background: var(--fb-surface); border: 1px solid var(--fb-border); border-radius: var(--fb-radius-lg);
    box-shadow: var(--fb-shadow-lift); font-family: var(--fb-font); font-size: 14px; line-height: 1.45;
    animation: fb-consent-in .24s cubic-bezier(.2, 0, 0, 1);
}
.fb-consent[hidden] { display: none; }
body.app .fb-consent { bottom: calc(var(--fb-dock-space) + 4px); }
.fb-consent__t { margin: 0 0 6px; font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--fb-text); }
.fb-consent__p { margin: 0; color: var(--fb-text-secondary); }
.fb-consent__p a { color: var(--fb-primary); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.fb-consent__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 14px; }
.fb-consent__btn {
    min-height: 44px; padding: 0 14px; border-radius: var(--fb-radius); font: inherit; font-size: 15px; font-weight: 650; cursor: pointer;
    color: var(--fb-text); background: var(--fb-surface-secondary); border: 1px solid var(--fb-border);
}
.fb-consent__btn--accept { color: #fff; background: var(--fb-primary-strong); border-color: transparent; }
.fb-consent__btn:hover { filter: brightness(.97); }
.fb-consent__btn--accept:hover { filter: brightness(1.08); }
.fb-consent__btn:focus-visible, .fb-consent__p a:focus-visible { outline: 2px solid var(--fb-primary); outline-offset: 2px; }
/* the "Cookie settings" trigger in footers: looks like the surrounding links */
.fb-consent-link { padding: 0; font: inherit; color: inherit; background: none; border: 0; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
/* the same trigger in the map menu: a <button> dressed as the secondary menu rows (app.css styles only a.menu__item) */
.menu__list button.menu__item {
    display: flex; align-items: center; gap: 12px; width: 100%; min-height: 44px; padding: 0 10px 0 8px; border: 0; border-radius: 10px;
    font: inherit; font-size: 14.5px; font-weight: 600; color: var(--fb-text); text-align: left; background: none; cursor: pointer;
}
.menu__list button.menu__item:hover, .menu__list button.menu__item:focus-visible { background: var(--fb-surface-secondary); }
.menu__list button.menu__item:hover .menu__chev, .menu__list button.menu__item:focus-visible .menu__chev { opacity: 1; transform: rotate(-90deg) translateY(0); }

@media (min-width: 1024px) {
    .fb-consent, body.app .fb-consent { left: 24px; right: auto; bottom: 24px; margin: 0; width: 400px; }
}
@media (prefers-reduced-motion: reduce) { .fb-consent { animation: none; } }
@keyframes fb-consent-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
