/* Theme Name: MN Vastgoedadvies Clean */
:root{--ink:#102033;--muted:#607080;--blue:#0f5f4a;--cyan:#c7a04a;--navy:#10352e;--soft:#f4f1e8;--line:#e8dfc8;--shadow:0 20px 55px rgba(16,32,51,.13);--radius:24px}*{box-sizing:border-box}html,body{overflow-x:hidden}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:#fbfaf7;color:var(--ink);line-height:1.65}a{text-decoration:none;color:var(--blue)}img{display:block;max-width:100%;height:auto}.container{width:min(1180px,calc(100% - 36px));margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:12px 0}.brand img,.custom-logo{width:315px!important;max-width:44vw!important;height:auto!important;object-fit:contain}.main-nav{display:flex;align-items:center;gap:16px}.main-menu{display:flex;gap:18px;list-style:none;margin:0;padding:0}.main-menu li{list-style:none}.main-menu a{font-weight:850;color:var(--ink)}.search{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:white}.search input{border:0;padding:10px 12px;width:155px}.btn,.search button,.ff-btn-submit{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:linear-gradient(135deg,var(--blue),var(--cyan));color:white!important;font-weight:900;padding:12px 20px;cursor:pointer}.search button{margin:3px;padding:8px 13px}.btn.secondary{background:white;color:var(--blue)!important;border:1px solid var(--line)}.hero{padding:82px 0 62px;background:radial-gradient(circle at top right,#d9f6ff,transparent 38%),linear-gradient(135deg,#fff,#fff7e9)}.hero-grid,.split{display:grid;grid-template-columns:1.02fr .98fr;gap:42px;align-items:center}.eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:#fff0d4;color:#7a4515;font-weight:950;font-size:13px}.hero h1{font-size:clamp(38px,5vw,66px);line-height:1.02;margin:18px 0;color:var(--navy);letter-spacing:-.04em}.lead{font-size:20px;color:var(--muted);max-width:680px}.hero-media img,.section-img img{border-radius:var(--radius);box-shadow:var(--shadow);aspect-ratio:16/9;object-fit:cover}.section{padding:70px 0}.section-title{text-align:center;max-width:780px;margin:0 auto 30px}.section-title h2,.page-hero h1,.archive-top h1{font-size:clamp(30px,4vw,46px);line-height:1.1;margin:0 0 10px;color:var(--navy);letter-spacing:-.03em}.section-title p,.archive-top p{color:var(--muted);font-size:18px}.cards,.post-grid,.testimonials{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.card,.post-card,.testimonial,.content-card{background:white;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 12px 34px rgba(16,32,51,.07);overflow:hidden}.card img{width:100%;aspect-ratio:1/1;object-fit:cover}.card-body,.post-body{padding:20px}.card h3,.post-card h3,.testimonial h3{margin:0 0 8px;color:var(--navy);line-height:1.22}.card p,.post-card p,.testimonial p{color:var(--muted);margin:0}.checklist{margin:24px 0 0;padding:0;list-style:none}.checklist li{margin:12px 0;padding-left:32px;position:relative}.checklist li:before{content:'✓';position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:#fff0d4;color:var(--blue);display:grid;place-items:center;font-weight:950}.meta-row{display:flex;justify-content:space-between;gap:14px;align-items:center;color:var(--muted);font-size:13px;margin-bottom:10px}.badge{background:#fff0d4;color:#0e6380;border-radius:999px;padding:5px 9px;font-weight:900}.post-card{display:flex;flex-direction:column}.post-card>a img{width:100%;aspect-ratio:16/10;object-fit:cover}.post-body{display:flex;flex-direction:column;min-height:230px}.read-more{margin-top:auto;font-weight:900}.testimonial{padding:24px;text-align:center}.testimonial img{width:92px;height:92px;border-radius:50%;object-fit:cover;margin:0 auto 14px}.cta{background:linear-gradient(135deg,var(--navy),#0c4fa8);color:white;border-radius:32px;padding:44px;display:flex;align-items:center;justify-content:space-between;gap:20px}.cta h2{margin:0 0 8px;font-size:34px}.cta p{margin:0;color:#dceeff}.page-hero,.archive-top{padding:58px 0 28px;background:linear-gradient(135deg,#fff,#fff7e9);text-align:center}.content-card{padding:34px;max-width:880px;margin:24px auto}.single-wrap{max-width:860px;margin:0 auto;padding:58px 18px}.single-wrap h1{font-size:clamp(32px,4vw,52px);line-height:1.08;letter-spacing:-.03em}.single-wrap>img{border-radius:24px;box-shadow:var(--shadow);margin:24px 0;max-height:520px;width:100%;object-fit:cover}.single-content{font-size:18px}.archive-wrap{padding:42px 0 70px}.pagination{text-align:center;margin:28px}.site-footer{background:var(--navy);color:white;margin-top:60px;padding:34px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:22px}.footer-brand img{width:260px;background:white;border-radius:18px;padding:5px}.footer-links{display:flex;gap:18px}.footer-links a{color:white;font-weight:850}.fluentform{background:white;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.ff-el-input--label label{font-weight:800}.ff-el-form-control{border:1px solid var(--line)!important;border-radius:14px!important;padding:12px 14px!important}.ff-btn-submit{min-width:190px!important;min-height:48px!important}.ff-btn-submit:empty::after{content:'Verstuur mijn vraag'}.screen-reader-text{position:absolute;left:-9999px}@media(max-width:920px){.hero-grid,.split{grid-template-columns:1fr}.cards,.post-grid,.testimonials{grid-template-columns:repeat(2,1fr)}.main-nav{display:none}.brand img,.custom-logo{max-width:76vw!important;width:295px!important}.hero{padding-top:48px}.cta,.footer-inner{display:block;text-align:center}.footer-links{justify-content:center;margin-top:18px}}@media(max-width:580px){.cards,.post-grid,.testimonials{grid-template-columns:1fr}.content-card{padding:22px}.hero h1{font-size:36px}.section{padding:48px 0}.footer-brand img{margin:auto}.search{display:none}}

/* Final mobile QA fixes */
.hero h1,.section-title h2,.page-hero h1,.archive-top h1,.post-card h3{overflow-wrap:anywhere;word-break:normal;}
@media(max-width:580px){.container{width:min(100% - 28px,1180px)}.hero h1{font-size:31px!important;line-height:1.08;letter-spacing:-.03em}.lead{font-size:18px}.btn{padding:11px 16px}.hero{padding:44px 0 50px}.brand img,.custom-logo{width:230px!important;max-width:82vw!important}.site-header{position:static}}

/* Paul factory article-grid rule: article listings = 3 desktop columns, 6 posts/page. Keep category cards separate. */
.post-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
@media(max-width:920px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:580px){.post-grid{grid-template-columns:1fr!important;}}

/* Fix WordPress body.search class conflict: search form styling must not turn the whole search-results body into a flex row. */
body.search{display:block!important;border:0!important;border-radius:0!important;overflow-x:hidden!important;background:#fbfaf7!important;}
.site-header form.search{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:white;}
@media(max-width:580px){body.search{display:block!important}.site-header form.search{display:none!important}}

/* Mobile/header/footer final QA fixes */
@media(max-width:720px){
  .header-inner{flex-direction:column;align-items:center;gap:10px;padding:14px 0}
  .main-nav{width:100%;justify-content:center;flex-wrap:wrap;gap:10px}
  .main-menu{display:flex;justify-content:center;gap:18px;font-size:15px}
  .site-header form.search{display:none!important}
}
.footer-brand .custom-logo{width:260px!important;max-width:260px!important;background:white;border-radius:18px;padding:6px;height:auto!important;object-fit:contain!important;}
@media(max-width:720px){.main-nav{display:flex!important}.main-menu{display:flex!important}}
