/*
Theme Name: Stonepine Crescent HOA
Theme URI: https://stonepinehoa.co.za/
Author: Stonepine Crescent HOA
Description: Custom editable WordPress theme for the Stonepine Crescent Home Owners Association. Includes Notices, Newsletters, Documents, estate information and a resident issue-reporting form.
Version: 1.2.0
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: stonepinehoa
*/


:root{
  --green:#0b3d2b;--green-2:#315b48;--sage:#8fa292;--sage-soft:#dce5dd;
  --cream:#f6f4ee;--sand:#e5dfd2;--ink:#1d2b24;--muted:#68756e;--white:#fff;
  --line:rgba(29,43,36,.13);--shadow:0 22px 58px rgba(24,47,35,.12);--radius:22px;--max:1180px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:Montserrat,Arial,Helvetica,sans-serif;line-height:1.62}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.container{width:min(calc(100% - 40px),var(--max));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;font-weight:800;color:var(--green-2)}.display{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.035em;line-height:1.02;margin:.35rem 0 1rem;font-size:clamp(2.8rem,6vw,5.7rem)}.section-title{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.025em;font-size:clamp(2rem,4vw,3.6rem);line-height:1.08;margin:.3rem 0 1rem}.lede{font-size:clamp(1.04rem,2vw,1.22rem);color:var(--muted);max-width:760px}.small{font-size:.9rem;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;border:1px solid var(--ink);border-radius:999px;padding:.9rem 1.2rem;font-weight:750;transition:.2s ease;cursor:pointer;background:transparent}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(31,49,40,.13)}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.light{border-color:rgba(255,255,255,.48);color:white;background:rgba(255,255,255,.08)}.btn.soft{border-color:var(--line);background:rgba(255,255,255,.78)}.btn-row{display:flex;flex-wrap:wrap;gap:.75rem}
