.admin-stat-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:900px){.admin-stat-grid--three{grid-template-columns:1fr}}
.webshop-field input[type=file]{cursor:pointer;min-height:auto;padding:14px 16px}.webshop-field input[type=file]::file-selector-button{color:#033663;font:inherit;cursor:pointer;background:#28b9aa24;border:0;border-radius:12px;margin-right:14px;padding:11px 16px;font-weight:850}.webshop-field small{color:#033663a6;font-size:13px;line-height:1.5}.webshop-file-analysis{border-radius:16px;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:16px 18px;font-size:14px;line-height:1.5;display:flex}.webshop-file-analysis strong{overflow-wrap:anywhere;width:100%}.webshop-file-analysis-loading{color:#8a5411;background:#fea0201a;border:1px solid #fea02038}.webshop-file-analysis-success{color:#285f35;background:#54955c1a;border:1px solid #54955c38}
html,body{width:100%;max-width:100%;overflow-x:clip}body{overflow-wrap:anywhere;word-break:normal}main,section,article,header,footer,nav,form,fieldset,div{min-width:0}img,picture,video,canvas,iframe,svg{max-width:100%}pre,code{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}table,input,select,textarea,button{max-width:100%}input,select,textarea{min-width:0}p,li,a,span,strong,small,label,h1,h2,h3,h4,h5,h6{overflow-wrap:anywhere}@media (max-width:900px){:root{--mobile-gutter:clamp(14px, 4vw, 24px)}body{background-attachment:scroll}.page-shell,.page-container,.content-shell,.content-container,.container,.site-container,.dashboard-container,.admin-container,.portal-container,.webshop-container,.booking-container,.legal-container,.contact-container,.auth-container,.learning-container,.middle-school-container{width:min(100%,100vw)!important;max-width:100%!important;padding-inline:var(--mobile-gutter)!important;margin-inline:auto!important}h1,.hero h1,.subpage-hero h1,.webshop-hero h1,.about-copy h1,.login-card h1,.refined-hero h1,.appointment-hero h1{letter-spacing:-.035em!important;font-size:clamp(2rem,10vw,3.65rem)!important;line-height:1.08!important}h2,.section-heading h2{font-size:clamp(1.55rem,7vw,2.5rem)!important;line-height:1.15!important}h3{font-size:clamp(1.15rem,5.5vw,1.75rem)!important;line-height:1.2!important}p,li,label,input,textarea,select,button{line-height:1.55}.site-header{width:100%!important;padding:14px var(--mobile-gutter) 10px!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px 12px!important;display:grid!important}.site-header .logo,.site-header>a:first-child,.site-header .brand{width:min(150px,42vw)!important;max-width:100%!important}.site-header .nav,.site-header nav,.nav{scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;width:calc(100% + (2 * var(--mobile-gutter)))!important;max-width:none!important;margin-inline:calc(var(--mobile-gutter) * -1)!important;padding:8px var(--mobile-gutter) 5px!important;flex-wrap:nowrap!important;order:3!important;grid-column:1/-1!important;justify-content:flex-start!important;gap:9px!important;display:flex!important;overflow:auto hidden!important}.site-header .nav::-webkit-scrollbar{display:none}.site-header nav::-webkit-scrollbar{display:none}.nav::-webkit-scrollbar{display:none}.site-header .nav a,.site-header nav a,.nav a{scroll-snap-align:start;white-space:nowrap!important;flex:none!important;max-width:none!important}.site-header .login-button,.site-header .account-button,.site-header .account-menu{white-space:nowrap;min-width:0!important;max-width:44vw!important;padding:10px 14px!important}.hero,.about-hero,.speelweelde-section,.services-grid,.cards,.info-grid,.shop-grid,.testimonial-grid,.about-grid,.portal-grid,.form-grid,.admin-layout,.admin-dashboard-grid,.admin-stat-grid,.dashboard-grid,.aanbod-detail-grid,.subject-grid,.secondary-option-grid,.learning-grid,.appointment-grid,.booking-grid,.footer-grid{grid-template-columns:minmax(0,1fr)!important}.hero,.subpage-hero,.cards-section,.services-section,.info-grid,.shop-grid,.about-grid,.testimonial-grid,.portal-grid,.about-hero,.speelweelde-section,.basisschool-hero,.form-card,.table-card,.login-card,.auth-card,.contact-card,.booking-card,.legal-card,.admin-card,.dashboard-card,.shop-card,.service-card,.info-card{max-width:100%!important;margin-left:0!important;margin-right:0!important}.login-card,.auth-card,.form-card,.contact-card,.booking-card,.legal-card,.admin-card,.dashboard-card,.shop-content,.service-content,.info-card{border-radius:clamp(20px,6vw,30px)!important;padding:clamp(18px,5vw,30px)!important}form,fieldset,.form-row,.form-grid,.field-row,.input-row{width:100%!important;max-width:100%!important}.form-row,.field-row,.input-row{grid-template-columns:minmax(0,1fr)!important;display:grid!important}input,select,textarea{width:100%!important;min-width:0!important;font-size:16px!important}textarea{resize:vertical}.hero-actions,.dashboard-buttons,.form-actions,.card-actions,.modal-actions,.mail-actions,.shop-bottom,.booking-actions,.appointment-actions,.admin-actions{flex-wrap:wrap!important;gap:10px!important;width:100%!important;display:flex!important}.hero-actions>*,.dashboard-buttons>*,.form-actions>*,.card-actions>*,.modal-actions>*,.mail-actions>*,.booking-actions>*,.appointment-actions>*{flex:220px!important;min-width:0!important;max-width:100%!important}.primary-action,.secondary-action,.shop-button,.login-button,.submit-button,button[type=submit]{text-align:center;white-space:normal!important}.table-card,.table-wrapper,.admin-table-wrap,.data-table-wrapper,.planner-scroll,.mailbox-content,.smartschool-main,.portal-main{-webkit-overflow-scrolling:touch;max-width:100%!important;overflow-x:auto!important}.table-card table,.table-wrapper table,.admin-table-wrap table,.data-table-wrapper table{width:max-content;min-width:100%}.smartschool-layout,.mailbox-layout,.leerlingportaal-layout,.student-portal-layout,.admin-shell,.dashboard-shell{width:100%!important;min-width:0!important;max-width:100%!important}.modal-backdrop,.mail-modal-backdrop,.lightbox,[class*=modal-backdrop]{padding:12px!important}.modal,.mail-modal,.dialog,[role=dialog],[class*=Modal]{width:min(100%,680px)!important;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 24px)!important;padding:clamp(18px,5vw,30px)!important;overflow:auto!important}.hero-art,.hero-illustration,.season-decoration,.floating-decoration,.decorative-shape{max-width:100%!important}}@media (max-width:560px){:root{--mobile-gutter:14px}.site-header .logo,.site-header>a:first-child,.site-header .brand{width:min(132px,40vw)!important}.site-header .login-button,.site-header .account-button{max-width:48vw!important;min-height:42px!important;padding:8px 11px!important;font-size:.82rem!important}.hero,.subpage-hero,.about-hero,.speelweelde-section,.cards-section,.services-section,.site-footer{padding-left:var(--mobile-gutter)!important;padding-right:var(--mobile-gutter)!important}.hero-actions>*,.dashboard-buttons>*,.form-actions>*,.card-actions>*,.modal-actions>*,.mail-actions>*,.booking-actions>*,.appointment-actions>*{flex-basis:100%!important;width:100%!important}.shop-header{grid-template-columns:minmax(0,1fr) 64px!important}.shop-thumbnail{width:64px!important;height:64px!important}}
@font-face{font-family:StudioFont;src:url(/fonts/Comfortaa-Light.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:StudioTitle;src:url(/fonts/Comfortaa-Bold.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}:root{--navy:#033663;--ink:#082a55;--muted:#42617d;--white:#fff;--red:#fe2020;--yellow:#fee020;--orange:#fea020;--orange-deep:#fb6730;--teal:#28b9aa;--purple:#9b81b8;--green:#54955c;--soft-blue:#dff6ff;--cream:#fffaf2;--shadow-card:0 18px 44px #03366321;--content-max:1340px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at top left, #28b9aa38, transparent 28%), radial-gradient(circle at top right, #9b81b82e, transparent 24%), url(/assets/bg.png) center center / cover no-repeat fixed, linear-gradient(180deg, var(--soft-blue) 0%, #f7fcff 42%, var(--cream) 100%);margin:0;font-family:StudioFont,Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}img,svg{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,.webshop-hero h1,.hero h1,.about-copy h1,.subpage-hero h1,.section-heading h2,.service-content h3,.footer-brand h3{font-family:StudioTitle,sans-serif}.site-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;padding:28px 48px 12px;display:grid}.site-header .nav a{white-space:nowrap;flex:none}.site-header .account-menu,.site-header>.login-button{flex-shrink:0;justify-self:end}.site-header .login-button,.site-header .account-button{white-space:nowrap;min-width:max-content;min-height:58px;padding:0 28px}@media (max-width:760px){.site-header{gap:12px;padding:18px 12px 8px}.site-header .logo{width:145px}.site-header .nav{gap:18px;font-size:14px}.site-header .login-button,.site-header .account-button{min-height:48px;padding:0 18px;font-size:.9rem}}.login-page{justify-content:center;align-items:center;min-height:100vh;padding:40px 20px;display:flex}.login-card{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffeb;border-radius:36px;width:min(620px,100%);padding:54px;box-shadow:0 20px 50px #0336631f}.login-card h1{color:var(--navy);margin:0 0 20px;font-size:clamp(42px,6vw,70px);line-height:1}.login-card p{color:#496783;margin-bottom:32px;font-size:22px}.login-card input{width:100%;color:var(--navy);background:#fff;border:2px solid #dce5ef;border-radius:22px;outline:none;margin-bottom:18px;padding:20px 24px;font-size:20px}.login-card input:focus{border-color:var(--teal);box-shadow:0 0 0 5px #28b9aa26}.login-card button,.login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff6b3d,#fea020);border:none;border-radius:999px;width:100%;margin-top:8px;padding:19px 30px;font-size:21px;font-weight:700;box-shadow:0 14px 30px #fea02059}.login-error{color:#c0392b!important;margin:0 0 14px!important;font-size:16px!important}.login-success{color:#2f855a!important;margin:0 0 14px!important;font-size:16px!important}.login-divider{align-items:center;margin:28px 0;display:flex}.login-divider:before,.login-divider:after{content:"";background:#dbe4ef;flex:1;height:1px}.login-divider span{color:#6c7b8b;margin:0 16px;font-size:14px;font-weight:600}.register-button{border:2px solid var(--teal);width:100%;color:var(--navy);border-radius:999px;justify-content:center;align-items:center;margin-top:10px;padding:17px;font-weight:700;text-decoration:none;display:flex}.register-button:hover{background:var(--teal);color:#fff}.forgot-password{text-align:center;color:var(--navy);margin-top:20px;text-decoration:none;display:block}.dashboard-grid{grid-template-columns:1fr 1.1fr 1fr;align-items:start;gap:34px;width:min(1340px,92%);margin:58px auto 0;display:grid}.dashboard-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd1;border-radius:36px;min-height:420px;padding:44px;box-shadow:0 18px 45px #03366314}.dashboard-card h2{color:var(--navy);margin:0 0 32px;font-size:clamp(28px,3vw,38px);line-height:1.08}.dashboard-card p{color:#496783;margin:0;font-size:clamp(19px,2vw,24px);line-height:1.5}.lesson-card-mini{background:#ffffffc7;border:2px solid #dbe4ef;border-radius:28px;width:100%;max-width:360px;margin:0 auto;padding:30px}.lesson-card-mini h3{color:var(--navy);margin:0 0 22px;font-size:clamp(24px,2.4vw,30px);line-height:1.12}.lesson-card-mini p{margin:0;font-size:21px;line-height:1.45}.lesson-progress{background:#e5edf5;border-radius:999px;width:100%;height:13px;margin:26px 0;overflow:hidden}.lesson-progress span{border-radius:inherit;background:var(--teal);height:100%;display:block}.orange-button{color:#fff;text-align:center;background:linear-gradient(135deg,#ff6b3d,#fea020);border-radius:999px;justify-content:center;align-items:center;width:100%;min-height:64px;padding:18px 24px;font-size:21px;font-weight:700;text-decoration:none;display:flex}.contact-wrapper{max-width:900px;margin:auto;padding:50px 30px}.contact-form{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border-radius:34px;flex-direction:column;gap:28px;padding:45px;display:flex;box-shadow:0 15px 45px #00000014}.input-group{flex-direction:column;gap:10px;display:flex}.input-group label{color:var(--navy);font-size:1.1rem;font-weight:600}.input-icon{background:#fff;border:2px solid #dbe4ef;border-radius:18px;align-items:center;gap:15px;padding:18px 22px;transition:all .25s;display:flex}.input-icon svg{color:var(--teal);flex-shrink:0}.input-icon:focus-within{border-color:var(--teal);box-shadow:0 0 0 5px #28b9aa26}.input-icon input,.input-icon textarea{width:100%;color:var(--navy);background:0 0;border:none;outline:none;font-family:inherit;font-size:17px}.input-icon textarea{resize:vertical}.input-icon.textarea{align-items:flex-start}.checkbox-row{color:var(--navy);align-items:flex-start;gap:14px;margin-top:24px;font-size:18px;line-height:1.4;display:flex}.checkbox-row input{width:22px;height:22px;accent-color:var(--orange);flex-shrink:0;margin:3px 0 0}.booking-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border-radius:34px;max-width:1100px;margin:40px auto;padding:48px;box-shadow:0 20px 50px #0336631a}.booking-grid{grid-template-columns:1fr 1fr;gap:26px;display:grid}.booking-field{flex-direction:column;gap:10px;display:flex}.booking-field.full{grid-column:1/-1}.booking-field label{color:var(--navy);font-size:20px;font-weight:600}.booking-field input,.booking-field select,.booking-field textarea{width:100%;color:var(--navy);background:#fffffff2;border:2px solid #dce5ef;border-radius:20px;outline:none;padding:18px 22px;font-size:18px}.booking-field textarea{resize:vertical;min-height:150px}.booking-button{justify-content:center;margin-top:34px;display:flex}.booking-button button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff6b3d,#fea020);border:none;border-radius:999px;padding:18px 46px;font-size:22px;font-weight:600}.logout-button{background:var(--navy);color:#fff;cursor:pointer;border:none;border-radius:999px;margin-top:20px;padding:12px 24px;font-weight:700}.logout-button:hover{background:var(--orange)}@media (max-width:1150px){.dashboard-grid{grid-template-columns:1fr;width:min(720px,92%)}.dashboard-card{min-height:auto}}@media (max-width:800px){.booking-grid{grid-template-columns:1fr}.booking-card,.contact-form{border-radius:26px;padding:30px 22px}}@media (max-width:600px){.login-card{border-radius:28px;padding:32px 24px}.dashboard-card{padding:32px 26px}.lesson-card-mini{padding:24px}}.contact-form button,.contact-submit,.contact-button{color:#fff;border:none;border-radius:999px;justify-content:center;align-items:center;min-width:320px;max-width:420px;padding:20px 42px;font-size:1.45rem;font-weight:600;transition:all .25s;box-shadow:0 15px 35px #fea02059;background:linear-gradient(135deg,#ff6b3d,#fea020)!important;width:auto!important;display:inline-flex!important}.contact-form button svg,.contact-submit svg,.contact-button svg{display:none}.contact-form button:hover,.contact-submit:hover,.contact-button:hover{transform:translateY(-2px);box-shadow:0 20px 40px #fea02073}.services-grid .service-card:first-child{background:radial-gradient(circle at 18% 18%,#fe20202e,#0000 28%),#ffffffdb}.services-grid .service-card:first-child .service-icon,.services-grid .service-card:first-child .icon{background:#fe2020}.services-grid .service-card:nth-child(2){background:radial-gradient(circle at 18% 18%,#fee02047,#0000 30%),#ffffffdb}.services-grid .service-card:nth-child(2) .service-icon,.services-grid .service-card:nth-child(2) .icon{background:#fea020}.services-grid .service-card:nth-child(3){background:radial-gradient(circle at 18% 18%,#eee7192e,#0000 30%),#ffffffdb}.services-grid .service-card:nth-child(3) .service-icon,.services-grid .service-card:nth-child(3) .icon{background:#28b9aa}.service-card.yellow .service-icon,.service-card.yellow .icon{background-color:#fee020!important}.service-card.yellow{background:radial-gradient(circle at 22% 20%,#fee02038,#0000 32%),#ffffffdb!important}.service-card.red{--service-color:#fe2020}.service-card.yellow{--service-color:#fee020}.service-card.teal{--service-color:#28b9aa}.service-card.green{--service-color:#54955c}.service-card.purple{--service-color:#9b81b8}.service-card .service-icon,.service-card .service-arrow{background:var(--service-color)!important}.service-card .service-arrow{margin-top:auto;box-shadow:0 14px 30px #0336631f;color:#fff!important;border:none!important;border-radius:999px!important;align-items:center!important;width:52px!important;min-width:52px!important;height:52px!important;min-height:52px!important;font-size:32px!important;font-weight:400!important;line-height:1!important;display:flex!important}.service-card:hover .service-arrow{transform:translate(6px)}.site-header{z-index:9999;-webkit-backdrop-filter:blur(22px);background:#ffffffd1;border-bottom:1px solid #03366314;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;padding:18px 48px;display:grid;position:sticky;top:0;box-shadow:0 14px 38px #03366314}.site-header .logo{flex-shrink:0;width:210px}.site-header .nav{white-space:nowrap;scrollbar-width:none;justify-content:center;align-items:center;gap:clamp(22px,3vw,46px);min-width:0;display:flex;overflow:auto hidden}.site-header .nav::-webkit-scrollbar{display:none}.site-header .nav a{color:#033663;flex:none;justify-content:center;align-items:center;padding:12px 4px;font-size:clamp(1rem,1.45vw,1.35rem);font-weight:800;line-height:1;text-decoration:none;transition:color .25s,transform .25s;display:inline-flex;position:relative}.site-header .nav a:after{content:"";background:linear-gradient(90deg,#28b9aa,#fea020);border-radius:999px;width:0;height:3px;transition:width .28s;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.site-header .nav a:hover{color:#28b9aa;transform:translateY(-1px)}.site-header .nav a:hover:after{width:100%}.site-header .account-menu,.site-header>.login-button,.site-header .header-login-buttons{flex-shrink:0;justify-self:end}.site-header .login-button,.site-header .account-button,.site-header .student-login-button{white-space:nowrap;min-width:max-content;min-height:50px;padding:0 24px}@media (max-width:1000px){.site-header{grid-template-columns:1fr;justify-items:center;gap:14px;padding:16px 18px 14px}.site-header .logo{width:165px}.site-header .nav{justify-content:flex-start;gap:22px;width:100%;padding:8px 4px 10px;overflow-x:auto}.site-header .nav a{padding:10px 2px;font-size:1rem}.site-header .nav a:after{height:2px;bottom:0}.site-header .account-menu,.site-header>.login-button,.site-header .header-login-buttons{justify-self:center}.site-header .login-button,.site-header .account-button,.site-header .student-login-button{min-height:44px;padding:0 18px;font-size:.9rem}}@media (max-width:600px){.site-header{padding:12px 12px 10px}.site-header .logo{width:140px}.site-header .nav{gap:18px;padding-bottom:8px}.site-header .nav a{font-size:.92rem}}.admin-direct-link{color:#033663;border-radius:13px;align-items:center;gap:10px;padding:11px 13px;font-weight:800;text-decoration:none;display:flex}.admin-direct-link:hover{background:#28b9aa1a}
.season-engine{background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;min-height:100vh;position:relative;overflow-x:hidden}body{background:0 0}.season-engine .primary-action{background:linear-gradient(135deg, var(--season-accent), var(--orange))}.season-engine .cta-card{background:linear-gradient(135deg, var(--season-soft), #ffffff9e), #ffffff9e}.season-effect{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.season-effect span{opacity:.32;color:var(--season-accent);animation-name:season-fall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:-10%}.season-blossoms span:first-child,.season-leaves span:first-child,.season-snow span:first-child{font-size:22px;animation-duration:16s;animation-delay:0s;left:8%}.season-blossoms span:nth-child(2),.season-leaves span:nth-child(2),.season-snow span:nth-child(2){font-size:16px;animation-duration:22s;animation-delay:4s;left:24%}.season-blossoms span:nth-child(3),.season-leaves span:nth-child(3),.season-snow span:nth-child(3){font-size:24px;animation-duration:18s;animation-delay:2s;left:42%}.season-blossoms span:nth-child(4),.season-leaves span:nth-child(4),.season-snow span:nth-child(4){font-size:18px;animation-duration:24s;animation-delay:6s;left:62%}.season-blossoms span:nth-child(5),.season-leaves span:nth-child(5),.season-snow span:nth-child(5){font-size:25px;animation-duration:20s;animation-delay:1s;left:78%}.season-blossoms span:nth-child(6),.season-leaves span:nth-child(6),.season-snow span:nth-child(6){font-size:17px;animation-duration:26s;animation-delay:8s;left:92%}@keyframes season-fall{0%{transform:translateY(-10vh)rotate(0)}to{transform:translate(-70px,115vh)rotate(240deg)}}.season-sunbeams{opacity:.85;background:radial-gradient(circle at 82% 15%,#fee02047,#0000 18%),linear-gradient(115deg,#0000 0%,#fee0201f 44%,#0000 72%)}.season-engine .footer-socials a{background:linear-gradient(135deg, var(--social-start), var(--social-end));color:#fff;border-radius:18px;justify-content:center;align-items:center;width:56px;height:56px;text-decoration:none;transition:all .3s;display:flex;box-shadow:0 12px 24px #00000026}.season-engine .footer-socials a:hover{transform:translateY(-4px)scale(1.05);box-shadow:0 18px 35px #00000038}.season-engine .footer-socials svg{width:24px;height:24px}.season-engine.season-winter{--social-start:#033663;--social-end:#28b9aa}.season-engine.season-spring{--social-start:#9b81b8;--social-end:#ec6fb7}.season-engine.season-summer{--social-start:#ffd54a;--social-end:#fea020}.season-engine.season-autumn{--social-start:#fea020;--social-end:#d94841}@media (prefers-reduced-motion:reduce){.season-effect span{animation:none;display:none}}.season-engine .primary-action,.season-engine .shop-button,.season-engine .booking-button{background:var(--season-button)!important;color:#fff!important}.season-engine .secondary-action{border-color:var(--season-button-border)!important;color:var(--season-button-border)!important}.season-engine .secondary-action:hover{background:var(--season-button)!important;color:#fff!important}
