/**
 * GENERATED FILE - do not edit.
 * Produced by build.py from config/brand.json for FlexFest.
 *
 * Every brand value in the dashboard resolves through one of these tokens.
 * Change brand.json and rebuild; never patch this file or styles.css.
 */

:root {
    /* ---- core palette ------------------------------------------------ */
    --brand-primary: #204A8D;
    --brand-primary-rgb: 32, 74, 141;
    --brand-secondary: #FFD966;
    --brand-secondary-rgb: 255, 217, 102;
    --brand-dark: #152B57;
    /* Needed by anything that tints with the dark at partial alpha - the
       thumbnail-grid veil, for one. An UNDEFINED custom property inside rgba()
       is invalid at computed-value time, which drops the whole declaration and
       leaves a transparent panel with no error anywhere. */
    --brand-dark-rgb: 21, 43, 87;
    --brand-dark-soft: #445579;
    --brand-neutral: #5A6C8F;

    /* ---- aliases kept so the structural stylesheet stays untouched ---- */
    --brand-blue: var(--brand-primary);
    --brand-green: var(--brand-secondary);
    --brand-orange: var(--brand-secondary);
    --brand-purple: var(--brand-dark);
    --primary-navy: var(--brand-dark);
    --gold-accent: var(--brand-secondary);

    /* ---- neutrals ---------------------------------------------------- */
    --white: #FFFFFF;
    --light-gray: #F8F9FA;
    --medium-gray: #E5E7EB;
    --dark-gray: var(--brand-neutral);

    /* ---- text -------------------------------------------------------- */
    --text-primary: #152B57;
    --text-secondary: #5A6C8F;
    --text-body: #152B57;
    --text-muted: #4B5563;

    /* ---- component colours ------------------------------------------- */
    --star-active: #FFD966;
    --star-inactive: #DDDDDD;
    --rating-good: #10B981;
    --rating-ok: #FFD966;
    --rating-poor: #EF4444;
    --video-placeholder-bg: #282828;

    --toast-success-bg: #F0FFF4;
    --toast-success-border: #22C55E;
    --toast-success-text: #15803D;
    --toast-error-bg: #FFF1F2;
    --toast-error-border: #F43F5E;
    --toast-error-text: #BE123C;

    /* ---- typography -------------------------------------------------- */
    --font-body: Verdana, Geneva, 'DejaVu Sans', sans-serif;
    --font-heading: Georgia, 'Times New Roman', Times, serif;

    /* ---- shape & depth ----------------------------------------------- */
    --border-radius: 4px;
    --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.08);
    --shadow-md: 0 4px 12px -2px rgba(0, 0, 0, 0.12);
    --shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.15);
}



/* nav_active: "solid-dark". The default gradient ends on --brand-secondary,
   which leaves the white label unreadable when the secondary is a pale accent
   (contrast against white here: 1.37:1). Run the
   dark -> primary fill instead and pin the foreground to white. */
.nav-item.active {
    background: linear-gradient(135deg, var(--brand-dark) 0%, var(--brand-primary) 100%) !important;
    color: var(--white) !important;
}

/* Scoped to `.intro-item.active`, not `.intro-item`. Home only carries the dark
   fill while it is the open page; pinning its label white unconditionally left an
   invisible white-on-tint label on every session page. */
.nav-item.active .nav-text,
.nav-item.intro-item.active .nav-text {
    color: var(--white) !important;
}

.nav-item.active .nav-number {
    background: rgba(255, 255, 255, 0.92) !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
    color: var(--brand-dark) !important;
}



/* Headings run on the display face. */
h1, h2, h3, h4,
.session-title,
.logo-title,
.how-to-use-title,
.section-box-title,
.breakthrough-title,
.rating-title,
.feedback-title,
.sponsor-title,
.event-banner-content h1 {
    font-family: var(--font-heading);
}



/* ---- custom_css from brand.json ------------------------------------- */
/* FF Yellow thin bar on the FF Blue Gradient composition (style guide p.7). */
.sidebar-header { border-bottom: 3px solid var(--brand-secondary) !important; }

/* Verdana label/button treatment: all caps, tracking 180 (style guide p.6). */
.logo-text { text-transform: uppercase; letter-spacing: 0.18em; }


