@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600;700&display=swap');
/* =====================================================================
   Speelweek Stolwijk — template stylesheet (faithful subset)
   Reproduces the live speelweekstolwijk.nl design tokens so the SPPB
   section blocks in these pages preview exactly as on the live site.
   On the live Joomla site the full /css/style.css is already loaded;
   these blocks reuse the same classes (.stroke/.row/.col-*/.element/
   .btn-default) and drop straight into SP Page Builder.
   ===================================================================== */

/* ---- Fonts: DIN Next Rounded (live server) + Montserrat fallback ---- */
@font-face{font-family:"DINNextRoundedLTW01-Lig";src:url("https://speelweekstolwijk.nl/custom/assets/fonts/3c86cc77-75e3-424d-a62e-ddcba8cb6458.woff2") format("woff2"),url("https://speelweekstolwijk.nl/custom/assets/fonts/a97ce140-d04b-430b-a41b-56ea0794c997.woff") format("woff");font-display:swap;}
@font-face{font-family:"DINNextRoundedLTW01-Reg";src:url("https://speelweekstolwijk.nl/custom/assets/fonts/8436c5b3-8af1-40f9-acd7-48dfdcaeac50.woff2") format("woff2"),url("https://speelweekstolwijk.nl/custom/assets/fonts/b03c5cd2-c6ad-4764-9cab-bf6211f181a7.woff") format("woff");font-display:swap;}
@font-face{font-family:"DINNextRoundedLTW01-Med";src:url("https://speelweekstolwijk.nl/custom/assets/fonts/1120eb10-bbb9-40ce-8295-69fe28a06b68.woff2") format("woff2"),url("https://speelweekstolwijk.nl/custom/assets/fonts/97252acf-16d3-480c-8269-89ea815e4179.woff") format("woff");font-display:swap;}
@font-face{font-family:"DINNextRoundedLTW01-Bol";src:url("https://speelweekstolwijk.nl/custom/assets/fonts/2256e07a-0135-47d0-afbd-c63fcb1d4030.woff2") format("woff2"),url("https://speelweekstolwijk.nl/custom/assets/fonts/52382db1-3de6-473e-b9c0-3cb5e70e80a2.woff") format("woff");font-display:swap;}

:root{
  --oranje:#FF8000;
  --oranje-dark:#DB6E0B;
  --licht:#F6F6F6;
  --zwart:#000000;
  --din-lig:"DINNextRoundedLTW01-Lig","Montserrat",system-ui,sans-serif;
  --din-reg:"DINNextRoundedLTW01-Reg","Montserrat",system-ui,sans-serif;
  --din-med:"DINNextRoundedLTW01-Med","Montserrat",system-ui,sans-serif;
  --din-bol:"DINNextRoundedLTW01-Bol","Montserrat",system-ui,sans-serif;
}

