/*
Theme Name: WK Wielrennen 2034
Author: WK Groningen-Drenthe B.V.
Description: Website voor het WK Wielrennen 2034 in Groningen en Drenthe.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: wk2034
*/
:root{--navy:#07374f;--ink:#11212b;--paper:#fafaf7;--mint:#90c6a4;--line:#d7dfe2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--navy);background:var(--paper);font-size:18px;line-height:1.75}a{color:inherit;text-underline-offset:.2em}a:focus-visible,button:focus-visible{outline:3px solid #e0b43a;outline-offset:5px}.wrap{width:min(1180px,90%);margin:auto}.site-header{padding:36px 0 25px;border-bottom:1px solid var(--line)}.brand{display:block;max-width:970px;margin:auto}.brand img{display:block;width:100%;height:auto}nav{display:flex;justify-content:center;gap:40px;flex-wrap:wrap;margin-top:28px;font-size:16px}nav a{text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}nav a[aria-current=page]{border-color:var(--navy)}nav a:hover{border-color:var(--mint)}.page{padding:60px 0 80px;min-height:50vh}h1{font-size:clamp(34px,4.5vw,58px);line-height:1.13;letter-spacing:-.04em;max-width:960px;margin:0 0 35px}p{margin:0 0 25px}.prose{max-width:830px}.prose .lead{font-size:23px;line-height:1.6}.prose blockquote{margin:40px 0;padding:10px 0 10px 30px;border-left:4px solid var(--mint);font-size:21px}.prose blockquote p{margin:0}.prose .quote-by{font-size:15px;line-height:1.5;font-weight:700;display:block;margin-bottom:12px}.partners-text{font-size:16px;border-top:1px solid var(--line);padding-top:25px;margin-top:40px}footer{padding:30px 0;background:transparent;color:inherit;font-size:14px;line-height:1.65}footer .wrap{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}footer p{margin:0}footer .ownership{max-width:450px;color:inherit}.home-body{background:var(--navy);color:white}.home-poster{position:relative;aspect-ratio:1.6;max-width:1920px;margin:auto;isolation:isolate}.home-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;clip-path:inset(21% 0 0 0);z-index:-1}.home-banner{position:absolute;width:70.8%;top:8.6%;left:16.8%;height:auto}.home-actions{position:absolute;top:29%;left:0;width:100%;display:flex;justify-content:center;gap:15px;flex-wrap:wrap}.home-actions a{background:var(--navy);color:white;font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:15px;text-decoration:none;border:1px solid #ffffff40;padding:15px 25px;transition:background-color .18s,border-color .18s,color .18s}.home-actions a:hover,.home-actions a:focus-visible{background:var(--mint);border-color:var(--mint);color:var(--navy)}.home-body footer{border-top:1px solid #ffffff25}.media-table{border-collapse:collapse;width:100%;font-size:16px}.media-table th{text-align:left;font-size:13px;text-transform:uppercase;letter-spacing:.1em;padding:18px 20px;background:var(--navy);color:white}.media-table td{padding:22px 20px;border-bottom:1px solid var(--line);vertical-align:top}.media-table tr:nth-child(even){background:#f0f4f3}.media-table td:first-child{width:160px;white-space:nowrap;font-size:14px}.media-table td:nth-child(2){width:210px;font-weight:700}.media-table td a{text-decoration:none}.media-table td a:hover{text-decoration:underline}.media-table caption{text-align:left;font-size:14px;color:#506774;padding-bottom:20px}.contact-title{font-size:clamp(30px,4vw,48px)}.contact-email{font-size:clamp(20px,2.6vw,32px);overflow-wrap:anywhere}.organizers{display:grid;grid-template-columns:1fr 1fr;gap:25px;max-width:780px;margin-top:55px}.organizer{background:var(--navy);min-height:185px;display:flex;align-items:center;justify-content:center;padding:30px;border:1px solid var(--navy)}.organizer:hover{box-shadow:0 0 0 3px var(--mint)}.organizer img{width:240px;max-width:100%;height:100px;object-fit:contain}.dark-design{background:var(--navy);color:var(--paper)}.dark-design .site-header{border-color:#ffffff30}.dark-design nav a[aria-current=page]{border-color:var(--mint)}.dark-design .prose{color:#eef3f5}.dark-design .partners-text{border-color:#ffffff30}.dark-design .media-table tr:nth-child(even){background:#0d415b}.dark-design .media-table td{border-color:#ffffff25}.dark-design .media-table caption{color:#c3d4db}.dark-design .organizer{border-color:#ffffff45}.design-switch{display:flex;gap:8px;align-items:center;margin-top:30px;font-size:13px}.design-switch button{font:inherit;padding:7px 12px;cursor:pointer;background:transparent;color:inherit;border:1px solid currentColor}.design-switch button[aria-pressed=true]{background:var(--mint);color:var(--navy);border-color:var(--mint)}.skip{position:absolute;left:-10000px}.skip:focus{left:10px;top:10px;background:white;padding:12px;z-index:5}.empty-page{min-height:45vh}.article-image{max-width:100%;height:auto}@media(min-width:1800px){.home-poster{min-height:800px}}@media(max-width:800px){nav{gap:15px 25px}.site-header{padding-top:25px}.page{padding:40px 0 55px}.home-actions{gap:10px;top:28%}.home-actions a{font-size:12px;padding:10px 15px}.prose .lead{font-size:20px}.prose blockquote{font-size:19px;margin:30px 0;padding-left:20px}.media-table thead{display:none}.media-table tr{display:grid;grid-template-columns:1fr 1fr;padding:20px 0;border-bottom:1px solid var(--line)}.media-table td{border:0;padding:0 12px;width:auto!important}.media-table td:first-child{white-space:normal}.media-table td:nth-child(2){text-align:right}.media-table td:last-child{grid-column:1/-1;padding-top:12px}.organizers{gap:15px}.organizer{padding:20px;min-height:140px}.organizer img{height:80px}}@media(max-width:540px){.home-poster{aspect-ratio:auto;min-height:700px;padding-top:28px;padding-bottom:25px;display:flex;flex-direction:column;align-items:center}.home-banner{position:static;width:94%;margin-top:10px}.home-art{object-fit:cover;object-position:center bottom;clip-path:inset(37% 0 0 0);opacity:.8}.home-actions{position:relative;top:auto;left:auto;margin-top:55px;width:88%;display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-actions a{text-align:center;padding:15px 8px;font-size:13px}.home-poster:after{content:'';width:100%;height:230px;position:absolute;bottom:0;background:url('assets/achterwand.webp') center bottom/100% auto no-repeat}.home-art{clip-path:inset(37% 0 33% 0)}.organizers{grid-template-columns:1fr}.organizer img{width:220px}.media-table{font-size:15px}footer .wrap{display:block}footer .ownership{margin-top:20px}.contact-email{font-size:20px}}

@media(max-width:540px){.home-poster{min-height:650px;background:url('assets/artwork-middle.webp') center 210px/auto 280px no-repeat}.home-art{display:none}.home-poster:after{height:165px;background:url('assets/partners.webp') center bottom/100% auto no-repeat}}

footer .legal-statements{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;font-size:12px;opacity:.8}

.home-actions a{background:transparent}.home-actions a:hover,.home-actions a:focus-visible{background:var(--mint)}footer .legal-statements{margin-top:0;font-size:12px}footer .design-switch{margin-top:15px;justify-content:flex-end}.program-section{margin:0 0 55px}.program-section h2{font-size:clamp(24px,3vw,34px);line-height:1.25;margin:0 0 25px}.program-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 30px}.program-list li{padding:10px 0;border-bottom:1px solid var(--line)}.dark-design .program-list li{border-color:#ffffff25}.route-details{display:grid;grid-template-columns:110px 1fr;gap:15px;margin:0}.route-details dt{font-weight:700}.route-details dd{margin:0}.routes-table{border-collapse:collapse;width:100%;max-width:850px;text-align:left}.routes-table th,.routes-table td{padding:15px 20px;border-bottom:1px solid var(--line)}.routes-table thead{background:var(--navy);color:white}.dark-design .routes-table th,.dark-design .routes-table td{border-color:#ffffff25}@media(max-width:1000px){.home-actions{max-width:700px;left:50%;transform:translateX(-50%)}.home-actions a{padding:12px 17px}}@media(max-width:700px){.program-list{grid-template-columns:1fr 1fr}.routes-table th,.routes-table td{padding:12px 8px;font-size:16px}}@media(max-width:540px){.home-actions{left:auto;transform:none;margin-top:35px}footer .design-switch{justify-content:flex-start}.program-list{grid-template-columns:1fr}.route-details{grid-template-columns:80px 1fr}footer .legal-statements{margin-top:20px}.home-poster{min-height:720px}}

.contact-form{max-width:700px;display:grid;gap:10px}.contact-form label{font-weight:700;margin-top:10px}.contact-form label span{font-size:14px;font-weight:400}.contact-form input,.contact-form textarea{width:100%;font:inherit;padding:12px 15px;background:transparent;color:inherit;border:1px solid #647b87;border-radius:0}.contact-form textarea{resize:vertical}.contact-form button,.social-links a{font:inherit;background:var(--navy);border:1px solid #647b87;color:white;padding:12px 22px;cursor:pointer;text-decoration:none}.contact-form button{justify-self:start;margin-top:15px}.contact-form button:hover,.social-links a:hover{background:var(--mint);color:var(--navy);border-color:var(--mint)}.contact-ownership{font-size:14px;line-height:1.7;max-width:700px;margin-top:40px}.social-links{display:flex;flex-wrap:wrap;gap:12px;font-size:14px}.form-status{font-size:16px;margin:15px 0}.contact-trap{position:absolute;left:-10000px}

@media(min-width:541px) and (max-width:1100px){.home-actions{max-width:800px;left:50%;transform:translateX(-50%);gap:10px}.home-actions a{padding:10px 14px;font-size:13px}}

/* Gelijke lopende tekst op alle binnenpagina’s. */
.page{font-size:18px}.page .prose .lead,.page .prose blockquote,.page .quote-by,.page .partners-text,.page .media-table,.page .media-table td:first-child,.page .media-table caption,.page .contact-ownership,.page .social-links,.page .contact-form label span,.page .form-status,.page .routes-table th,.page .routes-table td{font-size:inherit}.page .prose .lead{line-height:1.75}.page .media-table th{font-size:16px}

@font-face{font-family:Gronika;src:url('assets/fonts/gronika.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'TT Norms';src:url('assets/fonts/tt-norms-regular.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:'TT Norms';src:url('assets/fonts/tt-norms-bold.otf') format('opentype');font-weight:700;font-display:swap}
@font-face{font-family:'TT Norms';src:url('assets/fonts/tt-norms-italic.otf') format('opentype');font-weight:400;font-style:italic;font-display:swap}
:root{--paper:#f7f5ec;--green:#009e61;--mint:#a4c89f}
body{font-family:'TT Norms',Arial,sans-serif}
h1,h2,.program-section h2{font-family:Gronika,'TT Norms',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.015em;line-height:1.18}
h1{font-size:clamp(32px,4.1vw,55px);max-width:1080px}h2,.program-section h2{font-size:clamp(24px,2.8vw,34px)}
nav{font-weight:700;gap:20px 30px}nav a{text-transform:uppercase;letter-spacing:.035em;font-size:15px}
.home-actions{gap:10px}.home-actions a{font-family:Gronika,'TT Norms',sans-serif;font-size:16px;font-weight:400;letter-spacing:.025em;padding:14px 18px;line-height:1.35}
.home-actions a,.social-links a,.contact-form input,.contact-form textarea,.contact-form button,.design-switch button{border-radius:0;box-shadow:none}
.program-section{border-top:1px solid var(--line);padding-top:28px}.dark-design .program-section{border-color:#ffffff30}
.program-section h2{color:var(--green)}.dark-design .program-section h2{color:var(--mint)}
.prose blockquote{border-left-color:var(--green)}.dark-design .prose blockquote{border-left-color:var(--mint)}
.media-table th,.routes-table thead{letter-spacing:.04em}.media-table tr:nth-child(even){background:#ebece4}.dark-design .media-table tr:nth-child(even){background:#ffffff07}
@media(max-width:1100px){.home-actions a{font-size:14px;padding:12px 14px}}@media(max-width:540px){.home-actions a{font-size:15px;padding:15px 8px}}

.download-section{margin-bottom:55px}.download-section h2{margin-bottom:25px}.video-embed{aspect-ratio:16/9;max-width:960px;background:var(--navy)}.video-embed iframe{display:block;width:100%;height:100%;border:0}.infographic-download{display:block;max-width:370px;text-decoration:none}.infographic-download img{display:block;width:100%;height:auto;margin-bottom:12px;border:1px solid var(--line)}.download-images{display:grid;grid-template-columns:1fr 1fr;gap:35px 25px}.download-images figure{margin:0}.download-images img{display:block;width:100%;aspect-ratio:3/2;object-fit:contain;background:#ffffff08}.download-images figcaption{margin-top:12px}.download-button{display:inline-block;margin-top:35px;padding:13px 20px;border:1px solid currentColor;text-decoration:none}.download-button:hover{background:var(--mint);color:var(--navy)}@media(max-width:650px){.download-images{grid-template-columns:1fr}.download-button{font-size:16px}}

.video-embed iframe[hidden],.video-consent[hidden]{display:none}.video-consent{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center;color:white}.video-consent p{max-width:550px}.video-consent button{font:inherit;padding:12px 24px;border:1px solid var(--mint);background:var(--mint);color:var(--navy);cursor:pointer}.prose h2{margin-top:35px;font-size:26px}footer .legal-statements a{text-decoration:none}footer .legal-statements a:hover{text-decoration:underline}
