/* Volunteer Programmes page (v4.9). */
.volunteer-programmes { overflow: hidden; color: #26352a; background: #f5f7f4; }
.volunteer-programmes h1, .volunteer-programmes h2, .volunteer-programmes h3 { color: inherit; }
.volunteer-programmes__kicker { margin: 0 0 0.75rem; color: #e54720; font-size: 0.82rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
.volunteer-programmes-hero { padding: clamp(3.5rem, 8vw, 7rem) 0; color: #fff; background: var(--nzhl-green-dark); }
.volunteer-programmes-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.85fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.volunteer-programmes-hero h1 { max-width: 12ch; margin: 0; font-size: clamp(2.6rem, 6vw, 5.5rem); line-height: 0.98; }
.volunteer-programmes-hero__intro { max-width: 40rem; margin-top: 1.5rem; font-size: clamp(1.05rem, 2vw, 1.3rem); line-height: 1.65; }
.volunteer-programmes-hero__intro > :last-child { margin-bottom: 0; }
.volunteer-programmes-hero__media { overflow: hidden; border-radius: 0.75rem; box-shadow: 0 1.5rem 3rem rgba(0,0,0,0.25); }
.volunteer-programmes-hero__image { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.volunteer-programmes-overview, .volunteer-programmes-areas, .volunteer-programmes-register, .volunteer-programmes-faq { padding: clamp(3.5rem, 7vw, 6rem) 0; }
.volunteer-programmes-overview__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.85fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.volunteer-programmes-overview__media { overflow: hidden; border-radius: 0.6rem; }
.volunteer-programmes-overview__image { display: block; width: 100%; height: auto; }
.volunteer-programmes-overview h2, .volunteer-programmes-areas h2, .volunteer-programmes-register h2, .volunteer-programmes-faq h2 { margin: 0 0 1.25rem; font-size: clamp(2rem, 4vw, 3.2rem); line-height: 1.1; }
.volunteer-programmes-overview__text { font-size: clamp(1.1rem, 2vw, 1.35rem); line-height: 1.7; }
.volunteer-programmes-areas { background: #fff; }
.volunteer-programmes-areas__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 2.5rem; }
.volunteer-programmes-areas__card { display: flex; gap: 1rem; align-items: flex-start; padding: clamp(1.25rem, 2vw, 1.75rem); border: 1px solid #d8dfd8; border-radius: 0.6rem; background: #f7f9f6; }
.volunteer-programmes-areas__icon { flex: 0 0 2.5rem; }
.volunteer-programmes-areas__icon img { display: block; width: 2.5rem; height: 2.5rem; object-fit: contain; }
.volunteer-programmes-areas__content { min-width: 0; }
.volunteer-programmes-areas__card h3 { margin: 0 0 0.65rem; font-size: 1.35rem; }
.volunteer-programmes-areas__text > :first-child { margin-top: 0; }
.volunteer-programmes-areas__text > :last-child { margin-bottom: 0.5rem; }
.volunteer-programmes-areas__card a { display: inline-flex; padding: 0.35rem 0; background: transparent; }
.volunteer-programmes-areas__card a, .volunteer-programmes-faq__resources a { color: var(--nzhl-action-hover); font-weight: 700; text-underline-offset: 0.2em; }
.volunteer-programmes-register { background: #e9eee9; }
.volunteer-programmes-register__grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.volunteer-programmes-map, .volunteer-programmes__form { min-width: 0; scroll-margin-top: 2rem; }
.volunteer-programmes-map__visual { max-width: 34rem; margin: 2rem auto 0; }
.volunteer-programmes-map__visual svg { display: block; width: 100%; height: auto; }
.volunteer-programmes-map__visual .st0 { fill: #dce9e6; }
.volunteer-programmes-map__visual .st1 { fill: #edf5f2; }
.volunteer-programmes-map__visual .st2 { fill: #89a88f; }
.volunteer-programmes-map__visual .st3 { fill: transparent; stroke: none; }
.volunteer-programmes-map__facility polyline { fill: none; stroke: #3f4641; stroke-width: 2; }
.volunteer-programmes-map__facility circle { fill: #e54720; stroke: #fff; stroke-width: 2; }
.volunteer-programmes-map__facility rect { fill: #3f4641; }
.volunteer-programmes-map__facility text { fill: #fff; font-family: "Helvetica", "Arial", sans-serif; font-size: 16px; font-weight: 400; }
.volunteer-programmes-map__facility, .volunteer-programmes-map__facility * { transform: none; transition: none; pointer-events: none; }
.volunteer-programmes__form { padding: clamp(1.4rem, 4vw, 3rem); border: 1px solid #d4ddd4; border-radius: 0.75rem; background: #fff; box-shadow: 0 1rem 2.5rem rgba(23,58,33,0.1); }
.volunteer-programmes__form .wpcf7-form { display: flow-root; }
.volunteer-programmes__form .wpcf7-form > p:last-of-type { position: relative; margin-bottom: 0.75rem; }
.volunteer-programmes__form .wpcf7-form > p:last-of-type > br { display: none; }
.volunteer-programmes__form .wpcf7-list-item { margin-bottom: 0.35rem; }
.volunteer-programmes__form .wpcf7-radio { display: flex; flex-wrap: wrap; width: 100%; gap: 0.75rem 1.25rem; }
.volunteer-programmes__form .wpcf7-radio .wpcf7-list-item { display: inline-flex; flex: 0 0 auto; flex-direction: row-reverse; align-items: center; justify-content: flex-end; width: auto; margin: 0; gap: 0.5rem; }
.volunteer-programmes__form .wpcf7-radio input[type="radio"] { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; margin: 0; accent-color: var(--nzhl-action); }
.volunteer-programmes__form .wpcf7-radio input[type="radio"]:focus-visible { outline: 3px solid rgba(56, 158, 71, 0.28); outline-offset: 3px; }
.volunteer-programmes__form .wpcf7-spinner { position: absolute; top: 50%; right: 1rem; margin: 0; transform: translateY(-50%); }
.volunteer-programmes__form .wpcf7-response-output { clear: both; margin: 1rem 0 0; overflow: visible; }
.volunteer-programmes__form .wpcf7-response { clear: both; margin: 1rem 0 0; overflow: visible; }
.volunteer-programmes-faq { background: #fff; scroll-margin-top: 2rem; }
.volunteer-programmes-faq__inner { max-width: 850px; }
.volunteer-programmes-faq__items { margin-top: 2rem; border-top: 1px solid #d7ddd7; }
.volunteer-programmes-faq details { border-bottom: 1px solid #d7ddd7; }
.volunteer-programmes-faq summary { padding: 1.25rem 2.5rem 1.25rem 0; font-size: 1.1rem; font-weight: 700; cursor: pointer; }
.volunteer-programmes-faq summary:focus-visible { outline: 3px solid rgba(36,118,50,0.3); outline-offset: 3px; }
.volunteer-programmes-faq__answer { padding: 0 0 1.5rem; line-height: 1.7; }
.volunteer-programmes-faq__resources { margin-top: 3rem; padding: 1.5rem; border-left: 4px solid #e54720; background: #f5f7f4; }
@media (max-width: 850px) { .volunteer-programmes-hero__inner, .volunteer-programmes-overview__inner, .volunteer-programmes-register__grid { grid-template-columns: 1fr; } .volunteer-programmes-areas__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .volunteer-programmes-hero__media { max-width: 40rem; } }
@media (max-width: 520px) { .volunteer-programmes-areas__grid { grid-template-columns: 1fr; } .volunteer-programmes__form { padding: 1.25rem; } }
