/* Bowl4U — cookie consent bar (slide-up; built by cookie-consent.js).
   Loaded by EVERY shell (Blazor public, Identity, Admin, legacy MVC) so the one
   localStorage choice is asked for by one and the same bar. The var() fallbacks
   are the light-theme tokens from theme.css, for the shells that don't load it. */
.b4u-cookie { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000;
    display: flex; justify-content: center; padding: 0 16px 16px; pointer-events: none;
    /* Appended to <body> (outside .b4u-app), so set the font explicitly. */
    font-family: var(--b4u-font-body, 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif); }
.b4u-cookie-card { pointer-events: auto; width: 100%; max-width: 760px;
    background: var(--b4u-bg-card, #FFFFFF); border: 1px solid var(--b4u-border, rgba(0,0,0,0.08)); border-radius: 18px;
    box-shadow: 0 24px 60px rgba(0,0,0,.35); overflow: hidden;
    transform: translateY(130%); opacity: 0;
    transition: transform .34s cubic-bezier(.22,1,.36,1), opacity .34s ease; }
.b4u-cookie.is-shown .b4u-cookie-card { transform: none; opacity: 1; }
.b4u-cookie-accent { height: 4px; background: var(--b4u-primary, #E03440); }
.b4u-cookie-body { display: flex; align-items: flex-start; gap: 14px; padding: 20px 24px 22px; flex-wrap: wrap; }
.b4u-cookie-icon { flex-shrink: 0; width: 44px; height: 44px; border-radius: 12px;
    display: inline-flex; align-items: center; justify-content: center;
    background: color-mix(in srgb, var(--b4u-primary, #E03440) 14%, transparent); color: var(--b4u-primary, #E03440); }
.b4u-cookie-text { flex: 1; min-width: 240px; }
.b4u-cookie-text h3 { margin: 0; font-size: 17px; font-weight: 700; color: var(--b4u-text, #0F172A); letter-spacing: -0.01em; }
.b4u-cookie-text p { margin: 6px 0 0; font-size: 13.5px; line-height: 1.6; color: var(--b4u-text-muted, #94A3B8); }
.b4u-cookie-text p a { color: var(--b4u-primary, #E03440); font-weight: 600; text-decoration: none; white-space: nowrap; }
.b4u-cookie-text p a:hover { text-decoration: underline; }
.b4u-cookie-actions { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-left: auto; }
.b4u-cookie-btn { padding: 10px 18px; font-size: 14px; font-weight: 600; font-family: inherit;
    border-radius: 10px; cursor: pointer; border: 1px solid transparent; white-space: nowrap; transition: filter .15s, background .15s; }
.b4u-cookie-btn-primary { background: var(--b4u-primary, #E03440); color: #fff; }
.b4u-cookie-btn-primary:hover { filter: brightness(1.07); }
.b4u-cookie-btn-ghost { background: transparent; border-color: var(--b4u-border, rgba(0,0,0,0.08)); color: var(--b4u-text, #0F172A); }
.b4u-cookie-btn-ghost:hover { background: color-mix(in srgb, var(--b4u-text, #0F172A) 8%, transparent); }
@media (max-width: 640px) {
    .b4u-cookie { padding: 0; }
    .b4u-cookie-card { border-radius: 16px 16px 0 0; max-width: none; }
    .b4u-cookie-actions { width: 100%; }
    .b4u-cookie-btn { flex: 1; }
}
