/*
Theme Name: Living Earth
Theme URI: https://living-earth.africa/
Author: Living Earth Projects (Pty) Ltd
Description: The Living Earth website design: teal header with the Living Earth logo, Jost, cream bands, and plain WordPress blocks. Part of the Living Earth Hub plugin: WordPress reads it from the plugin's folder and its version follows the plugin's.
Version: 0.69.2
Requires at least: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: living-earth
*/

*,*::before,*::after{box-sizing:border-box}

/* Header */
.le-header{background:var(--wp--preset--color--brand-deep);color:#fff;border-bottom:3px solid var(--wp--preset--color--accent-bright)}
.wp-site-blocks>header:has(.le-header){position:sticky;top:var(--wp-admin--admin-bar--height,0);z-index:50}
.le-header a{color:#fff;text-decoration:none}
.le-header .wp-block-site-logo img,.le-logo img{max-height:56px;width:auto;display:block}
.le-header .wp-block-navigation{font-size:1rem}
.le-header .wp-block-navigation a:hover,.le-header .wp-block-navigation a:focus{color:var(--wp--preset--color--sun);text-decoration:underline}
.le-header .wp-block-navigation__responsive-container.is-menu-open{background:var(--wp--preset--color--brand);color:#fff}
.le-header .wp-block-navigation__submenu-container{background:var(--wp--preset--color--brand-deep)!important;color:#fff;border:0!important;border-radius:10px;padding:6px}
.le-header .le-cta .wp-block-button__link{background:var(--wp--preset--color--sun);color:var(--wp--preset--color--ink)}
.le-header .le-cta .wp-block-button__link:hover{background:#fff;color:var(--wp--preset--color--brand)}
.le-account a,.le-header .leh-account{display:inline-flex;gap:6px;align-items:center;min-height:44px;line-height:1;font-weight:500;font-size:1rem}
.le-header p{margin:0}
/* No white band between the header and the page */
.wp-site-blocks>main,.wp-site-blocks>header+*{margin-block-start:0}
.wp-site-blocks>main>.wp-block-post-content>:first-child,.wp-site-blocks>main>:first-child{margin-block-start:0}
@media (max-width:600px){.wp-site-blocks>header:has(.le-header){position:static}.le-header .le-cta{display:none}}

/* Footer: room and a thin line above it, so the page never runs into it (Immo, 10 Nov 2026) */
.wp-site-blocks>footer{margin-block-start:clamp(48px,7vw,96px)!important;border-top:2px solid var(--wp--preset--color--accent-bright)}
.le-footer{background:var(--wp--preset--color--brand-deep);color:#d7e6de;font-size:.98rem}
.le-footer a{color:#fff;text-decoration:none}
.le-footer a:hover,.le-footer a:focus-visible{color:var(--wp--preset--color--sun);text-decoration:underline}
.le-footer h2,.le-footer h3{color:var(--wp--preset--color--sand);font-size:.85rem!important;text-transform:uppercase;letter-spacing:.1em;margin:0 0 .9rem}
.le-footer .wp-block-columns{gap:clamp(24px,4vw,56px)}
.le-footer ul.le-footer-links{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}
.le-footer ul.le-footer-links li{margin:0}
.le-footer .le-footer-logo img{width:130px;height:auto}
.le-footer .wp-block-social-links{gap:.6rem}
.le-footer .wp-block-social-links .wp-social-link{background:rgba(255,255,255,.08)!important;color:#fff!important;border-radius:50%;padding:4px}
.le-footer .wp-block-social-links .wp-social-link:hover{background:var(--wp--preset--color--accent-bright)!important}
.le-footer__bottom{border-top:1px solid rgba(255,255,255,.14);padding-top:1rem;margin-top:2rem!important;font-size:.88rem;color:#a9c3b8;gap:1rem}
.le-footer__bottom a{color:#d7e6de}
.le-footer-cta{background:rgba(255,255,255,.06);border-radius:14px;padding:16px 18px}
.le-footer-cta p{margin:0 0 .6rem}
.le-footer-cta .wp-block-button__link{background:var(--wp--preset--color--sun);color:var(--wp--preset--color--ink)}

/* Bands and blocks used by the home page */
.wp-block-post-content>.leh-hero{margin-bottom:0!important;border-bottom:4px solid var(--wp--preset--color--accent-bright)}
.wp-block-post-content>.leh-hero+*{margin-top:0!important}
.leh-band{padding-top:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50)}
.leh-band--cream{background:var(--wp--preset--color--cream)}
.leh-hero .wp-block-cover__inner-container{max-width:900px}
.leh-hero__title{font-size:clamp(2.2rem,6vw,3.6rem);color:#fff;text-shadow:0 2px 16px #0006}
.leh-hero .leh-hero__lead{color:#fff;text-shadow:0 1px 10px #0007;max-width:760px;margin-left:auto;margin-right:auto}
.leh-uvp h2{color:#fff}
.is-style-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;font-weight:700;color:var(--wp--preset--color--accent)!important}
.is-style-lead{font-size:1.2rem;color:var(--wp--preset--color--brand)}
.is-style-rounded-corners img{border-radius:16px}
.leh-card-col{background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:16px;padding:16px}
.leh-why .wp-block-column{background:#fff;border-radius:16px;padding:20px;border-top:4px solid var(--wp--preset--color--accent-bright);box-shadow:0 2px 10px #1a454814}
.leh-projects img{max-height:90px;width:auto}
.wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--wp--preset--color--brand);border:2px solid currentColor}
.wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link{color:#fff}

/* Nav: a link to another site says so */
.le-header .le-ext a::after,.le-header a[target="_blank"]::after{content:" ↗";font-size:.85em;opacity:.8}

.le-header .le-nav{flex:1 1 auto;justify-content:center}
@media (max-width:599px){.le-header .le-nav{flex:0 0 auto;order:3}}

/* A list of years becomes a timeline */
.le-page__content ul.le-years{list-style:none;padding:0 0 0 30px;position:relative;margin:1.5rem 0}
.le-page__content ul.le-years::before{content:"";position:absolute;left:8px;top:6px;bottom:6px;width:3px;border-radius:2px;background:var(--wp--preset--color--accent-bright)}
.le-page__content ul.le-years li{position:relative;padding:2px 0 14px}
.le-page__content ul.le-years li::before{content:"";position:absolute;left:-28px;top:7px;width:13px;height:13px;border-radius:50%;background:var(--wp--preset--color--sun);border:3px solid var(--wp--preset--color--brand)}
.le-page__content ul.le-years li::first-line{font-weight:700;color:var(--wp--preset--color--brand)}

/* Pages and posts: the title band */
.le-page{margin:0}
.le-pagehead{padding-top:clamp(40px,6vw,72px)!important;padding-bottom:clamp(28px,4vw,44px)!important;margin:0!important}
.le-pagehead--plain{background:radial-gradient(ellipse 38% 90% at 90% 0%,rgba(255,214,64,.30),rgba(255,214,64,0) 70%),radial-gradient(ellipse 70% 140% at 8% 110%,#0fb879 0%,rgba(15,184,121,0) 60%),linear-gradient(115deg,#0d8359 0%,#14705a 45%,#1a4548 100%)!important}
.le-pagehead--plain .wp-block-cover__background{opacity:0!important}
.le-pagehead--plain::after{content:"";position:absolute;right:6%;top:50%;width:min(320px,40vw);aspect-ratio:1;transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),rgba(255,255,255,0) 65%);pointer-events:none}
.le-pagehead--photo .wp-block-cover__background{opacity:.35!important}
.le-pagehead--photo::after{content:"";position:absolute;inset:0;background:linear-gradient(20deg,rgba(18,57,59,.85) 0%,rgba(18,57,59,.25) 55%,rgba(18,57,59,0) 100%);pointer-events:none}
.le-pagehead .wp-block-cover__inner-container{position:relative;z-index:2}
.le-pagehead__title{color:#fff!important;font-size:clamp(2rem,5vw,3.2rem)!important;line-height:1.1;margin:0;max-width:900px;text-shadow:0 2px 18px #0005}
.le-pagehead__meta{color:#e3f3ea;font-size:.95rem;gap:.75rem}.le-pagehead__meta a{color:#fff}
.le-page__content{padding-top:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--60)}
.le-page__content:has(>.le-band:last-child){padding-bottom:0}
.le-page__content>.le-band:first-child,.le-page__content>.wp-block-cover.alignfull:first-child{margin-top:calc(-1 * var(--wp--preset--spacing--50))!important}
.le-postnav{padding-bottom:var(--wp--preset--spacing--50)}

/* Readable text */
.le-page__content>p:first-child,.le-page__content>.is-style-lead{font-size:1.2rem;color:var(--wp--preset--color--brand)}
.le-page__content h2{margin-top:2.4rem;position:relative}
.le-page__content h2::before{content:"";display:block;width:44px;height:4px;border-radius:2px;background:var(--wp--preset--color--accent-bright);margin-bottom:.7rem}
.le-page__content .le-band h2:first-child,.le-page__content .le-card h2::before,.le-page__content .wp-block-cover h2::before,.le-page__content .le-band--teal h2::before{margin-top:0}
.le-page__content .wp-block-cover h2::before,.le-page__content .le-band--teal h2::before{background:var(--wp--preset--color--sun)}
.le-page__content h3{margin-top:1.8rem}
.le-page__content ul.wp-block-list{padding-left:1.2rem}
.le-page__content ul.wp-block-list li::marker{color:var(--wp--preset--color--accent-bright)}
.le-page__content li+li{margin-top:.35rem}
.le-page__content hr.wp-block-separator{border:0;height:3px;width:80px;background:var(--wp--preset--color--line);margin:2.5rem auto}
.le-page__content hr.wp-block-separator.is-style-wide{width:100%;height:1px}

/* Pictures never stretch */
.wp-block-post-content img{max-width:100%;height:auto}
.le-page__content .wp-block-image img{border-radius:14px}
.le-page__content .wp-block-image.le-logo-img img{border-radius:0;max-height:110px;width:auto;object-fit:contain}
.le-page__content figcaption{color:var(--wp--preset--color--muted);font-size:.9rem;text-align:center}
.le-page__content .wp-block-gallery{gap:10px}
.le-page__content .wp-block-gallery img{border-radius:10px;aspect-ratio:4/3;object-fit:cover}
.le-page__content .wp-block-embed iframe{border-radius:14px;max-width:100%}
.le-page__content .wp-block-embed.is-type-video .wp-block-embed__wrapper{position:relative;aspect-ratio:16/9}
.le-page__content .wp-block-embed.is-type-video iframe{position:absolute;inset:0;width:100%;height:100%}

/* Bands: full-width sections */
.le-band{padding-top:var(--wp--preset--spacing--50);padding-bottom:var(--wp--preset--spacing--50);margin-top:var(--wp--preset--spacing--50)!important;margin-bottom:0!important}
.le-band+.le-band{margin-top:0!important}
.le-band--cream{background:var(--wp--preset--color--cream)}
.le-band--tint{background:var(--wp--preset--color--tint)}
.le-band--sand{background:var(--wp--preset--color--sand)}
.le-band--teal{background:var(--wp--preset--color--brand);color:#eef6f1}
.le-band--teal h2,.le-band--teal h3,.le-band--teal h4{color:#fff}
.le-band--teal a:not(.wp-block-button__link){color:var(--wp--preset--color--sun)}
.le-band--teal .wp-block-button__link{background:var(--wp--preset--color--sun);color:var(--wp--preset--color--ink)}
.le-band>*:first-child{margin-top:0}
.le-page__content .wp-block-cover.alignfull{margin-top:var(--wp--preset--spacing--50);margin-bottom:0}
.le-page__content .wp-block-cover h2,.le-page__content .wp-block-cover h3,.le-page__content .wp-block-cover p{color:#fff;text-shadow:0 1px 12px #0006}

/* Two columns: text and picture */
.le-page__content .wp-block-columns{gap:clamp(20px,4vw,48px);margin-top:1.5rem;margin-bottom:1.5rem}
.le-page__content .wp-block-columns.are-vertically-aligned-center{align-items:center}
.le-page__content .wp-block-column>.wp-block-image:only-child{max-width:78%;margin-left:auto;margin-right:auto}
.le-page__content .wp-block-column>.wp-block-image:only-child img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* Cards */
.le-cardgrid>*{margin:0!important}
.le-cardgrid{display:grid!important;align-items:stretch;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:1.5rem}
.le-card{background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:16px;padding:22px;box-shadow:0 2px 12px #1a45480f;border-top:4px solid var(--wp--preset--color--accent-bright)}
.le-card>*{margin-top:0;margin-bottom:.6rem}.le-card>*:last-child{margin-bottom:0}
.le-card h2,.le-card h3{font-size:1.25rem;margin-top:0}
.le-card h2::before{display:none!important}
.le-card .wp-block-image{margin:-22px -22px 14px}
.le-card .wp-block-image img{border-radius:12px 12px 0 0;width:100%;aspect-ratio:16/10;object-fit:cover}
.le-card .wp-block-image.le-logo-img{margin:0 0 12px}
.le-card .wp-block-image.le-logo-img img{aspect-ratio:auto;max-height:64px;width:auto;border-radius:0}
.le-band--teal .le-card{color:var(--wp--preset--color--ink)}
.le-band--teal .le-card h3{color:var(--wp--preset--color--brand)}

/* Quotes */
.le-page__content .wp-block-quote{background:var(--wp--preset--color--tint);border-left:6px solid var(--wp--preset--color--accent-bright);border-radius:12px;padding:20px 24px;margin:1.5rem 0}
.le-page__content .wp-block-quote p{font-size:1.15rem;font-style:italic;color:var(--wp--preset--color--brand)}
.le-page__content .wp-block-quote cite{font-style:normal;font-weight:700;color:var(--wp--preset--color--muted)}

/* Downloads and tables */
.le-page__content .wp-block-file{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--wp--preset--color--line);border-left:5px solid var(--wp--preset--color--accent);border-radius:12px;padding:12px 16px}
.le-page__content .wp-block-file a:not(.wp-block-file__button){font-weight:600;flex:1;min-width:200px}
.le-page__content .wp-block-file .wp-block-file__button{background:var(--wp--preset--color--brand);color:#fff;border-radius:10px;padding:10px 16px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.le-page__content .wp-block-file object{display:none}
.le-page__content .wp-block-table table{border-collapse:collapse;width:100%}
.le-page__content .wp-block-table td,.le-page__content .wp-block-table th{border:1px solid var(--wp--preset--color--line);padding:8px 12px}
.le-page__content .wp-block-table thead{background:var(--wp--preset--color--tint)}
.le-page__content .wp-block-buttons{margin-top:1.2rem;gap:10px}

/* Page cards ([leh_pages]) */
.le-pcards{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.le-pcard{background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 12px #1a45480f;transition:transform .15s,box-shadow .15s}
.le-pcard:hover{transform:translateY(-3px);box-shadow:0 8px 24px #1a45481f}
.le-pcard__img{display:block;background:var(--wp--preset--color--cream)}
.le-pcard__img img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.le-pcard__body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.le-pcard__body>*{margin:0}
.le-pcard h3{font-size:1.2rem;margin:0}.le-pcard h3::before{display:none}
.le-pcard h3 a{color:var(--wp--preset--color--brand);text-decoration:none}
.le-pcard h3 a:hover{color:var(--wp--preset--color--accent)}
.le-pcard p{color:var(--wp--preset--color--muted);font-size:.98rem}
.le-pcard__label{font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:.8rem;color:var(--wp--preset--color--accent)!important}
.le-pcard__more{margin-top:auto!important}.le-pcard__more a{font-weight:700;text-decoration:none}
.le-pcards--timeline{grid-template-columns:1fr;gap:0;position:relative;padding-left:34px;max-width:900px}
.le-pcards--timeline::before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:3px;background:var(--wp--preset--color--accent-bright);border-radius:2px}
.le-pcards--timeline .le-pcard{flex-direction:row;align-items:stretch;margin-bottom:22px;position:relative;overflow:visible}
.le-pcards--timeline .le-pcard::before{content:"";position:absolute;left:-31px;top:22px;width:17px;height:17px;border-radius:50%;background:var(--wp--preset--color--sun);border:3px solid var(--wp--preset--color--brand)}
.le-pcards--timeline .le-pcard__img{width:36%;flex:none;border-radius:16px 0 0 16px;overflow:hidden}
.le-pcards--timeline .le-pcard__img img{height:100%;max-height:300px;aspect-ratio:auto;min-height:200px}
.le-pcards--timeline .le-pcard__label{font-size:1.4rem;letter-spacing:0;color:var(--wp--preset--color--brand)!important}
.le-pcards--list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
@media (max-width:640px){.le-pcards--timeline .le-pcard{flex-direction:column}.le-pcards--timeline .le-pcard__img{width:100%;border-radius:16px 16px 0 0}.le-pcards--timeline .le-pcard__img img{aspect-ratio:16/10;min-height:0}}

/* Blog cards */
.le-postcards>li{background:#fff;border:1px solid var(--wp--preset--color--line);border-radius:16px;overflow:hidden;padding:0 0 18px;display:flex;flex-direction:column;gap:8px}
.le-postcards>li>*{margin:0 18px}
.le-postcards>li>.wp-block-post-featured-image{margin:0 0 6px}
.le-postcards .wp-block-post-featured-image img{border-radius:0!important}
.le-postcards .wp-block-post-title a{color:var(--wp--preset--color--brand);text-decoration:none}

@media (max-width:781px){.le-band{padding-top:2.2rem;padding-bottom:2.2rem}.le-pagehead{min-height:180px!important}}

/* Our own pages (a job, an invoice) inside the theme */
.leh-simple-main{padding:var(--wp--preset--spacing--50) max(16px,4vw);background:var(--wp--preset--color--cream)}
.leh-simple-main .card{max-width:1200px;margin:0 auto}
@media print{.wp-site-blocks>header,.le-footer,.le-practice{display:none!important}}
.leh-main{padding:var(--wp--preset--spacing--50) max(16px,4vw)}
.leh-wrap{max-width:1200px;margin:0 auto}
.leh-back a{text-decoration:none}

/* Practice-site banner (dev and demo copies) */
.le-practice{background:repeating-linear-gradient(45deg,#ffca05,#ffca05 12px,#ffe27a 12px,#ffe27a 24px);color:#171e30;font-weight:700;text-align:center;padding:6px 16px;font-size:.9rem}

/* Accessibility */
:focus-visible{outline:3px solid #1f6feb;outline-offset:2px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media (prefers-color-scheme:dark){
  body{background:#0f1b1c;color:#eef3ea}
  h1,h2,h3,h4{color:#cfe9df}
  .leh-band--cream{background:#132425}
  .leh-card-col,.leh-why .wp-block-column{background:#172728;border-color:#2c4142}
  a{color:#7fdcb2}
  .le-card,.le-pcard,.le-postcards>li,.le-page__content .wp-block-file{background:#172728;border-color:#2c4142;color:#eef3ea}
  .le-band--cream,.le-band--sand{background:#132425}.le-band--tint,.le-page__content .wp-block-quote{background:#142b26}
  .le-pcard h3 a,.le-postcards .wp-block-post-title a{color:#cfe9df}.le-pcard p{color:#b9c9c1}
}
/* 0.51.1: menus carry no dropdown arrows and their labels never wrap (Immo, 7 Nov 2026) */
.le-header .wp-block-navigation__submenu-icon{display:none!important}
.le-header .wp-block-navigation-item__label,.le-header .wp-block-navigation-item>a{white-space:nowrap}

/* 0.69.0 (Immo's notes on dev): space between My LE and Book a stand; hero buttons green-with-yellow and yellow-with-green;
   social icons in one tone of dark green on every page. */
.le-header .le-right{gap:1.25rem!important}
.le-header .leh-account{padding-right:.25rem}
.wp-block-button.le-btn-green .wp-block-button__link{background:var(--wp--preset--color--brand);color:var(--wp--preset--color--sun);border:2px solid var(--wp--preset--color--sun)}
.wp-block-button.le-btn-green .wp-block-button__link:hover,.wp-block-button.le-btn-green .wp-block-button__link:focus-visible{background:var(--wp--preset--color--brand-deep);color:var(--wp--preset--color--sun)}
.wp-block-button.le-btn-sun .wp-block-button__link{background:var(--wp--preset--color--sun);color:var(--wp--preset--color--brand);border:2px solid var(--wp--preset--color--brand)}
.wp-block-button.le-btn-sun .wp-block-button__link:hover,.wp-block-button.le-btn-sun .wp-block-button__link:focus-visible{background:#fff;color:var(--wp--preset--color--brand)}
main .wp-block-social-links .wp-social-link,main .wp-block-social-links.is-style-logos-only .wp-social-link{background:transparent!important;color:var(--wp--preset--color--brand-deep)!important}
main .wp-block-social-links .wp-social-link svg{fill:currentColor!important}
main .wp-block-social-links .wp-social-link:hover{color:var(--wp--preset--color--accent)!important}

/* 0.69.1: columns of cards keep their buttons on one line (Support us, Take part). */
.le-page__content .wp-block-columns.leh-support>.wp-block-column{display:flex;flex-direction:column}
.le-page__content .wp-block-columns.leh-support>.wp-block-column>.wp-block-buttons{margin-top:auto}

/* 0.69.1 (Immo: "some bodies on some pages have a different width than others"): one body width on every page.
   Text, cards, the Crew's own pages (practitioners, PermieChats, tickets, courses) and the page title all sit in the same
   1200 px column, centred, with the same side gutter as the body (theme.json root padding: max(16px, 4vw)). */
.le-pagehead{padding-left:var(--wp--style--root--padding-left,max(16px,4vw))!important;padding-right:var(--wp--style--root--padding-right,max(16px,4vw))!important}
.le-pagehead .wp-block-cover__inner-container{width:100%!important;max-width:1200px!important;margin-left:auto!important;margin-right:auto!important;padding:0!important}
.le-pagehead .wp-block-cover__inner-container>*{max-width:1200px!important;margin-left:0!important}
.leh-simple-main .card:has(.leh-learn),.wrap:has(.leh-learn){max-width:1200px}
