/*
Theme Name: MLG Agri at the Oak
Theme URI: https://mlgagri.misslilygeeunlimited.co.za
Author: Miss Lily Gee Unlimited (Pty) Ltd
Author URI: https://misslilygeeunlimited.co.za
Description: Custom lead-generation theme for MLG Agri at the Oak, an organic vegetable farm in Mount Frere, Eastern Cape. Buyer and partner focused templates, AEO answer blocks and auto setup of pages and menu. Pairs with the MLG Agri Leads and MLG Agri SEO & Content plugins.
Version: 1.2.1
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mlg-agri-oak
Tags: custom-logo, custom-menu, one-column, featured-images
*/
:root{--green:#173d24;--green2:#24562f;--leaf:#4f7a3a;--gold:#b8893a;--gold2:#d9b36c;--cream:#faf6ec;--sand:#f1e9d6;--ink:#1c2a20;--muted:#5d6b60;--line:#e2d8c0}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Montserrat',system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65;font-size:16px}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;color:var(--green);line-height:1.15}
h1{font-size:clamp(2.2rem,5vw,3.6rem)}h2{font-size:clamp(1.7rem,3.4vw,2.5rem);margin-bottom:.6rem}h3{font-size:1.3rem;margin-bottom:.4rem}
a{color:var(--green2)}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:.75rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:600;display:flex;align-items:center;gap:12px;margin-bottom:14px}
.eyebrow:before{content:"";width:34px;height:1.5px;background:var(--gold)}
.script{font-family:'Great Vibes',cursive;color:var(--gold);font-weight:400}
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.nav{display:flex;align-items:center;justify-content:space-between;height:84px;gap:20px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{height:66px;width:auto}
.brand .wm{display:none;font-family:'Playfair Display';font-weight:700;color:var(--green);font-size:1.4rem;line-height:1}
.brand .wm small{display:block;font-family:'Montserrat';font-size:.6rem;letter-spacing:.3em;color:var(--gold);font-weight:600;margin-top:4px}
.menu{display:flex;gap:26px;list-style:none;align-items:center}
.menu a{text-decoration:none;color:var(--ink);font-size:.85rem;font-weight:500;letter-spacing:.04em}
.menu a.on,.menu .current-menu-item>a,.menu .current_page_item>a{color:var(--gold);border-bottom:2px solid var(--gold);padding-bottom:4px}
.btn{display:inline-block;padding:14px 26px;border-radius:40px;font-weight:600;font-size:.88rem;text-decoration:none;letter-spacing:.03em;border:2px solid transparent;cursor:pointer;font-family:inherit}
.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:#a37630}
.btn-green{background:var(--green);color:#fff}
.btn-line{border-color:var(--green);color:var(--green);background:transparent}
.btn-wline{border-color:#fff;color:#fff;background:transparent}
.hero{background:linear-gradient(115deg,rgba(23,61,36,.94),rgba(36,86,47,.78)),repeating-linear-gradient(100deg,#2c5e35 0 22px,#3a7041 22px 44px);color:#fff;padding:96px 0 110px;position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-120px;bottom:-200px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle,rgba(217,179,108,.45),transparent 65%)}
.hero h1{color:#fff;max-width:760px}.hero p.lead{font-size:1.15rem;max-width:620px;margin:22px 0 32px;color:#e8efe4}
.hero .eyebrow{color:var(--gold2)}.hero .eyebrow:before{background:var(--gold2)}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;position:relative;z-index:2}
.pagehero{padding:72px 0 64px}
.trust{background:#fff;border-bottom:1px solid var(--line)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.trust div{padding:24px 18px;border-right:1px solid var(--line);font-size:.85rem;color:var(--muted)}
.trust div:last-child{border:0}.trust strong{display:block;color:var(--green);font-family:'Playfair Display';font-size:1.15rem}
section{padding:84px 0}
.alt{background:var(--sand)}
.dark{background:var(--green);color:#e8efe4}.dark h2,.dark h3{color:#fff}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:30px}
.card .ico{width:48px;height:48px;border-radius:50%;background:var(--sand);display:grid;place-items:center;font-size:1.3rem;margin-bottom:16px;color:var(--green)}
.card p{color:var(--muted);font-size:.93rem}
.dark .card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}.dark .card p{color:#cfdccb}
.ph{border-radius:16px;min-height:380px;background:linear-gradient(160deg,#cdbb8c,#7f9a5a 55%,#2f5a33);display:flex;align-items:flex-end;padding:18px;color:#fff;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;position:relative;overflow:hidden}
.ph:before{content:"";position:absolute;inset:55% -10% -10%;background:repeating-linear-gradient(95deg,rgba(23,61,36,.55) 0 14px,rgba(79,122,58,.35) 14px 28px);transform:perspective(300px) rotateX(40deg)}
.ph span{position:relative;background:rgba(0,0,0,.35);padding:6px 12px;border-radius:20px}
.answer{background:#fff;border-left:4px solid var(--gold);padding:22px 26px;border-radius:0 12px 12px 0;margin:22px 0;font-size:1.02rem}
.answer b{color:var(--green)}
ul.ticks{list-style:none;margin:18px 0}ul.ticks li{padding:7px 0 7px 30px;position:relative}
ul.ticks li:before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:700}
.tag{display:inline-block;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;background:var(--sand);color:var(--green2);padding:5px 12px;border-radius:20px;font-weight:600;margin:0 6px 6px 0}
.crop{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.crop .top{height:120px;background:linear-gradient(135deg,var(--leaf),var(--green2));display:grid;place-items:center;font-size:2.6rem}
.crop .body{padding:20px}.crop p{font-size:.86rem;color:var(--muted)}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.steps div{counter-increment:s;padding-top:54px;position:relative}
.steps div:before{content:counter(s,decimal-leading-zero);position:absolute;top:0;font-family:'Playfair Display';font-size:2.3rem;color:var(--gold)}
.steps p{font-size:.9rem;color:var(--muted)}.dark .steps p{color:#cfdccb}
.cta-band{background:linear-gradient(110deg,var(--gold),#c89a4a);color:#fff;border-radius:20px;padding:52px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.cta-band h2{color:#fff}
form.lead{background:#fff;border:1px solid var(--line);border-radius:18px;padding:36px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
form.lead .full{grid-column:1/-1}
label{font-size:.78rem;font-weight:600;letter-spacing:.05em;color:var(--green);display:block;margin-bottom:6px}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:.92rem;background:var(--cream)}
textarea{min-height:110px}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips label{font-weight:500;color:var(--ink);background:var(--cream);border:1px solid var(--line);padding:8px 14px;border-radius:30px;margin:0;display:flex;gap:6px;align-items:center}
.chips input{width:auto}
.small{font-size:.78rem;color:var(--muted)}
details{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 24px;margin-bottom:12px}
summary{font-family:'Playfair Display';font-size:1.12rem;color:var(--green);cursor:pointer;font-weight:600}
details p{margin-top:12px;color:var(--muted)}
.phase{border-left:2px solid var(--gold);padding:0 0 30px 28px;position:relative}
.phase:before{content:"";position:absolute;left:-8px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--gold)}
footer{background:#0f2817;color:#b9c7b6;padding:64px 0 28px;font-size:.88rem}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
footer h4{color:#fff;font-family:'Playfair Display';font-size:1.05rem;margin-bottom:14px}
footer a{color:#b9c7b6;text-decoration:none;display:block;padding:3px 0}
footer .legal{border-top:1px solid rgba(255,255,255,.12);margin-top:44px;padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.78rem}
.tagline{font-size:.7rem;letter-spacing:.3em;color:var(--gold2);text-transform:uppercase;margin-top:8px}
@media(max-width:900px){.menu{display:none}.grid2,.grid3,.grid4,.steps,footer .cols,.trust .wrap,form.lead{grid-template-columns:1fr}.cta-band{flex-direction:column;align-items:flex-start;padding:34px}.trust div{border-right:0;border-bottom:1px solid var(--line)}}

/* ---- WordPress additions ---- */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.skip-link:focus{clip:auto;clip-path:none;height:auto;width:auto;left:12px;top:12px;z-index:100;background:#fff;padding:10px 16px;border-radius:6px}
.menu li{list-style:none}.menu .menu-cta a{color:#fff}
.brand img{max-height:74px;width:auto;height:74px}
.custom-logo-link img{height:74px;width:auto}
.nav-toggle{display:none;background:none;border:2px solid var(--green);border-radius:10px;padding:8px 12px;color:var(--green);font-weight:600;font-family:inherit;cursor:pointer}
.hero.has-bg{background-size:cover;background-position:center}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.ph.has-img:before{display:none}
.ph.has-img span{display:none}
.ph iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ph.map:before{display:none}
.crop .top.has-img{height:160px;padding:0}.crop .top img{width:100%;height:100%;object-fit:cover}
.mlg-faq .faq-a{margin-top:12px;color:var(--muted)}.mlg-faq .faq-a p{margin:0 0 8px}
form.lead h3{margin-bottom:2px}
.mlgal-label{font-size:.78rem;font-weight:600;letter-spacing:.05em;color:var(--green);display:block;margin-bottom:6px}
.mlgal-consent{font-weight:400!important;color:var(--muted)!important;letter-spacing:0!important;display:flex!important;gap:8px;align-items:flex-start}
.mlgal-consent input{width:auto;margin-top:4px}
.entry{max-width:820px;margin:0 auto}.entry p,.entry ul,.entry ol{margin-bottom:1.1em}.entry h2{margin:1.4em 0 .5em}.entry img{max-width:100%;height:auto;border-radius:12px}
.entry ul,.entry ol{padding-left:1.4em}
.post-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px;margin-bottom:20px}
.post-card .meta{font-size:.78rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase}
.pagination{display:flex;gap:10px;margin-top:30px}.pagination .page-numbers{padding:8px 14px;border:1px solid var(--line);border-radius:8px;text-decoration:none;background:#fff}.pagination .current{background:var(--green);color:#fff}
.alignwide{max-width:1180px}.alignfull{width:100%}
.wp-block-button__link{background:var(--gold);border-radius:40px}
@media(max-width:900px){
 .nav-toggle{display:block;margin-left:auto}
 .menu{position:absolute;top:84px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 20px;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.06)}
 .menu li a{display:block;padding:12px 0;border-bottom:1px solid var(--line)}
 .menu .menu-cta a{text-align:center;margin-top:12px;border:0}
 .nav.open .menu{display:flex}
 .hero{padding:64px 0 72px}section{padding:60px 0}
 .brand img,.custom-logo-link img{height:60px}
}
footer li{list-style:none}footer .cols ul{margin:0;padding:0}

/* ---- Online donations (v1.2.0) ---- */
.need-card{display:flex;flex-direction:column}
.need-card p{flex:1}
.need-donate{display:inline-block;margin-top:14px;font-size:.85rem;font-weight:600;color:var(--gold);text-decoration:none}
.need-donate:hover{text-decoration:underline}
.donate-box{display:grid;grid-template-columns:1fr 1fr;gap:40px;background:#fff;border:2px solid var(--gold);border-radius:20px;padding:40px;scroll-margin-top:110px}
.donate-box h3{font-size:1.7rem;margin-bottom:10px}
.donate-intro p{color:var(--muted)}
.donate-form{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:28px}
.donate-form select,.donate-form input[type=number]{background:#fff}
.amounts{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px}
.amt{padding:13px 8px;border:2px solid var(--line);background:#fff;border-radius:12px;font-family:inherit;font-weight:700;font-size:1rem;color:var(--green);cursor:pointer;transition:border-color .15s,background .15s}
.amt:hover{border-color:var(--gold2)}
.amt.on{border-color:var(--gold);background:var(--gold);color:#fff}
.amt:focus-visible,.need-donate:focus-visible{outline:3px solid var(--gold2);outline-offset:2px}
.donate-submit{width:100%;text-align:center;margin-top:20px;font-size:1rem;padding:16px}
.donate-fine{margin-top:10px;text-align:center}
.donate-err{color:#b32d2e;font-size:.85rem;margin-top:8px}
.donate-msg{padding:16px 20px;border-radius:12px;margin-bottom:20px}
.donate-msg.ok{background:#e4efdf;border:1px solid #9fc08f;color:var(--green)}
.donate-msg.warn{background:#fdf3e1;border:1px solid var(--gold2);color:#6b4b16}
@media(max-width:900px){.donate-box{grid-template-columns:1fr;padding:24px;gap:24px}}