header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.95);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:255px;max-width:52vw;height:auto}.nav-links{display:flex;align-items:center;gap:1.25rem;font-size:.88rem;font-weight:700}.nav-links a{position:relative;padding:.4rem 0}.nav-links a:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:var(--green);transition:.2s}.nav-links a:hover:after,.nav-links a.active:after{right:0}.menu-btn{display:none;border:0;background:none;font-size:1.55rem;cursor:pointer;color:var(--ink)}
.notice-strip{background:var(--green);color:#fff}.notice-strip .container{display:flex;gap:20px;align-items:center;padding:14px 0;overflow:hidden}.notice-strip strong{white-space:nowrap;font-size:.76rem;text-transform:uppercase;letter-spacing:.14em;color:#d8e3dc}.notice-strip a{font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notice-strip span{margin-left:auto}
.hero{min-height:700px;display:grid;align-items:end;position:relative;overflow:hidden;background:#263d31}.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(8,35,24,.79) 0%,rgba(8,35,24,.56) 40%,rgba(8,35,24,.18) 70%,rgba(8,35,24,.10)),var(--hero-image);background-size:cover;background-position:center}.hero:after{content:"";position:absolute;inset:auto 0 0;height:150px;background:linear-gradient(transparent,rgba(0,0,0,.18))}.hero-copy{position:relative;z-index:2;padding:140px 0 82px;max-width:800px;color:white}.hero-copy .eyebrow{color:#dce8df}.hero-copy .lede{color:rgba(255,255,255,.86);max-width:700px;margin-bottom:2rem}.hero-badge{display:inline-flex;gap:.6rem;align-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:.55rem .85rem;border-radius:999px;font-size:.82rem;font-weight:700;margin-bottom:1rem;backdrop-filter:blur(7px)}.hero-badge span{width:8px;height:8px;border-radius:50%;background:#d3dfb8;box-shadow:0 0 0 5px rgba(211,223,184,.14)}
section{padding:92px 0}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}.card{border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:#fff;box-shadow:0 1px 0 rgba(33,48,41,.02);transition:.22s ease}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.card .icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--cream);font-size:1.25rem;margin-bottom:28px}.card h3{font-family:Georgia,"Times New Roman",serif;font-size:1.52rem;font-weight:400;margin:.15rem 0 .65rem;line-height:1.22}.card p{color:var(--muted);margin:0}.card .meta{margin-top:22px;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--green-2);font-weight:800}.card-link{display:block}.quick{background:var(--cream)}.quick-grid{display:grid;grid-template-columns:1.05fr 1.95fr;gap:54px;align-items:start}.quick-links{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.quick-link{padding:21px 0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-weight:750}.quick-link:nth-child(odd){padding-right:22px;border-right:1px solid var(--line)}.quick-link:nth-child(even){padding-left:22px}.quick-link span:last-child{font-size:1.3rem;font-weight:400}.photo-feature{min-height:520px;border-radius:32px;overflow:hidden;position:relative;display:flex;align-items:flex-end;background-size:cover;background-position:center}.photo-feature:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,42,27,.82),rgba(6,42,27,.34) 62%,rgba(6,42,27,.12))}.photo-feature .copy{position:relative;z-index:2;max-width:600px;padding:48px;color:#fff}.photo-feature .eyebrow{color:#dbe5dc}.photo-feature h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(2.5rem,5vw,4.3rem);line-height:1.05;margin:.35rem 0 1rem}.photo-feature p{color:rgba(255,255,255,.86);font-size:1.07rem}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:22px;overflow:hidden}.stat{background:white;padding:28px}.stat strong{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:1.78rem;display:block}.stat span{color:var(--muted);font-size:.9rem}
.page-hero{padding:105px 0 64px;background:var(--cream);border-bottom:1px solid var(--line)}.page-hero.photo{position:relative;color:white;background-size:cover;background-position:center}.page-hero.photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,42,28,.82),rgba(8,42,28,.42))}.page-hero.photo .container{position:relative;z-index:1}.page-hero.photo .eyebrow,.page-hero.photo .lede{color:rgba(255,255,255,.86)}.page-hero .display{font-size:clamp(2.8rem,5vw,5rem)}
.list{display:grid;gap:14px}.list-item{border:1px solid var(--line);border-radius:18px;padding:22px;display:grid;grid-template-columns:140px 1fr auto;gap:22px;align-items:center;background:white}.list-item .date{color:var(--green-2);font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.list-item h3{margin:0 0 .35rem;font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:1.35rem}.list-item p{margin:0;color:var(--muted);font-size:.94rem}.pill{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:.42rem .7rem;font-size:.73rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--green-2);white-space:nowrap}
.notice-detail{padding:28px;border:1px solid var(--line);border-radius:22px;background:white;scroll-margin-top:120px}.notice-detail + .notice-detail{margin-top:18px}.notice-detail h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:1.9rem;margin:.25rem 0 .6rem}.notice-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:12px}.notice-detail p,.notice-detail li{color:var(--muted)}
.doc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.doc-card{border:1px solid var(--line);border-radius:22px;padding:26px;display:grid;grid-template-columns:54px 1fr auto;gap:18px;align-items:start}.doc-icon{width:54px;height:54px;border-radius:16px;background:var(--cream);display:grid;place-items:center;font-size:1.4rem}.doc-card h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:1.45rem;margin:.05rem 0 .4rem}.doc-card p{margin:0;color:var(--muted);font-size:.92rem}.doc-card .btn{padding:.68rem .95rem;font-size:.82rem}.callout{padding:24px;border-radius:18px;background:var(--cream);border:1px solid var(--line)}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:260px 260px;gap:14px}.gallery figure{margin:0;border-radius:20px;overflow:hidden;position:relative}.gallery figure:first-child{grid-row:1/3}.gallery img{width:100%;height:100%;object-fit:cover}.gallery figcaption{position:absolute;left:12px;bottom:12px;background:rgba(12,45,31,.78);color:white;padding:7px 10px;border-radius:999px;font-size:.72rem;font-weight:700;backdrop-filter:blur(5px)}
.form{border:1px solid var(--line);border-radius:24px;padding:30px;background:white}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}label{font-size:.82rem;font-weight:800}input,textarea,select{width:100%;border:1px solid #cdd4cf;border-radius:12px;padding:.92rem;background:#fff;color:var(--ink)}textarea{min-height:150px;resize:vertical}.contact-card{padding:32px;border-radius:24px;background:var(--green);color:white}.contact-card p{color:#d6e0da}.contact-card hr{border:0;border-top:1px solid rgba(255,255,255,.14);margin:28px 0}.contact-card a{text-decoration:underline;text-decoration-color:rgba(255,255,255,.35);text-underline-offset:3px}.status{display:inline-flex;align-items:center;gap:8px;font-size:.84rem}.status i{width:9px;height:9px;border-radius:50%;background:#d8d49e}
footer{background:#17261f;color:white;padding:65px 0 24px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:40px;padding-bottom:52px}.footer-logo{width:255px;background:#fff;border-radius:8px;padding:7px}.footer-links{display:grid;gap:.65rem}footer p,footer a{color:#becbc3}.copyright{padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;font-size:.82rem;color:#91a098}.toast{position:fixed;right:22px;bottom:22px;max-width:420px;padding:16px 18px;border-radius:14px;background:var(--green);color:white;box-shadow:var(--shadow);z-index:99;transform:translateY(160%);transition:.3s}.toast.show{transform:translateY(0)}
@media(max-width:900px){.nav{height:72px}.menu-btn{display:block}.nav-links{position:absolute;left:0;right:0;top:72px;display:none;background:white;border-bottom:1px solid var(--line);padding:20px;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.hero{min-height:650px}.hero-copy{padding:120px 0 58px}.grid-3,.quick-grid,.split,.footer-grid,.doc-grid{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}.quick-grid{gap:25px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:330px 220px 220px}.gallery figure:first-child{grid-column:1/-1;grid-row:auto}.list-item{grid-template-columns:1fr auto}.list-item .date{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}}
@media(max-width:600px){.container{width:min(calc(100% - 28px),var(--max))}section{padding:68px 0}.brand img{width:215px}.display{font-size:3rem}.hero{min-height:620px}.hero-copy{padding-top:100px}.btn-row .btn{width:100%}.grid-3{gap:14px}.quick-links{grid-template-columns:1fr}.quick-link:nth-child(odd),.quick-link:nth-child(even){padding:18px 0;border-right:0}.photo-feature .copy{padding:30px}.list-item{grid-template-columns:1fr}.doc-card{grid-template-columns:48px 1fr}.doc-card .btn{grid-column:1/-1;width:100%}.gallery{grid-template-columns:1fr;grid-template-rows:280px repeat(4,200px)}.gallery figure:first-child{grid-column:auto}.footer-grid{gap:26px}.copyright{flex-direction:column}.notice-strip .container{gap:12px}.notice-strip strong{display:none}}

/* V3: estate plan and live contact details */
.plan-split{align-items:center}.plan-preview{position:relative;display:block;border:1px solid var(--line);background:white;border-radius:24px;padding:12px;box-shadow:var(--shadow);overflow:hidden}.plan-preview img{width:100%;border-radius:15px}.plan-preview span{position:absolute;right:24px;bottom:24px;background:rgba(11,61,43,.92);color:white;border-radius:999px;padding:.68rem .9rem;font-size:.78rem;font-weight:800;box-shadow:0 8px 20px rgba(0,0,0,.16)}.status.live i{background:#b7d79f}.emergency-list{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-top:14px}.emergency-list p{margin:0;padding:12px 0;border-top:1px solid rgba(255,255,255,.12)}.emergency-list b{font-size:.82rem;color:#fff}.contact-note{font-size:.8rem;opacity:.8;margin-top:16px!important}.contact-card .emergency-list a{font-size:1.05rem;font-weight:750}.doc-card{scroll-margin-top:110px}
@media(max-width:600px){.emergency-list{grid-template-columns:1fr}.plan-preview span{right:18px;bottom:18px}}


/* WordPress integration */
.admin-bar header{top:32px}.site-main .entry-content>*,.wp-block-group__inner-container{max-width:1180px}.entry-content{font-size:1rem}.entry-content a{text-decoration:underline;text-underline-offset:3px}.entry-content h2,.entry-content h3,.entry-content h4{font-family:Georgia,"Times New Roman",serif;font-weight:400}.entry-content h2{font-size:2rem}.entry-content img{border-radius:18px}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;margin:0;padding:12px 16px;background:#fff;color:#000;z-index:100000;top:10px;left:10px}.pagination{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}.pagination .page-numbers{border:1px solid var(--line);border-radius:999px;padding:.55rem .8rem}.pagination .current{background:var(--green);color:#fff;border-color:var(--green)}.wp-caption-text,.gallery-caption{font-size:.8rem;color:var(--muted)}.notice-detail .entry-content p,.notice-detail .entry-content li{color:var(--muted)}.admin-note{padding:14px 18px;border-radius:14px;background:#fff8dd;border:1px solid #eadba3;margin-bottom:22px}.form-message{padding:14px 16px;border-radius:12px;margin-bottom:18px}.form-message.success{background:#e8f4eb;border:1px solid #bdd8c4}.form-message.error{background:#fff0ef;border:1px solid #efc5c1}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.document-group{margin-top:38px}.empty-state{border:1px dashed var(--line);border-radius:18px;padding:24px;color:var(--muted)}.seed-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.35rem .65rem;background:var(--cream);font-size:.75rem;font-weight:800;color:var(--green-2)}
@media(max-width:782px){.admin-bar header{top:46px}}
.nav-links ul{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:1.25rem}.nav-links li{margin:0}.nav-links .current-menu-item>a,.nav-links .current_page_item>a{position:relative}.nav-links .current-menu-item>a:after,.nav-links .current_page_item>a:after{right:0}.notice-card-date{margin-top:22px;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--green-2);font-weight:800}.newsletter-cover{aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:var(--cream);margin-bottom:18px}.newsletter-cover img{width:100%;height:100%;object-fit:cover}.single-shell{max-width:850px}.single-shell .entry-content{margin-top:26px}.archive-intro{margin-bottom:34px}.document-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
@media(max-width:900px){.nav-links ul{flex-direction:column;align-items:flex-start;gap:1rem}}
