/* ENACT-AI logo palette — v1.3.0
   Black carries structure and text; green is the primary action colour;
   raspberry marks emphasis; lilac and sky blue remain soft supporting tones. */
:root {
    --ink: #000000;
    --muted: #4f4f4f;
    --paper: #f8f8f6;
    --line: #dedede;
    --violet: #74ab40;
    --orange: #c5246a;
    --magenta: #c5246a;
    --teal: #a5c5e8;
    --green: #74ab40;
    --enact-black: #000000;
    --enact-raspberry: #c5246a;
    --enact-lilac: #c19bc4;
    --enact-sky: #a5c5e8;
    --enact-green: #74ab40;
    --enact-green-dark: #4f7d27;
    --enact-raspberry-dark: #94194d;
    --enact-lilac-soft: #f5eff6;
    --enact-sky-soft: #f0f6fc;
    --enact-green-soft: #f1f7eb;
    --shadow: 0 16px 45px rgba(0, 0, 0, .08);
}

body { color: var(--enact-black); }
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible {
    outline: 3px solid var(--enact-sky);
    outline-offset: 3px;
}

/* Navigation and actions */
.brand-mark,
.hero-search button,
.button,
.filter-button {
    background: var(--enact-green);
    color: var(--enact-black);
}
.primary-nav a:hover,
.primary-nav .current-menu-item > a,
.section-heading.split a,
.filter-head a,
.resource-kicker,
.pathway-card > span,
.pathway-card > a,
.card-link,
.eyebrow {
    color: var(--enact-green-dark);
}
.nav-search {
    background: var(--enact-black);
    color: #fff !important;
}
.hero-search button:hover,
.button:hover,
.filter-button:hover {
    background: var(--enact-raspberry);
    color: #fff;
}

