/* FEM visual system: homepage palette shared by all content templates. */
:root {
    --fem-ink: #12385e;
    --fem-accent: #12385e;
    --fem-sky: #4692d2;
    --fem-blue: #378aba;
    --fem-clay: #a7250e;
    --fem-sage: #95b3a8;
    --fem-soft-sage: #edf3f0;
    --fem-soft-blue: #e8f2fa;
    --fem-text: #4f5c62;
    --fem-border: #dce5e8;
    --fem-radius: 10px;
    --fem-shadow: 0 8px 25px #12385e09;
}
body { color: var(--fem-text); }
main a { color: var(--fem-ink); }
main a:hover { color: var(--fem-clay); }
main :is(h1,h2,h3,h4,h5,h6) { color: var(--fem-ink); }
main .fem-news-heading :is(h1,h2), main .fem-news-heading .fem-news-section { color: #fff; }
main .section-title h2 { font-size: clamp(30px, 3.7vw, 46px); line-height: 1.2; }
main :is(.fem-news-body,.fem-content) { line-height: 1.85; }
main :is(.fem-news-body,.fem-content) :is(h2,h3,h4) { line-height: 1.3; margin-top: 1.6em; margin-bottom: .7em; }
main :is(.fem-news-body,.fem-content) h2 { font-size: clamp(25px, 2.5vw, 32px); }
main :is(.fem-news-body,.fem-content) a { color: var(--fem-ink); text-underline-offset: 4px; }
main :is(.fem-news-body,.fem-content) a:hover { color: var(--fem-clay); }
main :is(.fem-news-body,.fem-content) li { margin-bottom: .5em; }
main :is(.fem-news-body,.fem-content) li::marker { color: var(--fem-blue); }
main .common-btn, .fem-about-join .wp-block-button__link {
    background: var(--fem-ink); color: #fff; border-radius: 6px;
    font-weight: 600; padding: 13px 24px; transition: background .2s;
}
main .common-btn::before { display: none; }
main .common-btn:hover, .fem-about-join .wp-block-button__link:hover { background: var(--fem-clay); color: #fff; }
main :is(a,button,input,select,textarea):focus-visible { outline: 3px solid var(--fem-sky); outline-offset: 3px; }
main .fem-video-play:focus-visible { outline-color: #fff; outline-offset: -8px; }
main :is(.fem-news-list,.fem-programme-list,.fem-agenda,.fem-channel-section,.fem-contact,.fem-news-detail,.fem-programme-detail,.fem-content) { padding-top: 80px; padding-bottom: 80px; }
.fem-news-list, .fem-programme-list, .fem-agenda { background: var(--fem-soft-sage); }
:is(.fem-news-card,.fem-programme-card,.fem-channel-card,.fem-team-card,.fem-agenda-card,.fem-about-principle,.fem-about-value) {
    background: #fff; border: 1px solid var(--fem-border); border-top: 4px solid var(--fem-ink);
    border-radius: var(--fem-radius); overflow: hidden; box-shadow: var(--fem-shadow);
}
.fem-news-list .fem-news-card { margin: 0; }
.fem-news-card .top, .fem-team-card .top { margin-bottom: 0; }
.fem-news-card .bottom, .fem-programme-card .bottom { padding: 26px; box-shadow: none; }
.fem-news-card .bottom h2, .fem-programme-card .bottom h3, .fem-channel-body h3 { font-size: 23px; line-height: 1.35; }
.fem-programme-card .bottom h3 a { color: var(--fem-ink); }
.fem-news-card .bottom .blog-btn { width: 100%; padding-top: 16px; border-top: 1px solid var(--fem-border); font-weight: 600; }
.fem-news-card .bottom .blog-btn:hover, .fem-programme-card .bottom h3 a:hover, .fem-channel-body > a:hover { color: var(--fem-clay); }
:is(.fem-news-card,.fem-programme-card,.fem-team-card):hover { transform: translateY(-3px); }
.fem-news-detail .details-img img, .fem-programme-hero img, .fem-about-portrait img { border-radius: var(--fem-radius); }
.fem-news-detail .widget-item { padding: 25px; border: 1px solid var(--fem-border); border-radius: var(--fem-radius); background: #fff; }
.fem-news-detail .widget-item a { color: var(--fem-ink); }
.fem-recent-item img { border-radius: 6px; }
.fem-demo-notice, .fem-news-body blockquote { background: var(--fem-soft-blue); border-left-color: var(--fem-blue); border-radius: 0 8px 8px 0; }
.fem-about-mission, .fem-team-reserves, .fem-about-join { background: var(--fem-soft-sage); }
.fem-about-principle { border-bottom: 1px solid var(--fem-border); border-top-color: var(--fem-blue); }
.fem-about-number { color: var(--fem-blue); }
.fem-about-signoff { border-left-color: var(--fem-clay); }
.fem-about-portrait::before { border-color: var(--fem-soft-blue); border-radius: var(--fem-radius); }
.fem-team-placeholder, .fem-agenda-date { background: var(--fem-soft-blue); }
.fem-team-placeholder { color: var(--fem-sage); }
.fem-team-number { border-radius: 6px; }
.fem-agenda-photo img, .fem-agenda-date { border-radius: 6px; }
.fem-agenda-tabs { flex-wrap: wrap; }
.fem-agenda-tabs a, main .page-numbers { border-radius: 6px; }
.fem-agenda-tabs a { background: #fff; font-weight: 600; }
.fem-agenda-tabs a:hover { border-color: var(--fem-ink); }
.fem-agenda-empty, .fem-event-info, .fem-channel-empty { background: var(--fem-soft-blue); border-radius: var(--fem-radius); }
.fem-event-info { border-left: 4px solid var(--fem-blue); }
.fem-contact .contact-info { background: var(--fem-soft-sage); color: var(--fem-ink); border: 1px solid var(--fem-border); border-top: 4px solid var(--fem-blue); border-radius: var(--fem-radius); overflow: hidden; }
.fem-contact .contact-info :is(h3,p,a) { color: var(--fem-ink); }
.fem-contact .fem-contact-directions { border-color: var(--fem-sage); }
.fem-contact .contact-info a:hover { color: var(--fem-clay); }
.fem-contact-map #map { border-radius: var(--fem-radius); }
.fem-contact #contactForm .form-group .form-control,
.fem-inc-form input:not([type=checkbox]):not([type=file]), .fem-inc-form select, .fem-inc-form textarea {
    border: 1px solid var(--fem-border); background: #fff; border-radius: 6px; color: var(--fem-ink);
}
.fem-inc-upload { background: var(--fem-soft-sage); border-radius: var(--fem-radius); }
.fem-inc-locate, .fem-inc-clear { border-radius: 6px; font-weight: 600; }
.fem-inc-clear { background: var(--fem-soft-blue); }
.fem-inc-locate:hover, .fem-inc-clear:hover { background: var(--fem-soft-sage); }
.fem-inc-simple-form .fem-inc-consent { padding: 20px; background: var(--fem-soft-blue); border-radius: var(--fem-radius); }
@media (max-width: 767px) {
    main :is(.fem-news-list,.fem-programme-list,.fem-agenda,.fem-channel-section,.fem-contact,.fem-news-detail,.fem-programme-detail,.fem-content) { padding-top: 50px; padding-bottom: 50px; }
    .fem-news-card .bottom, .fem-programme-card .bottom { padding: 22px; }
    .fem-contact .contact-info { margin-top: 30px; }
    .fem-news-detail .widget-item { padding: 20px; }
}
/* Detail pages start directly beneath the navigation, without a banner. */
main .fem-news-detail, main .fem-programme-detail { padding-top: 30px; }
@media (max-width: 767px) {
    main .fem-news-detail, main .fem-programme-detail { padding-top: 20px; }
}
@media (prefers-reduced-motion: reduce) {
    :is(.fem-news-card,.fem-programme-card,.fem-team-card) { transition: none; }
    :is(.fem-news-card,.fem-programme-card,.fem-team-card):hover { transform: none; }
}
