/* Shared presentation layer. Original content, markup and JavaScript are preserved. */
body {
  --refresh-surface: #fff;
  --refresh-tint: color-mix(in srgb, var(--c2b-blue) 4%, white);
  --refresh-green: color-mix(in srgb, var(--c2b-green) 5%, white);
  --refresh-line: color-mix(in srgb, var(--c2b-dark) 12%, white);
  --refresh-shadow: 0 14px 40px rgb(32 51 75 / 6%);
  --refresh-radius: 26px;
  background: var(--refresh-surface);
  color: var(--c2b-text);
}
body :is(h1,h2,h3,h4,.brand-name,.eyebrow) { letter-spacing: 0; }
body .container { width: min(calc(100% - 48px),1200px); }
body .topbar { background: var(--refresh-tint); color: var(--c2b-dark); }
body .topbar a { color: var(--c2b-dark); }
body .topbar .container { padding-block: 8px; }
body .header { background: #fff; backdrop-filter: none; border-bottom: 1px solid var(--refresh-line); box-shadow: 0 6px 24px rgb(32 51 75 / 4%); }
body .header-inner { padding-block: 16px; gap: 24px; }
body .brand { margin-left: 0; flex-shrink: 0; }
body .nav { gap: 6px 4px; }
body .nav a {
  border-radius: 999px; padding: 8px 12px;
  font-family: 'Manrope', Arial, sans-serif;
  font-size: .9375rem; font-weight: 600; line-height: 1.35;
  letter-spacing: 0; text-transform: none;
}
body .nav a:is(.active,:hover) { color: var(--c2b-blue); background: var(--refresh-tint); }
body .nav-toggle { border-radius: 16px; background: var(--refresh-tint); color: var(--c2b-dark); border: 1px solid var(--refresh-line); flex-shrink: 0; }
body:not(.home) .page-hero { background: #fff; padding-block: 64px; border-bottom: 1px solid var(--refresh-line); }
body:not(.home) .page-hero h1 { font-size: 2.75rem; line-height: 1.18; color: var(--c2b-dark); max-width: 100%; overflow-wrap: break-word; }
body:not(.home) .section { padding-block: 64px; }
body:not(.home) .section-alt { background: var(--refresh-tint); }
body:not(.home) .section-title { font-size: 2rem; line-height: 1.3; }
body:not(.home) .hero-lead { font-size: 1.25rem; line-height: 1.65; }
body:not(.home) .eyebrow { color: var(--c2b-blue); font-size: .875rem; }
body:not(.home) :is(.grid-3,.grid-4,.process-grid) { gap: 24px; }
body:not(.home) :is(.grid-3,.grid-4,.process-grid) > * { min-width: 0; }
body:not(.home) .card { border-radius: var(--refresh-radius); border: 1px solid var(--refresh-line); box-shadow: var(--refresh-shadow); background: #fff; }
body:not(.home) .card:hover { transform: none; box-shadow: var(--refresh-shadow); }
body:not(.home) .hero-card { border: 0; border-left: 3px solid var(--c2b-green); border-radius: 0; box-shadow: none; background: transparent; padding: 12px 0 12px 28px; }
body:not(.home) .hero-card li { margin-block: 12px; }
body:not(.home) :is(.cta-card,.final-cta,.contact-cta-card,.cta-band,.cta-box,.impact-box) {
  background: transparent; box-shadow: none; border: 0; border-radius: 0; color: var(--c2b-text);
}
body:not(.home) :is(.cta-card,.final-cta,.contact-cta-card,.cta-band,.cta-box,.impact-box) h2 { color: var(--c2b-dark); }
body:not(.home) :is(.contact-info-card,.aides-info-card) { border: 0; border-radius: 0; background: transparent; box-shadow: none; }
body .btn, body .wpcf7 input[type="submit"] {
  min-height: 52px; max-width: 100%; min-width: 0; padding: 14px 24px;
  border-radius: 999px; font-size: 1.0625rem; font-weight: 700; line-height: 1.4;
  white-space: normal; overflow-wrap: anywhere; text-align: center;
}
body .btn-primary, body .wpcf7 input[type="submit"] { background: var(--c2b-blue); color: #fff; border: 2px solid var(--c2b-blue); }
body .btn-secondary { background: var(--c2b-green); color: #fff; border: 2px solid var(--c2b-green); }
body .btn-outline { background: #fff; color: var(--c2b-blue); border: 2px solid var(--c2b-blue); }
body .btn:hover { transform: none; filter: brightness(.95); }
body .btn-disabled { color: #475569; background: #edf0f3; }
body :is(a,button,input,select,textarea):focus-visible { outline: 3px solid var(--c2b-blue); outline-offset: 4px; box-shadow: 0 0 0 3px #fff; }
/* Match the specificity of existing form focus rules without changing validation. */
body .wpcf7 :is(input,select,textarea).wpcf7-form-control:focus-visible,
body .c2b-input:focus-visible,
body .c2b-filterbar :is(input,select):focus-visible,
body .actus-search-form input[type="search"]:focus-visible,
body .form-field input:focus-visible,
body .btn:focus-visible,
body .nav a:focus-visible {
  outline: 3px solid var(--c2b-blue); outline-offset: 4px; box-shadow: 0 0 0 3px #fff;
}
body :is(.wpcf7,.form-field,.actus-search-form,.c2b-searchbar,.c2b-filterbar) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="hidden"]),select,textarea) {
  max-width: 100%; min-width: 0; border: 1px solid #8494a6; border-radius: 12px;
  background: #fff; color: var(--c2b-dark); font-family: inherit; font-size: 1rem;
}
body .wpcf7 { box-shadow: none; border: 0; border-radius: 0; }
body .wpcf7 textarea { resize: vertical; }
body .wpcf7 input[type="submit"] { width: auto; }

/* Search tools: maintain controls and grouping while removing nested frames. */
body .c2b-module { border-radius: 0; border: 0; box-shadow: none; padding: 0; max-width: 980px; }
body .c2b-title { font-size: 2rem; }
body .c2b-searchbar { padding: 24px; background: var(--refresh-tint); border-radius: 20px; }
body .c2b-searchbar .c2b-input { min-width: 0; min-height: 52px; flex-basis: 260px; }
body .c2b-card { border-radius: var(--refresh-radius); border: 1px solid var(--refresh-line); box-shadow: var(--refresh-shadow); }
body .c2b-results { grid-template-columns: minmax(0,1fr); }
body .c2b-card { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
body .c2b-subcard { border: 0; border-top: 1px solid var(--refresh-line); border-radius: 0; box-shadow: none; background: transparent; padding: 20px 0 0; }
body .c2b-filterbar { gap: 12px; flex-wrap: wrap; }
body .c2b-filterbar > * { min-width: 0; max-width: 100%; }
body .c2b-pplaces { overflow-wrap: anywhere; }
body .c2b-small { color: #475569; }
body .aides-kpi-year { font-size: 3rem; }
body .aides-kpi-right-value { font-size: 2.625rem; }
body :is(.aides-kpi-left,.aides-kpi-right-card) { border-radius: var(--refresh-radius); border: 1px solid var(--refresh-line); box-shadow: var(--refresh-shadow); }
body .aides-kpi-right-card { background: var(--refresh-green); }
body :is(.aides-search-panel,.aides-list-card) { border: 0; border-radius: 0; box-shadow: none; padding: 24px 0; }
body .aides-item { border: 0; border-bottom: 1px solid var(--refresh-line); border-radius: 0; padding: 20px 4px; }
body .aides-pill { border: 0; border-radius: 6px; background: var(--refresh-tint); white-space: normal; overflow-wrap: anywhere; }
body .aides-year-btn { min-height: 44px; }
body .aides-year-btn[aria-pressed="true"] { background: var(--c2b-blue); color: #fff; }
body .aides-year-btn:hover { transform: none; }
body .seo-intro-aides { background: var(--refresh-tint) !important; border-left-color: var(--c2b-blue) !important; }

/* News and article pages retain their existing hierarchy and media. */
body :is(.actus-top-card,.actus-bottom-card) { background: transparent; border: 0; border-radius: 0; box-shadow: none; padding-inline: 0; }
body .actus-grid { gap: 24px; }
body .actu-card { border: 1px solid var(--refresh-line); border-radius: var(--refresh-radius); box-shadow: var(--refresh-shadow); padding: 28px; }
body .actu-card:hover { transform: none; }
body .actu-card h2 { font-size: 1.375rem; line-height: 1.4; }
body .actu-date { color: var(--c2b-green); background: var(--refresh-green); }
body .actu-link { color: var(--c2b-blue); text-underline-offset: 4px; }
body .actus-pagination .page-numbers { min-width: 44px; min-height: 44px; border-radius: 50%; }
body .actus-pagination .current { background: var(--c2b-blue); color: #fff; }
body.single .post-content { max-width: 850px; margin-inline: auto; font-size: 1.125rem; line-height: 1.8; overflow-wrap: break-word; }
body.single .post-content img { max-width: 100%; height: auto; border-radius: 20px; }
body:not(.home) main :is(img,video,iframe) { max-width: 100%; }
body .don-widget-wrap { border-radius: 20px; background: #fff; }
body .don-impact-table { width: 100%; table-layout: fixed; overflow-wrap: anywhere; }
body .don-impact-table :is(td,th) { padding: 16px; }
body .hero-logo img { object-fit: contain; }
body.page-template-default main a { overflow-wrap: anywhere; }

body .footer-trust-bar { background: #fff !important; margin-top: 0 !important; border-color: var(--refresh-line) !important; }
body .footer-ngo { background: var(--refresh-tint); color: var(--c2b-text); padding-top: 56px; }
body .footer-ngo :is(h3,h4,p,li,a) { color: var(--c2b-dark); }
body .footer-ngo a:hover { color: var(--c2b-blue); }
body .footer-ngo-top { gap: 36px; }
body .footer-social-btn { background: #fff; color: var(--c2b-blue); border: 1px solid var(--c2b-blue); box-shadow: none; }
body .footer-ngo-bottom { border-color: var(--refresh-line); font-size: .9375rem; gap: 16px; }
@media(max-width:1100px) {
  body .header-inner { gap: 12px; }
  body .nav a { padding: 8px; }
}
@media(max-width:980px) {
  body .nav { border: 1px solid var(--refresh-line); border-radius: 0 0 20px 20px; max-height: calc(100dvh - 120px); overflow-y: auto; }
  body .nav a { min-height: 44px; padding: 10px 12px; font-size: 1rem; }
  body:not(.home) .page-hero h1 { font-size: 2.25rem; }
}
@media(max-width:640px) {
  body .container { width: calc(100% - 40px); }
  body .topbar { font-size: .8125rem; }
  body .topbar .container { gap: 4px; padding-block: 8px; }
  body .header-inner { padding-block: 12px; gap: 10px; }
  body .brand { gap: 7px; }
  body .brand-name { padding-inline: 6px; font-size: .9375rem; }
  body .brand-dots { gap: 4px; }
  body .nav-toggle { width: 44px; height: 44px; }
  body:not(.home) .page-hero { padding-block: 40px; }
  body:not(.home) .page-hero h1 { font-size: 2rem; }
  body:not(.home) .section { padding-block: 44px; }
  body:not(.home) .section-title, body .c2b-title { font-size: 1.75rem; }
  body:not(.home) .hero-lead { font-size: 1.125rem; }
  body:not(.home) .hero-actions { flex-direction: column; align-items: stretch; }
  body .hero-actions .btn { width: 100%; }
  body :is(.grid-3,.grid-4,.actus-grid) { grid-template-columns: minmax(0,1fr); }
  body .c2b-searchbar { padding: 18px; }
  body .c2b-searchbar .c2b-input { flex: 0 0 auto; width: 100%; height: auto; }
  body .c2b-searchbar .btn { flex: 1 1 100%; }
  body .aides-kpi-right-value { font-size: 2rem; }
  body .aides-kpi-year { font-size: 2.5rem; }
  body .actu-card { padding: 24px; }
  body .actus-search-form { flex-direction: column; }
  body .footer-ngo-top { gap: 28px; }
  body .footer-socials { gap: 10px; }
  body .footer-social-btn { width: auto; }
  /* The legacy 404 page has oversized inline typography. */
  body.page-id-2185 main span[style*="170px"] { font-size: 100px !important; line-height: 1.15 !important; }
  body.page-id-2185 main span[style*="75px"] { font-size: 40px !important; line-height: 1.2 !important; }
  body.page-id-2185 main span[style*="25px"] { font-size: 20px !important; line-height: 1.5 !important; }
}
@media(max-width:359px) {
  body .container { width: calc(100% - 32px); }
  body .brand-name { font-size: .8125rem; }
  body .brand-dots { gap: 3px; }
  body .brand-dots .dot { width: 11px; height: 11px; }
  body:not(.home) .page-hero h1 { font-size: 1.875rem; }
}
@media(prefers-reduced-motion:reduce) {
  body :is(.btn,.card,.actu-card,.aides-year-btn) { transition: none; }
}