/* Calm logo-led page surfaces */
.hero {
    background:
        radial-gradient(circle at 12% 18%, rgba(193, 155, 196, .30) 0, transparent 24%),
        radial-gradient(circle at 88% 78%, rgba(165, 197, 232, .34) 0, transparent 22%),
        linear-gradient(120deg, #fff, var(--enact-green-soft));
}
.archive-hero {
    background: linear-gradient(135deg, var(--enact-lilac-soft), #fff 62%);
    border-bottom: 1px solid rgba(193, 155, 196, .42);
}
.pathways-hero {
    background: linear-gradient(135deg, var(--enact-green-soft), #fff 62%);
    border-bottom-color: rgba(116, 171, 64, .32);
}
.topics-section { background: var(--paper); }
.orb-one { background: rgba(193, 155, 196, .46); }
.orb-two { background: rgba(165, 197, 232, .55); }

/* Cards use one main accent; secondary colours are supporting signals only. */
.audience-card,
.topic-card,
.resource-card,
.pathway-card,
.resource-facts {
    border-color: var(--line);
}
.audience-card:hover,
.resource-card:hover,
.pathway-card:hover {
    border-color: var(--enact-green);
}
.student .audience-icon,
.topic-icon,
.topic-card.violet .topic-icon {
    background: var(--enact-green-soft);
    color: var(--enact-green-dark);
}
.teacher .audience-icon,
.topic-card.magenta .topic-icon {
    background: #faedf3;
    color: var(--enact-raspberry-dark);
}
.self .audience-icon,
.topic-card.teal .topic-icon {
    background: var(--enact-sky-soft);
    color: #315f8d;
}
.topic-card.orange .topic-icon {
    background: var(--enact-lilac-soft);
    color: #745078;
}
.topic-card.green .topic-icon {
    background: var(--enact-green-soft);
    color: var(--enact-green-dark);
}
.topic-card.violet,
.topic-card.green { border-top-color: var(--enact-green); }
.topic-card.orange { border-top-color: var(--enact-lilac); }
.topic-card.magenta { border-top-color: var(--enact-raspberry); }
.topic-card.teal { border-top-color: var(--enact-sky); }
.topic-pill {
    color: var(--enact-raspberry-dark);
    background: #faedf3;
}
.resource-card-top { align-items: flex-start; }
.resource-card-topics { display:flex; flex:1 1 auto; flex-wrap:wrap; gap:7px; min-width:0; }
.resource-card-topics .topic-pill { display:inline-flex; align-items:center; max-width:100%; border:1px solid transparent; border-radius:999px; line-height:1.25; white-space:normal; }
.resource-card-top .stars { flex:0 0 auto; padding-top:5px; }
.topic-pill--ai-literacy-critical-thinking { color:#406b1d; background:#f1f7eb; border-color:#74ab40 !important; }
.topic-pill--youth-participation-democracy { color:#68466c; background:#f5eff6; border-color:#c19bc4 !important; }
.topic-pill--information-media-power { color:#94194d; background:#faedf3; border-color:#c5246a !important; }
.topic-pill--youth-safeguarding { color:#315f8d; background:#f0f6fc; border-color:#a5c5e8 !important; }
.topic-pill--ai-environment-society { color:#000; background:#f1f1f1; border-color:#000 !important; }
.topic-pill--featured { color:#4f4f4f; background:#f4f4f4; border-color:#c9c9c9 !important; }
.stars { color: var(--enact-raspberry); }
.country-row a:hover { border-color: var(--enact-green); }

/* Hero illustration */
.visual-person {
    background: linear-gradient(145deg, var(--enact-green), #92c661);
    color: var(--enact-black);
}
.card-a { color: var(--enact-green-dark); }
.card-a span,
.card-c { color: var(--enact-raspberry); }
.card-b { color: #315f8d; }
.hero-visual .enact-icon-network { color: var(--enact-green-dark); }
.hero-visual .enact-icon-source { color: #315f8d; }
.hero-visual .enact-icon-bias { color: var(--enact-raspberry); }
.enact-hero-concepts .visual-card small { color: var(--enact-black); }
.enact-hero-concepts .network-icon::before,
.enact-hero-concepts .network-icon::after { background: var(--enact-lilac); }
.enact-hero-concepts .network-icon i { border-color: var(--enact-green); }
.enact-hero-concepts .source-icon { border-color: #5f8fbe; }
.enact-hero-concepts .source-icon::before { background: #5f8fbe; }
.enact-hero-concepts .source-icon::after { color: #315f8d; }
.enact-hero-concepts .bias-icon { color: var(--enact-raspberry); }
.enact-hero-concepts .person-head,
.enact-hero-concepts .person-body { background: var(--enact-black); }

/* Dark pathway and footer sections */
.pathway-band,
.site-footer { background: var(--enact-black); }
.pathway-preview {
    background: #151515;
    border-color: #343434;
}
.pathway-preview > span { color: var(--enact-green); }
.light-button { background: #fff; color: var(--enact-black); }
.site-footer .footer-project-statement,
.site-footer p,
.brand-light small { color: #d5d5d5; }

/* Resource states and form controls */
.filters input:focus,
.filters select:focus,
.hero-search input:focus { outline-color: var(--enact-sky); }
.status {
    background: var(--enact-green-soft);
    color: var(--enact-green-dark);
}
.status.needs_review {
    background: #faedf3;
    color: var(--enact-raspberry-dark);
}
.page-numbers .current { background: var(--enact-black); }

/* Existing Elementor homepage: correct the former purple/orange/teal accents. */
.elementor-homepage [data-id="ea20005"],
.elementor-homepage [data-id="ea30006"] { border-top-color: var(--enact-green) !important; }
.elementor-homepage [data-id="ea20006"],
.elementor-homepage [data-id="ea30007"] { border-top-color: var(--enact-lilac) !important; }
.elementor-homepage [data-id="ea20007"],
.elementor-homepage [data-id="ea30009"] { border-top-color: var(--enact-sky) !important; }
.elementor-homepage [data-id="ea30008"] { border-top-color: var(--enact-raspberry) !important; }
.elementor-homepage [data-id="ea30010"] { border-top-color: var(--enact-green) !important; }

.elementor-homepage [data-id="ea20005"] .elementor-icon,
.elementor-homepage [data-id="ea30006"] .elementor-icon,
.elementor-homepage [data-id="ea30010"] .elementor-icon {
    background: var(--enact-green-soft) !important;
    color: var(--enact-green-dark) !important;
    fill: var(--enact-green-dark) !important;
}
.elementor-homepage [data-id="ea20006"] .elementor-icon,
.elementor-homepage [data-id="ea30007"] .elementor-icon {
    background: var(--enact-lilac-soft) !important;
    color: #745078 !important;
    fill: #745078 !important;
}
.elementor-homepage [data-id="ea20007"] .elementor-icon,
.elementor-homepage [data-id="ea30009"] .elementor-icon {
    background: var(--enact-sky-soft) !important;
    color: #315f8d !important;
    fill: #315f8d !important;
}
.elementor-homepage [data-id="ea30008"] .elementor-icon {
    background: #faedf3 !important;
    color: var(--enact-raspberry-dark) !important;
    fill: var(--enact-raspberry-dark) !important;
}
.elementor-homepage [data-id="ea50001"] { background: var(--enact-black) !important; }
.elementor-homepage [data-id="ea50005"] { background: #000000 !important; }
.elementor-homepage [data-id="ea50005"] > .elementor-widget-container { border-color: #343434 !important; }
.elementor-homepage [data-id="ea50006"] .elementor-heading-title,
.elementor-homepage [data-id="ea50007"] .elementor-heading-title { color: var(--enact-green) !important; }
.elementor-homepage [data-id="ea50008"] {
    background: linear-gradient(145deg, #181818, #050505) !important;
    border-color: rgba(165, 197, 232, .32) !important;
}
.elementor-homepage [data-id="ea50008"] .elementor-icon {
    background: var(--enact-green) !important;
    color: var(--enact-black) !important;
}
.elementor-homepage [data-id="ea50008"] .elementor-icon-box-content::before {
    color: var(--enact-sky) !important;
}
.elementor-homepage [data-id="ea50007"] .elementor-button:hover {
    background: var(--enact-green) !important;
    color: var(--enact-black) !important;
}
.elementor-homepage .country-section {
    background: linear-gradient(180deg, #fff 0%, var(--enact-sky-soft) 100%) !important;
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; }
}
