/*
Theme Name: Kinderfysio Theme
Theme URI: https://www.kinderfysiotherapieschiedam.nl/
Author: Kinderfysiotherapie Schiedam
Description: Onafhankelijk lichtgewicht thema voor de bestaande Kinderfysiotherapie Schiedam-website. Gebruikt bestaande WordPress-pagina's, menu's, media en plugin-shortcodes.
Version: 0.3.5
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: kinderfysio-theme
*/
:root{--kf-blue:#276fb7;--kf-blue-dark:#164a7e;--kf-text:#38434c;--kf-muted:#6a7681;--kf-light:#f2f7fc;--kf-border:#e2e9f0;--kf-width:1150px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,'Helvetica Neue',sans-serif;font-size:16px;line-height:1.7;color:var(--kf-text);background:white}a{color:var(--kf-blue)}a:hover{text-decoration:underline}img{max-width:100%;height:auto}p{margin:0 0 1.1em}h1,h2,h3,h4{line-height:1.3;color:#263e51;margin:0 0 .65em}h1{font-size:clamp(2rem,4vw,3rem)}h2{font-size:clamp(1.6rem,2.8vw,2.35rem)}h3{font-size:1.4rem}.kf-wrap{width:min(calc(100% - 36px),var(--kf-width));margin-inline:auto}.kf-topbar{background:#276fb7;color:#fff;font-size:.83rem}.kf-topbar .kf-wrap{display:flex;justify-content:flex-end;gap:24px;padding:7px 0;flex-wrap:wrap}.kf-topbar a{color:white;text-decoration:none}.kf-header{background:white;box-shadow:0 2px 8px #0000000d;position:relative;z-index:30}.kf-header-inner{display:flex;align-items:center;gap:28px;min-height:88px}.kf-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#233b4c;font-size:1.2rem;font-weight:700;line-height:1.2}.kf-brand img{max-width:230px;max-height:68px;width:auto;object-fit:contain}.kf-nav{margin-left:auto}.kf-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:2px;align-items:center}.kf-nav li{position:relative}.kf-nav a{display:block;padding:12px 13px;color:#344555;text-decoration:none;font-weight:600;font-size:.92rem}.kf-nav li:hover>a,.kf-nav .current-menu-item>a,.kf-nav .current-menu-ancestor>a{color:var(--kf-blue)}.kf-nav .sub-menu{position:absolute;top:100%;left:0;display:none;min-width:220px;background:white;border:1px solid var(--kf-border);border-radius:6px;box-shadow:0 12px 30px #0002;padding:8px 0;z-index:35;flex-direction:column;align-items:stretch}.kf-nav .sub-menu .sub-menu{top:0;left:100%}.kf-nav li:hover>.sub-menu,.kf-nav li:focus-within>.sub-menu{display:flex}.kf-nav .sub-menu a{padding:8px 15px;white-space:nowrap}.kf-nav li a:focus-visible,.kf-toggle:focus-visible{outline:3px solid var(--kf-blue);outline-offset:3px}.kf-toggle{display:none;margin-left:auto;border:1px solid var(--kf-border);background:white;border-radius:6px;padding:9px 13px;font-size:1.3rem;cursor:pointer;color:var(--kf-blue-dark)}.kf-main{min-height:50vh}.kf-hero{background:#f4f8fc;position:relative;overflow:hidden}.kf-hero-slides{position:relative;min-height:430px}.kf-slide{position:absolute;inset:0;display:flex;align-items:center;background-position:center;background-size:cover;opacity:0;visibility:hidden;transition:opacity .55s ease}.kf-slide.is-current{opacity:1;visibility:visible}.kf-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fffE 0%,#fffC 42%,#fff2 100%)}.kf-slide .kf-wrap{position:relative;padding:80px 0;z-index:1}.kf-slide h1{max-width:650px;font-size:clamp(1.9rem,3.6vw,3.2rem);color:#1f4056;text-shadow:0 1px 0 #fff9}.kf-slide p{max-width:600px;font-size:1.15rem}.kf-hero-dots{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:9px}.kf-hero-dots button{width:12px;height:12px;border:0;border-radius:50%;background:#9aaabc;cursor:pointer}.kf-hero-dots button[aria-current=true]{background:var(--kf-blue)}.kf-intro{padding:70px 0}.kf-intro-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:54px;align-items:center}.kf-intro h2{font-size:clamp(2rem,4vw,3rem)}.kf-intro h2 span{color:var(--kf-blue)}.kf-button{display:inline-block;background:var(--kf-blue);color:white;border-radius:5px;text-decoration:none;padding:11px 23px;font-weight:700}.kf-button:hover{background:var(--kf-blue-dark);color:white;text-decoration:none}.kf-section{padding:55px 0}.kf-section.alt{background:var(--kf-light)}.kf-section-heading{text-align:center;margin-bottom:35px}.kf-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.kf-card{display:block;border-radius:5px;overflow:hidden;background:white;box-shadow:0 4px 20px #00000010;text-decoration:none;color:inherit;transition:transform .2s}.kf-card:hover{transform:translateY(-3px);text-decoration:none}.kf-card img{display:block;width:100%;height:165px;object-fit:cover}.kf-card .kf-card-body{padding:18px}.kf-card h3{color:var(--kf-blue);font-size:1.15rem}.kf-page-title{background:linear-gradient(110deg,var(--kf-blue-dark),var(--kf-blue));color:white;padding:44px 0}.kf-page-title h1{margin:0;color:white;font-size:2.3rem}.kf-content-area{padding:48px 0 70px}.kf-content{max-width:100%;overflow-wrap:anywhere}.kf-content img{max-width:100%;height:auto}.kf-content figure{max-width:100%}.kf-content h2,.kf-content h3{margin-top:1.3em}.kf-content a{overflow-wrap:anywhere}.kf-content .csRow,.kf-content .row{display:flex;flex-wrap:wrap;gap:20px}.kf-content [class*="col-md-"]{min-width:0;flex:1 1 250px}.kf-content .col-md-12{flex-basis:100%}.kf-content .col-md-6{flex-basis:calc(50% - 10px)}.kf-content .col-md-4{flex-basis:calc(33.333% - 14px)}.kf-content .col-md-3{flex-basis:calc(25% - 15px)}.kf-content table{border-collapse:collapse;max-width:100%;width:100%}.kf-content th,.kf-content td{padding:10px;border-bottom:1px solid var(--kf-border);text-align:left}.kf-content iframe{max-width:100%}.kf-footer{background:#263a4b;color:#e8f0f8;padding:48px 0 22px}.kf-footer h3{font-size:1.15rem;color:white}.kf-footer-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:35px}.kf-footer a{color:#eaf3fa}.kf-footer ul{list-style:none;margin:0;padding:0}.kf-footer li{margin-bottom:8px}.kf-copy{border-top:1px solid #ffffff30;margin-top:35px;padding-top:18px;font-size:.82rem;color:#cdd8e3}.kf-post{border-bottom:1px solid var(--kf-border);padding:24px 0}.kf-post:first-child{padding-top:0}.kf-post h2{font-size:1.55rem}.kf-pagination{margin:25px 0}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);overflow:hidden;height:1px;width:1px}.alignleft{float:left;margin:0 20px 15px 0}.alignright{float:right;margin:0 0 15px 20px}.aligncenter{display:block;margin:0 auto 15px}.wp-caption{max-width:100%}.wp-caption-text{font-size:.85rem;color:var(--kf-muted)}.kf-mobile-only{display:none}@media(max-width:950px){.kf-toggle{display:block}.kf-header-inner{flex-wrap:wrap;min-height:76px;padding:8px 0}.kf-nav{display:none;width:100%;margin:0;order:3}.kf-nav.is-open{display:block}.kf-nav ul{display:block}.kf-nav li{border-top:1px solid var(--kf-border)}.kf-nav a{padding:12px 10px}.kf-nav .sub-menu,.kf-nav .sub-menu .sub-menu{position:static;display:none;box-shadow:none;border:0;border-radius:0;padding-left:18px;min-width:0}.kf-nav li:hover>.sub-menu,.kf-nav li:focus-within>.sub-menu{display:none}.kf-nav li.kf-sub-open>.sub-menu{display:block}.kf-nav .kf-subtoggle{position:absolute;right:0;top:4px;padding:8px 15px;background:transparent;border:0;cursor:pointer;color:var(--kf-blue)}.kf-intro-grid{grid-template-columns:1fr}.kf-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.kf-footer-grid{grid-template-columns:1fr 1fr}.kf-mobile-only{display:block}}@media(max-width:580px){.kf-topbar .kf-wrap{justify-content:center;gap:6px 15px}.kf-slide .kf-wrap{padding:60px 0}.kf-hero-slides{min-height:360px}.kf-slide::before{background:#ffffffd9}.kf-cards{grid-template-columns:1fr}.kf-footer-grid{grid-template-columns:1fr}.kf-intro{padding:45px 0}.kf-content-area{padding:28px 0}.kf-page-title{padding:30px 0}.kf-content .col-md-6,.kf-content .col-md-4,.kf-content .col-md-3{flex-basis:100%}}

/* 0.2: Originele homepage en header, afgeleid van de oude gepubliceerde HTML. */
.kf-wrap{width:min(calc(100% - 40px),1140px)}
.kf-header{box-shadow:none}.kf-header-top{min-height:185px;display:grid;grid-template-columns: 1fr 1fr 1fr;align-items:center;gap:24px;padding:12px 0 8px}
.kf-brand img{max-width:320px;max-height:160px;width:auto}.kf-vacancy{justify-self:center}.kf-vacancy img{max-width:200px;max-height:166px;object-fit:contain}
.kf-header-contact{justify-self:end;display:grid;gap:11px;font-size:15px}.kf-header-contact a{display:flex;align-items:center;gap:14px;text-decoration:none}.kf-contact-icon{background:var(--kf-blue);border-radius:50%;color:white;font-size:20px;width:34px;height:34px;display:flex;align-items:center;justify-content:center}
.kf-navrow{min-height:67px;display:flex;align-items:center}.kf-nav{margin-left:0;width:100%}.kf-nav>div>ul,.kf-nav>ul{justify-content:flex-start;gap:0}.kf-nav>div>ul>li>a,.kf-nav>ul>li>a{color:#999;font-weight:400;letter-spacing:.02em;font-size:15px;padding:12px 13px;border:1px solid transparent}.kf-nav .current-menu-item>a,.kf-nav .current-menu-ancestor>a{border-color:var(--kf-blue);color:var(--kf-blue)}.kf-nav .sub-menu{border:0;border-top:5px solid var(--kf-blue);border-radius:0;box-shadow:0 6px 18px #0002;padding:0;min-width:200px}.kf-nav .sub-menu a{font-weight:400;color:#888;padding:12px 14px;white-space:normal}.kf-nav .sub-menu a:hover{color:var(--kf-blue)}.kf-nav .kf-subtoggle{display:none}
.kf-hero-slides{height:clamp(410px,48vw,660px);min-height:0}.kf-slide::before{display:none}.kf-slide .kf-wrap{padding:0}.kf-slide{background-position:center;background-size:cover;justify-content:center;text-align:center}.kf-slide h1{color:#fff;font-size:clamp(32px,4.3vw,70px);font-weight:700;line-height:1.15;text-shadow:0 2px 4px #0008;max-width:1100px;margin:0 auto}.kf-hero-dots{display:none}
.kf-intro{padding:78px 0 34px}.kf-intro-heading{text-align:center;font-weight:400;font-size:clamp(34px,4.5vw,62px);margin:0 0 65px}.kf-intro-heading>span{display:block}.kf-intro-heading em{display:block;font-weight:400;color:var(--kf-blue);font-size:1.1em}.kf-intro-heading em small{font-size:.48em;color:#333;vertical-align:middle}.kf-intro-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px}.kf-intro-columns p{text-align:justify;line-height:1.5}.kf-dropcap{float:left;font-size:44px;line-height:.9;padding-right:3px}.kf-intro-action{text-align:center;margin:12px auto 0}.kf-button{border-radius:6px;padding:9px 14px;font-size:14px}
.kf-practice{padding:80px 0 82px}.kf-section-heading{text-align:center;font-size:26px;font-weight:400;color:var(--kf-blue);border-bottom:1px solid #ccc;position:relative;padding-bottom:14px;margin:0 0 70px}.kf-section-heading:after{content:"";width:100px;background:var(--kf-blue);height:4px;position:absolute;bottom:-2px;left:50%;transform:translateX(-50%)}.kf-practice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px}.kf-practice-card{border:5px solid var(--kf-blue);text-decoration:none;color:#555;min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;font-size:20px}.kf-practice-card:hover{background:var(--kf-blue);color:white;text-decoration:none}.kf-card-icon{color:var(--kf-blue)}.kf-practice-card:hover .kf-card-icon{color:white}
.kf-footer{background:var(--kf-blue);color:#333;padding:56px 0 22px;min-height:120px}.kf-footer p{text-align:center;font-size:12px;margin:0}
@media(max-width:950px){.kf-header-top{grid-template-columns:1fr 1fr;min-height:125px}.kf-vacancy{display:none}.kf-header-contact{font-size:13px}.kf-navrow{min-height:56px;justify-content:flex-start}.kf-toggle{display:block;margin:0 0 8px}.kf-nav{order:initial}.kf-nav>div>ul,.kf-nav>ul{display:block}.kf-nav .sub-menu{border-top:0}.kf-nav li.kf-sub-open>.sub-menu{display:block}.kf-nav .kf-subtoggle{display:block}.kf-intro-columns{gap:20px}.kf-practice-grid{gap:14px}.kf-practice-card{min-height:160px}}
@media(max-width:767px){.kf-header-top{grid-template-columns:1fr;gap:8px;padding:12px 0}.kf-brand img{max-width:225px;max-height:110px}.kf-header-contact{justify-self:start;gap:4px}.kf-contact-icon{width:26px;height:26px;font-size:15px}.kf-hero{display:none}.kf-intro{padding:32px 0}.kf-intro-heading{margin-bottom:30px}.kf-intro-columns{grid-template-columns:1fr}.kf-practice{padding:35px 0}.kf-practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kf-section-heading{margin-bottom:35px}.kf-footer{padding:28px 0}}
@media(max-width:480px){.kf-practice-grid{grid-template-columns:1fr 1fr;gap:12px}.kf-practice-card{min-height:130px;font-size:16px;border-width:3px}.kf-card-icon svg{width:40px;height:40px}}

/* 0.3 – Originele inhoudspagina's (Lawyers-compatibele presentatielaag). */
.kf-page-title{min-height:300px;display:flex;align-items:center;justify-content:center;padding:40px 0;background-color:var(--kf-blue);background-position:center;background-repeat:no-repeat;background-size:cover;text-align:center;position:relative}
.kf-page-title h1{color:#fff;font-family:Karla,Arial,sans-serif;font-size:clamp(30px,3.5vw,50px);font-weight:700;letter-spacing:.025em;text-shadow:0 2px 3px #0008;line-height:1.25;margin:0}
.kf-page-title h1:after{content:"";display:block;margin:18px auto 0;width:100px;height:1px;background:#fff}
.kf-content-area{padding:90px 0 80px}
.kf-content{max-width:760px;margin:0 auto;font-family:Karla,Arial,sans-serif;color:#3f3f3f;font-size:16px;line-height:1.5;overflow-wrap:break-word}
.kf-content .csRow{display:flex;flex-wrap:wrap;gap:30px;align-items:flex-start}
.kf-content .csRow>.col-md-6{flex:1 1 calc(50% - 15px);min-width:0;max-width:calc(50% - 15px)}
.kf-content .csRow .col-md-6 p{text-align:justify;line-height:1.55;margin-bottom:25px}
.kf-content .inside-col-circle{text-align:center;max-width:100%;margin:0 auto 45px}
.kf-content .circle-icon{display:flex;align-items:center;justify-content:center;width:150px;height:150px;border:5px solid var(--kf-blue);border-radius:50%;margin:0 auto 31px;color:var(--kf-blue);font-size:65px;line-height:1;transition:background .2s,color .2s}
.kf-content .circle-icon .fa{font-family:FontAwesome!important;font-style:normal;display:inline-block;font-size:65px;line-height:1}
.kf-content .circle-title{text-align:center;color:#404040;font-family:Karla,Arial,sans-serif;font-size:21px;font-weight:400;line-height:1.4;margin:0}
.kf-content .widget-shortcode,.kf-content .widget_text,.kf-content .textwidget{display:contents}
.kf-content .csRow .col-md-6>p:first-child{margin-top:0}
@media(max-width:767px){.kf-page-title{min-height:180px}.kf-page-title h1{font-size:32px}.kf-content-area{padding:40px 0 55px}.kf-content .csRow{display:block}.kf-content .csRow>.col-md-6{max-width:100%;width:100%;margin-bottom:42px}.kf-content .circle-icon{width:115px;height:115px;font-size:50px}.kf-content .circle-icon .fa{font-size:50px}.kf-content .inside-col-circle{margin-bottom:26px}}

/* 0.3.1 – Nieuwsarchief: banner, smalle gecentreerde lijst en nieuwsmetadata. */


/* 0.3.2: nieuwsarchief dichter bij de oorspronkelijke Lawyers-opmaak. */
.kf-news-banner{background-color:var(--kf-blue);background-position:center center;background-repeat:no-repeat;background-size:cover;position:relative}
.kf-news-banner::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom, rgba(0,0,0,.10), rgba(0,0,0,.12))}
.kf-news-banner .kf-wrap{position:relative;z-index:1;min-height:305px;display:flex;align-items:center;justify-content:center}
.kf-news-banner h1{font-size:clamp(48px,4.5vw,62px);text-shadow:0 2px 4px rgba(0,0,0,.45);letter-spacing:.01em;margin:0}
.kf-news-banner h1::after{content:"";display:block;width:102px;height:2px;background:rgba(255,255,255,.92);margin:18px auto 0}
.kf-news-content-area{padding-top:86px;padding-bottom:70px}
.kf-news-list{max-width:840px;margin:0 auto;font-family:Karla,Arial,sans-serif}
.kf-news-entry{padding:0 0 72px;margin:0 0 68px;border-bottom:1px solid #e5e5e5;color:#3f3f3f}
.kf-news-entry:last-of-type{margin-bottom:24px}
.kf-news-entry-title{font-size:58px;line-height:1.15;margin:0 0 22px;font-weight:700;letter-spacing:.01em;text-align:left}
.kf-news-entry-title a{text-decoration:none;color:#404040}
.kf-news-entry-title a:hover{color:var(--kf-blue)}
.kf-news-meta{display:flex;flex-wrap:wrap;align-items:center;gap:20px;color:#b3b3b3;font-size:14px;margin-bottom:32px}
.kf-news-meta .fa{color:var(--kf-blue);margin-right:7px;font-size:14px}
.kf-news-excerpt{font-size:16px;line-height:1.55;text-align:justify;color:#3f3f3f}
.kf-news-excerpt p{margin:0 0 24px}
.kf-news-read-more{text-align:right;margin-top:32px}
.kf-news-read-more a{display:inline-flex;gap:12px;align-items:center;border:3px solid var(--kf-blue);color:var(--kf-blue);background:#fff;padding:13px 24px;text-decoration:none;font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:none}
.kf-news-read-more a:hover{background:var(--kf-blue);color:white;text-decoration:none}
.kf-news-list .kf-pagination{text-align:center;margin-top:30px}
.kf-news-list .page-numbers{display:inline-block;padding:8px 13px;border:1px solid var(--kf-blue);text-decoration:none;margin:0 3px;color:var(--kf-blue)}
.kf-news-list .page-numbers.current,.kf-news-list a.page-numbers:hover{color:white;background:var(--kf-blue)}
@media(max-width:900px){.kf-news-entry-title{font-size:44px}}
@media(max-width:767px){.kf-news-banner .kf-wrap{min-height:225px}.kf-news-banner h1{font-size:42px}.kf-news-content-area{padding-top:48px}.kf-news-entry{padding-bottom:45px;margin-bottom:48px}.kf-news-entry-title{font-size:32px}.kf-news-meta{gap:10px 17px;margin-bottom:22px}.kf-news-excerpt{text-align:left}}

/* 0.3.4 – Mobiele navigatie rechtsboven, buiten de tekststroom. */
@media (max-width:950px){
  .kf-header>.kf-wrap{position:relative}
  .kf-header-top{padding-right:88px}
  .kf-navrow{position:absolute;top:18px;right:0;z-index:80;width:auto;min-height:0;display:block}
  .kf-toggle{display:inline-flex;align-items:center;gap:6px;margin:0;padding:8px 10px;font-size:17px;white-space:nowrap;background:#fff;border:1px solid #dce7ef;border-radius:6px}
  .kf-toggle span{font-size:15px}
  .kf-nav{display:none;position:absolute;right:0;top:calc(100% + 8px);width:min(320px,calc(100vw - 36px));max-height:calc(100vh - 115px);overflow-y:auto;margin:0;padding:8px 0;background:white;border:1px solid #dce7ef;border-radius:6px;box-shadow:0 12px 25px #0002;z-index:90}
  .kf-nav.is-open{display:block}
  .kf-nav li{position:relative}
  .kf-nav>div>ul,.kf-nav>ul{display:block}
  .kf-nav .sub-menu{position:static;width:100%;min-width:0;box-shadow:none;border:0;border-radius:0;padding:0 0 0 12px}
  .kf-nav .kf-subtoggle{display:block}
}
@media (max-width:767px){
  .kf-header-top{grid-template-columns:1fr;padding:14px 88px 12px 0;gap:12px}
  .kf-brand img{max-width:min(225px,calc(100vw - 125px));height:auto}
  .kf-header-contact{justify-self:start;gap:5px;max-width:calc(100vw - 40px)}
  .kf-header-contact a{overflow-wrap:anywhere}
}

/* 0.3.5 – Individuele nieuwsberichten volgen de oorspronkelijke nieuwsopmaak. */
.kf-single-news-area{padding-top:100px;padding-bottom:90px}
.kf-single-news{max-width:800px;margin:0 auto;font-family:Karla,Arial,sans-serif;color:#3f3f3f}
.kf-single-news-title{font-size:34px;font-weight:700;line-height:1.25;color:#404040;margin:0 0 16px}
.kf-single-news .kf-news-meta{margin-bottom:72px}
.kf-single-news-content{font-size:16px;line-height:1.55;color:#3f3f3f;overflow-wrap:break-word}
.kf-single-news-content p{margin:0 0 20px}
.kf-single-news-content a{color:var(--kf-blue)}
@media(max-width:767px){.kf-single-news-area{padding-top:48px;padding-bottom:56px}.kf-single-news-title{font-size:28px}.kf-single-news .kf-news-meta{margin-bottom:28px}}
