/**
 * @file-header
 * path: "public/assets/css/main.css"
 * purpose: "Main Vantage styles. Dark cockpit aesthetic with filtered background crest."
 * version: "1.0.0"
 * author: "Chris Pattullo - cpattullo@deltapolice.ca"
 */

:root {
    --background-crest-url: url('../img/crest.png');
}

body {
    font-family: 'Inter', sans-serif;
    background-color: #121212;
    color: #E0E0E0;
}

/**
 * FIXED BACKGROUND CREST
 * Centers the crest behind the UI with a blue-grey tactical filter.
 */
body::before {
    content: '';
    position: fixed;
    top: 5%; left: 0;
    width: 100%; 
    height: 90vh;
    z-index: -1;
    background-image: var(--background-crest-url);
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: fixed;
    background-size: auto 90%;
    /* Blue-grey tactical filter */
    filter: grayscale(80%) sepia(20%) hue-rotate(190deg) brightness(0.7);
    opacity: 0.15;
}

/* ==========================================================================
   CORE CONTAINERS
   ========================================================================== */

.dashboard-card {
    border: 1px solid #3F3F46; /* zinc-700 */
    background-color: rgba(31, 31, 35, 0.85); /* zinc-800 at 85% opacity */
    backdrop-filter: blur(4px);
    border-radius: 0.5rem;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.5);
    transition: all 0.3s ease;
}

.dashboard-card:hover {
    border-color: #52525B; /* zinc-600 */
}

/* ==========================================================================
   GLOBAL UI COMPONENTS
   ========================================================================== */

.global-ui-button {
    padding: 0.75rem;
    color: #E0E0E0;
    border-radius: 9999px;
    box-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.3);
    transition: all 0.3s ease;
    background-color: #3F3F46; /* zinc-700 */
}

.global-ui-button:hover {
    background-color: #52525B; /* zinc-600 */
    color: #FFFFFF;
    transform: scale(1.05);
}

.global-ui-button:active {
    transform: scale(0.95);
}
/* ==========================================================================
   VAN-042: FEED GROUP SECTIONS
   Grouped feed layout — each camera_group rendered as a labelled section.
   ========================================================================== */

/**
 * @css-header:
 *   section: feed-group
 *   purpose: "Container for a named feed group section (VAN-042).
 *             Groups render as full-width sections separated by a heading.
 *             feed-group--ungrouped: anonymous 'Other Feeds' section.
 *             feed-group--matrix-row: single-row container for the matrix trigger card."
 *   version: "1.0.0"
 *   design_refs: VAN-042, AC-003, AC-004, AC-005, AC-007
 */

.feed-group {
    width: 100%;
    padding: 0 0 1rem 0;
}

.feed-group__name {
    font-size: 0.65rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #71717a; /* zinc-500 */
    padding: 0.75rem 0.5rem 0.4rem;
    max-width: 1800px;
    margin: 0 auto;
}

.feed-group__feeds {
    /* inherits grid classes from Tailwind; no extra CSS needed */
}

/* Ungrouped section uses softer label */
.feed-group--ungrouped .feed-group__name {
    color: #52525b; /* zinc-600 — visually de-emphasised */
}

/* Matrix row: no section heading; just a grid row beneath the feed sections */
.feed-group--matrix-row {
    padding-top: 0;
}

/* ── Group card expand/collapse ─────────────────────────────────────────────
   group-card: the folder-style card shown in the default view.
   group-card[aria-expanded="true"]: active/open state.
   feed-group-drawer: hidden feed grid revealed when a group card is tapped.
   ─────────────────────────────────────────────────────────────────────────── */

.group-card {
    user-select: none;
}

.group-card[aria-expanded="true"] {
    background-color: rgba(39, 39, 42, 0.85); /* zinc-800/85 */
    border-color: #3f3f46; /* zinc-700 */
    box-shadow: 0 0 0 1px #3f3f46;
}

.group-card[aria-expanded="true"] .group-card__chevron {
    transform: rotate(180deg);
}

.group-card:focus-visible {
    outline: 2px solid #6366f1;
    outline-offset: 2px;
}

/* Drawer: slides open from nothing; relies on hidden attr for initial state */
.feed-group-drawer {
    width: 100%;
    animation: drawerOpen 0.18s ease-out;
}

@keyframes drawerOpen {
    from { opacity: 0; transform: translateY(-6px); }
    to   { opacity: 1; transform: translateY(0); }
}

.feed-group-drawer__header {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.feed-group-drawer__close {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem;
    border-radius: 0.25rem;
    transition: color 0.15s;
}

.feed-groups-header {
    /* section label row above group card grid */
}

/* Feed card name + description */
.feed-card__name {
    /* inherits text-xs font-semibold from Tailwind */
}
.feed-card__desc {
    /* inherits text-zinc-500 text-xs from Tailwind */
}
