/* WordPress additions to the approved design: the real form, plain pages, the team page and the admin bar. */

/* Editorial pages on paper, like the club and measurement pages. */
.page-about,.page-plain,.page-service,.error404{background:var(--paper)}
.page-about .site-header,.page-plain .site-header,.error404 .site-header{background:var(--deep)}
.page-about .team-heading h2{font-size:clamp(36px,3.6vw,53px);line-height:1;margin:0}
.page-about .team-heading h2 em{font-style:normal;color:var(--blue)}

/* Running text from the block editor or the privacy/terms pages. */
.prose{max-width:760px;font-size:15px;line-height:1.8}
.prose h2{font-size:36px;line-height:1.1;margin:40px 0 14px}
.prose h3{font-size:26px;line-height:1.15;margin:32px 0 10px}
.prose a{color:var(--blue);text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.2em}
.service-editorial-grid>img{width:100%;object-fit:cover}

/* Team page: full coach descriptions need room to read. */
.brand-coaches.is-detailed figcaption p{max-width:none;font-size:14px;line-height:1.75;margin:0 0 10px}

/* Enquiry form: inputs share the look of the preview's select and textarea. */
.contact-layout input[type=text],.contact-layout input[type=email],.contact-layout input[type=tel]{font:inherit;width:100%;padding:15px;border:1px solid #66798a;color:var(--ink);background:transparent;border-radius:0;margin-bottom:28px}
.contact-layout input:focus-visible,.contact-layout select:focus-visible,.contact-layout textarea:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.contact-layout [aria-invalid=true]{border-color:#b3261e;border-width:2px;margin-bottom:8px}
.field-error{color:#9c1c14;font-size:14px;font-weight:600;margin:0 0 24px}
.form-errors{border-left:4px solid #b3261e;background:#fff;padding:16px 20px;margin:0 0 30px;font-size:15px}
.form-errors p{margin:0 0 6px;font-weight:600}
.form-errors ul{margin:0;padding-left:18px}
.form-errors a{color:#9c1c14}
.form-errors:focus{outline:3px solid #b3261e;outline-offset:3px}
.contact-layout .button[aria-busy=true]{opacity:.7;cursor:progress}
.contact-help a{color:var(--blue)}
.bb-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-success{border-top:3px solid var(--blue);padding-top:26px}
.form-success h2{font-size:clamp(40px,4.4vw,60px);line-height:1;margin:0 0 20px}
.form-success p{font-size:16px;margin:0 0 14px}
.form-success .form-success-choice{font-weight:600}
.form-success:focus{outline:none}

/* Logged-in editors: keep the header below the admin bar. */
.admin-bar .site-header{top:32px}
@media(max-width:900px){.admin-bar .nav{top:108px;height:calc(100dvh - 108px)}}
@media(max-width:782px){.admin-bar .site-header{top:46px}.admin-bar .nav{top:122px;height:calc(100dvh - 122px)}}
@media(max-width:600px){.admin-bar .site-header{top:0}.admin-bar .nav{top:76px;height:calc(100dvh - 76px)}}

/* Legal documents: version and PDF download directly under the title. */
.legal-document h1{margin-bottom:24px}
.legal-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px;margin:0 0 40px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.legal-meta p{margin:0;font-size:14px;color:var(--muted)}
.legal-document .prose h2{font-size:30px}

/* Company training: the three rates inside the single-services list. */
.service-points{list-style:none;padding:0;margin:0 0 12px;font-size:14px}
.service-points li{padding:8px 0;border-bottom:1px solid #102c4620}
.service-points strong{color:var(--blue)}

/* Text review (Oct 2026): phone link in the closing block, "Voor wie is dit?", next steps and FAQ. */
.audience-section{background:var(--paper)}
.audience-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:70px;align-items:start}
.audience-grid .display{margin:0}
.audience-list{list-style:none;padding:0;margin:0;counter-reset:aud}
.audience-list li{counter-increment:aud;display:flex;gap:22px;border-top:1px solid var(--line);padding:22px 0;font-size:17px;line-height:1.5}
.audience-list li:before{content:counter(aud,decimal-leading-zero);font:400 22px/1.2 'Bebas Neue',Impact,sans-serif;color:var(--blue);min-width:28px}
.contact-steps{margin-top:40px;padding-top:26px;border-top:1px solid var(--line)}
.contact-steps h2{font-size:34px;line-height:1;margin:0 0 16px}
.contact-steps ol{margin:0;padding-left:1.2em;font-size:15px;line-height:1.7}
.contact-steps li{margin-bottom:6px}
.faq-section{background:var(--paper);border-top:1px solid var(--line)}
.faq-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:70px;align-items:start}
.faq-grid .display{margin:0}
.faq-list .service summary{grid-template-columns:minmax(0,1fr) 20px}
.faq-list .service-content p{font-size:15px;max-width:620px}
@media(max-width:900px){.audience-grid,.faq-grid{grid-template-columns:1fr;gap:30px}}

/* Staging review (Oct 2026). One closing block on every page, as on the homepage. */
.closing-block{background:#e3e9e6;color:var(--ink);padding:65px 0}
.closing-block>.wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}
.closing-block .closing-invitation h2{font-size:clamp(48px,5.5vw,78px);line-height:1;margin:22px 0}
.closing-block .closing-invitation h2 em{font-style:normal;color:var(--blue)}
.closing-block .closing-invitation p{max-width:490px;margin:0 0 25px;font-size:16px}
.closing-block .eyebrow{color:var(--blue)}
.closing-block .closing-phone{margin:18px 0 0!important;font-size:15px!important}
.closing-block .closing-phone a{color:var(--blue);text-underline-offset:3px}
@media(max-width:900px){.closing-block>.wrap{gap:40px}}
@media(max-width:620px){.closing-block{padding:0 0 45px}.closing-block>.wrap{display:flex;flex-direction:column;width:100%;gap:30px;align-items:stretch}.closing-block .closing-invitation h2{font-size:53px}}

/* One arrow style: the drawn arrow, also in small links and buttons. */
.mobile-contact svg{width:15px;height:15px;vertical-align:-1px;margin-left:4px}
.pt-switch svg{width:14px;height:14px;vertical-align:-2px;margin-left:6px}
.text-link svg{flex:none}
.contact-layout button.button{cursor:pointer}

/* Homepage proof line: three figures in one row. */
.proof-layout{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:620px){.proof-layout{grid-template-columns:1fr 1fr}.proof-layout>div:first-child{grid-column:1/-1}}

/* Editorial pages: the photo stays in view next to long text; group photos are shown uncropped. */
@media(min-width:901px){.service-editorial-grid>img{position:sticky;top:120px;align-self:start;max-height:calc(100vh - 160px)}}
.page-running-club .service-editorial-grid>img,.page-about .service-editorial-grid>img{height:auto}

/* Coach portraits: keep the top of the head in frame. */
.brand-coaches img,.contact-coaches img{object-position:center 12%}

/* Second staging review: brand first, prices later. */
.offer-route{grid-template-columns:1.6fr 1fr}
.offer-bottom{justify-content:flex-end}
@media(max-width:620px){.offer-route{grid-template-columns:1fr}}
.term-card{grid-template-columns:1.05fr .8fr 2.2fr}
.term-card .term-bonus{grid-column:3}
.term-action{margin:40px 0 0}
@media(max-width:1100px){.term-card{grid-template-columns:1fr 1fr 1.4fr}.term-card .term-bonus{grid-column:1/-1;grid-row:auto}}
@media(max-width:620px){.term-card{grid-template-columns:1fr 1fr}.term-action .button{width:100%}}

/* Customer reviews. */
.reviews-section{background:var(--paper);color:var(--ink);padding:95px 0}
.reviews-heading h2{font-size:clamp(48px,5.5vw,78px);line-height:1;margin:14px 0 0}
.reviews-list{list-style:none;padding:0;margin:50px 0 40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.reviews-list figure{margin:0;border-top:1px solid #102c4640;padding-top:26px}
.review-stars{color:var(--blue);letter-spacing:4px;font-size:15px}
.reviews-list blockquote{margin:18px 0 20px}
.reviews-list blockquote p{font-size:16px;line-height:1.75;margin:0}
.reviews-list figcaption{font-size:13px;color:var(--muted)}
@media(max-width:900px){.reviews-section{padding:60px 0}.reviews-list{grid-template-columns:1fr;gap:28px;margin:35px 0 30px}}

/* Service pages (Running Club, lactaatmeting): photo on top, price card next to the text. */
.hero-service .hero-photo img{object-position:center 35%}
.page-lactaatmeting .hero-service .hero-photo img{object-position:center 82%}
.service-body{background:var(--paper);color:var(--ink);padding:95px 0}
.service-body-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:80px;align-items:start}
.service-body .prose>:first-child{margin-top:0}
.service-card{border-top:3px solid var(--blue);padding-top:26px}
.service-card .eyebrow{color:var(--blue);margin:0 0 14px}
.service-card-price{font:400 96px/.95 'Bebas Neue',Impact,sans-serif;margin:0}
.service-card-unit{font-size:14px;color:var(--muted);margin:10px 0 26px}
@media(min-width:901px){.service-aside{position:sticky;top:110px}}
@media(max-width:900px){.service-body{padding:55px 0}.service-body-grid{grid-template-columns:1fr;gap:40px}.service-card-price{font-size:76px}}

/* Live review (Oct 2026). Cookie notice of Complianz as a compact bar in the house style. */
.cmplz-cookiebanner{left:0!important;right:0!important;bottom:0!important;top:auto!important;transform:none!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;border:0!important;border-top:1px solid #ffffff30!important;border-radius:0!important;background:#0b2033!important;color:#fff!important;box-shadow:none!important;padding:14px max(24px,calc((100vw - 1344px)/2))!important;font-family:Inter,system-ui,sans-serif!important;grid-gap:8px 28px!important;max-height:none!important}
.cmplz-cookiebanner.cmplz-show{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}
.cmplz-cookiebanner .cmplz-header,.cmplz-cookiebanner .cmplz-divider{display:none!important}
.cmplz-cookiebanner .cmplz-body{grid-column:1!important;min-width:0!important;width:auto!important;max-height:none!important}
.cmplz-cookiebanner .cmplz-message{color:#c9d6e2!important;font-size:13px!important;line-height:1.5!important;margin:0!important;width:auto!important;max-width:820px}
.cmplz-cookiebanner .cmplz-message a,.cmplz-cookiebanner .cmplz-documents a,.cmplz-cookiebanner .cmplz-links a{color:#b8d3ff!important}
.cmplz-cookiebanner .cmplz-buttons{grid-column:2!important;grid-row:1!important;gap:8px!important;flex-wrap:nowrap!important;flex-direction:row!important;width:auto!important}
.cmplz-cookiebanner .cmplz-btn{border-radius:0!important;font:400 17px/1 'Bebas Neue',Impact,sans-serif!important;letter-spacing:.025em!important;text-transform:uppercase!important;height:auto!important;padding:12px 16px!important;min-width:0!important;width:auto!important;white-space:nowrap!important;margin:0!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept{background:var(--blue)!important;border:1px solid var(--blue)!important;color:#fff!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny,.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences{background:transparent!important;border:1px solid #ffffff70!important;color:#fff!important}
.cmplz-cookiebanner .cmplz-documents{grid-column:1/-1!important;justify-content:flex-start!important;font-size:12px!important;margin:0!important}
.cmplz-cookiebanner .cmplz-documents ul{justify-content:flex-start!important;gap:18px;margin:0!important;padding:0!important}
.cmplz-cookiebanner .cmplz-categories{grid-column:1/-1!important;width:auto!important}
.cmplz-cookiebanner .cmplz-categories .cmplz-category{background:#ffffff12!important;border-radius:0!important}
.cmplz-cookiebanner .cmplz-category-title,.cmplz-cookiebanner .cmplz-description,.cmplz-cookiebanner .cmplz-always-active{color:#fff!important}
@media(max-width:780px){.cmplz-cookiebanner{padding:14px 20px!important}.cmplz-cookiebanner.cmplz-show{grid-template-columns:minmax(0,1fr)!important}.cmplz-cookiebanner .cmplz-message{font-size:12px!important;max-height:92px;overflow-y:auto}.cmplz-cookiebanner .cmplz-buttons{grid-column:1!important;grid-row:auto!important}.cmplz-cookiebanner .cmplz-btn{flex:1 1 0!important;font-size:15px!important;padding:11px 4px!important}}
/* The floating "manage consent" tab is replaced by a link in the footer. */
#cmplz-manage-consent,.cmplz-manage-consent:not(a){display:none!important}

/* Service pages on small screens: the text first, the price card after it. */
@media(max-width:900px){.service-aside{order:2}}

/* Laptops with a low screen: the first button of a package page stays in view without scrolling. */
@media(min-width:901px) and (max-height:860px){.hero-pt,.hero-online,.hero-offer{min-height:0;padding-top:118px;padding-bottom:44px}.hero-pt .hero-title{font-size:min(144px,10vw,12.5vh)}.hero-online .hero-title{font-size:min(175px,12vw,18vh)}.hero-offer .hero-title{font-size:min(125px,8.5vw,15vh)}}

/* Image review (Oct 2026). Feature photos run to the edge instead of sitting in a grey frame. */
.feature-section .feature-photo{padding:0;display:block;background:transparent;max-height:none;overflow:hidden}
.feature-section .feature-photo img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:50% 40%}
.feature-section>.wrap{align-self:center}
@media(min-width:901px){.page-online .feature-section{grid-template-columns:58fr 42fr}.page-online .feature-section .feature-photo img{height:auto;aspect-ratio:1/1;position:sticky;top:0}.feature-section>.wrap{padding:64px 56px}}
@media(max-width:900px){.feature-section .feature-photo img{height:auto;aspect-ratio:1/1}.page-pt .feature-section .feature-photo img{aspect-ratio:4/5}}
.feature-grid p{font-size:15px;color:#3e5163}

/* Service pages: a photo above the price card, next to the text. */
.service-side-photo{display:block;width:100%;height:auto;aspect-ratio:4/5;max-height:calc(100vh - 430px);min-height:220px;object-fit:cover;margin:0 0 28px}
/* Lactaatmeting: a large square photo with the measurement itself in view (hands and meter, no faces). */
.page-lactaatmeting .service-side-photo{aspect-ratio:1/1;max-height:none;object-position:50% 92%}
@media(min-width:901px){.page-lactaatmeting .service-body-grid{grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:70px}.page-lactaatmeting .service-aside{position:static}}
.page-running-club .service-side-photo{aspect-ratio:4/3}
@media(max-width:900px){.service-side-photo{max-height:none}}

/* Homepage on phones: large coach portraits in a swipe row. */
@media(max-width:700px){.brand-team .brand-coaches{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;scrollbar-width:none;width:auto;margin:0;padding:0 20px;scroll-padding-left:20px}.brand-team .brand-coaches::-webkit-scrollbar{display:none}.brand-team .brand-coaches>figure{flex:0 0 78%;display:block;scroll-snap-align:start}.brand-team .brand-coaches>figure img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 20%}.brand-team .brand-coaches figcaption{padding-top:16px}}

/* Final review (Oct 2026). Homepage: one tile for the measurement next to its text. */
@media(min-width:901px){.world-pair{grid-template-columns:1fr}.world-pair article{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding:70px max(40px,calc((100vw - 1344px)/2))}.world-pair article>div{padding-top:0}}
/* One review on a service page: larger, in one column. */
.reviews-section.is-single .reviews-list{grid-template-columns:minmax(0,760px)}
.reviews-section.is-single blockquote p{font-size:clamp(20px,2vw,26px);line-height:1.5}
/* Coaching + PT: what a session looks like. */
.session-section{background:#e3e9e6}
.session-list{margin:0}
.session-list>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:22px;border-top:1px solid #102c4630;padding:22px 0}
.session-list dt{font:400 24px/1.15 'Bebas Neue',Impact,sans-serif;color:var(--blue)}
.session-list dd{margin:0;font-size:16px;line-height:1.6}
@media(max-width:620px){.session-list>div{grid-template-columns:1fr;gap:8px}}

/* Final check (Oct 2026). Phones: both package prices in one line right under the term switch. */
.price-compare{display:none}
@media(max-width:620px){.price-compare{display:grid;gap:6px;margin:0 0 28px;padding:16px 0;border-top:1px solid #ffffff35;border-bottom:1px solid #ffffff35;font-size:14px;color:#fff}.price-compare span{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.price-compare strong{font:400 26px/1 'Bebas Neue',Impact,sans-serif;color:var(--bright)}.price-compare span:last-child{color:#b7ccdf;font-size:13px}}
/* One review on a page: centred and larger. */
.reviews-section.is-single .reviews-list{grid-template-columns:minmax(0,820px);justify-content:center;text-align:center}
.reviews-section.is-single .reviews-heading,.reviews-section.is-single>.wrap>.text-link{text-align:center}
.reviews-section.is-single>.wrap{display:flex;flex-direction:column;align-items:center}
/* Closing photo of Remco and Jip: keep the logo on the wall in view. */
.page-pt .closing-person img{object-position:50% 0}
.contact-steps ol[hidden]{display:none}
