/* Reference navigation and forms, with explicit text colors on each surface. */
.ca-site {
    --ca-text: #15313e;
    --ca-text-muted: #425660;
    --ca-text-on-dark: #f5f8fa;
    --ca-muted-on-dark: #cfdee6;
    color: var(--ca-text);
}
.ca-site :is(.b-concols-title,.c-concol-title,.b-feed-header-title,.c-card-default-title,.s-wys h1,.s-wys h2,.s-wys h3) { color: var(--ca-navy); }
.ca-site :is(.c-concol-blurb,.c-card-default-blurb,.c-card-default-meta) { color: var(--ca-text-muted); }
.ca-site .c-button-text { color: var(--ca-green); }
/* All public content shares the homepage/header/footer horizontal grid. */
.ca-site .ca-container { width: 100%; max-width: 86rem; padding-inline: 1.5rem; }
.ca-site .o-block.ca-section { padding-inline: 1.5rem; }
.ca-site .ca-reference-header .ca-brand img,
.ca-site .ca-home-collage-logo { background: transparent; }
.ca-published-paragraph { white-space: pre-line; }
@media (min-width:1200px) {
    .ca-site .ca-container,
    .ca-site .o-block.ca-section { padding-inline: 3rem; }
}

.ca-reference-header { background: var(--ca-green); }
.ca-reference-header .c-logo { width: 190px; }
.ca-reference-header .ca-brand > span { color: #fff; }
.ca-reference-header .ca-brand > span > span { color: var(--ca-lime); }
.ca-reference-header .ca-brand { gap: 8px; }
.ca-reference-header .ca-brand > span { font-size: 23px; }
.ca-reference-header .ca-brand img { width: 52px !important; height: 52px !important; }
.ca-reference-header .ca-brand small { font-size: 7px; }
@media (min-width:1000px) {
    .ca-reference-header .c-logo { width: 100px; }
    .ca-reference-header .ca-brand > span { display: none; }
    .ca-reference-header .ca-brand img { width: 72px !important; height: 72px !important; }
}
.ca-reference-header .c-site-header-cta,
.ca-reference-header .c-site-header-phone { color: #fff; }
.ca-reference-header .c-site-header-bar-list { align-items: center; }
.ca-reference-header .ca-language-item { padding: 6px 10px; }
.ca-reference-header .c-megamenu-button { color: #fff; }
.ca-reference-header .c-megamenu-link { color: var(--ca-text); }
.ca-reference-header .c-megamenu-metabox { background: var(--ca-navy); }
.ca-reference-header .c-megamenu-metabox :is(.c-megamenu-title,.c-megamenu-text,p) { color: #fff; }
.ca-reference-header .c-megamenu-subwrap::after { background-image: url('../clean-africa/clean-africa-logo.png'); background-size: 180px auto; }
.ca-reference-header .c-megamenu-button:hover { color: var(--ca-lime); }
.ca-reference-header :is(.is-active,.is-active-mobile) > .c-megamenu-button { color: var(--ca-navy); background: #fff; }
.ca-reference-header :is(.is-active,.is-active-mobile) > .c-megamenu-button:hover { color: var(--ca-green); }
.ca-reference-header .c-megamenu-link:hover { color: var(--ca-green); }
.ca-reference-header .c-site-header-nav-footer-text { color: #fff; }
.ca-reference-header .c-megamenu-subwrap[aria-hidden="true"] { visibility: hidden; }
.ca-reference-header .c-megamenu-subwrap[aria-hidden="false"] { visibility: visible; }

/* Dark surfaces must never inherit the reference's black links or green headings. */
.ca-site .c-site-footer { background: var(--ca-deep); color: var(--ca-text-on-dark); }
.ca-site .c-site-footer-contact { background: var(--ca-navy); min-height: 0; }
.ca-site .c-site-footer-title,
.ca-site .c-site-footer-link,
.ca-site .c-site-footer-phone { color: var(--ca-text-on-dark); }
.ca-site .c-site-footer-subtitle { color: var(--ca-lime); }
.ca-site .c-site-footer-text,
.ca-site .c-site-footer-label,
.ca-site .c-site-footer-signoff-text { color: var(--ca-muted-on-dark); }
.ca-site .c-site-footer-link:hover,
.ca-site .c-site-footer-link:focus-visible { color: var(--ca-lime); text-decoration: underline; }
.ca-site .c-site-footer-signoff-text a { color: inherit; }
.ca-site .bg-dark :is(h1,h2,h3,h4,p,li),
.ca-site .ca-section--dark :is(h1,h2,h3,h4,p,li) { color: var(--ca-text-on-dark); }
.ca-site .bg-dark .ca-eyebrow,
.ca-site .ca-section--dark .ca-eyebrow { color: var(--ca-lime); }
.ca-site .c-page-header :is(h1,h2,p,a,li,span) { color: var(--ca-text-on-dark); }

/* Retain the reference contact columns and original split-name enquiry fields. */
.ca-reference-contact { position: relative; }
.ca-reference-contact > .o-block-picture::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgb(8 35 52 / 85%);
}
.ca-reference-contact .b-contact-wrapper .s-wys,
.ca-reference-contact .b-contact-wrapper .s-wys :is(h2,h3,p,strong,a) { color: var(--ca-text-on-dark); }
.ca-site .c-enquiry-card { color: var(--ca-text); background: #fff; }
.ca-site .c-enquiry-title { color: var(--ca-navy); }
.ca-site .c-enquiry-lead,
.ca-site .c-enquiry-field,
.ca-site .c-enquiry-consent { color: var(--ca-text-muted); }
.ca-site .c-enquiry-field :is(input,textarea,select),
.ca-site .c-form-input,
.ca-site .activate-cna-page :is(input,textarea,select) { background: #fff; color: var(--ca-text); }
.ca-site :is(input,textarea)::placeholder { color: #596d77; opacity: 1; }
.ca-site .c-enquiry-consent a { color: var(--ca-green); text-decoration: underline; }
.ca-site .c-enquiry-card .c-button,
.ca-site .c-button.is-primary,
.ca-site .c-button.is-primary :is(span,a) { color: #fff; }
.ca-site .activate-cna-page :is(label,legend) { color: var(--ca-text); }
.ca-site .activate-cna-page :is(h1,h2,h3) { color: var(--ca-navy); }
.ca-site .c-mycna-toast.is-error,
.ca-site .c-form-error { color: #9b221b; }
.ca-training-enquiry { margin-top: 56px; }

@media (min-width:1000px) and (max-width:1439px) {
    .ca-reference-header .c-megamenu-button { padding-inline: 9px; font-size: 14px; }
    .ca-reference-header .c-logo { width: 165px; }
    .ca-reference-header .ca-brand > span { font-size: 20px; }
    .ca-reference-header .ca-brand img { width: 44px !important; height: 44px !important; }
}
@media (max-width:999px) {
    .ca-reference-header .c-site-header-bar-list { flex-wrap: wrap; }
    .ca-reference-header .c-megamenu-subwrap[aria-hidden="true"] { display: none; }
    .ca-reference-header .c-site-header-nav.is-open { overflow-y: auto; max-height: calc(100dvh - 150px); }
}
