/*
Theme Name: Habitat McDonough County
Theme URI: https://h4hmcd.com/
Author: Habitat for Humanity of McDonough County
Description: Lightweight, accessible, renovation-focused theme for Habitat for Humanity of McDonough County. Built for simple long-term maintenance with Classic Editor and block-editor compatibility.
Version: 0.10.5
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: h4hmcd
*/

:root {
  --hab-blue:#0099CC;
  --hab-green:#C4D600;
  --hab-gray:#888B8D;
  --hab-black:#000000;
  --hab-white:#FFFFFF;
  --hab-navy:#002F6C;
  --ink:#172126;
  --muted:#5b6468;
  --paper:#ffffff;
  --soft:#f6f7f7;
  --line:#e4e7e8;
  --max:1180px;
  --radius:2px;
  --shadow:0 12px 34px rgba(0,0,0,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,"Neue Haas Grotesk",Helvetica,Arial,sans-serif;line-height:1.55}
a{color:var(--hab-navy);text-underline-offset:3px}
a:hover{color:#004e8c}
img{max-width:100%;height:auto;display:block}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.header-inner{min-height:82px;display:flex;align-items:center;gap:28px}
.site-branding{margin-right:auto;display:flex;align-items:center}.site-branding img{width:min(360px,38vw);max-height:58px;object-fit:contain;object-position:left center}
.site-nav ul{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}.site-nav a{text-decoration:none;color:var(--ink);font-size:.86rem;font-weight:750;letter-spacing:.035em;text-transform:uppercase}.site-nav .menu-donate a,.btn-primary{background:var(--hab-blue);color:#fff!important;padding:12px 18px;text-decoration:none;font-weight:800;display:inline-block}.site-nav .menu-donate a:hover,.btn-primary:hover{background:var(--hab-navy)}
.menu-toggle{display:none;border:0;background:transparent;font:inherit;font-weight:800;padding:10px}
.hero{position:relative;min-height:600px;display:grid;align-items:end;background:#e9edef center/cover no-repeat;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.68),rgba(0,0,0,.28) 55%,rgba(0,0,0,.06))}.hero-content{position:relative;color:#fff;padding:92px 0 76px;max-width:760px}.eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;margin:0 0 12px}.hero h1,.section-title{line-height:1.02;margin:.1em 0 .3em;font-weight:850;letter-spacing:-.035em}.hero h1{font-size:clamp(3rem,7vw,6rem);max-width:11ch}.hero p{font-size:clamp(1.08rem,2vw,1.35rem);max-width:55ch}.btn{display:inline-block;padding:13px 20px;border:2px solid currentColor;text-decoration:none;font-weight:800;transition:transform .18s ease,background-color .18s ease,color .18s ease}.btn:hover{transform:translateY(-2px)}.btn-light{color:#fff}.btn-green{background:var(--hab-green);border-color:var(--hab-green);color:#172126}.btn-green:hover{background:#d3e600;color:#000}
.quick-actions{background:#fff}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;transform:translateY(-1px)}.quick-card{padding:30px 28px;text-decoration:none;color:var(--ink);border-right:1px solid var(--line);border-bottom:4px solid transparent}.quick-card:first-child{border-left:1px solid var(--line)}.quick-card:hover{border-bottom-color:var(--hab-blue);background:#fbfcfc}.quick-card strong{display:block;font-size:1.35rem}.quick-card span{color:var(--muted)}
.section{padding:78px 0}.section-soft{background:var(--soft)}.section-title{font-size:clamp(2.2rem,4.4vw,4rem);max-width:15ch}.section-intro{font-size:1.12rem;max-width:62ch;color:var(--muted)}
/* Extremely subtle construction texture: horizontal siding lines. */
.texture-siding{background-color:#fbfbfa;background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.018) 0,rgba(0,0,0,.018) 1px,transparent 1px,transparent 34px)}
/* Two-piece sections stay level. The stronger stagger is reserved for recurring four-piece motifs. */
.pair-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;align-items:stretch;margin-top:38px}.pair-wide{grid-column:span 7}.pair-narrow{grid-column:span 5}.module{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:34px;min-height:210px}.module-media{padding:0;overflow:hidden}.module-media img{width:100%;height:100%;min-height:340px;object-fit:cover}.media-placeholder{min-height:340px;height:100%;display:grid;place-items:center;background:#e7ecee;color:#657176;padding:30px;text-align:center}.module h3{font-size:1.58rem;line-height:1.15;margin-top:0}.module p:last-child{margin-bottom:0}

.volunteer-invites{margin-top:24px}.volunteer-invite{min-height:210px;border-top:5px solid var(--hab-blue)}.volunteer-invite:nth-child(2){border-top-color:var(--hab-green)}.volunteer-invite h3{font-size:1.5rem}.volunteer-invite p{font-size:1.04rem}
/* Four fitted pieces: a repeating construction motif. Connector marks add motion without becoming decoration-heavy. */
.four-build{display:grid;grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1fr;align-items:center;margin-top:38px}.build-card{position:relative;align-self:stretch;background:#fff;border:1px solid var(--line);border-top:5px solid var(--hab-green);padding:26px 24px;min-height:190px;box-shadow:0 8px 24px rgba(0,0,0,.045);transition:transform .18s ease,box-shadow .18s ease}.build-card:nth-of-type(even){transform:translateY(18px)}.build-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.build-card:nth-of-type(even):hover{transform:translateY(15px)}.build-number{font-size:1.55rem;font-weight:900;color:var(--hab-navy);margin-bottom:12px}.build-card strong{font-size:1.05rem}.build-card p{color:var(--muted);margin:.5em 0 0}.build-connector{display:grid;place-items:center;color:var(--hab-blue);font-size:1.25rem;font-weight:900;transform:rotate(12deg)}.build-card-open{background:transparent;border:1px dashed #c9ced0;border-top:5px solid rgba(196,214,0,.5);box-shadow:none}.build-card-open .build-number{opacity:.38}.impact-value{display:block!important;font-size:clamp(2.2rem,4vw,3.6rem)!important;line-height:1;color:var(--hab-navy);margin-top:10px}.four-build-impact{margin-top:24px}.four-build-impact .build-card{min-height:270px;border-top-color:var(--hab-blue)}.four-build-impact .build-card:nth-of-type(even){transform:translateY(18px)}.four-build-impact .build-card:hover{transform:translateY(-3px)}.four-build-impact .build-card:nth-of-type(even):hover{transform:translateY(15px)}.impact-with-give{margin-top:22px}.impact-with-give .four-build .build-connector{color:var(--hab-green)}
.project-meta{display:flex;gap:18px;flex-wrap:wrap;font-size:.9rem;font-weight:750;margin:18px 0}.progress-track{height:18px;background:#e9ecec;overflow:hidden}.progress-fill{height:100%;background:var(--hab-blue);width:var(--progress,0%)}.progress-label{display:flex;justify-content:space-between;gap:20px;margin-top:8px;font-size:.88rem;font-weight:750}.updated{color:var(--muted);font-size:.82rem}

.give-band{background:var(--hab-navy);color:#fff}.give-band>.container>.eyebrow{font-size:.82rem}.give-band a{color:var(--hab-navy)}.give-band .section-intro{color:#e8edf3}.four-build-give .build-card{color:var(--ink);min-height:270px}.four-build-give .build-card p{color:var(--muted)}.four-build-give .build-connector{color:var(--hab-green)}.impact-with-give .eyebrow,.impact-with-give .section-title{color:#fff}

.logo-band{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;align-items:center;margin-top:36px}.partner-placeholder{min-height:86px;border:1px dashed #b9bfc1;display:grid;place-items:center;color:#7c8589;font-size:.8rem;text-align:center;padding:12px}
.newsletter{background:var(--hab-blue);color:#fff;padding:48px}.newsletter .section-title{font-size:clamp(2rem,4vw,3.5rem);max-width:18ch}.newsletter p{max-width:60ch}.newsletter .btn{margin-top:10px}
.site-footer{background:#10181c;color:#dce1e3;padding:60px 0 28px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:44px}.site-footer a{color:#fff}.footer-logo{filter:invert(1);width:min(330px,100%);margin-bottom:22px}.footer-heading{color:#fff;font-size:1rem;text-transform:uppercase;letter-spacing:.08em}.footer-bottom{border-top:1px solid rgba(255,255,255,.18);margin-top:42px;padding-top:22px;font-size:.82rem;color:#abb4b8}
.alert-box{background:#fff7d6;border-left:6px solid #FFD100;padding:20px 24px;margin:24px 0 0}.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{position:fixed!important;top:8px;left:8px;width:auto;height:auto;padding:12px;background:#fff;color:#000;clip:auto;z-index:9999}
@media(max-width:900px){.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:82px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:20px}.site-nav.open{display:block}.site-nav ul{display:grid;gap:6px}.site-nav a{display:block;padding:12px}.site-branding img{width:min(330px,60vw)}.hero{min-height:520px}.pair-grid{grid-template-columns:1fr}.pair-wide,.pair-narrow{grid-column:auto}.four-build{grid-template-columns:1fr 24px 1fr}.four-build .build-card:nth-of-type(even){transform:none}.four-build-impact .build-card:nth-of-type(n){transform:none}.four-build .build-card:nth-of-type(even):hover{transform:translateY(-3px)}.four-build .build-connector:nth-of-type(2){display:none}.four-build .build-card:nth-of-type(3),.four-build .build-card:nth-of-type(4){margin-top:24px}.logo-band{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.container{width:min(calc(100% - 28px),var(--max))}.header-inner{min-height:70px}.site-nav{top:70px}.hero{min-height:560px}.hero-content{padding:70px 0 58px}.hero h1{font-size:clamp(2.7rem,15vw,4.2rem)}.quick-grid{grid-template-columns:1fr}.quick-card,.quick-card:first-child{border-left:1px solid var(--line);border-right:1px solid var(--line)}.section{padding:68px 0}.module{padding:28px}.four-build{grid-template-columns:1fr;gap:14px}.four-build .build-connector{display:none}.four-build .build-card:nth-of-type(n){margin-top:0;transform:none}.logo-band,.footer-grid{grid-template-columns:1fr}.newsletter{padding:34px 26px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
.partner-logo{display:flex;align-items:center;justify-content:center;min-height:90px;padding:14px}.partner-logo img{display:block;max-width:170px;max-height:72px;width:auto;height:auto;object-fit:contain}

/* v0.7 Banner: full-width dark fallback with a protected text field and replaceable photo. */
.hero{min-height:600px;display:block;background:#555b5e;overflow:hidden;position:relative}.hero:before{display:none}.hero-inner{width:min(calc(100% - 40px),1920px);min-height:600px;margin-inline:auto;display:grid;grid-template-columns:minmax(460px,42%) 1fr;position:relative}.hero-content{color:#fff;padding:92px clamp(20px,2.5vw,48px) 76px 0;max-width:none;align-self:end;z-index:2}.hero-content h1{max-width:9.5ch}.hero-content>p:last-child{max-width:46ch}.hero-photo{min-height:600px;background:#73797c center/cover no-repeat;clip-path:polygon(11% 0,100% 0,100% 100%,0 100%,6% 72%,0 43%);margin-left:-13%;position:relative}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(85,91,94,.46),rgba(85,91,94,0) 35%);pointer-events:none}

/* Current-project photo story. */
.project-gallery{padding:0 0 78px;background:#fbfbfa}.gallery-strip{display:flex;gap:14px;overflow-x:auto;padding:8px 2px 16px;scroll-snap-type:x proximity;scrollbar-width:thin}.gallery-thumb{flex:0 0 clamp(190px,24vw,300px);height:180px;padding:0;border:0;background:#e7ecee;cursor:pointer;overflow:hidden;scroll-snap-align:start}.gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .18s ease}.gallery-thumb:hover img,.gallery-thumb:focus-visible img{transform:scale(1.025)}.gallery-thumb:focus-visible{outline:4px solid var(--hab-blue);outline-offset:3px}.gallery-lightbox[hidden]{display:none}.gallery-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.9);display:grid;grid-template-columns:minmax(48px,90px) minmax(0,1fr) minmax(48px,90px);align-items:center;padding:30px}.gallery-lightbox figure{margin:0;display:grid;justify-items:center;gap:12px}.gallery-lightbox img{max-width:92vw;max-height:84vh;width:auto;height:auto;object-fit:contain}.gallery-lightbox figcaption{color:#fff;max-width:900px;text-align:center}.gallery-close,.gallery-prev,.gallery-next{border:0;background:rgba(255,255,255,.12);color:#fff;font:inherit;cursor:pointer}.gallery-close{position:absolute;right:22px;top:18px;width:48px;height:48px;font-size:2rem}.gallery-prev,.gallery-next{width:52px;height:72px;font-size:3rem;justify-self:center}.gallery-close:hover,.gallery-prev:hover,.gallery-next:hover,.gallery-close:focus-visible,.gallery-prev:focus-visible,.gallery-next:focus-visible{background:#fff;color:#000}.lightbox-open{overflow:hidden}

/* Partner list grows naturally; no-logo entries get a consistent fallback mark. */
.logo-band{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.partner-logo{min-height:110px}.partner-logo a{display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;color:var(--ink);width:100%}.partner-fallback{width:48px;height:48px;display:grid;place-items:center;border:2px solid var(--hab-blue);color:var(--hab-blue);font-size:1.4rem;transform:rotate(45deg);flex:0 0 auto}.partner-fallback::first-letter{transform:rotate(-45deg)}.partner-name{font-weight:800;line-height:1.2}.partner-placeholder{grid-column:1/-1}

@media(max-width:900px){.hero{min-height:0}.hero-inner{width:100%;min-height:0;grid-template-columns:1fr}.hero-content{width:min(calc(100% - 40px),var(--max));margin-inline:auto;padding:72px 0 54px}.hero-photo{min-height:360px;margin-left:0;clip-path:none}.hero-photo:after{display:none}.project-gallery{padding-bottom:58px}}
@media(max-width:600px){.hero-content{width:min(calc(100% - 28px),var(--max));padding:58px 0 44px}.hero-photo{min-height:280px}.gallery-lightbox{grid-template-columns:46px minmax(0,1fr) 46px;padding:18px 6px}.gallery-lightbox img{max-width:calc(100vw - 104px);max-height:78vh}.gallery-prev,.gallery-next{width:42px;height:62px}.gallery-close{right:10px;top:10px}}

/* v0.8 people + partner captions */
.partner-logo{flex-direction:column;gap:8px;text-align:center}.partner-logo a{flex-direction:column}.partner-caption{font-size:.78rem;line-height:1.3;color:var(--muted);max-width:220px}.board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;margin-top:34px}.board-member{margin:0;background:#fff;border:1px solid var(--line);padding:14px}.board-member img,.board-placeholder{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;background:#eef1f2}.board-placeholder{display:grid;place-items:center;padding:20px;text-align:center;color:var(--hab-navy)}.board-placeholder-mark{width:86px;height:86px;border:3px solid var(--hab-blue);border-radius:50%;display:grid;place-items:center;margin:auto auto 14px;font-size:2rem}.board-placeholder-mark:before{content:"⌂"}.board-member figcaption{padding:14px 4px 4px}.board-member-name{display:block;font-size:1.05rem}.board-member-role{display:block;color:var(--muted);font-size:.88rem;margin-top:3px}.board-photo-caption{display:block;color:var(--muted);font-size:.78rem;line-height:1.35;margin-top:7px}

/* v0.10 refinements */
.hero-inner{width:min(calc(100% - clamp(80px,12vw,260px)),1480px);grid-template-columns:minmax(430px,43%) 1fr}.hero-content{padding-right:clamp(28px,4vw,64px)}
.special-announcement{padding:38px 20px 16px;background:#fff}.announcement-inner{width:min(calc(100% - 80px),1180px);margin:auto;display:grid;grid-template-columns:minmax(220px,36%) 1fr;border-top:7px solid var(--hab-blue);background:#f5f6f4;box-shadow:0 12px 28px rgba(0,0,0,.07)}.announcement-image img{width:100%;height:100%;min-height:240px;object-fit:cover;display:block}.announcement-copy{padding:34px 40px}.announcement-copy h2{font-size:clamp(1.8rem,3vw,2.8rem);margin:.2em 0 .4em}.announcement-copy p{max-width:65ch}
.board-placeholder{padding:0;overflow:hidden;background:#fff}.board-placeholder img{width:100%;height:100%;object-fit:contain;background:#fff}.board-member-bio{display:block;color:var(--ink);font-size:.82rem;line-height:1.45;margin-top:9px}.board-photo-caption{font-style:italic}
.contact-section{background:#f3f5f4}.contact-wrap{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(320px,1.2fr);gap:64px;align-items:start}.contact-form{background:#fff;border-top:6px solid var(--hab-green);padding:34px;box-shadow:var(--shadow)}.contact-form label{display:block;font-weight:750;margin-bottom:18px}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #aeb5b8;font:inherit}.contact-form textarea{resize:vertical}.contact-hp{position:absolute;left:-9999px}.form-status{margin-top:18px;font-weight:750}.form-error{color:#8a1f1f}.footer-legal{border-top:1px solid rgba(255,255,255,.18);margin-top:42px;padding-top:22px;font-size:.78rem;line-height:1.5;color:#abb4b8;max-width:1000px}.footer-bottom{margin-top:20px}
.faq-list{max-width:1000px;margin-top:36px}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;font-weight:850;font-size:1.1rem;padding:20px 48px 20px 0;position:relative;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:'+';position:absolute;right:8px;top:15px;font-size:1.7rem;color:var(--hab-blue)}.faq-item[open] summary:after{content:'–'}.faq-answer{padding:0 48px 22px 0;max-width:75ch}
@media(max-width:900px){.hero-inner{width:100%;grid-template-columns:1fr}.announcement-inner{width:min(calc(100% - 30px),1180px);grid-template-columns:1fr}.announcement-image img{max-height:360px}.contact-wrap{grid-template-columns:1fr;gap:30px}}
@media(max-width:600px){.announcement-inner{width:100%}.announcement-copy{padding:28px 24px}.contact-form{padding:26px 20px}}

/* v0.10.1 refinements */
@media(min-width:901px){
  .hero-inner{width:min(calc(100% - clamp(180px,22vw,440px)),1220px);grid-template-columns:minmax(410px,46%) 1fr}
  .hero-content{padding-right:clamp(20px,2.5vw,42px)}
}
.board-grid{grid-template-columns:repeat(auto-fill,minmax(220px,280px));align-items:start}
.board-placeholder{aspect-ratio:4/5;min-height:0;padding:22px}
.board-placeholder img{width:min(82%,320px);height:auto;max-height:92%;object-fit:contain;margin:auto}


/* v0.10.2 Board refinements */
@media(min-width:901px){
  .board-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
}
.board-member{height:100%;display:flex;flex-direction:column}
.board-member figcaption{flex:1}
.board-member-bio{white-space:normal}
@media(min-width:601px) and (max-width:900px){
  .board-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
}
@media(max-width:600px){
  .board-grid{grid-template-columns:1fr;align-items:stretch}
}

/* v0.10.3: optional Volunteer card actions */
.card-action{margin-top:18px!important}.btn-card{padding:9px 12px;font-size:.82rem;line-height:1.2}.build-card .card-action{margin-top:16px!important}

/* v0.10.4 — limited rich-text content. Keep theme typography in control. */
.rich-text > :first-child{margin-top:0}
.rich-text > :last-child{margin-bottom:0}
.rich-text ul,.rich-text ol{margin:.65em 0 .85em 1.35em;padding:0}
.rich-text li+li{margin-top:.25em}
.hero-text{max-width:42rem}
.hero-text p{margin:.55rem 0 0}
.board-member-bio p{margin:.2rem 0}


/* v0.10.5 — compact rich-text lists inside smaller Board bios. */
.board-member-bio.rich-text ul,.board-member-bio.rich-text ol{margin:.4em 0 .5em 1.2em;padding:0}
.board-member-bio.rich-text li+li{margin-top:.08em}
