/*
Theme Name: Mirror Lake
Description: A resident-first website for Mirror Lake Property Owners Association in Seffner, Florida.
Version: 2.1.3
Author: Mirror Lake Property Owners Association
Text Domain: mirror-lake
Requires at least: 6.5
Requires PHP: 7.4
*/
:root{--ink:#293831;--charcoal:#303532;--sage:#e6eadd;--paper:#f8f7f2;--white:#fff;--muted:#66716a;--line:#dedfd6;--accent:#d9bc89;--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);background:var(--paper);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}a:hover{color:#607058}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #aa7d39;outline-offset:5px}img{max-width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2,.serif{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.1;letter-spacing:-.045em}h1{font-size:clamp(48px,5.8vw,84px)}h2{font-size:clamp(34px,3.5vw,52px)}h3{font-size:20px;line-height:1.3}p{margin-bottom:1.2em}.wrap{max-width:var(--max);margin:auto;padding:0 36px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px}.topline{background:var(--sage);font-size:11px;letter-spacing:.08em}.topline .wrap{display:flex;justify-content:space-between;padding-top:8px;padding-bottom:8px}.site-header{position:sticky;top:0;z-index:50;background:var(--charcoal);color:#fff;border-bottom:1px solid #ffffff20}.admin-bar .site-header{top:32px}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:92px}.brand{display:flex;flex-direction:column;text-decoration:none;color:#fff;flex-shrink:0}.brand img{width:184px;display:block}.brand small{font-size:8px;letter-spacing:.18em;text-transform:uppercase;margin:9px 0 0 5px}.navigation{display:flex;align-items:center;gap:25px}.navigation a{font-size:13px;text-decoration:none;color:#fff}.navigation a:hover{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--ink);color:#fff;padding:15px 23px;text-decoration:none;font-size:13px;font-weight:600;border:1px solid var(--ink);border-radius:3px;line-height:1.4}.btn:hover{background:#435347;color:#fff}.btn.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.btn.outline{background:transparent;color:inherit;border-color:currentColor}.navigation .btn{background:var(--accent);color:var(--ink);border:0;padding:13px 18px}.menu-toggle{display:none;color:#fff;border:1px solid #ffffff70;background:transparent;padding:10px 14px;border-radius:3px;font-size:14px}.hero{position:relative;isolation:isolate;background:var(--ink);color:#fff;min-height:590px;display:flex;align-items:center;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;filter:saturate(.55)}.hero:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(21,38,30,.91),rgba(24,43,34,.65) 50%,rgba(24,43,34,.08))}.hero .wrap{width:100%;padding-top:78px;padding-bottom:105px}.hero .eyebrow{color:#e4d3b2}.hero h1{max-width:700px;margin-bottom:25px}.hero h1 em{font-weight:400;color:#e4d3b2}.hero p{max-width:460px;font-size:17px;color:#eff1e9}.hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}.hero-note{position:absolute;right:36px;bottom:30px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#ffffffba}.action-strip{position:relative;margin-top:-38px;z-index:2}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border:1px solid var(--line);box-shadow:0 10px 35px #15231a0b}.action-card{padding:28px 30px;text-decoration:none;position:relative;border-right:1px solid var(--line);display:block}.action-card:last-child{border:0}.action-card:hover{background:var(--sage);color:var(--ink)}.action-card .number{font-size:11px;letter-spacing:.12em;color:var(--muted)}.action-card h3{margin:10px 0 5px;font-size:19px}.action-card p{font-size:13px;margin:0;color:var(--muted)}.arrow{float:right;font-size:23px;font-weight:400}.section{padding:88px 0}.section.white{background:#fff}.section.sage{background:var(--sage)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading .text-link{white-space:nowrap}.text-link{font-size:13px;font-weight:700;text-decoration:none;border-bottom:1px solid;padding-bottom:5px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.split .intro{font-size:18px;line-height:1.8;color:var(--muted)}.stat-row{display:flex;gap:40px;border-top:1px solid var(--line);padding-top:24px;margin-top:30px}.stat-row strong{display:block;font-size:32px;font-family:Georgia,serif;font-weight:400}.stat-row span{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.resource-list{border-top:1px solid var(--line)}.resource-link{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;border-bottom:1px solid var(--line);text-decoration:none}.resource-link span{display:block}.resource-link strong{font-size:16px}.resource-link small{display:block;color:var(--muted);font-size:13px;margin-top:4px}.resource-link b{font-size:24px;font-weight:400}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.news-card{padding:30px;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;align-items:start}.news-card .eyebrow{font-size:10px;color:var(--muted)}.news-card h3{font-family:Georgia,serif;font-size:26px;font-weight:400;line-height:1.25;letter-spacing:-.02em}.news-card h3 a{text-decoration:none}.news-card p{font-size:14px;color:var(--muted)}.news-card .text-link{margin-top:auto}.callout{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;padding:48px;background:var(--ink);color:#fff;align-items:center}.callout h2{font-size:38px;margin-bottom:15px}.callout p{color:#d1dbd3;margin:0}.callout .callout-action{text-align:right}.faq details{padding:22px 0;border-bottom:1px solid var(--line)}.faq summary{font-size:17px;font-weight:600;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:"+";font-size:23px;line-height:1}.faq details[open] summary:after{content:"−"}.faq details p{margin:18px 30px 0 0;color:var(--muted);font-size:15px}.site-footer{padding:65px 0 25px;background:var(--charcoal);color:#fff}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr 1fr;gap:70px}.footer-grid .brand img{width:210px}.footer-grid p{font-size:13px;line-height:1.9;color:#cbd0cb;max-width:300px}.footer-grid h3{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:22px}.footer-links{display:flex;flex-direction:column;gap:9px}.footer-links a{font-size:13px;text-decoration:none;color:#eef0e8}.footer-bottom{margin-top:50px;padding-top:23px;border-top:1px solid #ffffff25;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11px;color:#cbd0cb}.legal-links{display:flex;gap:18px}.legal-note{font-size:10px;color:#b9c2ba;margin-top:23px;line-height:1.7}.skip-link{position:fixed;top:-100px;left:15px;z-index:10000;background:#fff;color:#000;padding:15px}.skip-link:focus{top:10px}.page-hero{padding:65px 0;background:var(--sage);border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(40px,5vw,64px);max-width:950px;margin-bottom:20px}.page-hero p{max-width:670px;color:var(--muted);font-size:17px;margin-bottom:0}.page-content{padding:65px 36px 85px;max-width:var(--max);margin:auto;min-height:40vh}.page-content h2{font-size:34px;margin-top:40px}.page-content h3{margin-top:30px}.page-content li{margin-bottom:10px}.page-content p,.page-content li{max-width:850px}.page-content .grid{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.panel{padding:32px;border:1px solid var(--line);background:#fff}.panel h2,.panel h3{margin-top:0}.panel p{font-size:15px;color:var(--muted)}.notice{background:var(--sage);border-left:3px solid var(--ink);padding:22px 26px;margin-bottom:30px}.people{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.person{padding:28px;background:#fff;border:1px solid var(--line)}.person h3{margin:0 0 8px}.person small{color:var(--muted)}.article-body{max-width:850px}.article-body h1{font-size:42px}.article-body h2{font-size:30px}.article-body a{overflow-wrap:anywhere}.article-body img{max-width:100%}.post-source{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:20px;margin-top:35px}.empty-state{padding:30px;background:var(--sage)}.search-form{display:flex;gap:10px;margin:30px 0}.search-field{padding:14px;font:inherit;border:1px solid var(--line);max-width:100%;min-width:0}.pagination{display:flex;gap:10px;margin-top:30px}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.hero{min-height:680px}}@media(max-width:1000px){.navigation{gap:15px}.navigation a{font-size:12px}.brand img{width:150px}.split{gap:40px}.wrap{padding:0 25px}.footer-grid{gap:35px}.hero h1{font-size:64px}}
@media(max-width:800px){.topline .wrap span:last-child{display:none}.header-inner{min-height:80px}.menu-toggle{display:block}.navigation{display:none;position:absolute;left:0;right:0;top:100%;padding:25px;background:var(--charcoal);flex-direction:column;align-items:stretch;border-top:1px solid #ffffff30}.navigation.is-open{display:flex}.navigation a{padding:10px;font-size:15px}.hero{min-height:560px}.hero .wrap{padding-top:65px;padding-bottom:100px}.hero h1{font-size:57px}.hero p{font-size:16px}.hero-note{display:none}.action-grid{grid-template-columns:1fr}.action-card{border-right:0;border-bottom:1px solid var(--line);padding:22px 25px}.action-card h3{margin-top:5px}.action-card .number{float:left;margin-right:16px;margin-top:6px}.action-card p{margin-left:32px}.section{padding:60px 0}.split{grid-template-columns:1fr;gap:40px}.news-grid{grid-template-columns:1fr}.section-heading{align-items:start;flex-direction:column;gap:20px}.callout{grid-template-columns:1fr;padding:30px;gap:25px}.callout .callout-action{text-align:left}.footer-grid{grid-template-columns:1fr;gap:35px}.people{grid-template-columns:1fr 1fr}.page-content{padding:40px 25px 60px}.page-content .grid{grid-template-columns:1fr}.page-hero{padding:45px 0}.page-hero h1{font-size:43px}.admin-bar .site-header{top:46px}}
@media(max-width:480px){.hero h1{font-size:48px}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.stat-row{gap:24px}.people{grid-template-columns:1fr}.page-hero h1{font-size:37px}.footer-grid .brand img{width:190px}.wrap{padding:0 21px}.admin-bar .site-header{top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.page-content a{overflow-wrap:anywhere}.page-content details{border-bottom:1px solid var(--line);padding:20px 0}.page-content summary{font-weight:bold;cursor:pointer}.page-content iframe{max-width:100%}.cookie-banner{position:fixed;bottom:18px;left:18px;right:18px;z-index:100;background:#fff;border:1px solid var(--line);padding:18px 22px;box-shadow:0 5px 30px #0002;display:flex;justify-content:space-between;gap:22px;align-items:center;font-size:13px}.cookie-banner p{margin:0;max-width:850px}.cookie-banner button{cursor:pointer;white-space:nowrap}.policy-nav{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:30px}.prose img{display:block;max-width:100%;height:auto;margin:25px 0}.prose h1{font-size:34px}.prose h2{font-size:28px}.prose h3{font-size:22px}
@media(max-width:600px){.cookie-banner{flex-direction:column;align-items:start}.cookie-banner .btn{padding:10px 16px}}

/* Live PayHOA calendar */
.calendar-intro{font-size:17px;color:var(--muted);margin:0 0 30px}.mirrorlake-calendar{background:#fff;border:1px solid var(--line);padding:26px;border-radius:4px}.mirrorlake-calendar h2{margin-top:0;font-family:Georgia,serif}.mirrorlake-calendar select{font:inherit;padding:10px 14px;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--ink);max-width:100%}.calendar-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0}.calendar-notice{margin-top:28px}.calendar-notice p{margin:8px 0 0;font-size:14px}.mirrorlake-calendar .ics-calendar{margin:0}.mirrorlake-calendar .ics-calendar-month-grid th{background:var(--sage);color:var(--ink)}
@media(max-width:800px){.mirrorlake-calendar{padding:16px}.calendar-actions .btn{width:100%}}

.mirrorlake-calendar .ics-calendar-month-grid th{text-transform:none}

/* Keep today's date distinct from scheduled events. */
.mirrorlake-calendar .ics-calendar-month-grid td.today{background:#fbf4e7!important;box-shadow:inset 0 0 0 2px #d9bc89}
.mirrorlake-calendar .ics-calendar-month-grid td.today .day{background:#293831!important;color:#fff!important}
.mirrorlake-calendar .ics-calendar-month-grid td.today .day:before{content:"Today";float:left;font-weight:700;font-size:11px;margin-right:8px}

/* Homeowner Resources: scoped layout and readable instructions. */
.resources-page{max-width:100%}.resources-page .resources-intro{font-size:18px;line-height:1.8;color:var(--muted);margin:0 0 32px;max-width:830px}
.resources-quicklinks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:48px}
.resources-quicklink{display:flex;flex-direction:column;gap:12px;padding:26px;background:#fff;border:1px solid var(--line);text-decoration:none;border-radius:4px;min-width:0}
.resources-quicklink:hover,.resources-quicklink:focus-visible{background:var(--sage);color:var(--ink)}.resources-quicklink .eyebrow{font-size:10px;margin:0}.resources-quicklink strong{font:normal 25px/1.2 Georgia,serif}.resources-quicklink>span:last-child{font-size:14px;line-height:1.6;color:var(--muted)}
.resources-section-heading h2{margin:0 0 8px}.resources-section-heading p{margin:0 0 24px;color:var(--muted)}
.resources-sections{display:grid;gap:14px}.resource-section{background:#fff;border:1px solid var(--line);border-radius:4px;scroll-margin-top:155px;overflow:hidden}
.resource-section>summary{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:24px 28px;cursor:pointer;list-style:none}.resource-section>summary::-webkit-details-marker{display:none}.resource-section>summary:hover{background:#f1f3ec}.resource-section>summary:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
.resource-section>summary h2{font:normal 25px/1.3 Georgia,serif;margin:0}.resource-expand{width:24px;flex-shrink:0;text-align:center;font:24px/1 Arial,sans-serif}.resource-expand:before{content:"+"}.resource-section[open] .resource-expand:before{content:"−"}.resource-section[open]>summary{border-bottom:1px solid var(--line);background:var(--sage)}
.resource-section-body{padding:28px 32px;max-width:940px}.resource-section-body p{margin:0 0 16px;line-height:1.75;font-size:15px}.resource-section-body p:last-child{margin-bottom:0}.resource-section-body h3{font-size:19px;margin:28px 0 12px}.resource-section-body ol,.resource-section-body ul{padding-left:24px;margin:16px 0 24px}.resource-section-body li{padding-left:4px;margin-bottom:10px;line-height:1.7;font-size:15px}.resource-section-body li p{margin:0 0 10px}.resource-section-body a{overflow-wrap:anywhere}.resource-section-body img{max-width:100%}
.resources-help{margin-top:40px;padding:30px;background:var(--sage);border-radius:4px}.resources-help h2{font-size:28px;margin:0 0 12px}.resources-help p{margin:0 0 22px}.resources-help-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
@media(max-width:800px){.resources-quicklinks{grid-template-columns:1fr;gap:12px;margin-bottom:32px}.resources-quicklink{padding:22px}.resource-section>summary{padding:21px}.resource-section>summary h2{font-size:22px}.resource-section-body{padding:24px 22px}.resources-help{padding:24px}.resource-section{scroll-margin-top:135px}}

.policy-portal{max-width:850px}.policy-portal .eyebrow{color:var(--muted)}.policy-portal p{margin-bottom:22px}.policy-portal p:last-child{margin-bottom:0}

/* Shared content formatting after the complete migration audit. */
.page-intro{font-size:18px;line-height:1.8;color:var(--muted);margin:0 0 32px;max-width:850px}.portal-access-grid,.portal-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0 0 38px}.portal-access-grid .panel{display:flex;flex-direction:column;align-items:flex-start}.portal-access-grid .panel h2{font-size:30px;line-height:1.2;margin:0 0 16px}.portal-access-grid .panel .eyebrow{margin-bottom:18px}.portal-access-grid .panel>p:first-of-type{margin:0 0 24px}.portal-signin{background:var(--sage)}.portal-page .portal-access-note{font-size:13px;line-height:1.7;margin:22px 0 0}.portal-feature-grid h3{margin:0 0 14px;font-size:22px}.portal-feature-grid p{margin:0}.portal-help{background:var(--sage);padding:30px;border-radius:4px}.portal-help h2{font-size:28px;margin:0 0 14px}.portal-help p{font-size:15px;line-height:1.8;margin:0 0 20px}.portal-page a{overflow-wrap:anywhere}
.page-content .resource-section{padding:0}.page-content .faq details{padding:22px 0}.site-faq{max-width:950px}.site-faq summary{font-size:18px;line-height:1.5}.site-faq .faq-answer{padding-top:18px}.site-faq .faq-answer p{margin:0 0 16px}.site-faq .faq-answer li{font-size:15px;line-height:1.8}.prose p{line-height:1.8}.prose p:empty{display:none}.prose li>p{margin-top:0;margin-bottom:10px}.prose img.emoji{display:inline!important;width:1em!important;height:1em!important;margin:0!important;vertical-align:-.1em}.article-notice{font-size:13px;line-height:1.7;padding:18px 22px;margin-bottom:30px;background:var(--sage);border-left:3px solid var(--ink)}.article-body h2,.article-body h3{line-height:1.35}.article-body img{height:auto}.policy-nav{gap:10px}.policy-nav a{font-size:13px;text-decoration:none;border:1px solid var(--line);padding:10px 14px;background:#fff;border-radius:3px}.policy-nav a:hover{background:var(--sage)}.page-content table{max-width:100%}.page-hero h1{overflow-wrap:break-word}.resources-quicklink strong{overflow-wrap:normal}
@media(max-width:800px){.portal-access-grid,.portal-feature-grid{grid-template-columns:1fr;gap:18px}.portal-access-grid .panel{padding:26px}.portal-access-grid .panel h2{font-size:27px}.portal-help{padding:26px}.site-faq summary{font-size:17px}.prose h2{font-size:27px}.page-content .resource-section>summary h2{font-size:22px}}

.article-body img.article-signature-logo{width:260px;max-width:100%;margin:28px 0}
.split>*{min-width:0}
@media(max-width:800px){.stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stat-row strong{font-size:clamp(21px,5.5vw,26px)}.stat-row span{font-size:10px;overflow-wrap:normal}}
@media(max-width:782px){.mirrorlake-calendar .ics-calendar.layout-month .ics-calendar-month-grid td.today{display:block!important}.mirrorlake-calendar .ics-calendar-month-grid td.today.empty:after{content:"No events scheduled for today.";display:block;padding:14px;font-size:13px;line-height:1.6}}

.navigation .btn{white-space:nowrap}.navigation .btn.lender-request{background:transparent;color:var(--accent);border:1px solid var(--accent)}.navigation .btn.lender-request:hover{background:#ffffff12;color:#fff}
