/*
Theme Name: North Andover Community
Description: Local news and events for North Andover.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: north-andover-community
*/
:root{--green:#164a3c;--deep:#10372f;--mint:#e8efe8;--cream:#f6f4ee;--paper:#fffefa;--orange:#d5834c;--ink:#1d2925;--muted:#68736c;--line:#dce2da;--serif:"Libre Baskerville",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans)}a{color:inherit;text-decoration:none}a:hover{color:var(--orange)}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:1rem;z-index:100}.site-header{background:var(--paper);border-bottom:1px solid #edf0e9}.header-inner{max-width:1180px;margin:auto;padding:17px 28px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark,.fb-avatar{width:42px;height:42px;border-radius:50%;background:var(--green);color:white;display:grid;place-items:center;font:700 13px var(--sans);letter-spacing:.04em}.brand-copy{display:grid;line-height:1.2}.brand-copy strong{font:700 18px var(--serif);color:var(--deep)}.brand-copy span{font-size:9px;letter-spacing:.22em;color:#718078;margin-top:5px}.nav-list{list-style:none;display:flex;gap:33px;margin:0;padding:0}.nav-list a{font-size:13px;font-weight:600;color:#34443b}.hero{background:var(--green);color:white;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:540px;height:540px;border:1px solid rgba(255,255,255,.13);border-radius:50%;right:-105px;top:-225px;box-shadow:0 0 0 50px rgba(255,255,255,.025),0 0 0 100px rgba(255,255,255,.025)}.hero-inner{max-width:1180px;margin:auto;padding:85px 28px 76px;min-height:435px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.hero-copy{max-width:690px}.eyebrow{font-size:10px;letter-spacing:.19em;font-weight:700;color:#c9d5c9;margin:0 0 18px}.eyebrow-dark{color:#78857b}.eyebrow-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#e6a879;margin:0 9px 1px 0}.hero h1,.events-copy h2,.facebook-copy h2{font:400 clamp(40px,6vw,68px)/1.15 var(--serif);letter-spacing:-.045em;margin:0}.hero h1 em,.events-copy h2 em,.facebook-copy h2 em{font-style:italic;color:#e6b28b}.hero-intro{max-width:500px;color:#e1eae1;margin:20px 0 27px;font-size:16px}.button{display:inline-flex;align-items:center;gap:18px;padding:13px 19px;border-radius:3px;font-size:12px;font-weight:700;letter-spacing:.02em}.button-light{background:#f1eee5;color:var(--deep)}.button-light:hover{background:#fff;color:var(--green)}.hero-note{align-self:flex-end;display:flex;gap:14px;align-items:center;color:#d3dfd5;font-size:11px;line-height:1.7;padding-bottom:8px}.hero-note strong{font-size:12px;color:#fff;font-weight:600}.note-icon{font-size:26px;color:#e5ad83}.hero-bottom{max-width:1180px;margin:auto;padding:0 28px 20px;display:flex;align-items:center;gap:18px;color:#b4c6b8;font-size:9px;letter-spacing:.18em;position:relative;z-index:1}.hero-line{height:1px;background:rgba(255,255,255,.23);flex:1}.intro-strip{background:var(--cream);display:flex;align-items:center;justify-content:center;gap:60px;text-align:center;padding:25px 20px;color:#617067}.intro-strip p{margin:0;font-size:13px;line-height:1.8}.intro-strip strong{color:#2d4539;font-weight:600}.strip-flower{font-size:26px;color:#c88353}.section{max-width:1180px;margin:auto;padding:76px 28px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:8px}.section-heading h2,.directory-teaser h2{font:400 34px/1.2 var(--serif);margin:0;letter-spacing:-.03em}.text-link{font-size:12px;font-weight:700;color:var(--green);padding-bottom:5px}.story-grid,.archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.story-card{min-width:0}.story-image{height:210px;display:block;overflow:hidden;background:#e4e9df;border-radius:3px}.story-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}.story-image:hover img{transform:scale(1.035)}.image-placeholder{height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#e3e8de,#cfd9ce);color:#64816d;font-size:48px}.story-meta{display:flex;align-items:center;gap:9px;margin:16px 0 7px;color:#77847b;font-size:9px;font-weight:700;letter-spacing:.11em}.meta-dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:#d28656}.story-card h3,.story-card h2{font:400 20px/1.4 var(--serif);margin:0 0 7px}.story-card p{font-size:13px;color:var(--muted);margin:0}.empty-stories{grid-column:1/-1;background:#f4f5ef;text-align:center;padding:35px;border-radius:3px}.empty-mark{font-size:22px;color:var(--orange)}.empty-stories h3{font:400 20px var(--serif);margin:7px}.empty-stories p{font-size:13px;color:var(--muted);margin:0}.events-section{background:var(--deep);color:white}.events-inner{max-width:1180px;margin:auto;padding:75px 28px;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.events-copy .eyebrow{color:#b6c9b9}.events-copy h2,.facebook-copy h2{font-size:42px}.events-copy>p:not(.eyebrow){color:#cfdbd0;max-width:370px;font-size:14px;margin:18px 0 25px}.button-outline{border:1px solid #99b29f;color:white}.button-outline:hover{color:#fff;background:rgba(255,255,255,.1)}.event-list{border-top:1px solid rgba(255,255,255,.18)}.event-row{display:flex;align-items:center;gap:17px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.18)}.event-date{width:45px;height:50px;background:#214b40;display:grid;align-content:center;text-align:center;flex:none}.event-date span{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:#c2d2c5}.event-date strong{font:400 19px var(--serif)}.event-info{flex:1}.event-info h3{font:400 16px var(--serif);margin:0 0 3px}.event-info p{font-size:11px;color:#bdcbbf;margin:0}.event-arrow{color:#dfae86}.events-empty{padding:25px;background:rgba(255,255,255,.055)}.event-sun{font-size:23px;color:#e3a875}.events-empty h3{font:400 19px var(--serif);margin:8px 0}.events-empty p{font-size:12px;color:#c9d5cb;margin:0 0 10px}.events-empty a{font-size:11px;color:#e6b28b;font-weight:700}.facebook-section{background:#eff2eb}.facebook-inner{max-width:1180px;margin:auto;padding:78px 28px;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.facebook-copy h2{color:var(--deep)}.facebook-copy h2 em{color:#7c927f}.facebook-copy>p:not(.eyebrow):not(.embed-note){color:var(--muted);font-size:14px;max-width:400px;margin:18px 0 23px}.button-green{background:var(--green);color:white}.button-green:hover{background:var(--deep);color:#fff}.embed-note{font-size:10px;color:#8a958c;margin:14px 0 0}.facebook-card{background:#fff;border-radius:5px;padding:16px;box-shadow:0 12px 35px rgba(32,54,39,.09);max-width:540px}.facebook-card-top{display:flex;align-items:center;gap:11px;padding:0 0 13px}.facebook-card-top .fb-avatar{width:37px;height:37px;font-size:11px}.facebook-card-top strong,.facebook-card-top small{display:block}.facebook-card-top strong{font-size:12px}.facebook-card-top small{font-size:10px;color:#79837b}.fb-f{margin-left:auto;background:#1877f2;color:white;font:bold 22px Arial;width:27px;height:27px;text-align:center;border-radius:3px}.facebook-frame{width:100%;height:510px;overflow:hidden;position:relative}.facebook-frame iframe{width:100%;height:640px;position:absolute;top:0;left:0;border:0}.directory-teaser{max-width:1180px;margin:auto;padding:55px 28px;display:flex;gap:22px;align-items:center}.directory-icon{font-size:32px;color:#d28a5d}.directory-teaser .eyebrow{margin:0 0 5px}.directory-teaser h2{font-size:25px}.directory-teaser p:not(.eyebrow){font-size:12px;color:var(--muted);margin:6px 0 0}.directory-tag{margin-left:auto;border:1px solid var(--line);padding:8px 12px;font-size:9px;letter-spacing:.15em;color:#65736a}.site-footer{background:#102e28;color:#d5e0d7;padding:40px max(28px,calc((100% - 1124px)/2)) 18px}.footer-inner{display:flex;justify-content:space-between;gap:30px;padding-bottom:30px}.footer-brand{font:400 17px var(--serif);color:white}.footer-inner p{font-size:11px;color:#aebeb1;margin:7px 0}.footer-links{display:flex;gap:23px;align-items:center;font-size:11px}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);padding-top:14px;display:flex;justify-content:space-between;font-size:9px;color:#a9b9ac}.content-wrap{max-width:1180px;margin:auto;padding:65px 28px 85px}.archive-heading{margin-bottom:35px}.archive-heading h1,.article-content h1{font:400 clamp(34px,5vw,52px)/1.2 var(--serif);margin:0}.archive-grid{row-gap:42px}.archive-grid .story-image{height:220px}.article-wrap{max-width:850px}.article-content h1{margin:0 0 10px}.article-byline{color:var(--muted);font-size:12px;margin-bottom:25px}.article-featured{width:100%;height:auto;border-radius:4px;margin:12px 0 24px}.entry-content{font-size:17px;line-height:1.85}.entry-content a{color:var(--green);text-decoration:underline}.entry-content h2,.entry-content h3{font-family:var(--serif);line-height:1.3;margin-top:1.6em}.nav-links{display:flex;gap:10px;margin-top:35px}.nav-links a,.nav-links span{padding:8px 13px;border:1px solid var(--line)}@media(max-width:760px){.header-inner{padding:14px 19px}.brand-mark{width:37px;height:37px}.brand-copy strong{font-size:15px}.nav-list{gap:14px}.nav-list a{font-size:11px}.hero-inner{min-height:auto;padding:70px 21px 43px}.hero h1{font-size:44px}.hero-note{display:none}.hero-bottom{padding:0 21px 17px;font-size:8px}.intro-strip{gap:20px}.section{padding:56px 21px}.section-heading h2{font-size:28px}.story-grid,.archive-grid{grid-template-columns:1fr 1fr;gap:22px 16px}.story-image{height:180px}.events-inner{padding:58px 21px;grid-template-columns:1fr;gap:30px}.events-copy h2,.facebook-copy h2{font-size:38px}.facebook-inner{padding:58px 21px;grid-template-columns:1fr;gap:34px}.facebook-card{max-width:none}.directory-teaser{padding:40px 21px;flex-wrap:wrap}.directory-tag{margin-left:55px}.footer-inner{flex-direction:column}.footer-links{flex-wrap:wrap}.content-wrap{padding:48px 21px 65px}}@media(max-width:440px){.story-grid,.archive-grid{grid-template-columns:1fr}.story-image{height:210px}.nav-list{gap:10px}.nav-list a{font-size:10px}.brand-copy span{font-size:8px}.hero h1{font-size:39px}.section-heading{align-items:flex-start;gap:14px;flex-direction:column}.directory-teaser{gap:13px}.directory-teaser h2{font-size:21px}.footer-bottom{gap:10px;flex-direction:column}}

/* Facebook feed: give the post grid the full content width. */
.facebook-inner{display:block;max-width:1320px}
.facebook-copy{margin:0 0 32px;max-width:720px}
.facebook-copy h2{font-size:40px}
.facebook-copy>p:not(.eyebrow):not(.embed-note){max-width:650px}
.facebook-card{width:100%;max-width:none;padding:20px}
.facebook-frame{width:100%;height:720px}
.facebook-frame iframe{width:100%;height:900px}
@media(max-width:760px){.facebook-inner{padding:58px 21px}.facebook-copy{margin-bottom:24px}.facebook-card{padding:12px}.facebook-frame{height:620px}.facebook-frame iframe{height:800px}}
