/* ============================================================
   NearU - Cookie consent (banner + Cookie Preferences modal)
   Modal frame, head, section headings and checkbox come from
   hero-modals.css (.nearu-modal*, .nearu-check); buttons from
   components.css. Consumes global tokens; declares NO :root.
   ============================================================ */

/* ============================================================
   BANNER - fixed white card at the bottom of the viewport.
   z-index: above the sticky header (1030), below the
   Bootstrap modal backdrop (1050).
   ============================================================ */
.nearu-cookie-banner {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1040;
    padding: 0 var(--space-4) var(--space-4);
    pointer-events: none;
}
.nearu-cookie-banner[hidden] { display: none !important; }

.nearu-cookie-banner-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-5);
    background: var(--nearu-card-bg);
    border: 1px solid var(--nearu-border);
    border-radius: var(--radius-panel);
    box-shadow: 0 30px 80px rgba(26, 27, 46, .18);
    padding: var(--space-5) var(--space-6);
    pointer-events: auto;
}

.nearu-cookie-banner-msg {
    font-family: var(--font-body);
    font-size: var(--body);
    font-weight: var(--fw-semibold);
    line-height: var(--lh-loose);
    color: var(--nearu-ink);
    margin: 0 0 var(--space-1);
}

/* Policy links (banner + modal foot) */
.nearu-cookie-links { color: var(--nearu-muted); }
.nearu-cookie-banner .nearu-cookie-links {
    font-size: 13.5px;
    margin: 0;
}
.nearu-cookie-links span { margin: 0 var(--space-1); }
.nearu-cookie-links a {
    color: var(--nearu-primary);
    font-weight: var(--fw-semibold);
    text-decoration: none;
    transition: color .2s ease;
}
.nearu-cookie-links a:hover {
    color: var(--nearu-primary-dark);
    text-decoration: underline;
}

/* Button row (banner + modal) */
.nearu-cookie-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    flex: 0 0 auto;
}
.nearu-cookie-actions .btn { justify-content: center; }

/* ============================================================
   MODAL - categories
   ============================================================ */
.nearu-cookie-cats {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}
.nearu-cookie-cat {
    border: 1px solid var(--nearu-border);
    border-radius: var(--radius-card);
    background: var(--nearu-tile);
    padding: var(--space-4) var(--space-5);
}
.nearu-cookie-cat-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    margin-bottom: var(--space-2);
}
.nearu-cookie-cat .nearu-modal-section { margin: 0; }

.nearu-cookie-status {
    font-size: var(--body-sm);
    font-weight: var(--fw-bold);
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-pill);
    white-space: nowrap;
}
.nearu-cookie-cat-desc {
    font-size: 14px;
    line-height: 1.7;
    color: var(--nearu-muted);
    margin: 0;
}
.nearu-cookie-cat-service {
    font-size: 13px;
    font-weight: var(--fw-semibold);
    color: var(--nearu-ink);
    margin: var(--space-2) 0 0;
}
.nearu-cookie-cat .nearu-check { margin-top: var(--space-1); font-weight: var(--fw-semibold); }

.nearu-cookie-modal-actions {
    justify-content: flex-end;
    margin-top: var(--space-6);
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 991.98px) {
    .nearu-cookie-banner-inner {
        flex-direction: column;
        align-items: stretch;
        gap: var(--space-4);
    }
}

@media (max-width: 575.98px) {
    .nearu-cookie-banner { padding: 0 var(--space-2) var(--space-2); }
    .nearu-cookie-banner .container { padding: 0; }
    .nearu-cookie-banner-inner { padding: var(--space-4); }
    .nearu-cookie-actions { flex-direction: column; }
    .nearu-cookie-actions .btn { width: 100%; }
    .nearu-cookie-cat { padding: var(--space-4); }
}