*,*:after,*:before{margin:0;padding:0;box-sizing:border-box;word-break:break-word;font-family:var(--din-reg);}
html{scroll-behavior:smooth;}
body{font:normal normal normal 18px/26px var(--din-lig);color:#000;overflow-x:hidden;background:#fff;}
img{border:0;max-width:100%;height:auto;display:block;}
a{text-decoration:none;color:var(--oranje);transition:all .2s ease;}
strong{font-family:var(--din-bol);}

h1,h2{font:normal normal normal 70px/76px var(--din-bol);color:var(--oranje);margin:0 0 30px 0;}
h3{font:normal normal normal 44px/54px var(--din-reg);color:var(--oranje);margin:0 0 24px 0;}
h4{font:normal normal normal 32px/42px var(--din-lig);color:#000;margin:0 0 24px 0;}
h5{font:normal normal normal 22px/26px var(--din-med);color:var(--oranje);margin:0 0 6px 0;}
h6{font:normal normal normal 18px/26px var(--din-med);color:var(--oranje);margin:0 0 6px 0;}
p{font:normal normal normal 18px/26px var(--din-lig);margin:0 0 22px 0;color:#000;}
p.intro{font-family:var(--din-reg);}
p.small{font-size:15px;line-height:22px;}
ul{padding-left:24px;margin-bottom:22px;}
ul li{font:normal normal normal 18px/28px var(--din-lig);margin-bottom:4px;}

@media(max-width:768px){
  h1,h2{font-size:44px;line-height:50px;}
  h3{font-size:30px;line-height:38px;}
  h4{font-size:24px;line-height:32px;}
  body,p,ul li{font-size:16px;line-height:24px;}
}

/* ---- Layout / SPPB grid ---- */
#layout{overflow-x:hidden;margin:0 auto;}
.container{margin:0 auto;max-width:1180px;padding:0 15px;}
.container.fullwidthcontainer{max-width:100%!important;padding:0!important;}
.row:before,.row:after{display:table;content:" ";}
.row:after{clear:both;}
.row-inner{display:flex;flex-wrap:wrap;margin:0 -15px;}
[class*="col-"]{position:relative;min-height:1px;padding:0 15px;width:100%;}
.stroke{padding:70px 0;width:100%;display:block;}
.stroke.nopadding{padding:0;}
.stroke.nomargin{margin:0;}
.element{width:100%;height:100%;}
.txt-a-center{text-align:center!important;}
.txt-a-left{text-align:left!important;}
.txt-a-right{text-align:right!important;}

@media(min-width:769px){
  .col-12{width:100%;} .col-11{width:91.6667%;} .col-10{width:83.3333%;}
  .col-9{width:75%;} .col-8{width:66.6667%;} .col-7{width:58.3333%;}
  .col-6{width:50%;} .col-5{width:41.6667%;} .col-4{width:33.3333%;}
  .col-3{width:25%;} .col-2{width:16.6667%;} .col-1{width:8.3333%;}
  .offset-1{margin-left:8.3333%;} .offset-2{margin-left:16.6667%;}
}
@media(max-width:768px){ .stroke{padding:44px 0;} }

/* ---- Buttons ---- */
.btn-default-outer.center{text-align:center;}
.btn-default-outer.right{text-align:right;}
.btn-default{display:inline-block;text-align:center;vertical-align:middle;cursor:pointer;
  border:2px solid var(--oranje);padding:12px 30px;border-radius:30px;transition:all .2s ease;
  color:var(--oranje);background:#fff;letter-spacing:.04em;font:normal normal normal 18px/22px var(--din-reg);
  margin:16px 0 0 0;position:relative;overflow:hidden;}
.btn-default:after{content:'›';font-size:22px;margin-left:6px;line-height:1;}
.btn-default:hover{background:var(--oranje);color:#fff;border-color:var(--oranje-dark);}
.btn-default.filled{background:var(--oranje);color:#fff;}
.btn-default.filled:hover{background:var(--oranje-dark);border-color:var(--oranje-dark);}
.btn-default.white{background:#fff;color:var(--oranje);border-color:#fff;}
.btn-default.white:hover{color:var(--oranje-dark);}
.btn-default.empty{background:transparent;color:#fff;border-color:#fff;font-family:var(--din-bol);}
.btn-default.empty:hover{background:#fff;color:var(--oranje);}
.btn-default.big{padding:16px 40px;font-size:20px;}

/* ---- Forms ---- */
input,textarea,select{outline:none;width:100%;-webkit-appearance:none;font-family:var(--din-reg);}
input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="date"],textarea,select{
  font-weight:600;padding:14px 14px;border:2px solid var(--licht);background:var(--licht);width:100%;
  margin-bottom:16px;color:#000;border-radius:8px;transition:all .2s ease;font-size:16px;}
textarea{resize:none;height:150px;}
input:focus,textarea:focus,select:focus{border-color:var(--oranje);background:#fff;}
::placeholder{color:#B2B2B2;font-weight:400;}
label{display:block;font-family:var(--din-med);font-size:15px;color:#333;margin-bottom:5px;}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath fill='%23FF8000' d='M7 9L0 2l2-2 5 5 5-5 2 2z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;appearance:none;}
input[type="submit"]{border:0;padding:14px 34px;background:var(--oranje);color:#fff;cursor:pointer;border-radius:30px;
  width:auto;font:normal normal normal 18px/22px var(--din-reg);transition:all .2s ease;}
input[type="submit"]:hover{background:var(--oranje-dark);}

/* ================= HEADER / NAV ================= */
.header-wrapper{position:fixed;top:0;left:0;width:100%;z-index:100000;background:#fff;height:90px;
  box-shadow:0 2px 10px rgba(0,0,0,.06);}
.header .container{max-width:1180px;height:90px;}
.header .row,.header .row-inner{height:90px;}
.header .row-inner{display:flex;align-items:center;justify-content:space-between;margin:0;flex-wrap:nowrap;}
.header-wrapper .logo{width:250px;height:80px;flex-shrink:0;
  background-image:url('logo-top-horizontal.png');background-repeat:no-repeat;
  background-position:left center;background-size:contain;}
.header-wrapper .logo a{display:block;width:100%;height:100%;}
.main-menu{list-style:none;display:flex;align-items:center;padding:0;margin:0;}
.main-menu li{position:relative;}
.main-menu li a{display:block;padding:0 14px;color:#000;font:normal normal normal 20px/24px var(--din-med);}
.main-menu li a span{position:relative;}
.main-menu li a:hover span,.main-menu li.current-page a span{color:var(--oranje);}
.main-menu li.current-page a span:after,.main-menu li a:hover span:after{content:'';position:absolute;left:0;bottom:-6px;width:100%;height:3px;background:var(--oranje);border-radius:3px;}
.main-menu li.cta a{background:var(--oranje);color:#fff;border-radius:30px;padding:10px 22px;margin-left:10px;}
.main-menu li.cta a:hover span{color:#fff;}
.main-menu li.cta a span:after{display:none;}
.contact-info{display:none;}
.mobile-icon{display:none;}

@media(max-width:949px){
  .header-wrapper{height:74px;}
  .header .container,.header .row,.header .row-inner{height:74px;}
  .header-wrapper .logo{width:190px;height:56px;background-position:left center;position:relative;z-index:2;}
  .mobile-icon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--oranje);
    border-radius:10px;cursor:pointer;position:relative;z-index:3;}
  .mobile-icon span,.mobile-icon span:before,.mobile-icon span:after{position:absolute;height:3px;width:24px;background:#fff;border-radius:3px;transition:.3s;}
  .mobile-icon span:before{content:'';top:-7px;left:0;}
  .mobile-icon span:after{content:'';top:7px;left:0;}
  .main-menu{position:fixed;top:74px;right:-100%;width:78%;max-width:320px;height:calc(100vh - 74px);
    background:#fff;flex-direction:column;align-items:stretch;padding:14px 0;box-shadow:-6px 0 24px rgba(0,0,0,.12);
    transition:right .28s ease;overflow-y:auto;}
  .header-wrapper.is-active .main-menu{right:0;}
  .main-menu li a{padding:15px 26px;font-size:20px;}
  .main-menu li.current-page a span:after,.main-menu li a:hover span:after{display:none;}
  .main-menu li.cta a{margin:12px 26px;text-align:center;}
  .header-wrapper.is-active .mobile-icon span{background:transparent;}
  .header-wrapper.is-active .mobile-icon span:before{transform:translateY(7px) rotate(45deg);}
  .header-wrapper.is-active .mobile-icon span:after{transform:translateY(-7px) rotate(-45deg);}
}

/* content offset for fixed header */
.content{padding-top:90px;}
@media(max-width:949px){.content{padding-top:74px;}}

/* ================= FOOTER ================= */
#footer{width:100%;color:#fff;background:#000;}
#footer .footer-wrap{background:#000;padding:60px 0 40px;}
#footer .footer-wrap .heading{color:#fff;margin-bottom:14px;font-family:var(--din-med);font-size:20px;}
#footer .footer-wrap p,#footer .footer-wrap a,#footer .footer-wrap li,#footer .footer-wrap address{color:#fff;font-family:var(--din-lig);font-style:normal;font-size:16px;line-height:26px;}
#footer .footer-wrap a:hover{text-decoration:underline;}
#footer .footer-wrap ul{list-style:none;padding:0;margin:0;}
#footer .footer-wrap ul li{position:relative;padding-left:16px;margin-bottom:6px;}
#footer .footer-wrap ul li:before{content:'›';position:absolute;left:0;color:var(--oranje);}
#footer .footer-social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#1f1f1f;color:#fff;margin-right:10px;font-size:18px;transition:.2s;}
#footer .footer-social a:hover{background:var(--oranje);}
#footer .copyrights{background:#1A1A1A;padding:16px 0;}
#footer .copyrights p,#footer .copyrights a{color:#fff;font-family:var(--din-lig);font-size:15px;margin:0;}
#footer .copyrights a{color:#fff;}
#footer .copyrights a:hover{color:var(--oranje);}

/* =====================================================================
   Speelweek Stolwijk — site additions (components on top of template)
   Kept in the same visual language: DIN Next Rounded + #FF8000, with a
   subtle teal/yellow accent taken from the logo for the kids-festival
   warmth. All classes are namespaced (sw-) so they never clash with the
   live template. Drop each block into an SPPB "HTML" element.
   ===================================================================== */
:root{
  --teal:#1FB6C4;      /* uit het logo */
  --teal-dark:#159aa6;
  --geel:#FFC13C;
  --zand:#FFF6EA;
}

/* section background helpers */
.sw-bg-licht{background:var(--licht);}
.sw-bg-zand{background:var(--zand);}
.sw-bg-oranje{background:var(--oranje);}
.sw-bg-teal{background:var(--teal);}
.sw-bg-oranje h1,.sw-bg-oranje h2,.sw-bg-oranje h3,.sw-bg-oranje p,.sw-bg-oranje h4,
.sw-bg-teal h1,.sw-bg-teal h2,.sw-bg-teal h3,.sw-bg-teal p,.sw-bg-teal h4{color:#fff;}

/* eyebrow */
.sw-eyebrow{display:inline-block;font-family:var(--din-med);text-transform:uppercase;letter-spacing:.12em;
  font-size:15px;color:var(--teal);margin-bottom:12px;}
.sw-bg-oranje .sw-eyebrow,.sw-bg-teal .sw-eyebrow{color:#fff;opacity:.9;}
.sw-center{text-align:center;}
.sw-lead{font-family:var(--din-reg);font-size:20px;line-height:30px;}
@media(max-width:768px){.sw-lead{font-size:17px;line-height:26px;}}

/* ---------- HERO ---------- */
.sw-hero{position:relative;min-height:78vh;display:flex;align-items:center;justify-content:center;
  text-align:center;color:#fff;overflow:hidden;}
.sw-hero .sw-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.sw-hero:after{content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(0,0,0,.5) 0%,rgba(255,128,0,.55) 100%);}
.sw-hero .sw-hero-inner{position:relative;z-index:2;max-width:900px;padding:40px 20px;}
.sw-hero h1{color:#fff;font-size:76px;line-height:80px;margin-bottom:16px;text-shadow:0 2px 20px rgba(0,0,0,.25);}
.sw-hero p{color:#fff;font-family:var(--din-reg);font-size:24px;line-height:32px;margin-bottom:26px;text-shadow:0 1px 12px rgba(0,0,0,.25);}
.sw-datebadge{display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--oranje);
  font-family:var(--din-bol);font-size:20px;padding:10px 22px;border-radius:40px;margin-bottom:26px;box-shadow:0 8px 24px rgba(0,0,0,.18);}
.sw-datebadge i{color:var(--oranje);}
.sw-hero .btn-default{margin:8px 8px 0;}
@media(max-width:768px){
  .sw-hero{min-height:70vh;}
  .sw-hero h1{font-size:42px;line-height:48px;}
  .sw-hero p{font-size:18px;line-height:26px;}
  .sw-datebadge{font-size:16px;}
}

/* wavy divider */
.sw-wave{display:block;width:100%;line-height:0;}
.sw-wave svg{display:block;width:100%;height:60px;}

/* ---------- ACTIVITY CARDS ---------- */
.sw-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
@media(max-width:900px){.sw-cards{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.sw-cards{grid-template-columns:1fr;}}
.sw-card{background:#fff;border-radius:18px;box-shadow:0 10px 30px rgba(0,0,0,.07);overflow:hidden;
  transition:transform .25s ease,box-shadow .25s ease;text-align:center;}
.sw-cards:hover .sw-card{opacity:.85;}
.sw-cards .sw-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.12);opacity:1;}
.sw-card .sw-card-photo{height:150px;background-size:cover;background-position:center;}
.sw-card .sw-card-body{padding:22px 20px 26px;}
.sw-card .sw-ico{width:62px;height:62px;border-radius:50%;background:var(--oranje);color:#fff;display:flex;
  align-items:center;justify-content:center;font-size:26px;margin:-52px auto 14px;border:4px solid #fff;position:relative;z-index:2;}
.sw-card:nth-child(2) .sw-ico{background:var(--teal);}
.sw-card:nth-child(3) .sw-ico{background:var(--geel);color:#7a4b00;}
.sw-card:nth-child(4) .sw-ico{background:var(--oranje-dark);}
.sw-card h5{font-size:21px;color:#222;margin-bottom:8px;}
.sw-card p{font-size:16px;line-height:24px;margin:0;}

/* ---------- INFO / IMAGE SPLIT ---------- */
.sw-split{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.sw-split.rev .sw-split-img{order:2;}
@media(max-width:820px){.sw-split{grid-template-columns:1fr;gap:28px;}.sw-split.rev .sw-split-img{order:0;}}
.sw-split-img img{width:100%;border-radius:20px;box-shadow:0 16px 40px rgba(0,0,0,.12);}

/* ---------- CTA BAND ---------- */
.sw-ctaband{text-align:center;}
.sw-ctaband h2{color:#fff;margin-bottom:12px;}
.sw-ctaband p{color:#fff;opacity:.95;max-width:640px;margin:0 auto 8px;}

/* ---------- TARIEF CARDS ---------- */
.sw-prices{display:grid;grid-template-columns:1fr 1fr;gap:26px;max-width:820px;margin:0 auto;}
@media(max-width:640px){.sw-prices{grid-template-columns:1fr;}}
.sw-price{background:#fff;border-radius:20px;border:2px solid #eee;padding:34px 30px;text-align:center;box-shadow:0 10px 30px rgba(0,0,0,.06);}
.sw-price.hl{border-color:var(--oranje);}
.sw-price .sw-amt{font-family:var(--din-bol);color:var(--oranje);font-size:52px;line-height:1;margin:8px 0 6px;}
.sw-price h5{color:#222;font-size:22px;}
.sw-price p{font-size:16px;margin:0;}
.sw-price .sw-tag{display:inline-block;background:var(--oranje);color:#fff;font-family:var(--din-med);font-size:13px;
  letter-spacing:.08em;text-transform:uppercase;padding:5px 14px;border-radius:30px;margin-bottom:6px;}
.sw-price.alt .sw-amt{color:var(--teal);}
.sw-price.alt .sw-tag{background:var(--teal);}

/* ---------- NOTICE ---------- */
.sw-notice{background:#fff;border-left:6px solid var(--oranje);border-radius:14px;padding:26px 30px;
  box-shadow:0 10px 30px rgba(0,0,0,.06);max-width:820px;margin:0 auto;}
.sw-notice h4{color:var(--oranje);font-family:var(--din-bol);margin-bottom:10px;}
.sw-notice p:last-child{margin-bottom:0;}
.sw-notice .fa-solid{color:var(--oranje);margin-right:8px;}

/* ---------- FORM ---------- */
.sw-form{max-width:820px;margin:0 auto;background:#fff;border-radius:20px;padding:36px;box-shadow:0 16px 44px rgba(0,0,0,.08);}
.sw-fieldset{margin-bottom:28px;}
.sw-fieldset > legend{font-family:var(--din-bol);color:var(--oranje);font-size:22px;margin-bottom:6px;
  display:flex;align-items:center;gap:10px;}
.sw-fieldset > .sw-fs-sub{color:#777;font-size:15px;margin-bottom:16px;}
.sw-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;}
.sw-grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0 18px;}
@media(max-width:640px){.sw-grid2,.sw-grid3{grid-template-columns:1fr;}}
.sw-choice{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px;}
.sw-choice input{display:none;}
.sw-choice label{cursor:pointer;background:var(--licht);border:2px solid var(--licht);border-radius:30px;
  padding:9px 18px;font-family:var(--din-med);font-size:15px;color:#555;margin:0;transition:.15s;}
.sw-choice input:checked + label{background:var(--oranje);border-color:var(--oranje);color:#fff;}
.sw-q{font-family:var(--din-med);color:#333;margin:0 0 8px;font-size:16px;}
.sw-yesno label{min-width:64px;text-align:center;}
.sw-pay{background:var(--zand);border:2px dashed var(--oranje);border-radius:16px;padding:24px;margin-top:10px;}
.sw-pay .sw-pay-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.sw-pay .sw-pay-total{font-family:var(--din-bol);color:var(--oranje);font-size:30px;}
.sw-ideal{display:inline-flex;align-items:center;gap:8px;background:#fff;border:2px solid #c9007a;color:#c9007a;
  border-radius:10px;padding:8px 14px;font-family:var(--din-med);font-size:15px;}
.sw-mollie-note{font-size:13px;color:#999;margin-top:14px;}
.sw-req{color:var(--oranje);}

/* ---------- SPONSOR GRID ---------- */
.sw-sponsors{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
@media(max-width:900px){.sw-sponsors{grid-template-columns:repeat(3,1fr);}}
@media(max-width:520px){.sw-sponsors{grid-template-columns:repeat(2,1fr);}}
.sw-sponsor{background:#fff;border:1px solid #eee;border-radius:14px;height:110px;display:flex;align-items:center;
  justify-content:center;padding:16px;transition:.2s;}
.sw-sponsor:hover{box-shadow:0 10px 26px rgba(0,0,0,.1);transform:translateY(-3px);}
.sw-sponsor img{max-height:70px;max-width:100%;width:auto;object-fit:contain;}

/* ---------- PRIZE LIST (loterij) ---------- */
.sw-prizes{max-width:860px;margin:0 auto;display:grid;gap:12px;}
.sw-prize{display:flex;align-items:center;gap:16px;background:#fff;border-radius:14px;padding:16px 20px;
  box-shadow:0 6px 18px rgba(0,0,0,.05);}
.sw-prize .sw-rank{flex-shrink:0;width:46px;height:46px;border-radius:50%;background:var(--oranje);color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:var(--din-bol);font-size:18px;}
.sw-prize:nth-child(1) .sw-rank{background:var(--geel);color:#7a4b00;}
.sw-prize:nth-child(2) .sw-rank{background:#bfc7cf;color:#31404d;}
.sw-prize:nth-child(3) .sw-rank{background:#d69b6a;color:#4a2c10;}
.sw-prize .sw-prize-body{flex:1;}
.sw-prize .sw-prize-body b{font-family:var(--din-med);display:block;color:#222;font-size:17px;}
.sw-prize .sw-prize-body span{color:#777;font-size:15px;}

/* ---------- SCHEDULE / opening hours ---------- */
.sw-hours{max-width:720px;margin:0 auto;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(0,0,0,.06);}
.sw-hours .sw-hrow{display:flex;justify-content:space-between;padding:15px 24px;border-bottom:1px solid #f0f0f0;}
.sw-hours .sw-hrow:last-child{border-bottom:0;}
.sw-hours .sw-hrow:nth-child(even){background:#fafafa;}
.sw-hours .sw-hday{font-family:var(--din-med);color:#333;}
.sw-hours .sw-htime{color:var(--oranje);font-family:var(--din-med);}

/* ---------- BOARD / team ---------- */
.sw-board{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;max-width:900px;margin:0 auto;}
@media(max-width:760px){.sw-board{grid-template-columns:repeat(2,1fr);}}
.sw-member{text-align:center;background:#fff;border-radius:16px;padding:22px 12px;box-shadow:0 8px 24px rgba(0,0,0,.06);}
.sw-member .sw-av{width:64px;height:64px;border-radius:50%;background:var(--teal);color:#fff;font-family:var(--din-bol);
  font-size:24px;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
.sw-member:nth-child(odd) .sw-av{background:var(--oranje);}
.sw-member b{font-family:var(--din-med);color:#222;font-size:16px;}

/* ---------- ACCORDION (voorwaarden) ---------- */
.sw-acc{max-width:860px;margin:0 auto;}
.sw-acc details{background:#fff;border-radius:12px;box-shadow:0 6px 18px rgba(0,0,0,.05);margin-bottom:12px;overflow:hidden;}
.sw-acc summary{cursor:pointer;list-style:none;padding:18px 24px;font-family:var(--din-med);color:#222;font-size:18px;
  display:flex;justify-content:space-between;align-items:center;}
.sw-acc summary::-webkit-details-marker{display:none;}
.sw-acc summary:after{content:'+';color:var(--oranje);font-size:26px;line-height:1;font-family:var(--din-bol);}
.sw-acc details[open] summary:after{content:'–';}
.sw-acc .sw-acc-body{padding:0 24px 22px;}
.sw-acc .sw-acc-body p{font-size:16px;line-height:25px;margin-bottom:12px;}

/* ---------- CONTACT ---------- */
.sw-contact{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;}
@media(max-width:820px){.sw-contact{grid-template-columns:1fr;}}
.sw-contact-info li{list-style:none;display:flex;align-items:center;gap:14px;margin-bottom:16px;font-size:17px;}
.sw-contact-info .sw-ci-ico{width:46px;height:46px;border-radius:50%;background:var(--oranje);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}

/* small page header (interior pages) */
.sw-pagehead{position:relative;color:#fff;text-align:center;padding:70px 20px;overflow:hidden;}
.sw-pagehead .sw-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.sw-pagehead:after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,0,0,.5),rgba(255,128,0,.55));}
.sw-pagehead .sw-ph-inner{position:relative;z-index:2;}
.sw-pagehead h1{color:#fff;margin:0;}

/* ===== SPPB/Helix integratie: secties, header, footer volgens Speelweek-ontwerp ===== */
.sw-sec{padding:64px 0}
.sw-sec.sw-bg-licht{background:var(--licht)}
.sw-sec.sw-bg-zand{background:var(--zand)}
.sw-sec.sw-bg-oranje{background:var(--oranje)}
@media(max-width:768px){.sw-sec{padding:44px 0}}
/* Helix header -> Speelweek look */
#sp-header{background:#fff!important;box-shadow:0 2px 10px rgba(0,0,0,.06)}
#sp-header .logo-image{height:52px!important}
.sp-megamenu-parent>li>a{font-family:var(--din-med)!important;color:#231F20!important;font-size:18px!important}
.sp-megamenu-parent>li.active>a,.sp-megamenu-parent>li>a:hover{color:var(--oranje)!important}
.gg-header-cta{display:inline-block;background:var(--oranje);color:#fff!important;border-radius:30px;padding:10px 22px;font-family:var(--din-med);margin-left:14px}
.gg-header-cta:hover{background:var(--oranje-dark);color:#fff!important}
/* Speelweek footer */
#db-footer.db-footer{background:#000;color:#fff;padding:0}
#db-footer .db-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:34px;padding:56px 0 40px}
@media(max-width:820px){#db-footer .db-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){#db-footer .db-footer-grid{grid-template-columns:1fr}}
#db-footer .db-footer-logo{height:52px;width:auto;margin-bottom:16px;background:#fff;padding:8px 12px;border-radius:12px}
#db-footer .db-footer-company,#db-footer p,#db-footer a,#db-footer li{color:#fff;font-family:var(--din-lig);font-size:16px;line-height:26px}
#db-footer .db-footer-certs-title,#db-footer .heading{font-family:var(--din-med);font-size:19px;margin-bottom:12px;color:#fff}
#db-footer ul{list-style:none;padding:0;margin:0}
#db-footer .db-footer-links li{padding-left:16px;position:relative;margin-bottom:6px}
#db-footer .db-footer-links li:before{content:'›';position:absolute;left:0;color:var(--oranje)}
#db-footer .db-footer-social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:#1f1f1f;color:#fff;margin-right:10px}
#db-footer .db-footer-social a:hover{background:var(--oranje)}
#db-footer .db-footer-contact p{display:flex;gap:12px;align-items:flex-start;margin-bottom:12px}
#db-footer .db-footer-contact i{color:var(--oranje);margin-top:4px}
#db-footer .db-footer-copyright{background:#1A1A1A;padding:16px 0}
#db-footer .db-footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
#db-footer .db-footer-legal a{color:#fff;margin-left:16px}
#db-footer .db-footer-legal a:hover{color:var(--oranje)}

/* ============================================================
   HELIX-INTEGRATIE (uit GroenGarant, aangepast naar Speelweek)
   volle breedte, header-layout, sponsor-carousel
   ============================================================ */
body,.body-innerwrapper{overflow-x:hidden}

/* FULL-BLEED: secties over de volle breedte, inhoud in .container (1180) */
.sw-hero,.sw-sec{width:100vw;margin-left:calc(50% - 50vw)}
#sp-page-builder .sppb-section{padding-left:0;padding-right:0}
.sppb-section:has(.sw-hero),.sppb-section:has(.sw-sec){padding-top:0!important;padding-bottom:0!important}
#sp-page-builder .sppb-row-container,#sp-page-builder .sppb-row{--bs-gutter-x:0;margin-left:0;margin-right:0;max-width:100%}
#sp-page-builder .sppb-column,#sp-page-builder [class*="sppb-col-"]{padding-left:0;padding-right:0}
#sp-page-builder .sppb-addon{margin-bottom:0}
#sp-main-body,#sp-component{padding:0!important}

/* HEADER: logo links, menu rechts in de balk, oranje active-underline */
#sp-header,#sp-header.db-header{background:#fff!important;box-shadow:0 2px 12px rgba(0,0,0,.06);height:auto;padding:0}
#sp-header .container-inner{max-width:1180px;margin-inline:auto;padding-inline:15px}
#sp-header .container-inner>.row{min-height:88px;align-items:center;flex-wrap:nowrap}
#sp-header #sp-logo{padding-left:0}
#sp-header #sp-menu{padding-right:0;margin-left:auto}
#sp-header #sp-menu .sp-column{display:flex;align-items:center;justify-content:flex-end}
#sp-header .logo-image{height:52px!important;width:auto!important}
#sp-header.header-sticky{background:#fff!important;box-shadow:0 2px 14px rgba(0,0,0,.12)}
#sp-header .sp-megamenu-parent{margin:0;display:flex!important;align-items:center}
#sp-header .sp-megamenu-parent>li{padding:0 16px;margin:0!important;display:inline-flex;align-items:center;float:none}
#sp-header .sp-megamenu-parent>li>a{font-family:var(--din-med)!important;font-weight:600;font-size:18px;color:#231F20!important;min-height:88px;display:flex;align-items:center;background:transparent!important;position:relative;padding:0}
#sp-header .sp-megamenu-parent>li>a:hover{color:var(--oranje)!important}
#sp-header .sp-megamenu-parent>li>a::after{content:"";position:absolute;left:0;right:0;bottom:26px;height:4px;border-radius:3px;background:var(--oranje);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
#sp-header .sp-megamenu-parent>li>a:hover::after,#sp-header .sp-megamenu-parent>li.active>a::after,#sp-header .sp-megamenu-parent>li.current-item>a::after{transform:scaleX(1)}
.gg-header-cta{display:inline-block;background:var(--oranje);color:#fff!important;border-radius:30px;padding:11px 24px;font-family:var(--din-med);margin-left:16px;white-space:nowrap}
.gg-header-cta:hover{background:var(--oranje-dark);color:#fff!important}
#sp-header .burger-icon span{background:var(--oranje)}
.gg-mobile-cta{position:fixed;bottom:0;left:0;right:0;z-index:999;background:var(--oranje);color:#fff!important;text-align:center;padding:14px;font-family:var(--din-med)}

/* SPONSOR-CAROUSEL */
.sw-marquee{overflow:hidden;width:100%;padding:22px 0;margin:20px 0 8px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.sw-marquee-track{display:flex;gap:24px;width:max-content;animation:sw-scroll 80s linear infinite}
.sw-marquee:hover .sw-marquee-track{animation-play-state:paused}
.sw-marquee .sw-sponsor{flex:0 0 auto;width:180px;height:104px;background:#fff;border:1px solid #eee;border-radius:14px;display:flex;align-items:center;justify-content:center;padding:16px}
.sw-marquee .sw-sponsor img{max-height:64px;max-width:100%;width:auto;object-fit:contain}
@keyframes sw-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ===== Speelweek finetune: speelse koppen (Fredoka), kleiner, header ===== */
h1,h2,h3,h4,.sw-hero h1,.sw-card h5,.sw-price .sw-amt,.sw-price h5,#footer .heading{
  font-family:'Fredoka','Baloo 2','DINNextRoundedLTW01-Bol','Montserrat',sans-serif!important;font-weight:600;letter-spacing:.2px}
h1,h2{font-size:48px;line-height:1.12}
h3{font-size:32px;line-height:1.2}
.sw-hero h1{font-size:56px;line-height:1.06}
.sw-card h5{font-size:20px}
.sw-eyebrow{font-family:'Fredoka','Montserrat',sans-serif;font-weight:600}
@media(max-width:768px){h1,h2{font-size:34px}.sw-hero h1{font-size:36px}h3{font-size:26px}}

/* header: logo groter, balk hoger, menu verticaal netjes */
#sp-header .container-inner>.row{min-height:104px}
#sp-header .logo-image{height:66px!important}
#sp-header .sp-megamenu-parent>li>a{min-height:104px}
#sp-header .sp-megamenu-parent>li>a::after{bottom:32px}

/* ===== Vaste header (menu + CTA altijd zichtbaar) ===== */
#sp-header .sw-headbar{display:flex;align-items:center;justify-content:space-between;min-height:104px;gap:24px}
#sp-header #sp-logo{padding:0;flex:0 0 auto}
.sw-nav{display:flex;align-items:center;gap:0}
.sw-nav .sp-megamenu-parent{display:flex;align-items:center;margin:0;padding:0;list-style:none}
.sw-burger,.sw-navtoggle{display:none}
@media(max-width:991px){
  #sp-header .sw-headbar{min-height:74px}
  .sw-burger{display:flex;flex-direction:column;gap:5px;cursor:pointer;z-index:1001}
  .sw-burger span{width:28px;height:3px;background:var(--oranje);border-radius:3px;transition:.25s}
  .sw-nav{position:fixed;top:0;right:-100%;width:82%;max-width:330px;height:100vh;background:#fff;
    flex-direction:column;align-items:stretch;padding:88px 26px 26px;box-shadow:-8px 0 30px rgba(0,0,0,.15);
    transition:right .28s ease;z-index:1000}
  .sw-navtoggle:checked ~ .sw-nav{right:0}
  .sw-nav .sp-megamenu-parent{flex-direction:column;align-items:stretch}
  .sw-nav .sp-megamenu-parent>li>a{min-height:auto;padding:14px 0;font-size:20px}
  .sw-nav .sp-megamenu-parent>li>a::after{display:none}
  .gg-header-cta{margin:14px 0 0;text-align:center}
}

/* ===== Kop: overal hetzelfde (Fredoka), highlight alleen andere kleur ===== */
h1 span,h2 span,h3 span,h4 span,.sw-hl,.sw-hero h1 span{
  font-family:'Fredoka','Baloo 2','DINNextRoundedLTW01-Bol','Montserrat',sans-serif!important;
  font-weight:600!important;letter-spacing:.2px}
.sw-hl{color:var(--teal)}
.sw-pagehead{width:100vw;margin-left:calc(50% - 50vw)}
.sppb-section:has(.sw-pagehead){padding:0!important}

/* Logo groter, steekt aan de onderkant net onder de balk uit */
#sp-header,#sp-header .container-inner,#sp-header .sw-headbar,#sp-header #sp-logo{overflow:visible}
#sp-header .sw-headbar{min-height:86px}
#sp-header .logo-image{height:100px!important;position:relative;top:22px;z-index:2}
#sp-header .sp-megamenu-parent>li>a{min-height:86px}
#sp-header .sp-megamenu-parent>li>a::after{bottom:23px}
@media(max-width:991px){#sp-header .sw-headbar{min-height:64px}#sp-header .logo-image{height:78px!important;top:4px}}

/* ===== Joomla menu-module in de header ===== */
.sw-nav ul.mod-menu,.sw-nav ul.menu,.sw-nav .sp-megamenu-parent{display:flex;align-items:center;list-style:none;margin:0;padding:0}
.sw-nav ul.mod-menu li,.sw-nav ul.menu li{position:relative;padding:0 16px}
.sw-nav ul.mod-menu li>a,.sw-nav ul.menu li>a{font-family:var(--din-med)!important;font-weight:600;font-size:18px;color:#231F20!important;min-height:86px;display:flex;align-items:center;background:transparent!important;position:relative;padding:0}
.sw-nav ul.mod-menu li>a:hover,.sw-nav ul.menu li>a:hover{color:var(--oranje)!important}
.sw-nav ul.mod-menu li>a::after,.sw-nav ul.menu li>a::after{content:"";position:absolute;left:0;right:0;bottom:23px;height:4px;border-radius:3px;background:var(--oranje);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.sw-nav ul.mod-menu li.current>a::after,.sw-nav ul.mod-menu li.active>a::after,.sw-nav ul.menu li.current>a::after,.sw-nav ul.menu li.active>a::after,.sw-nav ul li>a:hover::after{transform:scaleX(1)}
@media(max-width:991px){
  .sw-nav ul.mod-menu,.sw-nav ul.menu{flex-direction:column;align-items:stretch;width:100%}
  .sw-nav ul.mod-menu li>a,.sw-nav ul.menu li>a{min-height:auto;padding:14px 0;font-size:20px}
  .sw-nav ul.mod-menu li>a::after,.sw-nav ul.menu li>a::after{display:none}
}

/* ============ RSForm! Pro formuliervelden (Speelweek huisstijl) ============ */
.rsform-block input[type=text],.rsform-block input[type=email],
.rsform-block input[type=tel],.rsform-block input[type=number],
.rsform-block input[type=password],.rsform-block textarea,.rsform-block select{
  width:100%;padding:12px 14px;border:2px solid #e3e3e3;border-radius:12px;
  font:inherit;background:#fff;box-sizing:border-box;color:#222}
.rsform-block textarea{min-height:120px;resize:vertical}
.rsform-block input:focus,.rsform-block textarea:focus,.rsform-block select:focus{
  outline:none;border-color:#FF8000;box-shadow:0 0 0 3px rgba(255,128,0,.15)}
.rsform-block h3{color:#FF8000;margin:34px 0 6px}
.formRequired{color:#FF8000;margin-left:3px}

/* Betaalmethode (Choose Payment): toon ALLEEN het iDEAL | Wero-logo,
   geen titel, geen radioknop, geen tekst. Icoon houdt eigen breedte/hoogte. */
.rsform-block-betaalmethode .formControlLabel{display:none}
.rsform-block-betaalmethode input[type=radio]{display:none}
.rsform-block-betaalmethode label{font-size:0;margin:0;cursor:default}
.rsform-block-betaalmethode .formControls{padding-left:0}

/* ============ Cookie-consent banner (site-breed, via footer) ============ */
.sw-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:99999;max-width:920px;margin:0 auto;
  background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.18);padding:22px 24px;display:none}
.sw-cookie.show{display:block}
.sw-cookie h4{margin:0 0 6px;color:var(--oranje);font-size:1.1rem}
.sw-cookie p{margin:0 0 14px;color:#444;font-size:.95rem;line-height:1.5}
.sw-cookie .sw-cookie-btns{display:flex;gap:10px;flex-wrap:wrap}
.sw-cookie button{border:0;border-radius:999px;padding:11px 22px;font:inherit;font-weight:600;cursor:pointer}
.sw-cookie .cc-accept{background:var(--oranje);color:#fff}
.sw-cookie .cc-min{background:#eee;color:#333}
.sw-cookie a{color:var(--oranje)}
