/* Site-level additions on top of the Hopeu template styles. */
.skip-link{position:absolute;left:-9999px;top:8px;z-index:10000;background:#2a493d;color:#fff;padding:10px 16px;border-radius:6px}
.skip-link:focus{left:8px}
.site-flash{position:fixed;top:0;left:0;right:0;z-index:9999;background:#2a493d;color:#fff;padding:16px 0;box-shadow:0 6px 24px rgba(0,0,0,.2)}
.site-flash.is-error{background:#b3261e}
.site-flash button{background:none;border:0;color:#fff;font-size:28px;line-height:1;cursor:pointer}
.field-error{color:#b3261e;font-size:14px;margin-top:4px;display:block}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #f9da22;outline-offset:2px}
.cta-btn-one.is-outline{background:transparent;border:2px solid #fff;color:#fff}
.cta-btn-one.is-outline:hover{background:#fff;color:#2a493d}

/* ZARA photography in place of the template's stock banners */
.inner-banner-one{background:linear-gradient(rgba(20,36,14,.55),rgba(20,36,14,.55)),url(../images/zara/site/community-walk.webp) no-repeat center/cover}
.fancy-banner-one .bg-wrapper{background:linear-gradient(rgba(20,36,14,.55),rgba(20,36,14,.55)),url(../images/zara/site/planting-day.webp) no-repeat center;background-size:cover}
.event-details .sidebar .widget-banner-one,.blog-details .sidebar .widget-banner-one,.case-details .sidebar .widget-banner-one{background:linear-gradient(rgba(20,36,14,.6),rgba(20,36,14,.6)),url(../images/zara/site/classroom.webp) no-repeat center;background-size:cover}
.blog-details-meta .feature-img{background-image:url(../images/zara/site/planting-day.webp)}

/* Long-form text pages (privacy, terms, safeguarding, accessibility) */
.legal-copy h3{margin:46px 0 14px}
.legal-copy h5{margin:26px 0 8px}
.legal-copy p,.legal-copy li{line-height:1.8}
.legal-copy ul{padding-left:1.2rem;list-style:disc;margin-bottom:1rem}
.legal-copy li{margin-bottom:.6rem}
.project-body h3{margin:34px 0 12px}
.project-body ul{padding-left:1.2rem;list-style:disc}
.project-body li{margin-bottom:.5rem}
.post-body h2,.post-body h3,.post-body h4{margin:30px 0 12px}
.post-body ul,.post-body ol{padding-left:1.2rem;margin-bottom:1rem}
.post-body ul{list-style:disc}
.post-body img{max-width:100%;height:auto;border-radius:12px}

/* Banner: readable breadcrumb + a different photograph per section */
.inner-banner-one .breadcrumb-content li,.inner-banner-one .breadcrumb-content a{color:#fff!important;opacity:.95}
.inner-banner-one .breadcrumb-content a:hover{color:#ffe55c!important}
.soft-panel{background:#eef6e3;border-radius:24px}
.page-about .inner-banner-one{--b:url(../images/zara/site/team.webp)}
.page-founder .inner-banner-one{--b:url(../images/zara/site/planting-day.webp)}
.page-impact .inner-banner-one{--b:url(../images/zara/programmes/tree-planting.webp)}
.page-involved .inner-banner-one,.page-volunteers-index .inner-banner-one{--b:url(../images/zara/site/fundraising-run.webp)}
.page-travel .inner-banner-one{--b:url(../images/zara/site/travel-visit.webp)}
.page-gallery .inner-banner-one{--b:url(../images/zara/site/hero-assembly.webp)}
.page-ways-to-give .inner-banner-one{--b:url(../images/zara/programmes/moshi-kids-centre.webp)}
.page-safeguarding .inner-banner-one{--b:url(../images/zara/site/classroom.webp)}
.page-projects-index .inner-banner-one{--b:url(../images/zara/programmes/asali-project.webp)}
.page-blog-index .inner-banner-one,.page-blog-show .inner-banner-one{--b:url(../images/zara/programmes/kilimanjaro-cleanup.webp)}
.page-contact .inner-banner-one{--b:url(../images/zara/site/team.webp)}
.page-faq .inner-banner-one{--b:url(../images/zara/programmes/maasai-pre-school.webp)}
.inner-banner-one[class]{background-image:linear-gradient(rgba(20,36,14,.55),rgba(20,36,14,.55)),var(--b,url(../images/zara/site/community-walk.webp))}

/* Mobile: keep decorative hero artwork inside the viewport */
.hero-banner-one{overflow:hidden}
.hero-banner-one .media-wrapper{max-width:100%}
.hero-banner-one .media-wrapper>img:first-child{max-width:100%;height:auto}
.pagination-one ul{max-width:100%}
@media (max-width:575px){
  .hero-banner-one .media-wrapper .card-wrapper{left:0!important}
  .main-count{font-size:clamp(2rem,9vw,3.4rem)}
}

/* ---------- Footer: minimal, formal ---------- */
.zf{background:#14210f;color:rgba(255,255,255,.72);font-size:15px;line-height:1.7;border-top:3px solid #46821c;position:relative;z-index:1}
.zf a{color:rgba(255,255,255,.82);text-decoration:none;transition:color .2s}
.zf a:hover,.zf a:focus-visible{color:#fff;text-decoration:underline;text-underline-offset:4px}
.zf-newsletter{display:flex;flex-wrap:wrap;gap:24px 48px;align-items:center;justify-content:space-between;padding:56px 0 44px;border-bottom:1px solid rgba(255,255,255,.12)}
.zf-title{font-size:22px;font-weight:500;color:#fff;margin:0 0 4px;letter-spacing:0}
.zf-newsletter p{margin:0}
.zf-form{display:flex;flex:1 1 360px;max-width:460px}
.zf-form input{flex:1;min-width:0;height:48px;padding:0 16px;background:transparent;border:1px solid rgba(255,255,255,.3);border-right:0;border-radius:2px 0 0 2px;color:#fff;font-size:15px}
.zf-form input::placeholder{color:rgba(255,255,255,.5)}
.zf-form input:focus{outline:2px solid #88c040;outline-offset:-2px}
.zf-form button{height:48px;padding:0 24px;background:#fff;color:#14210f;border:1px solid #fff;border-radius:0 2px 2px 0;font-weight:500;letter-spacing:.04em;font-size:14px;text-transform:uppercase;transition:background .2s,color .2s}
.zf-form button:hover{background:#88c040;border-color:#88c040}
.zf-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.5fr;gap:48px;padding:52px 0 48px}
.zf-brand img{height:56px;width:auto;margin-bottom:18px;display:block}
.zf-brand p{max-width:340px;margin:0 0 14px}
.zf-reg{font-size:13px;color:rgba(255,255,255,.55)}
.zf h3{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.5);margin:0 0 18px;font-family:inherit}
.zf-col ul{list-style:none;margin:0;padding:0}
.zf-col li{margin-bottom:10px}
.zf-contact{font-style:normal}
.zf-contact p{margin:0 0 14px}
.zf-bottom{display:flex;flex-wrap:wrap;gap:12px 32px;align-items:center;justify-content:space-between;padding:22px 0 30px;border-top:1px solid rgba(255,255,255,.12);font-size:13.5px}
.zf-bottom p{margin:0;color:rgba(255,255,255,.55)}
.zf-bottom ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px}
.zf-social a{color:rgba(255,255,255,.6)}
@media (max-width:991px){.zf-grid{grid-template-columns:1fr 1fr;gap:36px}.zf-brand{grid-column:1/-1}}
@media (max-width:575px){.zf-grid{grid-template-columns:1fr;gap:30px;padding:40px 0 32px}.zf-form{flex-basis:100%;max-width:none}.zf-bottom{flex-direction:column;align-items:flex-start}}

/* ---------- Main menu: grouped dropdowns ---------- */
.theme-main-menu .navbar-nav .nav-item{position:relative}
.navbar .zn-menu .dropdown-item{display:block;text-transform:none;line-height:1.35;border-top:0;font-size:15px;font-weight:500;padding:10px 14px;border-radius:10px;white-space:normal;color:#24391b;background:transparent;transition:background .15s,color .15s}
.navbar .zn-menu .dropdown-item:before{display:none}
.navbar .zn-menu .dropdown-item:hover,.navbar .zn-menu .dropdown-item:focus{background:#eef6e3;color:#2f4a22}
.navbar .zn-menu .dropdown-item.active,.navbar .zn-menu .dropdown-item:active{background:#eef6e3;color:#46821c}
.zn-title{display:block;font-size:15px}
.zn-desc{display:block;font-size:12.5px;font-weight:400;color:#6b7a5f;margin-top:1px}
.zn-heading{font-size:11.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#46821c;padding:0 14px 6px;border-bottom:1px solid #e3ecd6;margin-bottom:6px}
.zn-mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 14px}
.navbar .zn-mega .dropdown-item{font-size:14.5px;padding:8px 14px}
.zn-all{display:block;margin:12px -20px -12px;padding:13px 34px;background:#f4f8ee;border-radius:0 0 16px 16px;font-weight:600;font-size:14px;color:#46821c;text-decoration:none}
.zn-all:hover{color:#24391b}
@media (min-width:992px){
  .navbar .dropdown-menu.zn-menu{border-radius:16px;padding:10px;min-width:300px;box-shadow:0 18px 50px rgba(20,36,14,.18);margin-top:8px;top:100%}
  .navbar .dropdown-menu.zn-mega{min-width:680px;padding:18px 20px 12px}
  .navbar .dropdown-menu.zn-menu:before{display:none}
  /* hover bridge so the panel stays open while the pointer crosses the gap */
  .navbar .zn-dropdown>.dropdown-menu::after{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}
  .navbar .zn-dropdown:focus-within>.dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
  .navbar .zn-dropdown:hover>.dropdown-toggle::after{transform:rotate(180deg)}
}
@media (max-width:991.98px){
  .navbar .dropdown-menu.zn-menu{min-width:0;box-shadow:none;background:#f6f9f1;border-radius:12px;margin:4px 0 10px;padding:6px}
  .zn-mega-grid{grid-template-columns:1fr;gap:4px}
  .zn-all{margin:8px -6px -6px;border-radius:0 0 12px 12px}
  .zn-desc{display:none}
}

/* ---------- Review pass: calmer banners, readable labels, mobile top bar ---------- */
.inner-banner-one{padding:96px 0 84px}
.inner-banner-one h1{font-size:clamp(2rem,4.2vw,3.4rem);font-weight:700;color:#fff;margin:0 auto 10px;max-width:980px;line-height:1.15;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.inner-banner-one .shapes{display:none}
.inner-banner-one .breadcrumb-content ul::before{display:none}
.inner-banner-one .breadcrumb-content li,.inner-banner-one .breadcrumb-content a{font-family:"Outfit",sans-serif;font-size:15px;letter-spacing:.04em;margin:0 4px}
.upper-title{font-family:"Outfit",sans-serif!important;text-transform:uppercase;letter-spacing:.14em;font-size:13px!important;font-weight:600;color:#46821c}
.sidebar-title,.font-amita{font-family:"Outfit",sans-serif!important;font-weight:600}
@media (max-width:767.98px){
  .theme-main-menu .top-header{display:none!important}
  .inner-banner-one{padding:60px 0 48px}
}
@media (max-width:991.98px){.zn-call a{font-weight:600}}

/* Blog search + card excerpt */
.zb-search{display:flex;max-width:520px;margin:26px auto 0;background:#fff;border:1px solid #d6e5c5;border-radius:50px;padding:5px;box-shadow:0 6px 20px rgba(36,57,27,.06)}
.zb-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;padding:0 20px;height:48px;font-size:16px;color:#24391b}
.zb-search input:focus-visible{outline:2px solid #46821c;border-radius:40px}
.zb-search button{border:0;background:#46821c;color:#fff;border-radius:40px;padding:0 26px;font-weight:600;transition:background .2s}
.zb-search button:hover{background:#3a6d17}
.zb-search--side{margin:14px 0 6px}
.zb-excerpt{color:#566150;margin-bottom:6px}

/* ---------- Donate page ---------- */
.zd-step{background:#fff;border:1px solid #e1ebd5;border-radius:20px;padding:30px 32px;margin-bottom:22px}
.zd-step h3{font-size:22px;margin:0 0 20px;display:flex;align-items:center;gap:12px}
.zd-step h3 span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#46821c;color:#fff;font-size:16px;font-weight:600}
.zd label{font-size:15px;font-weight:500;color:#24391b;display:block;margin:0 0 6px}
.zd input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.zd-seg{display:inline-flex;background:#eef6e3;border-radius:50px;padding:4px;margin-bottom:20px}
.zd-seg label{margin:0}
.zd-seg span{display:block;padding:10px 26px;border-radius:40px;cursor:pointer;font-weight:600;color:#2f4a22;transition:all .15s}
.zd-seg input:checked+span{background:#46821c;color:#fff}
.zd-amounts{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:18px}
.zd-amounts label{margin:0}
.zd-amounts span{display:block;text-align:center;padding:16px 0;border:1.5px solid #cfdfbf;border-radius:14px;font-size:20px;font-weight:600;color:#24391b;cursor:pointer;transition:all .15s}
.zd-amounts span:hover{border-color:#46821c}
.zd-amounts input:checked+span{background:#46821c;border-color:#46821c;color:#fff}
.zd input:focus-visible+span{outline:3px solid #f6c21f;outline-offset:2px}
.zd-custom>div{display:flex;align-items:center;border:1.5px solid #cfdfbf;border-radius:14px;padding:0 16px;max-width:300px;background:#fff}
.zd-custom>div:focus-within{border-color:#46821c;box-shadow:0 0 0 3px rgba(70,130,28,.18)}
.zd-custom span{color:#6b7a5f;font-size:18px}
.zd-custom input{border:0;outline:0;height:52px;padding:0 10px;width:100%;font-size:18px;background:transparent}
.zd-select,.zd-input{width:100%;height:54px;border:1.5px solid #cfdfbf;border-radius:14px;padding:0 16px;font-size:16px;background:#fff;color:#24391b;margin-bottom:14px}
.zd-select:focus,.zd-input:focus{outline:0;border-color:#46821c;box-shadow:0 0 0 3px rgba(70,130,28,.18)}
.zd-note{font-size:14.5px;color:#566150;margin:10px 0 0;min-height:1.2em}
.zd-methods{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.zd-methods label{margin:0}
.zd-methods span{display:block;border:1.5px solid #cfdfbf;border-radius:14px;padding:14px 18px;cursor:pointer;transition:all .15s;height:100%}
.zd-methods strong{display:block;color:#24391b}
.zd-methods small{color:#6b7a5f;font-size:13.5px}
.zd-methods input:checked+span{border-color:#46821c;background:#f4f9ec;box-shadow:inset 0 0 0 1px #46821c}
.zd-submit{width:100%;border:0;border-radius:50px;background:#f6c21f;color:#24391b;font-size:20px;font-weight:700;padding:20px;transition:background .2s,transform .2s}
.zd-submit:hover{background:#f8cb2c;transform:translateY(-1px)}
.zd-summary{position:sticky;top:110px;background:#24391b;color:#e7efdd;border-radius:22px;padding:30px}
.zd-summary h3{color:#fff;font-size:20px;margin:0 0 6px}
.zd-total{font-size:52px;font-weight:700;color:#fff;line-height:1.1}
.zd-total small{font-size:18px;font-weight:400;color:#c9d8b8}
.zd-summary dl{margin:18px 0;border-top:1px solid rgba(255,255,255,.14);padding-top:14px}
.zd-summary dt{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:#a9bd94;font-weight:500}
.zd-summary dd{margin:0 0 12px;color:#fff}
.zd-trust{list-style:none;padding:0;margin:0 0 16px;font-size:15px}
.zd-trust li{margin-bottom:10px}
.zd-trust i{color:#88c040;margin-right:6px}
.zd-trust small{color:#a9bd94;margin-left:24px}
.zd-help{font-size:14px;margin:0;color:#c9d8b8}.zd-help a{color:#fff;text-decoration:underline}
.zd-alt{background:#eef6e3;border-radius:20px;padding:30px 32px}.zd-alt h3{margin:0 0 6px}.zd-alt p{margin-bottom:16px}
@media (max-width:767.98px){.zd-amounts{grid-template-columns:repeat(3,1fr)}.zd-methods{grid-template-columns:1fr}.zd-step{padding:24px 20px}.zd-summary{position:static;margin-top:10px}}

/* ---------- Gallery albums ---------- */
.zg-tabs{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:18px}
.zg-tabs button{border:1.5px solid #cfdfbf;background:#fff;color:#24391b;border-radius:50px;padding:10px 20px;font-weight:500;font-size:15px;transition:all .15s}
.zg-tabs button span{opacity:.6;font-size:13px;margin-left:4px}
.zg-tabs button:hover{border-color:#46821c}
.zg-tabs button[aria-selected=true]{background:#46821c;border-color:#46821c;color:#fff}
.zg-about{min-height:1.6em;margin:0 0 6px}
.zg-link{border-radius:16px;background:#eef6e3}
.zg-link img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .5s}
.zg-link:hover img{transform:scale(1.05)}
.zg-item[hidden]{display:none!important}
.zp-strip{margin-top:44px}
.zp-strip h3{margin-bottom:16px}
.zp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.zp-grid a{display:block;border-radius:14px;overflow:hidden;background:#eef6e3}
.zp-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .5s}
.zp-grid a:hover img{transform:scale(1.06)}
@media (max-width:575.98px){.zp-grid{grid-template-columns:repeat(2,1fr)}}
.zp-doc{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:#eef6e3;border-radius:20px;padding:24px 28px;margin-top:34px}
.zp-doc i{font-size:34px;color:#46821c}
.zp-doc div{flex:1;min-width:220px}
.zp-doc strong{display:block;font-size:18px;color:#24391b}
.zp-doc small{color:#566150}

/* Home hero collage: six tiles, photos shuffled on every page load */
.zh-collage{position:relative;width:100%;aspect-ratio:698/984}
.zh-tile{position:absolute;display:block;padding:2%;background:#a8d08c;border-radius:34px;overflow:hidden;box-shadow:0 18px 40px rgba(36,57,27,.16);animation:zh-in .8s cubic-bezier(.2,.7,.2,1) both}
.zh-tile img{width:100%;height:100%;object-fit:cover;border-radius:24px;display:block}
.zh-tile--1{left:0;top:0;width:43%;height:33.5%;animation-delay:.05s}
.zh-tile--2{left:47.3%;top:4%;width:52.7%;height:30.5%;animation-delay:.15s}
.zh-tile--3{left:5.7%;top:36.6%;width:43%;height:30.5%;animation-delay:.25s}
.zh-tile--4{left:53%;top:35.6%;width:47%;height:33.5%;animation-delay:.35s}
.zh-tile--5{left:11.5%;top:70%;width:47.3%;height:29.9%;animation-delay:.45s}
.zh-tile--6{left:60%;top:72.1%;width:40%;height:26.4%;animation-delay:.55s}
@keyframes zh-in{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.zh-tile{animation:none}}
.hero-banner-one .media-wrapper{width:40%}
.hero-banner-one .media-wrapper .zh-collage{height:100%;aspect-ratio:auto;max-height:100%}
@media (max-width:991.98px){.hero-banner-one .media-wrapper{width:100%}.hero-banner-one .media-wrapper .zh-collage{height:auto;aspect-ratio:698/984}}

/* The top contact bar was removed: pull the inner banner up to sit directly under the menu */
.header-space-fix-three{margin-top:96px}
@media (max-width:991.98px){.header-space-fix-three{margin-top:86px}}

/* Accepted payment methods */
.zd-brands{list-style:none;margin:14px 0 6px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.zd-brands li{display:flex;align-items:center;justify-content:center;min-width:92px;height:50px;padding:6px 14px;border:1.5px solid #e1ebd5;border-radius:12px;background:#fff}
.zd-brands img{max-height:30px;max-width:78px;width:auto;height:auto;display:block}
.zd-brands span{font:600 13.5px/1.15 "Outfit",sans-serif;color:#24391b;text-align:center}

/* ---------- mobile tap targets and form controls ---------- */
@media (max-width: 991.98px) {
	.breadcrumb-content a { display: inline-block; padding: 10px 6px; }
	footer a, .footer-nav a, .zf a { display: inline-block; padding-block: 10px; }
	footer li { margin-bottom: 0; }
	.zi-need a, .details-cta, .news-item a { display: inline-block; padding-block: 9px; }
	.zn-dropdown .dropdown-item, .navbar-nav .nav-link { min-height: 44px; display: flex; align-items: center; }
}
@media (max-width: 767.98px) {
	input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=submit]),
	select, textarea { min-height: 46px; font-size: 16px; }
	button, .btn-one, .btn-two, .zi-btn, .zv-btn { min-height: 46px; }
	h1, h2 { overflow-wrap: anywhere; }
	img, video, iframe { max-width: 100%; }
}
@media (max-width: 991.98px) {
	.zf-legal a, .zf-social a { min-width: 44px; text-align: center; padding-inline: 6px; }
	.zn-call a, .zf-contact a { display: inline-block; padding-block: 10px; }
	.zi-human a, .zd-help a, .zv-help a { display: inline-block; padding-block: 8px; }
}
