/* Shared design system for the five public sections, loaded after legacy themes.
   Full-width section backgrounds; one content grid; quiet reading surfaces. */
body.lv-public-section {
    --section-forest: #064e43;
    --section-green: #087461;
    --section-mint: #e3f2e9;
    --section-paper: #f3f8f5;
    --section-gold: #edc46b;
    --section-line: #cbded4;
    --section-ink: #183e34;
    --section-muted: #486358;
    --section-hero: radial-gradient(ellipse at 0 0, #167663, transparent 65%), var(--section-forest);
    --ui-ink: var(--section-ink);
    --ui-muted: var(--section-muted);
    --ui-green: var(--section-green);
    --ui-deep-green: var(--section-forest);
    --ui-blue: var(--section-green);
    --ui-coral: var(--section-green);
    --ui-sky: var(--section-mint);
    --ui-mint: var(--section-mint);
    --ui-border: var(--section-line);
    --lv-focus: var(--section-green);
    background: var(--section-paper);
}
body.lv-public-section #main-content :is(.container,.lv-forum-shell,.lv-create-layout,.lv-forum-page-header) {
    width: 100%;
    max-width: 1440px;
    margin-inline: auto;
    padding-inline: clamp(20px, 4vw, 64px);
}
body.lv-public-section.lv-vibrant-palette :is(.lv-about-story,.lv-teacher-directory,.lv-contact-page,.lv-forum-wrap,.lv-news-page,.lv-category-directory,.lv-news-detail) {
    background: var(--section-paper);
    color: var(--section-ink);
}
body.lv-public-section.lv-vibrant-palette :is(.lv-about-story,.lv-forum-index,.lv-news-page) { padding-top: 0; }
body.lv-public-section.lv-vibrant-palette :is(.lv-about-hero,.lv-directory-hero,.lv-contact-hero,.lv-community-hero,.lv-news-header,.lv-category-hero,.lv-detail-hero,.lv-profile-hero) {
    background: var(--section-hero);
    border: 0;
    border-bottom: 4px solid var(--section-gold);
    border-radius: 0;
    box-shadow: none;
    max-width: none;
    margin: 0;
    padding: 28px 0 40px;
}
body.lv-public-section.lv-vibrant-palette :is(.lv-about-hero,.lv-directory-hero,.lv-contact-hero,.lv-community-hero,.lv-news-header,.lv-category-hero,.lv-detail-hero,.lv-profile-hero) :is(h1,h1 span,nav,nav a) { color: #fff; }
body.lv-public-section.lv-vibrant-palette :is(.lv-story-breadcrumb,.lv-directory-breadcrumb,.lv-contact-breadcrumb,.lv-community-hero nav,.lv-news-breadcrumb,.lv-category-breadcrumb) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
    font-size: 13px;
    line-height: 1.9;
    margin-bottom: 24px;
}
body.lv-public-section.lv-vibrant-palette :is(.lv-about-hero,.lv-directory-hero,.lv-contact-hero,.lv-community-hero,.lv-news-header) :is(.lv-story-kicker,.lv-directory-eyebrow,.lv-contact-eyebrow,.lv-community-eyebrow,.lv-news-eyebrow) { color: #ffe1a0; }
body.lv-public-section.lv-vibrant-palette :is(.lv-about-hero,.lv-directory-hero,.lv-contact-hero,.lv-community-hero,.lv-news-header) :is(.lv-story-intro>p,.lv-directory-hero-grid>div>p,.lv-contact-hero p,.lv-community-intro p,.lv-news-heading-row>div>p,.lv-topic-introduction) {
    color: #e0f2ea;
    font-size: 15px;
    line-height: 2;
    max-width: 75ch;
}
body.lv-public-section.lv-vibrant-palette .lv-contact-hero { text-align: start; }
body.lv-public-section.lv-vibrant-palette .lv-contact-hero p { margin-inline: 0; }
body.lv-public-section.lv-vibrant-palette :is(.lv-contact-hero h1 span,.lv-directory-hero h1 span)::after { background: #ffffff20; }
body.lv-public-section.lv-vibrant-palette .lv-story-hero { padding-bottom: 0; gap: 48px; }
body.lv-public-section.lv-vibrant-palette .lv-story-intro h1 { margin-bottom: 16px; }
body.lv-public-section.lv-vibrant-palette .lv-story-kicker>span { background: var(--section-gold); box-shadow: 0 0 0 5px #ffffff15; }
body.lv-public-section.lv-vibrant-palette .lv-about-hero :is(.lv-story-person-name,.lv-story-person-language,.lv-story-photo-caption) { color: #e0f2ea; }
body.lv-public-section.lv-vibrant-palette .lv-story-photo { border-color: #a9cfbe; box-shadow: 0 8px 24px #002d2526; }
body.lv-public-section.lv-vibrant-palette .lv-story-person:nth-child(n) .lv-story-photo { border-color: #a9cfbe; background: var(--section-mint); }
body.lv-public-section.lv-vibrant-palette .lv-community-summary { color: #e0f2ea; border-color: #ffffff30; }
body.lv-public-section.lv-vibrant-palette .lv-forum-index .lv-forum-shell { padding-block: 32px 0; grid-template-columns: minmax(0,1fr) 280px; gap: 32px; }
body.lv-public-section.lv-vibrant-palette .lv-directory-content { padding-top: 32px; }
body.lv-public-section.lv-vibrant-palette .lv-news-list { padding-top: 32px; }
body.lv-public-section.lv-vibrant-palette .lv-news-with-sidebar>.lv-topic-sidebar { margin-top: 32px; }
body.lv-public-section.lv-vibrant-palette .lv-contact-team { padding-block: 32px 48px; }
body.lv-public-section.lv-vibrant-palette :is(.lv-directory-card,.lv-contact-teacher,.lv-news-card,.lv-forum-main,.lv-forum-side-card,.lv-topic-sidebar,.lv-story-principles article,.lv-category-card) {
    border-color: var(--section-line);
    border-radius: 16px;
    box-shadow: 0 5px 20px #064e4308;
}
body.lv-public-section.lv-vibrant-palette :is(.lv-directory-card,.lv-contact-teacher):nth-child(n) { border-top: 4px solid var(--section-green); }
body.lv-public-section.lv-vibrant-palette .lv-news-page .lv-topic-sidebar { border-top-color: var(--section-green); }
body.lv-public-section.lv-vibrant-palette .lv-news-card.lv-news-lead { border-inline-start-color: var(--section-gold); }
body.lv-public-section.lv-vibrant-palette .lv-directory-card:nth-child(n) .lv-directory-card-content { background: #fff; }
body.lv-public-section.lv-vibrant-palette :is(.lv-directory-card-label,.lv-directory-guide h2,.lv-story-number,.lv-story-principles article:nth-child(n) .lv-story-number,.lv-contact-text-link,.lv-contact-profile,.lv-directory-help>a,.lv-story-contact>a) { color: var(--section-green); }
body.lv-public-section.lv-vibrant-palette .lv-story-principles article:nth-child(n) { background: #fff; border-color: var(--section-line); border-top: 4px solid var(--section-green); }
body.lv-public-section.lv-vibrant-palette .lv-category-card:nth-child(n) { background: #fff; }
body.lv-public-section.lv-vibrant-palette :is(.lv-directory-levels>div>span,.lv-directory-count,.lv-community-count,.lv-news-result-count,.lv-contact-language,.lv-forum-tag,.lv-forum-tag-cloud a,.lv-forum-table-head,.lv-source-note,.lv-reading-body blockquote) {
    background: var(--section-mint);
    color: var(--section-forest);
    border-color: var(--section-line);
}
body.lv-public-section.lv-vibrant-palette :is(.lv-directory-guide,.lv-directory-help,.lv-story-contact,.lv-create-guide,.lv-category-help) { background: #eaf4ee; border-color: var(--section-line); }
body.lv-public-section.lv-vibrant-palette .lv-story-contact { border-inline-start-color: var(--section-green); border-radius: 16px; }
body.lv-public-section.lv-vibrant-palette :is(.lv-community-welcome,.lv-contact-note) { background: var(--section-hero); }
body.lv-public-section.lv-vibrant-palette .lv-community-welcome p { color: #e0f2ea; }
body.lv-public-section.lv-vibrant-palette :is(.lv-contact-form-panel,.lv-forum-reply-form) { background: #fff; border-top-color: var(--section-green); }
body.lv-public-section.lv-vibrant-palette :is(.lv-community-search,.lv-news-search>div,.lv-story-accordions details[open],.lv-discussion-detail .lv-forum-reply) { background: #f0f7f3; border-color: var(--section-line); }
body.lv-public-section.lv-vibrant-palette :is(.lv-forum-side-row.is-active,.lv-forum-tag-cloud a.is-active) { background: var(--section-mint); color: var(--section-forest); }
body.lv-public-section.lv-vibrant-palette :is(.lv-community-pinned,.lv-forum-index .lv-community-pinned) { background: #fff8e8; border-right-color: var(--section-gold); }
body.lv-public-section.lv-vibrant-palette :is(.lv-directory-hero .lv-directory-jump,.lv-contact-jump,.lv-about-hero .lv-story-primary,.lv-community-ask) {
    background: var(--section-gold);
    border: 1px solid var(--section-gold);
    color: #233c32;
    border-radius: 10px;
    box-shadow: none;
    min-height: 48px;
}
body.lv-public-section.lv-vibrant-palette :is(.lv-directory-hero .lv-directory-jump,.lv-contact-jump,.lv-about-hero .lv-story-primary,.lv-community-ask):hover { background: #ffdfa0; border-color: #ffdfa0; color: #233c32; }
body.lv-public-section.lv-vibrant-palette .lv-about-hero .lv-story-secondary { color: #fff; border-color: #a9cfbe; }
body.lv-public-section.lv-vibrant-palette .lv-contact-send { background: var(--section-green); color: #fff; }
body.lv-public-section.lv-vibrant-palette .lv-contact-send:hover { background: var(--section-forest); color: #fff; }
body.lv-public-section.lv-vibrant-palette .lv-reading-body a { color: var(--section-green); }
body.lv-public-section.lv-vibrant-palette :is(.lv-reading-aside .lv-detail-card,.lv-discussion-detail .lv-forum-reply) { border-color: var(--section-line); border-inline-start-color: var(--section-green); }
body.lv-public-section.lv-vibrant-palette .lv-news-heading-row { gap: 32px; }
body.lv-public-section.lv-vibrant-palette :is(.lv-about-hero,.lv-directory-hero,.lv-contact-hero,.lv-community-hero,.lv-news-header) :is(a,button,input):focus-visible { outline: 3px solid var(--section-gold); outline-offset: 4px; }
@media (max-width: 991px) {
    body.lv-public-section.lv-vibrant-palette .lv-forum-index .lv-forum-shell { gap: 24px; grid-template-columns: minmax(0,1fr) 240px; }
    body.lv-public-section.lv-vibrant-palette .lv-news-with-sidebar>.lv-topic-sidebar { margin-top: 0; }
}
@media (max-width: 900px) {
    body.lv-public-section.lv-vibrant-palette .lv-forum-index .lv-forum-shell { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 767px) {
    body.lv-public-section.lv-vibrant-palette :is(.lv-about-hero,.lv-directory-hero,.lv-contact-hero,.lv-community-hero,.lv-news-header,.lv-category-hero,.lv-detail-hero,.lv-profile-hero) { padding-block: 20px 28px; }
    body.lv-public-section.lv-vibrant-palette .lv-story-hero { gap: 28px; }
    body.lv-public-section.lv-vibrant-palette :is(.lv-story-breadcrumb,.lv-directory-breadcrumb,.lv-contact-breadcrumb,.lv-community-hero nav,.lv-news-breadcrumb) { margin-bottom: 20px; font-size: 12px; }
    body.lv-public-section.lv-vibrant-palette .lv-forum-index .lv-forum-shell { padding-top: 24px; }
    body.lv-public-section.lv-vibrant-palette .lv-news-list { padding-top: 24px; }
}
@media (prefers-reduced-motion: reduce) {
    body.lv-public-section :is(.lv-directory-card,.lv-story-photo img) { transition: none; }
    body.lv-public-section .lv-directory-card:hover { transform: none; }
}
@media (prefers-contrast: more) {
    body.lv-public-section { --section-muted: #264b3d; --section-line: #648a78; }
}
