/*
 * Feestweek Core: opmaak van de eigen widgets. Overgenomen uit design/*.dc.html.
 * Alle regels beginnen met body.fw-site, zodat de standaardstijlen van Elementor en het thema niet voorgaan.
 */
body.fw-site .fw-site-header { position: sticky; top: 0; z-index: 50; }
body.fw-site.admin-bar .fw-site-header { top: 32px; }
@media (max-width: 782px) {
	body.fw-site.admin-bar .fw-site-header { top: 0; }
}
body.fw-site .fw-site-header .elementor-widget-fwc_menubalk, body.fw-site .fw-site-header .e-con { --padding-top: 0; --padding-bottom: 0; }
body.fw-site .fw-menubalk { background: linear-gradient(180deg, rgba(58,20,80,.96), rgba(58,20,80,.88)); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-bottom: 3px solid #FDD500; box-shadow: 0 6px 24px rgba(0,0,0,.35); }
body.fw-site .fw-menubalk__binnen { max-width: 1240px; margin: 0 auto; padding: 10px 16px; display: flex; align-items: center; gap: 16px; }
body.fw-site .fw-menubalk__logo { display: block; flex: 0 0 auto; line-height: 0; transform: rotate(-2deg); }
body.fw-site .fw-menubalk__logo img { height: 52px; width: auto; filter: drop-shadow(0 3px 0 rgba(0,0,0,.35)); }
body.fw-site .fw-menubalk__nav { margin-left: auto; display: flex; align-items: center; }
body.fw-site .fw-menubalk__lijst { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 4px; }
body.fw-site .fw-menubalk__lijst li { margin: 0; }
body.fw-site .fw-menubalk__lijst a { display: block; font-family: var(--fw-kop); text-transform: uppercase; font-size: 18px; letter-spacing: 1px; line-height: 1.2; text-decoration: none; padding: 10px 12px; border-radius: 10px; color: #fff !important; text-shadow: none; transition: transform .15s; }
body.fw-site .fw-menubalk__lijst a:hover { color: #FDD500 !important; transform: translateY(-2px) rotate(-1deg); }
body.fw-site .fw-menubalk__lijst .current-menu-item > a, body.fw-site .fw-menubalk__lijst .current_page_item > a { color: #FDD500 !important; background: rgba(253,213,0,.14); }
body.fw-site .fw-menubalk__tickets { margin-left: 8px; position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 8px 20px 6px; border-radius: 14px; background: #FDD500; color: #612A7B !important; font-family: var(--fw-kop); text-transform: uppercase; font-size: 22px; line-height: 1; text-decoration: none; box-shadow: 0 5px 0 #B8960A, 0 10px 20px rgba(0,0,0,.35); transform: rotate(-1.5deg); transition: transform .15s; }
body.fw-site .fw-menubalk__tickets span { position: relative; z-index: 1; }
body.fw-site .fw-menubalk__tickets:hover { color: #612A7B !important; background: #FFE033; transform: rotate(0deg) translateY(-2px); box-shadow: 0 7px 0 #B8960A, 0 12px 22px rgba(0,0,0,.35); }
body.fw-site .fw-menubalk__burger { display: none; width: 46px; height: 46px; border: 0; border-radius: 12px; background: rgba(255,255,255,.12); color: #FDD500; font-size: 26px; line-height: 1; cursor: pointer; align-items: center; justify-content: center; padding: 0; }
body.fw-site .fw-menubalk__burger:hover, body.fw-site .fw-menubalk__burger:focus { background: rgba(255,255,255,.2); color: #FDD500; }
body.fw-site .fw-menubalk__mobiel { display: flex; flex-direction: column; gap: 6px; padding: 8px 16px 18px; background: #3A1450; border-top: 2px dashed rgba(253,213,0,.45); }
body.fw-site .fw-menubalk__mobiel[hidden] { display: none; }
body.fw-site .fw-menubalk__mobiel .fw-menubalk__lijst { flex-direction: column; align-items: stretch; gap: 6px; }
body.fw-site .fw-menubalk__mobiel .fw-menubalk__lijst a { font-size: 24px; padding: 12px 14px; border-radius: 12px; }
@media (max-width: 1039px) {
	body.fw-site .fw-menubalk__nav { display: none; }
	body.fw-site .fw-menubalk__tickets { margin-left: auto; }
	body.fw-site .fw-menubalk__burger { display: inline-flex; }
}
body.fw-site .fw-vlaggenlijn { position: relative; height: 70px; overflow: hidden; overflow-x: clip; overflow-y: visible; }
body.fw-site .fw-vlaggenlijn__touw { position: absolute; left: -2%; right: -2%; top: 8px; height: 4px; background: #fff; border-radius: 4px; transform: rotate(-.6deg); box-shadow: 0 2px 0 rgba(0,0,0,.3); }
body.fw-site .fw-vlaggenlijn__vlaggen { position: absolute; left: 0; right: 0; top: 10px; display: flex; justify-content: space-between; padding: 0 2%; }
body.fw-site .fw-vlaggenlijn__vlaggen span { display: block; width: 26px; height: 38px; clip-path: polygon(0 0, 100% 0, 50% 100%); transform-origin: top center; filter: drop-shadow(0 2px 1px rgba(0,0,0,.3)); }
body.fw-site .fw-vlaggenlijn.is-wapperend .fw-vlaggenlijn__vlaggen span { animation: fwVlagWave 1.6s ease-in-out infinite; }
body.fw-site .fw-vlaggenlijn--scheiding { height: 60px; margin-top: 40px; }
body.fw-site .fw-vlaggenlijn--scheiding .fw-vlaggenlijn__touw { top: 10px; background: rgba(255,255,255,.85); box-shadow: none; transform: rotate(-.5deg); }
body.fw-site .fw-vlaggenlijn--scheiding .fw-vlaggenlijn__vlaggen { top: 12px; }
body.fw-site .fw-vlaggenlijn--scheiding .fw-vlaggenlijn__vlaggen span { width: 22px; height: 32px; }
body.fw-site .fw-tent { position: absolute; right: 6%; bottom: -6px; width: 84px; height: 62px; }
body.fw-site .fw-tent__mast { position: absolute; left: 50%; top: -22px; width: 3px; height: 30px; background: #fff; }
body.fw-site .fw-tent__vlag { position: absolute; left: calc(50% + 3px); top: -20px; width: 22px; height: 14px; background: #FDD500; clip-path: polygon(0 0, 100% 50%, 0 100%); animation: fwWapper 1.4s ease-in-out infinite; transform-origin: left center; }
body.fw-site .fw-tent__dak { position: absolute; left: 0; right: 0; top: 4px; height: 30px; background: repeating-linear-gradient(90deg, #7B35A0 0 12px, #fff 12px 24px); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
body.fw-site .fw-tent__wand { position: absolute; left: 6px; right: 6px; top: 32px; bottom: 0; background: repeating-linear-gradient(90deg, #fff 0 12px, #7B35A0 12px 24px); border-radius: 0 0 4px 4px; }
body.fw-site .fw-tent__deur { position: absolute; left: 50%; bottom: 0; width: 16px; height: 22px; margin-left: -8px; background: #3A1450; border-radius: 8px 8px 0 0; }
body.fw-site .e-con.fw-footer-binnen { background: #2B0E3F; border-top: 4px solid #FDD500; }
body.fw-site .elementor-widget.fw-footer-kop .elementor-heading-title { font-family: var(--fw-kop); text-transform: uppercase; font-weight: 400; font-size: 22px; color: #FDD500; line-height: 1.2; }
body.fw-site .elementor-widget.fw-footer-tekst, body.fw-site .elementor-widget.fw-footer-tekst p { line-height: 1.5; font-weight: 600; margin: 0; color: #fff; }
body.fw-site .elementor-widget.fw-footer-klein, body.fw-site .elementor-widget.fw-footer-klein p { font-size: 14px; opacity: .85; font-weight: 600; margin: 0; }
body.fw-site .elementor-widget.fw-footer-links .elementor-icon-list-items { display: flex; flex-direction: column; gap: 8px; }
body.fw-site .elementor-widget.fw-footer-links .elementor-icon-list-item, body.fw-site .elementor-widget.fw-footer-links .elementor-icon-list-item a { padding: 0 !important; margin: 0 !important; }
body.fw-site .elementor-widget.fw-footer-links .elementor-icon-list-text { color: #fff; font-weight: 800; font-size: 17px; transition: color .15s; }
body.fw-site .elementor-widget.fw-footer-links a:hover .elementor-icon-list-text { color: #FDD500; }
body.fw-site .elementor-widget.fw-footer-links .elementor-icon-list-icon { display: none; }
body.fw-site .elementor-widget.fw-social .elementor-button { width: 46px; height: 46px; padding: 0; border-radius: 12px; background: #612A7B; display: inline-flex; align-items: center; justify-content: center; color: #fff; font-family: var(--fw-kop); text-transform: uppercase; font-size: 18px; line-height: 1; border: 2px solid rgba(255,255,255,.3); }
body.fw-site .elementor-widget.fw-social .elementor-button:hover { background: #FDD500; color: #612A7B; }
body.fw-site .fw-onderregel { max-width: 1240px; margin: 0 auto; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.15); display: flex; flex-wrap: wrap; gap: 8px 20px; justify-content: space-between; font-size: 13px; opacity: .8; font-weight: 600; }
body.fw-site .fw-onderregel a { color: inherit !important; text-decoration: none; }
body.fw-site .fw-onderregel__credit { display: inline-flex; align-items: center; gap: 8px; }
body.fw-site .fw-viltje { display: inline-block; width: 14px; height: 14px; padding: 0; border-radius: 50%; background: radial-gradient(circle, #F0E6C8 0 45%, #D9C9A0 46% 100%); border: 2px solid #C9B88E; opacity: .5; transform: rotate(12deg); cursor: pointer; }
body.fw-site .fw-viltje:hover, body.fw-site .fw-viltje:focus { opacity: .9; background: radial-gradient(circle, #F0E6C8 0 45%, #D9C9A0 46% 100%); }
body.fw-site .fw-viltje__tekst { max-width: 1240px; margin: 12px auto 0; padding: 14px 18px; border-radius: 14px; background: #F3EAD0; color: #4A2A10; font-weight: 800; font-size: 16px; transform: rotate(-1deg); box-shadow: 0 6px 18px rgba(0,0,0,.3); border: 4px double #C9B88E; }
body.fw-site .fw-viltje__tekst[hidden] { display: none; }
body.fw-site .fw-nix18 { display: flex; align-items: center; gap: 12px; }
body.fw-site .fw-nix18__badge { display: inline-flex; align-items: center; justify-content: center; width: 58px; height: 58px; flex: 0 0 auto; border-radius: 50%; background: #fff; color: #E3161B; font-family: var(--fw-kop); text-transform: uppercase; font-size: 15px; letter-spacing: -.5px; border: 5px solid #E3161B; box-shadow: 0 0 0 2px #fff; line-height: 1; padding-top: 3px; }
body.fw-site .fw-nix18__logo { display: block; width: 104px; height: auto; flex: 0 0 auto; }
body.fw-site .fw-nix18__tekst { font-weight: 800; font-size: 15px; line-height: 1.3; }
body.fw-site .fw-countdown { position: relative; }
body.fw-site .fw-countdown__titel { margin: 0 0 18px; text-align: center; font-family: var(--fw-kop); text-transform: uppercase; font-weight: 400; font-size: clamp(30px, 5vw, 48px); line-height: 1.1; color: #FDD500; text-shadow: 0 3px 0 #3A1450, 0 6px 0 rgba(0,0,0,.3); transform: rotate(-1.5deg); }
body.fw-site .fw-countdown__kader { position: relative; max-width: 860px; margin: 0 auto; padding: 18px; border-radius: 30px; background: #612A7B; box-shadow: 0 16px 40px rgba(0,0,0,.45), inset 0 0 0 4px #3A1450;
	background-image: radial-gradient(circle, #B88A00 0 4px, rgba(0,0,0,.35) 4.5px 5.5px, transparent 6px), radial-gradient(circle, #B88A00 0 4px, rgba(0,0,0,.35) 4.5px 5.5px, transparent 6px), radial-gradient(circle, #B88A00 0 4px, rgba(0,0,0,.35) 4.5px 5.5px, transparent 6px), radial-gradient(circle, #B88A00 0 4px, rgba(0,0,0,.35) 4.5px 5.5px, transparent 6px);
	background-size: 28px 18px, 28px 18px, 18px 28px, 18px 28px; background-position: 0 1px, 0 calc(100% - 1px), 1px 0, calc(100% - 1px) 0; background-repeat: repeat-x, repeat-x, repeat-y, repeat-y; }
body.fw-site .fw-lampjes { position: absolute; inset: 0; border-radius: 30px; pointer-events: none;
	background-image: radial-gradient(circle, #FFFBE0 0 2px, #FDD500 2.5px 4.5px, rgba(253,213,0,.35) 5px 8px, transparent 9px), radial-gradient(circle, #FFFBE0 0 2px, #FDD500 2.5px 4.5px, rgba(253,213,0,.35) 5px 8px, transparent 9px), radial-gradient(circle, #FFFBE0 0 2px, #FDD500 2.5px 4.5px, rgba(253,213,0,.35) 5px 8px, transparent 9px), radial-gradient(circle, #FFFBE0 0 2px, #FDD500 2.5px 4.5px, rgba(253,213,0,.35) 5px 8px, transparent 9px);
	background-size: 56px 18px, 56px 18px, 18px 56px, 18px 56px; background-repeat: repeat-x, repeat-x, repeat-y, repeat-y; }
body.fw-site .fw-lampjes--a { animation: fwBlinkA 1.1s steps(1) infinite; background-position: 0 1px, 0 calc(100% - 1px), 1px 0, calc(100% - 1px) 0; }
body.fw-site .fw-lampjes--b { animation: fwBlinkB 1.1s steps(1) infinite; background-position: 28px 1px, 28px calc(100% - 1px), 1px 28px, calc(100% - 1px) 28px; }
body.fw-site .fw-countdown__bord { position: relative; border-radius: 16px; background: #2B0E3F; padding: 22px 12px 18px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; text-align: center; }
body.fw-site .fw-countdown__cijfer { font-family: var(--fw-kop); text-transform: uppercase; font-size: clamp(38px, 9vw, 92px); line-height: 1; color: #fff; text-shadow: 0 4px 0 #3A1450; perspective: 400px; }
body.fw-site .fw-countdown__cijfer--d { color: #FDD500; }
body.fw-site .fw-countdown__cijfer span { display: inline-block; transform-origin: center bottom; }
body.fw-site .fw-countdown__cijfer span.is-flip { animation: fwFlip .45s ease-out; }
body.fw-site .fw-countdown__label { font-family: var(--fw-kop); text-transform: uppercase; font-size: clamp(13px, 2vw, 20px); letter-spacing: 2px; opacity: .9; margin-top: 8px; }
body.fw-site .fw-figuur { display: grid; grid-template-columns: auto clamp(190px, 24vw, 280px); align-items: start; cursor: pointer; z-index: 2; position: relative; outline: none; }
body.fw-site .fw-figuur__ballon { margin: 18% -14px 0 0; position: relative; z-index: 3; max-width: 140px; background: #fff; color: #612A7B; font-family: var(--fw-kop); text-transform: uppercase; font-size: clamp(15px, 1.8vw, 20px); line-height: 1.1; padding: 10px 14px 8px; border-radius: 16px 16px 2px 16px; box-shadow: 0 6px 16px rgba(0,0,0,.35); transform: rotate(-4deg); }
body.fw-site .fw-figuur__bar { position: relative; display: flex; flex-direction: column; align-items: flex-end; grid-column: 2; }
body.fw-site .fw-figuur__ballon + .fw-figuur__bar { grid-column: auto; }
body.fw-site .fw-figuur__fotowrap { position: relative; width: 100%; padding: 0 12% 0 20%; margin-bottom: -22px; overflow: hidden; }
body.fw-site .fw-figuur__foto { width: 100%; height: auto; display: block; transform-origin: bottom center; filter: drop-shadow(0 8px 10px rgba(0,0,0,.45)); }
body.fw-site .fw-figuur.is-zwaai .fw-figuur__foto { animation: fwZwaai .5s ease-in-out 3; }
body.fw-site .fw-figuur__glas { position: absolute; left: 6%; bottom: 30px; width: 34px; height: 54px; z-index: 2; }
body.fw-site .fw-figuur__glas div { position: absolute; inset: 0; border: 3px solid rgba(255,255,255,.9); border-top-width: 2px; border-radius: 3px 3px 9px 9px; background: linear-gradient(180deg, #fff 0 22%, #FFE259 22%, #F5B400 100%); box-shadow: 0 4px 8px rgba(0,0,0,.35); }
body.fw-site .fw-figuur__glas span { position: absolute; right: -9px; top: 12px; width: 11px; height: 24px; border: 3px solid rgba(255,255,255,.9); border-left: 0; border-radius: 0 7px 7px 0; }
body.fw-site .fw-figuur__toonbank { position: relative; z-index: 1; width: 100%; }
body.fw-site .fw-figuur__blad { height: 16px; background: linear-gradient(180deg, #B07A3C, #8A5A2B); border-radius: 6px 6px 0 0; box-shadow: 0 -2px 0 rgba(255,255,255,.25) inset; }
body.fw-site .fw-figuur__front { height: 34px; background: repeating-linear-gradient(90deg, #6E4420 0 28px, #5E3A18 28px 56px); border-radius: 0 0 8px 8px; box-shadow: 0 10px 20px rgba(0,0,0,.45); display: flex; align-items: center; justify-content: center; }
body.fw-site .fw-figuur__front span { background: #FDD500; color: #612A7B; font-family: var(--fw-kop); text-transform: uppercase; font-size: 12px; letter-spacing: 1px; padding: 3px 10px 1px; border-radius: 6px; transform: rotate(-2deg); }
body.fw-site .fw-dagen { position: relative; overflow: hidden; }
body.fw-site .fw-dagen__lijn { position: absolute; left: -3%; right: -3%; top: 18px; height: 5px; background: #fff; border-radius: 5px; transform: rotate(-.8deg); box-shadow: 0 3px 0 rgba(0,0,0,.3); }
body.fw-site .fw-dagen__rij { position: relative; display: flex; gap: 14px; padding: 12px 16px 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; max-width: 1240px; margin: 0 auto; }
body.fw-site .fw-dagen__rij::-webkit-scrollbar { display: none; }
/* Brede schermen: vijf kaarten verdelen precies de breedte, niets wordt afgekapt. Smaller: horizontaal schuiven. */
@media (min-width: 1100px) { body.fw-site .fw-dagen__rij { overflow: visible; scroll-snap-type: none; } body.fw-site .fw-dagen__rij > .fw-dagkaart { flex: 1 1 0; min-width: 0; } }
body.fw-site .fw-dagkaart { scroll-snap-align: start; flex: 1 0 clamp(210px, 19vw, 236px); position: relative; text-decoration: none; color: #fff !important; transform: rotate(var(--fw-rot, 0deg)); transition: transform .2s; }
body.fw-site .fw-dagkaart:hover, body.fw-site .fw-dagkaart:focus-visible { transform: rotate(0) translateY(-6px) scale(1.03); color: #fff !important; }
body.fw-site .fw-dagkaart__punaise { position: absolute; left: 50%; top: -6px; width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; background: #FDD500; border: 3px solid #3A1450; z-index: 2; box-shadow: 0 2px 4px rgba(0,0,0,.4); }
body.fw-site .fw-dagkaart__binnen { border-radius: 18px; overflow: hidden; background: #fff; color: #2B0E3F; box-shadow: 0 12px 30px rgba(0,0,0,.4); border: 4px solid #fff; }
body.fw-site .fw-dagkaart__kop { background: var(--fw-dag); color: var(--fw-dagop, #fff); padding: 16px 14px 10px; display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
body.fw-site .fw-dagkaart__kort { font-family: var(--fw-kop); text-transform: uppercase; font-size: 46px; line-height: .9; text-shadow: 0 3px 0 rgba(0,0,0,.3); }
body.fw-site .fw-dagkaart__datum { font-family: var(--fw-kop); text-transform: uppercase; font-size: 18px; text-align: right; line-height: 1.05; }
body.fw-site .fw-dagkaart__body { padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 10px; min-height: 150px; }
body.fw-site .fw-dagkaart__regel { display: flex; gap: 8px; align-items: flex-start; }
body.fw-site .fw-dagkaart__label { flex: 0 0 auto; font-size: 11px; font-weight: 800; letter-spacing: 1px; background: #F1E9F5; color: #612A7B; padding: 4px 7px; border-radius: 6px; margin-top: 2px; }
body.fw-site .fw-dagkaart__label--avond { background: #612A7B; color: #FDD500; }
body.fw-site .fw-dagkaart__middag { font-weight: 800; font-size: 15px; line-height: 1.25; }
body.fw-site .fw-dagkaart__middaglogo { height: 40px; width: auto; margin-top: -8px; }
body.fw-site .fw-dagkaart__avond { font-family: var(--fw-kop); text-transform: uppercase; font-size: 20px; line-height: 1.05; color: #612A7B; }
body.fw-site .fw-dagkaart__logo { align-self: flex-start; margin-top: auto; display: inline-block; padding: 6px 10px; border-radius: 10px; line-height: 0; }
body.fw-site .fw-dagkaart__logo img { height: 40px; width: auto; filter: drop-shadow(0 1px 0 rgba(0,0,0,.3)); }
body.fw-site .fw-lineup__rij { position: relative; margin-top: 30px; }
body.fw-site .fw-lineup__kop { max-width: 1240px; margin: 0 auto; padding: 0 16px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
body.fw-site .fw-lineup__pil { display: inline-flex; align-items: center; gap: 8px; background: #fff; color: #612A7B; font-family: var(--fw-kop); text-transform: uppercase; font-size: 15px; padding: 7px 14px 5px; border-radius: 999px; box-shadow: 0 3px 0 rgba(0,0,0,.25); line-height: 1.1; }
body.fw-site .fw-lineup__naam { margin: 0; font-family: var(--fw-kop); text-transform: uppercase; font-weight: 400; font-size: clamp(24px, 3.5vw, 34px); line-height: 1.1; color: #fff; text-shadow: 0 2px 0 #3A1450; }
body.fw-site .fw-lineup__sub { font-weight: 800; font-size: 16px; color: #FDD500; }
body.fw-site .fw-lineup__kaarten, body.fw-site .fw-avond__kaarten { display: flex; gap: 18px; padding: 18px 16px 26px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; max-width: 1240px; margin: 0 auto; }
body.fw-site .fw-lineup__kaarten::-webkit-scrollbar, body.fw-site .fw-avond__kaarten::-webkit-scrollbar { display: none; }
body.fw-site .fw-avond__kaarten { padding-bottom: 10px; }
body.fw-site .fw-kaart { scroll-snap-align: start; flex: 0 0 clamp(230px, 28vw, 300px); aspect-ratio: 4 / 5; position: relative; border-radius: 20px; overflow: hidden; background: var(--fw-bg); box-shadow: 0 14px 34px rgba(0,0,0,.45); transition: transform .25s, filter .25s; transform: rotate(var(--fw-rot, 0deg)); }
body.fw-site .fw-kaart--home:hover { transform: rotate(-1.5deg) translateY(-6px); filter: brightness(1.08); }
body.fw-site .fw-kaart--programma:hover, body.fw-site .fw-kaart--retro:hover { transform: rotate(0) translateY(-6px); filter: brightness(1.08); }
body.fw-site .fw-kaart.is-nieuw.is-zichtbaar { animation: fwReveal .7s cubic-bezier(.2,1.2,.4,1); }
body.fw-site .fw-kaart__sitelogo { position: absolute; left: 10px; top: 10px; width: 58px; height: auto; z-index: 3; }
body.fw-site .fw-kaart__pil { position: absolute; left: 50%; top: 10px; transform: translateX(-50%); z-index: 3; white-space: nowrap; background: #fff; color: #612A7B; font-family: var(--fw-kop); text-transform: uppercase; font-size: 12px; line-height: 1.2; padding: 5px 12px 3px; border-radius: 999px; box-shadow: 0 2px 0 rgba(0,0,0,.25); }
body.fw-site .fw-kaart__avondlogo { position: absolute; left: 50%; top: 32px; transform: translateX(-50%); width: 62%; height: auto; z-index: 3; filter: drop-shadow(0 3px 4px rgba(0,0,0,.4)); }
body.fw-site .fw-kaart--programma .fw-kaart__avondlogo { top: 34px; width: 72%; max-height: 18%; object-fit: contain; }
body.fw-site .fw-kaart__avondnaam { position: absolute; left: 50%; top: 40px; transform: translateX(-50%) rotate(-2deg); z-index: 3; white-space: nowrap; color: #FDD500; font-family: var(--fw-kop); text-transform: uppercase; font-size: 20px; text-shadow: 0 2px 0 #3A1450, 0 4px 8px rgba(0,0,0,.4); }
body.fw-site .fw-kaart__kader { position: absolute; left: 7%; right: 7%; top: 24%; bottom: 9%; padding: 11px; box-shadow: 0 8px 20px rgba(0,0,0,.35); border-radius: 6px; --fw-lampje: radial-gradient(circle, #FFFBE0 0 1.5px, var(--fw-lamp) 2px 3.5px, rgba(0,0,0,.3) 4px 4.5px, transparent 5px); --fw-stap: 20px; --fw-rand: 11px; }
/* Lampjes: rijen boven en onder lopen van hoek tot hoek, de zijkanten vullen precies het stuk ertussen.
   "round" schaalt de afstand zodat er overal een heel aantal lampjes past en elke hoek een lampje heeft.
   Alleen deze lagen knipperen; de foto blijft altijd volledig zichtbaar. */
body.fw-site .fw-kaart__kader::before, body.fw-site .fw-kaart__kader::after { content: ""; position: absolute; border-radius: inherit; pointer-events: none; animation: fwTwinkle 2.4s ease-in-out infinite; animation-delay: inherit; }
body.fw-site .fw-kaart__kader::before { inset: 0; background-color: var(--fw-frame); background-image: var(--fw-lampje), var(--fw-lampje); background-size: var(--fw-stap) var(--fw-rand); background-position: 0 0, 0 100%; background-repeat: round no-repeat; }
body.fw-site .fw-kaart__kader::after { top: var(--fw-rand); bottom: var(--fw-rand); left: 0; right: 0; border-radius: 0; background-image: var(--fw-lampje), var(--fw-lampje); background-size: var(--fw-rand) var(--fw-stap); background-position: 0 0, 100% 0; background-repeat: no-repeat round; }
body.fw-site .fw-kaart__kader > * { position: relative; z-index: 1; }
body.fw-site .fw-kaart:hover .fw-kaart__kader::before, body.fw-site .fw-kaart:hover .fw-kaart__kader::after { animation-duration: .6s; filter: brightness(1.15); }
body.fw-site .fw-kaart__foto { position: relative; width: 100%; height: 100%; border-radius: 4px; overflow: hidden; background: #dcdce6; }
body.fw-site .fw-kaart.is-gordijn .fw-kaart__foto { background: #6E0F1C; }
body.fw-site .fw-kaart--programma .fw-kaart__foto { background: #2B0E3F; }
body.fw-site .fw-kaart__foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.fw-site .fw-kaart__gordijn { position: absolute; inset: 0; display: grid; place-items: center; background: repeating-linear-gradient(90deg, #8E1B2A 0 18px, #6E0F1C 18px 36px); box-shadow: inset 0 -30px 40px rgba(0,0,0,.4); text-align: center; }
body.fw-site .fw-kaart__gordijn > div:last-child { padding: 10px; }
body.fw-site .fw-kaart__valance { position: absolute; left: 0; right: 0; top: 0; height: 22px; background: repeating-linear-gradient(90deg, #FDD500 0 14px, #D4A017 14px 28px); clip-path: polygon(0 0, 100% 0, 100% 55%, 93.75% 100%, 87.5% 55%, 81.25% 100%, 75% 55%, 68.75% 100%, 62.5% 55%, 56.25% 100%, 50% 55%, 43.75% 100%, 37.5% 55%, 31.25% 100%, 25% 55%, 18.75% 100%, 12.5% 55%, 6.25% 100%, 0 55%); }
body.fw-site .fw-kaart__vraag { font-family: var(--fw-kop); text-transform: uppercase; font-size: 96px; line-height: 1; color: #FDD500; text-shadow: 0 5px 0 #3A1450, 0 10px 20px rgba(0,0,0,.5); }
body.fw-site .fw-kaart__wie { font-family: var(--fw-kop); text-transform: uppercase; font-size: 18px; color: #fff; text-shadow: 0 2px 0 rgba(0,0,0,.4); margin-top: 6px; }
body.fw-site .fw-kaart__volgt { position: absolute; inset: 0; display: grid; place-items: end center; background: radial-gradient(ellipse at 50% 30%, rgba(255,255,255,.25), rgba(0,0,0,.1)), linear-gradient(180deg, #8a8a9a, #4c4c5c); }
body.fw-site .fw-kaart__volgt div { width: 60%; aspect-ratio: 1; border-radius: 50%; background: #2B0E3F; margin-bottom: 55%; opacity: .55; }
body.fw-site .fw-kaart__volgt span { position: absolute; bottom: 10px; background: rgba(0,0,0,.5); color: #fff; font-weight: 800; font-size: 12px; padding: 4px 10px; border-radius: 999px; }
body.fw-site .fw-kaart__banner { position: absolute; left: 4%; right: 4%; bottom: 5%; z-index: 4; background: var(--fw-banner); color: var(--fw-btekst); font-family: var(--fw-kop); font-size: clamp(16px, 1.7vw, 21px); letter-spacing: 1px; line-height: 1.05; text-align: center; padding: 13px 10px 10px; clip-path: polygon(0 8%, 100% 0, 98% 100%, 2% 94%); text-shadow: none; box-shadow: 0 6px 14px rgba(0,0,0,.4); text-transform: uppercase; }
body.fw-site .fw-kaart--programma .fw-kaart__banner { background: #612A7B; }
body.fw-site .fw-kaart__banner span { display: block; font-family: var(--fw-tekst); font-size: 13px; font-weight: 700; margin-top: 3px; opacity: .9; letter-spacing: .5px; text-transform: none; }
body.fw-site .fw-discobal { margin-left: auto; border: 0; background: transparent; cursor: pointer; padding: 0; width: 64px; height: 90px; position: relative; transform-origin: top center; animation: fwBallSwing 4s ease-in-out infinite; }
body.fw-site .fw-discobal, body.fw-site .fw-discobal:hover, body.fw-site .fw-discobal:focus { background: transparent !important; border: 0 !important; box-shadow: none !important; }
body.fw-site .fw-discobal.is-zwiep { animation: fwBallSwing .6s ease-in-out 6; }
body.fw-site .fw-discobal__draad { position: absolute; left: 50%; top: 0; width: 2px; height: 28px; margin-left: -1px; background: #ccc; }
body.fw-site .fw-discobal__bal { position: absolute; left: 50%; top: 24px; width: 60px; height: 60px; margin-left: -30px; filter: drop-shadow(0 0 10px rgba(255,255,255,.45)) drop-shadow(0 6px 8px rgba(0,0,0,.35)); }
body.fw-site .fw-discobal__bal svg { display: block; width: 100%; height: 100%; overflow: visible; }
body.fw-site .fw-discobal__glim { animation: fwTwinkle 1.8s ease-in-out infinite; }
body.fw-site .fw-discobal__glim:nth-of-type(2n) { animation-delay: .6s; }
body.fw-site .fw-discobal__glim:nth-of-type(3n) { animation-delay: 1.1s; }
body.fw-site .fw-discobal__ster { transform-box: fill-box; transform-origin: center; animation: fwDiscoSter 2.2s ease-in-out infinite; }
body.fw-site .fw-discobal__ster--2 { animation-delay: 1.1s; }
@keyframes fwDiscoSter { 0%, 100% { opacity: 0; transform: scale(.3) rotate(0deg); } 50% { opacity: 1; transform: scale(1) rotate(45deg); } }
body.fw-site .fw-radio { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; align-items: center; background: linear-gradient(135deg, #E3161B 0%, #9E0B10 100%); border-radius: 28px; padding: 28px; border: 6px solid #FDD500; box-shadow: 0 0 0 4px #612A7B, 0 20px 50px rgba(0,0,0,.45); position: relative; overflow: hidden; }
body.fw-site .fw-radio__stip { position: absolute; inset: 0; background: radial-gradient(circle, rgba(255,255,255,.9) 0 2px, transparent 3px) 0 0 / 22px 22px; opacity: .25; -webkit-mask-image: linear-gradient(90deg, #000, transparent 30%, transparent 70%, #000); mask-image: linear-gradient(90deg, #000, transparent 30%, transparent 70%, #000); pointer-events: none; }
body.fw-site .fw-radio__plaatwrap { position: relative; display: grid; place-items: center; }
body.fw-site .fw-radio__plaat { width: min(260px, 70vw); aspect-ratio: 1; border-radius: 50%; background: repeating-radial-gradient(circle, #111 0 2px, #222 2px 4px); box-shadow: 0 10px 30px rgba(0,0,0,.5), 0 0 0 6px #fff; display: grid; place-items: center; animation: fwSpin 6s linear infinite; }
body.fw-site .fw-radio__label { width: 40%; aspect-ratio: 1; border-radius: 50%; background: #FDD500; display: grid; place-items: center; font-family: var(--fw-kop); text-transform: uppercase; font-size: 13px; color: #612A7B; text-align: center; line-height: 1; }
body.fw-site .fw-radio__label--logo { width: 34%; background: #000; overflow: hidden; box-shadow: none; }
body.fw-site .fw-radio__label--logo img { width: 74%; height: 74%; object-fit: contain; display: block; }
body.fw-site .fw-radio__tekst { position: relative; }
body.fw-site .fw-radio__live { display: inline-flex; align-items: center; gap: 8px; background: #fff; color: #E3161B; font-family: var(--fw-kop); text-transform: uppercase; font-size: 14px; padding: 6px 14px 4px; border-radius: 999px; margin-bottom: 10px; line-height: 1.1; }
body.fw-site .fw-radio__live span { width: 10px; height: 10px; border-radius: 50%; background: #E3161B; box-shadow: 0 0 0 3px rgba(227,22,27,.3); }
body.fw-site .fw-radio__kop { margin: 0 0 8px; font-family: var(--fw-kop); text-transform: uppercase; font-weight: 400; font-size: clamp(30px, 4.5vw, 46px); line-height: 1.05; color: #FDD500; text-shadow: 0 3px 0 #612A7B; }
body.fw-site .fw-radio__p { margin: 0 0 18px; font-weight: 600; font-size: 17px; line-height: 1.5; }
body.fw-site .fw-radio__speler { display: flex; align-items: center; gap: 14px; border-radius: 16px; padding: 12px 14px; margin-bottom: 18px; background: rgba(0,0,0,.3); border: 3px solid rgba(255,255,255,.35); }
body.fw-site .fw-radio__play { flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%; border: 0; background: #FDD500; color: #612A7B; display: grid; place-items: center; font-size: 20px; padding: 0 0 0 4px; cursor: pointer; }
body.fw-site .fw-radio__play:hover, body.fw-site .fw-radio__play:focus { background: #fff; color: #612A7B; }
body.fw-site .fw-radio__play.is-aan { padding: 0; }
body.fw-site .fw-radio__info { flex: 1; min-width: 0; }
body.fw-site .fw-radio__spelertitel { font-family: var(--fw-kop); text-transform: uppercase; font-size: 18px; line-height: 1; }
body.fw-site .fw-radio__spelertekst { font-weight: 700; font-size: 13px; opacity: .85; margin-top: 4px; }
body.fw-site .fw-radio__eq { display: flex; align-items: flex-end; gap: 3px; height: 28px; }
body.fw-site .fw-radio__eq span { width: 4px; background: #FDD500; border-radius: 2px; height: 40%; }
body.fw-site .fw-radio__eq span:nth-child(2) { height: 90%; }
body.fw-site .fw-radio__eq span:nth-child(3) { height: 60%; }
body.fw-site .fw-radio__eq span:nth-child(4) { height: 100%; }
body.fw-site .fw-radio__eq span:nth-child(5) { height: 50%; }
body.fw-site .fw-radio.is-spelend .fw-radio__eq span { animation: fwEq .9s ease-in-out infinite alternate; transform-origin: bottom; }
body.fw-site .fw-radio.is-spelend .fw-radio__eq span:nth-child(2) { animation-duration: .6s; animation-delay: -.2s; }
body.fw-site .fw-radio.is-spelend .fw-radio__eq span:nth-child(3) { animation-duration: .75s; animation-delay: -.5s; }
body.fw-site .fw-radio.is-spelend .fw-radio__eq span:nth-child(4) { animation-duration: .5s; animation-delay: -.1s; }
body.fw-site .fw-radio.is-spelend .fw-radio__eq span:nth-child(5) { animation-duration: .85s; animation-delay: -.35s; }
@keyframes fwEq { 0% { transform: scaleY(.25); } 100% { transform: scaleY(1); } }
@media (prefers-reduced-motion: reduce) { body.fw-site .fw-radio.is-spelend .fw-radio__eq span { animation: none; } }
body.fw-site .fw-radio__acties { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
body.fw-site .fw-radio__knop { display: inline-flex; align-items: center; min-height: 56px; padding: 12px 28px 8px; border-radius: 16px; background: #FDD500; color: #612A7B !important; font-family: var(--fw-kop); text-transform: uppercase; font-size: 24px; line-height: 1; text-decoration: none; box-shadow: 0 6px 0 #B8960A; transform: rotate(-1.5deg); transition: transform .15s; }
body.fw-site .fw-radio__knop:hover { transform: rotate(0) scale(1.04); }
body.fw-site .fw-radio__extra { font-family: var(--fw-kop); text-transform: uppercase; font-size: 17px; color: #fff; text-shadow: 0 2px 0 rgba(0,0,0,.4); transform: rotate(2deg); display: inline-block; }
body.fw-site .fw-prikbord { background: #C98A4B; background-image: radial-gradient(rgba(0,0,0,.08) 1px, transparent 1.5px); background-size: 6px 6px; border: 14px solid #8A5A2B; border-radius: 10px; box-shadow: inset 0 0 40px rgba(0,0,0,.35), 0 20px 50px rgba(0,0,0,.45); padding: 26px 18px; display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 22px 18px; }
body.fw-site .fw-polaroidfoto { position: relative; border: 0; background: #fff; padding: 10px 10px 34px; cursor: zoom-in; box-shadow: 0 8px 18px rgba(0,0,0,.35); transform: rotate(var(--fw-rot, 0deg)) translateY(var(--fw-par, 0px)); transition: transform .25s; text-align: left; font-family: inherit; border-radius: 0; display: block; width: 100%; }
body.fw-site .fw-polaroidfoto:hover, body.fw-site .fw-polaroidfoto:focus-visible { transform: rotate(0) scale(1.06); z-index: 2; background: #fff; }
body.fw-site .fw-polaroidfoto__tape { position: absolute; left: 50%; top: -10px; width: 80px; height: 24px; margin-left: -40px; background: rgba(253,213,0,.75); transform: rotate(var(--fw-tape, -5deg)); box-shadow: 0 1px 2px rgba(0,0,0,.2); }
body.fw-site .fw-polaroidfoto img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; background: #2B0E3F; height: auto; }
body.fw-site .fw-polaroidfoto__tekst { position: absolute; left: 12px; right: 12px; bottom: 9px; font-family: var(--fw-kop); text-transform: uppercase; font-size: 15px; line-height: 1.2; color: #612A7B; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.fw-site .fw-sponsors { text-align: center; }
body.fw-site .fw-sponsors__niveau { max-width: 1000px; margin: 0 auto; padding: 30px 0 10px; }
body.fw-site .fw-sponsors__niveau--platina { padding-top: 24px; }
body.fw-site .fw-sponsors__lintkop, body.fw-site .fw-sponsors__partnerlint { margin: 0; line-height: 0; }
body.fw-site .fw-sponsors__lint { height: auto; display: inline-block; }
body.fw-site .fw-sponsors__lint--platina { width: min(300px, 70vw); margin-bottom: 10px; }
body.fw-site .fw-sponsors__lint--goud { width: min(270px, 64vw); margin-bottom: 8px; }
body.fw-site .fw-sponsors__lint--zilver { width: min(250px, 60vw); margin-bottom: 8px; }
body.fw-site .fw-sponsors__lint--brons { width: min(230px, 56vw); margin-bottom: 8px; }
body.fw-site .fw-sponsors__lint--partner { width: min(220px, 54vw); margin-bottom: 12px; }
body.fw-site .fw-sponsors__lint--home { width: 240px; height: auto; }
body.fw-site .fw-sponsors__partnerlint { display: inline-block; position: relative; margin-bottom: 14px; padding: 12px 44px 8px; background: linear-gradient(90deg, #8E3BB8, #612A7B 50%, #8E3BB8); color: #fff; font-family: var(--fw-kop); text-transform: uppercase; font-weight: 400; font-size: 30px; line-height: 1.1; clip-path: polygon(0 0, 100% 0, 94% 50%, 100% 100%, 0 100%, 6% 50%); }
body.fw-site .fw-sponsors__grid { display: grid; gap: 16px; }
body.fw-site .fw-sponsors__grid--platina { grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 20px; }
body.fw-site .fw-sponsors__grid--goud { grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); }
body.fw-site .fw-sponsors__grid--zilver { grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); gap: 14px; }
body.fw-site .fw-sponsors__grid--brons { grid-template-columns: repeat(auto-fit, minmax(min(100%, 140px), 1fr)); gap: 12px; }
body.fw-site .fw-sponsors__grid--partner { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
body.fw-site .fw-sp { display: block; background: #fff; transition: transform .2s, box-shadow .2s; text-decoration: none; position: relative; }
body.fw-site .fw-sp--platina { height: 200px; padding: 22px; border-radius: 22px; border: 6px solid #B9C4D1; box-shadow: 0 14px 34px rgba(0,0,0,.4); background-image: radial-gradient(circle, #FFFBE0 0 2px, #FDD500 2.5px 4px, transparent 4.5px), radial-gradient(circle, #FFFBE0 0 2px, #FDD500 2.5px 4px, transparent 4.5px); background-size: 22px 12px, 22px 12px; background-position: 0 2px, 0 calc(100% - 2px); background-repeat: repeat-x, repeat-x; }
body.fw-site a.fw-sp--platina:hover { transform: translateY(-8px) rotate(-1deg); box-shadow: 0 20px 40px rgba(0,0,0,.5), 0 0 30px rgba(253,213,0,.6); }
body.fw-site .fw-sp--goud { height: 150px; padding: 16px; border-radius: 18px; border: 5px solid #D9A520; box-shadow: 0 10px 24px rgba(0,0,0,.35); }
body.fw-site a.fw-sp--goud:hover { transform: translateY(-6px) rotate(-1deg); box-shadow: 0 14px 28px rgba(0,0,0,.4), 0 0 24px rgba(253,213,0,.6); }
body.fw-site .fw-sp--zilver { height: 110px; padding: 12px; border-radius: 14px; border: 4px solid #C0C6CF; box-shadow: 0 8px 18px rgba(0,0,0,.3); }
body.fw-site a.fw-sp--zilver:hover { transform: translateY(-6px) rotate(-1deg); box-shadow: 0 14px 28px rgba(0,0,0,.4), 0 0 24px rgba(253,213,0,.6); }
body.fw-site .fw-sp--brons { height: 92px; padding: 10px; border-radius: 12px; border: 4px solid #B87333; box-shadow: 0 6px 16px rgba(0,0,0,.3); }
body.fw-site a.fw-sp--brons:hover { transform: translateY(-5px) rotate(-1deg); box-shadow: 0 12px 24px rgba(0,0,0,.4), 0 0 20px rgba(253,213,0,.5); }
body.fw-site .fw-sponsors__partnerlint--brons { background: linear-gradient(90deg, #C98B4E, #8C5226 50%, #C98B4E); text-shadow: 0 2px 0 rgba(0,0,0,.35); }
body.fw-site .fw-sp--partner { width: 176px; height: 96px; padding: 8px; border-radius: 12px; border: 3px solid #E6DDEC; box-shadow: 0 6px 14px rgba(0,0,0,.3); }
body.fw-site a.fw-sp--partner:hover { transform: translateY(-5px); box-shadow: 0 10px 22px rgba(0,0,0,.4), 0 0 18px rgba(253,213,0,.6); }
body.fw-site .fw-sponsors__logo { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; }
body.fw-site .fw-sponsors__logo img { width: 100%; height: 100%; object-fit: contain; display: block; }
body.fw-site .fw-sponsors__naam { font-family: var(--fw-kop); text-transform: uppercase; color: #612A7B; font-size: 22px; line-height: 1.1; }
body.fw-site .fw-sponsors--home .fw-sponsors__top { max-width: 900px; margin: 0 auto 26px; padding: 0 16px; display: flex; flex-direction: column; align-items: center; gap: 14px; }
body.fw-site .fw-sponsors__homegrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; width: 100%; }
body.fw-site .fw-sp--home { border-radius: 16px; min-height: 120px; padding: 14px 18px; box-shadow: 0 10px 24px rgba(0,0,0,.35); border: 5px solid #cfd8e3; display: grid; place-items: center; }
body.fw-site .fw-sp--home .fw-sponsors__naam { font-size: 30px; }
body.fw-site .fw-sp--home .fw-sponsors__logo img { max-height: 90px; }
body.fw-site .fw-sp--leeg { background: rgba(255,255,255,.1); border: 3px dashed rgba(255,255,255,.5); border-radius: 16px; min-height: 120px; display: grid; place-items: center; font-family: var(--fw-kop); text-transform: uppercase; font-size: 22px; color: #FDD500 !important; text-decoration: none; }
body.fw-site .fw-sponsors__strook { position: relative; background: #fff; padding: 14px 0; border-top: 4px solid #FDD500; border-bottom: 4px solid #FDD500; overflow: hidden; }
body.fw-site .fw-sponsors__band { display: flex; gap: 48px; width: max-content; animation: fwStrip 30s linear infinite; align-items: center; }
body.fw-site .fw-sponsors__strook:hover .fw-sponsors__band { animation-play-state: paused; }
body.fw-site .fw-sponsors__strookitem { display: inline-flex; align-items: center; height: 40px; opacity: .85; white-space: nowrap; }
body.fw-site .fw-sponsors__strookitem img { height: 40px; width: auto; max-width: 160px; object-fit: contain; }
body.fw-site .fw-sponsors__strookitem .fw-sponsors__naam { font-size: 24px; }
body.fw-site .fw-dagnav { padding: 10px 8px; background: linear-gradient(180deg, rgba(58,20,80,.98), rgba(58,20,80,.9)); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
body.fw-site .elementor-widget-fwc_dagnav:has(.fw-dagnav.is-plakkend) { position: sticky; top: var(--fw-header-h, 76px); z-index: 30; }
body.fw-site .fw-dagnav__rij { display: flex; gap: 8px; justify-content: safe center; overflow-x: auto; scrollbar-width: none; max-width: 1240px; margin: 0 auto; }
body.fw-site .fw-dagnav__rij::-webkit-scrollbar { display: none; }
/* Past de rij niet, dan links beginnen (anders valt de eerste dag onbereikbaar buiten beeld). */
@media (max-width: 1023px) { body.fw-site .fw-dagnav__rij { justify-content: flex-start; padding: 0 8px; } body.fw-site .fw-polsbandje { flex: 0 0 auto; } }
body.fw-site .fw-polsbandje { flex: 1 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 48px; padding: 8px 14px 6px; border-radius: 999px; text-decoration: none; background-color: var(--fw-dag); background-image: none; color: var(--fw-dagop, #fff) !important; font-family: var(--fw-kop); text-transform: uppercase; font-size: 18px; line-height: 1; border: 3px solid rgba(255,255,255,.8); box-shadow: 0 4px 0 rgba(0,0,0,.3), inset 0 0 0 2px rgba(0,0,0,.15); white-space: nowrap; transition: transform .15s; }
body.fw-site .fw-polsbandje:hover { transform: translateY(-3px) rotate(-1deg); color: #fff !important; }
body.fw-site .fw-polsbandje__drukker { width: 12px; height: 12px; border-radius: 50%; background: rgba(255,255,255,.9); box-shadow: inset 0 0 0 3px rgba(0,0,0,.35); }
body.fw-site .fw-polsbandje__datum { font-size: 14px; opacity: .9; }
body.fw-site .fw-progdag { scroll-margin-top: 150px; padding: 56px 0 10px; position: relative; }
body.fw-site .fw-progdag__kop { max-width: 1240px; margin: 0 auto; padding: 0 16px; display: flex; align-items: flex-end; gap: 16px; flex-wrap: wrap; }
body.fw-site .fw-progdag__kort { font-family: var(--fw-kop); text-transform: uppercase; font-size: clamp(64px, 10vw, 110px); line-height: .85; color: var(--fw-dagtekst); text-shadow: 0 5px 0 #2B0E3F, 0 10px 0 rgba(0,0,0,.3); transform: rotate(-3deg); display: inline-block; }
body.fw-site .fw-progdag__titel { display: flex; flex-direction: column; gap: 6px; padding-bottom: 6px; }
body.fw-site .fw-progdag__titel h2 { margin: 0; font-family: var(--fw-kop); text-transform: uppercase; font-weight: 400; font-size: clamp(26px, 4vw, 40px); line-height: 1; color: #fff; text-shadow: 0 3px 0 #2B0E3F; }
body.fw-site .fw-progdag__sub { align-self: flex-start; background: #fff; color: #612A7B; font-family: var(--fw-kop); text-transform: uppercase; font-size: 14px; padding: 5px 12px 3px; border-radius: 999px; line-height: 1.1; }
body.fw-site .fw-strook { max-width: 1240px; margin: 22px auto 0; padding: 0 16px; }
body.fw-site .fw-strook__balk { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; padding: 16px 20px; border-radius: 999px; background: rgba(255,255,255,.1); border: 2px dashed rgba(255,255,255,.35); }
body.fw-site .fw-strook__label { font-size: 11px; font-weight: 800; letter-spacing: 2px; background: #F1E9F5; color: #612A7B; padding: 6px 10px; border-radius: 999px; }
body.fw-site .fw-strook__titel { margin: 0; font-family: var(--fw-kop); text-transform: uppercase; font-weight: 400; font-size: clamp(20px, 2.6vw, 26px); line-height: 1; color: #fff; }
body.fw-site .fw-strook__tijd { font-weight: 700; font-size: 15px; opacity: .9; }
body.fw-site .fw-strook__knop { margin-left: auto; display: inline-flex; align-items: center; min-height: 44px; padding: 9px 18px 7px; border-radius: 999px; background: #fff; color: #612A7B !important; font-family: var(--fw-kop); text-transform: uppercase; font-size: 17px; line-height: 1; text-decoration: none; box-shadow: 0 4px 0 rgba(0,0,0,.3); transition: transform .15s, background .15s; }
body.fw-site .fw-strook__knop:hover { background: #FDD500; transform: translateY(-2px); }
body.fw-site .fw-strook__p { margin: 10px 20px 0; font-weight: 600; font-size: 15px; opacity: .85; max-width: 760px; }
body.fw-site .fw-strook__p p { margin: 0; }
@media (max-width: 767px) {
	body.fw-site .fw-strook__balk { border-radius: 24px; }
	body.fw-site .fw-strook__knop { margin-left: 0; }
}
body.fw-site .fw-retro { position: relative; margin: 26px 0 0; padding: 30px 0 34px; background: var(--fw-bg); border-top: 6px solid var(--fw-frame); border-bottom: 6px solid var(--fw-frame); box-shadow: inset 0 0 0 4px var(--fw-lamp), 0 14px 40px rgba(0,0,0,.35); color: #5A2A08; }
body.fw-site .fw-retro__binnen { max-width: 1240px; margin: 0 auto; padding: 0 16px; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 20px 30px; align-items: center; }
body.fw-site .fw-retro__tekst { display: flex; flex-direction: column; gap: 14px; align-items: flex-start; }
body.fw-site .fw-retro__label { font-size: 11px; font-weight: 800; letter-spacing: 2px; background: var(--fw-lamp); color: var(--fw-banner); padding: 6px 12px; border-radius: 999px; border: 2px solid var(--fw-frame); }
body.fw-site .fw-retro__logo { width: min(100%, 420px); height: auto; filter: drop-shadow(0 6px 8px rgba(0,0,0,.3)); transform: rotate(-2deg); }
body.fw-site .fw-retro__p { margin: 0; font-weight: 700; font-size: 17px; line-height: 1.5; max-width: 520px; }
body.fw-site .fw-retro__p p { margin: 0; }
body.fw-site .fw-retro__tijden { display: flex; flex-wrap: wrap; gap: 8px 18px; font-weight: 800; font-size: 16px; }
body.fw-site .fw-retro__knop { display: inline-flex; align-items: center; min-height: 54px; padding: 12px 26px 8px; border-radius: 16px; background: var(--fw-frame); color: #FFF1D6 !important; font-family: var(--fw-kop); text-transform: uppercase; font-size: 22px; line-height: 1; text-decoration: none; box-shadow: 0 6px 0 #9E3E12; transform: rotate(-1.5deg); transition: transform .15s; }
body.fw-site .fw-retro__knop:hover { transform: rotate(0) scale(1.05); }
body.fw-site .fw-retro__kaarten { display: flex; gap: 18px; justify-content: center; flex-wrap: wrap; }
body.fw-site .fw-kaart--retro { flex: 0 0 clamp(200px, 22vw, 260px); background: var(--fw-banner); box-shadow: 0 14px 34px rgba(0,0,0,.4); }
body.fw-site .fw-kaart--retro .fw-kaart__sitelogo { width: 52px; }
body.fw-site .fw-kaart--retro .fw-kaart__pil { top: 12px; background: var(--fw-lamp); color: var(--fw-banner); box-shadow: none; }
body.fw-site .fw-kaart--retro .fw-kaart__avondlogo, body.fw-site .fw-kaart--retro .fw-kaart__avondnaam { display: none; }
body.fw-site .fw-kaart--retro .fw-kaart__kader { top: 16%; bottom: 10%; border-radius: 22px; padding: 10px; --fw-rand: 10px; }
body.fw-site .fw-kaart--retro .fw-kaart__kader::after { left: 0; right: 0; top: 18px; bottom: 18px; }
body.fw-site .fw-kaart--retro .fw-kaart__foto { background: #5A2A08; }
body.fw-site .fw-kaart--retro .fw-kaart__foto img { filter: sepia(.25) contrast(1.05); }
body.fw-site .fw-kaart--retro .fw-kaart__banner { bottom: 4%; background: #5A2A08; color: #FFF1D6; font-size: clamp(16px, 1.8vw, 21px); padding: 12px 10px 9px; text-transform: none; box-shadow: none; text-shadow: none; }
body.fw-site .fw-kaart--retro .fw-kaart__banner span { font-size: 12px; }
body.fw-site .fw-avond__kop { max-width: 1240px; margin: 30px auto 0; padding: 0 16px; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
body.fw-site .fw-avond__label { display: inline-flex; align-items: center; gap: 8px; background: #612A7B; color: #FDD500; font-family: var(--fw-kop); text-transform: uppercase; font-size: 14px; letter-spacing: 1px; padding: 7px 14px 5px; border-radius: 999px; box-shadow: 0 3px 0 rgba(0,0,0,.25); border: 2px solid rgba(255,255,255,.5); line-height: 1.1; }
body.fw-site .fw-avond__logokop { margin: 0; line-height: 0; }
body.fw-site .fw-avond__logo { height: clamp(44px, 6vw, 72px); width: auto; max-width: 70vw; filter: drop-shadow(0 3px 4px rgba(0,0,0,.45)); transform: rotate(-1.5deg); }
body.fw-site .fw-avond__titel { margin: 0; font-family: var(--fw-kop); text-transform: uppercase; font-weight: 400; font-size: clamp(28px, 4vw, 40px); line-height: 1; color: #FDD500; text-shadow: 0 3px 0 #2B0E3F; transform: rotate(-1.5deg); }
body.fw-site .fw-avond__sub { font-weight: 800; font-size: 16px; color: #FDD500; }
body.fw-site .fw-avond__tijden { margin-left: auto; display: inline-flex; flex-wrap: wrap; gap: 6px 14px; font-weight: 800; font-size: 15px; opacity: .95; }
body.fw-site .fw-dim { opacity: .7; }
body.fw-site .fw-avond__p { max-width: 1240px; margin: 10px auto 0; padding: 0 16px; font-weight: 600; font-size: 16px; opacity: .9; }
body.fw-site .fw-avond__p p { display: inline; margin: 0; }
body.fw-site .fw-avond__extra { font-family: var(--fw-kop); text-transform: uppercase; color: #FDD500; font-size: 17px; text-shadow: 0 2px 0 rgba(0,0,0,.4); }
body.fw-site .fw-avond__actie { max-width: 1240px; margin: 18px auto 0; padding: 0 16px; }
body.fw-site .fw-avond__knop { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; padding: 12px 26px 8px; border-radius: 16px; background: #FDD500; color: #612A7B !important; font-family: var(--fw-kop); text-transform: uppercase; font-size: 22px; line-height: 1; text-decoration: none; box-shadow: 0 6px 0 #B8960A; transform: rotate(-1.5deg); transition: transform .15s; position: relative; }
body.fw-site .fw-avond__knop:hover { background: #FFE033; transform: rotate(0) translateY(-2px); }
body.fw-site .is-zonderlink { cursor: default; }
body.fw-site .fw-weetjes { max-width: 1240px; margin: 18px auto 0; padding: 0 16px; display: flex; flex-wrap: wrap; gap: 14px; }
body.fw-site .fw-weetje { flex: 1 1 200px; background: #fff; color: #2B0E3F; border-radius: 18px; padding: 18px 20px; box-shadow: 0 10px 24px rgba(0,0,0,.35); transform: rotate(var(--fw-rot, 0deg)); }
body.fw-site .fw-weetje--geel { background: #FDD500; color: #612A7B; }
body.fw-site .fw-weetje__getal { font-family: var(--fw-kop); text-transform: uppercase; font-size: 40px; line-height: 1; color: #612A7B; }
body.fw-site .fw-weetje__tekst { font-weight: 800; font-size: 15px; margin-top: 4px; }
body.fw-site .fw-stubs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 22px; }
body.fw-site .fw-stub { position: relative; display: grid; grid-template-columns: 1fr 104px; text-decoration: none; color: #fff !important; transform: rotate(var(--fw-rot, 0deg)); transition: transform .2s; filter: drop-shadow(0 14px 24px rgba(0,0,0,.45)); }
body.fw-site .fw-stub:hover, body.fw-site .fw-stub:focus-visible { transform: rotate(0) translateY(-6px) scale(1.02); color: #fff !important; }
body.fw-site .fw-stub__links { position: relative; background: var(--fw-bg); border-radius: 18px 0 0 18px; padding: 18px 18px 18px 20px; min-height: 170px; overflow: hidden; }
body.fw-site .fw-stub__lampjes { position: absolute; left: 0; right: 0; top: 0; height: 10px; background-image: radial-gradient(circle, #FFFBE0 0 1.5px, #FDD500 2px 3px, transparent 3.5px); background-size: 16px 10px; opacity: .9; animation: fwTwinkle 2s ease-in-out infinite; }
body.fw-site .fw-stub__lampjes--onder { top: auto; bottom: 0; animation-delay: 1s; }
body.fw-site .fw-stub:hover .fw-stub__lampjes { animation-duration: .5s; }
body.fw-site .fw-stub__boven { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
body.fw-site .fw-stub__dag { background: #fff; color: #612A7B; font-family: var(--fw-kop); text-transform: uppercase; font-size: 13px; padding: 5px 12px 3px; border-radius: 999px; line-height: 1.1; }
body.fw-site .fw-stub__leeftijd { font-size: 11px; font-weight: 800; letter-spacing: 1px; background: rgba(0,0,0,.35); padding: 5px 8px; border-radius: 6px; }
body.fw-site .fw-stub__naam { margin-top: 14px; min-height: 60px; display: flex; align-items: center; }
body.fw-site .fw-stub__naam img { max-width: 200px; width: 75%; height: auto; filter: drop-shadow(0 3px 4px rgba(0,0,0,.4)); }
body.fw-site .fw-stub__naam span { font-family: var(--fw-kop); text-transform: uppercase; font-size: 30px; line-height: 1; text-shadow: 0 3px 0 rgba(0,0,0,.35); }
body.fw-site .fw-stub__tijd { margin-top: 10px; font-weight: 800; font-size: 14px; text-shadow: 0 1px 0 rgba(0,0,0,.4); }
body.fw-site .fw-stub__rechts { position: relative; background: #fff; color: #612A7B; border-radius: 0 18px 18px 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; padding: 10px 6px; border-left: 3px dashed #612A7B; -webkit-mask-image: radial-gradient(circle at 0 0, transparent 12px, #000 13px), radial-gradient(circle at 0 100%, transparent 12px, #000 13px); -webkit-mask-composite: source-in; mask-image: radial-gradient(circle at 0 0, transparent 12px, #000 13px), radial-gradient(circle at 0 100%, transparent 12px, #000 13px); mask-composite: intersect; }
body.fw-site .fw-stub__klein { font-size: 11px; font-weight: 800; letter-spacing: 1px; }
body.fw-site .fw-stub__prijs { font-family: var(--fw-kop); text-transform: uppercase; font-size: 22px; line-height: 1; white-space: nowrap; }
body.fw-site .fw-stub__prijs--tekst { font-size: 18px; transform: rotate(-90deg); white-space: nowrap; }
body.fw-site .fw-stub__mini { font-size: 10px; font-weight: 800; opacity: .7; text-align: center; }
body.fw-site .fw-weeztix { scroll-margin-top: 100px; }
body.fw-site .fw-kassa { position: relative; }
body.fw-site .fw-kassa__luifel { position: relative; height: 56px; margin: 0 -10px -6px; background: repeating-linear-gradient(90deg, #7B35A0 0 40px, #fff 40px 80px); border-radius: 14px 14px 0 0; box-shadow: 0 10px 20px rgba(0,0,0,.4); clip-path: polygon(0 0, 100% 0, 100% 72%, 97.5% 100%, 95% 72%, 92.5% 100%, 90% 72%, 87.5% 100%, 85% 72%, 82.5% 100%, 80% 72%, 77.5% 100%, 75% 72%, 72.5% 100%, 70% 72%, 67.5% 100%, 65% 72%, 62.5% 100%, 60% 72%, 57.5% 100%, 55% 72%, 52.5% 100%, 50% 72%, 47.5% 100%, 45% 72%, 42.5% 100%, 40% 72%, 37.5% 100%, 35% 72%, 32.5% 100%, 30% 72%, 27.5% 100%, 25% 72%, 22.5% 100%, 20% 72%, 17.5% 100%, 15% 72%, 12.5% 100%, 10% 72%, 7.5% 100%, 5% 72%, 2.5% 100%, 0 72%); }
body.fw-site .fw-kassa__hokje { position: relative; background: #612A7B; border: 6px solid #FDD500; border-radius: 0 0 26px 26px; padding: 22px 16px 24px; box-shadow: 0 24px 60px rgba(0,0,0,.5); background-image: radial-gradient(circle, #FFFBE0 0 2px, #FDD500 2.5px 4px, rgba(0,0,0,.3) 4.5px 5px, transparent 5.5px), radial-gradient(circle, #FFFBE0 0 2px, #FDD500 2.5px 4px, rgba(0,0,0,.3) 4.5px 5px, transparent 5.5px); background-size: 14px 24px, 14px 24px; background-position: 2px 0, calc(100% - 2px) 0; background-repeat: repeat-y, repeat-y; }
body.fw-site .fw-kassa__kop { text-align: center; margin-bottom: 14px; }
body.fw-site .fw-kassa__bord { display: inline-block; background: #FDD500; color: #612A7B; font-family: var(--fw-kop); text-transform: uppercase; font-size: clamp(26px, 4vw, 38px); line-height: 1; padding: 10px 28px 6px; border-radius: 14px; transform: rotate(-1.5deg); box-shadow: 0 5px 0 #B8960A; }
body.fw-site .fw-kassa__p { margin: 12px auto 0; max-width: 520px; font-weight: 600; font-size: 15px; line-height: 1.5; }
body.fw-site .fw-kassa__raam { background: #fff; border-radius: 16px; padding: 12px; max-width: 624px; margin: 0 auto; }
body.fw-site .fw-weeztix__shop { max-width: 600px; margin: 0 auto; min-height: 120px; }
body.fw-site .fw-weeztix--leeg { min-height: 520px; border-radius: 10px; background: repeating-linear-gradient(45deg, #F5F0F8 0 14px, #ECE4F1 14px 28px); display: grid; place-items: center; color: #612A7B; text-align: center; padding: 20px; font-weight: 800; font-size: 15px; line-height: 1.5; }
body.fw-site .fw-kassa__toonbank { height: 22px; margin: 0 -16px; background: linear-gradient(180deg, #8A5A2B, #5E3A18); border-radius: 6px; box-shadow: 0 10px 20px rgba(0,0,0,.45); }
body.fw-site .fw-nummers { list-style: none; margin: 0; padding: 0; }
body.fw-site .fw-nummers--kaarten { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 14px; }
body.fw-site .fw-nummers--rijen { display: flex; flex-direction: column; gap: 10px; }
body.fw-site .fw-nummer { margin: 0; background: #fff; color: #2B0E3F; display: flex; gap: 12px; align-items: flex-start; }
body.fw-site .fw-nummers--kaarten .fw-nummer { border-radius: 16px; padding: 16px; box-shadow: 0 8px 20px rgba(0,0,0,.35); transform: rotate(var(--fw-rot, 0deg)); }
body.fw-site .fw-nummers--rijen .fw-nummer { gap: 14px; border-radius: 14px; padding: 14px 16px; box-shadow: 0 6px 16px rgba(0,0,0,.3); }
body.fw-site .fw-nummer__n { flex: 0 0 auto; display: grid; place-items: center; font-family: var(--fw-kop); text-transform: uppercase; font-size: 20px; padding-top: 3px; border-radius: 50%; }
body.fw-site .fw-nummers--kaarten .fw-nummer__n { width: 38px; height: 38px; background: #FDD500; color: #612A7B; box-shadow: inset 0 0 0 3px #612A7B; }
body.fw-site .fw-nummers--rijen .fw-nummer__n { width: 40px; height: 40px; background: #612A7B; color: #FDD500; }
body.fw-site .fw-nummer__tekst { font-weight: 700; font-size: 16px; line-height: 1.45; }
body.fw-site .fw-nummers--rijen .fw-nummer__tekst { line-height: 1.5; padding-top: 8px; }
body.fw-site .fw-vragen__hint { margin: 0 0 18px; text-align: center; font-weight: 600; font-size: 16px; opacity: .9; }
body.fw-site .fw-vragen__zoek { display: flex; align-items: center; gap: 10px; background: #fff; border-radius: 999px; padding: 6px 8px 6px 18px; box-shadow: 0 8px 20px rgba(0,0,0,.35); margin-bottom: 26px; color-scheme: light; }
body.fw-site .fw-vragen__zoek > span:first-child { font-family: var(--fw-kop); text-transform: uppercase; color: #612A7B; font-size: 18px; }
body.fw-site .fw-vragen__zoek input { flex: 1; border: 0 !important; outline: 0; font-size: 16px; font-weight: 700; color: #2B0E3F; min-height: 44px; background: transparent !important; box-shadow: none !important; padding: 0 !important; font-family: var(--fw-tekst); }
body.fw-site .fw-vragen__cat { margin-bottom: 22px; }
body.fw-site .fw-vragen__cat[hidden] { display: none; }
body.fw-site .fw-vragen__catkop { margin: 0 0 10px; font-family: var(--fw-kop); text-transform: uppercase; font-weight: 400; font-size: 24px; line-height: 1.1; color: #FDD500; text-shadow: 0 2px 0 #3A1450; }
body.fw-site .fw-vragen__lijst { display: flex; flex-direction: column; gap: 10px; }
body.fw-site .fw-vraag { background: #fff; color: #2B0E3F; border-radius: 16px; box-shadow: 0 6px 16px rgba(0,0,0,.3); overflow: hidden; }
body.fw-site .fw-vraag[hidden] { display: none; }
body.fw-site .fw-vraag__knop { color: #2B0E3F !important; width: 100%; display: flex; align-items: center; gap: 14px; text-align: left; border: 0; background: transparent !important; cursor: pointer; padding: 14px 16px; min-height: 56px; font-family: var(--fw-tekst); border-radius: 0; }
body.fw-site .fw-vraag__knop:hover, body.fw-site .fw-vraag__knop:focus { background: transparent !important; color: #2B0E3F !important; }
body.fw-site .fw-vraag__dop { position: relative; flex: 0 0 auto; width: 34px; height: 34px; border-radius: 50%; background: repeating-conic-gradient(#FDD500 0 12deg, #D4A017 12deg 24deg); box-shadow: inset 0 0 0 3px #FDD500, 0 2px 0 rgba(0,0,0,.3); transition: transform .3s cubic-bezier(.3,1.4,.5,1); display: grid; place-items: center; font-size: 18px; line-height: 1; color: #612A7B; }
body.fw-site .fw-vraag__knop[aria-expanded="true"] .fw-vraag__dop { transform: translate(-6px, -14px) rotate(-40deg); }
body.fw-site .fw-vraag__tekst { flex: 1; font-weight: 800; font-size: 17px; line-height: 1.3; }
body.fw-site .fw-vraag__teken { font-family: var(--fw-kop); text-transform: uppercase; font-size: 20px; color: #612A7B; }
body.fw-site .fw-vraag__antwoord { padding: 0 16px 16px 64px; font-weight: 600; font-size: 16px; line-height: 1.5; color: #3A1450; }
body.fw-site .fw-vraag__antwoord p { margin: 0 0 8px; }
body.fw-site .fw-vraag__antwoord p:last-child { margin: 0; }
body.fw-site .fw-vraag__antwoord a { color: #612A7B; font-weight: 800; }
body.fw-site .fw-vragen__geen { text-align: center; font-weight: 700; }
body.fw-site .fw-vragen__slot { text-align: center; padding: 10px 0 0; font-weight: 700; font-size: 17px; }
body.fw-site .fw-vragen__slot a { color: #FDD500; font-weight: 800; }
body.fw-site .fw-formkiezer { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 14px 0 22px; }
body.fw-site .fw-formkiezer__knop { cursor: pointer; border-radius: 999px; padding: 9px 14px 7px; min-height: 40px; font-family: var(--fw-kop); text-transform: uppercase; font-size: 14px; line-height: 1.1; background: rgba(0,0,0,.3); color: #fff; border: 2px solid rgba(255,255,255,.4); }
body.fw-site .fw-formkiezer__knop:hover, body.fw-site .fw-formkiezer__knop:focus { background: rgba(0,0,0,.45); color: #fff; }
body.fw-site .fw-formkiezer__knop[aria-pressed="true"] { background: #FDD500; color: #612A7B; }
body.fw-site .fw-formulier-verborgen { display: none !important; }
@media (prefers-reduced-motion: reduce) {
	body.fw-site .fw-radio__plaat, body.fw-site .fw-sponsors__band, body.fw-site .fw-discobal, body.fw-site .fw-vlaggenlijn__vlaggen span, body.fw-site .fw-tent__vlag, body.fw-site .fw-kaart__kader, body.fw-site .fw-kaart__kader::before, body.fw-site .fw-kaart__kader::after, body.fw-site .fw-discobal__glim, body.fw-site .fw-discobal__ster, body.fw-site .fw-lampjes, body.fw-site .fw-stub__lampjes { animation: none !important; }
	body.fw-site .fw-lampjes--b { display: none; }
	body.fw-site .fw-sponsors__strook { overflow-x: auto; }
	body.fw-site .fw-polaroidfoto { --fw-par: 0px !important; }
}

body.fw-site .elementor-widget.fw-social-iconen .elementor-social-icon { border: 2px solid rgba(255,255,255,.3); transition: background-color .15s, color .15s; }
body.fw-site .elementor-widget.fw-social-iconen .elementor-social-icon:hover { border-color: rgba(255,255,255,.3); }
body.fw-site .elementor-widget.fw-social-iconen .elementor-grid { gap: 10px; }

body.fw-site .fw-sp.fw-sp--vrij { background: rgba(255,255,255,.1); border-style: dashed; border-color: rgba(255,255,255,.5); box-shadow: none; text-decoration: none; }
body.fw-site .fw-sp.fw-sp--vrij .fw-sponsors__naam { color: #FDD500; font-size: 18px; }
body.fw-site a.fw-sp.fw-sp--vrij:hover { transform: translateY(-4px); box-shadow: 0 0 18px rgba(253,213,0,.5); }
body.fw-site .fw-sp--platina.fw-sp--vrij { background-image: none; }

/* Avondnaam zonder logo op de artiestkaart: lange namen mogen over twee regels. */
body.fw-site .fw-kaart__avondnaam { white-space: normal; width: 86%; text-align: center; line-height: 1; font-size: clamp(16px, 1.6vw, 20px); top: 36px; }

/* Mobiel: geen datumlabel op de artiestkaarten (feedback Henri). */
@media (max-width: 767px) { body.fw-site .fw-kaart__pil { display: none; } }

/* Mobiel: partners twee naast elkaar. */
@media (max-width: 480px) { body.fw-site .fw-sponsors__grid--partner { gap: 10px; } body.fw-site .fw-sp--partner { width: calc(50% - 5px); height: 84px; padding: 6px; } }

/* ---------- Correctieronde 30 oktober ---------- */
/* Dagkaart: logo van de avond iets groter nu het de naam vervangt. */
body.fw-site .fw-dagkaart__regel--avond { align-items: center; }
body.fw-site .fw-dagkaart__logo img { height: 46px; }
body.fw-site .fw-kaart__dagop, body.fw-site .fw-polsbandje:hover { color: var(--fw-dagop, #fff) !important; }
/* Swipe-hint onder de waslijn: alleen als de kaarten niet naast elkaar passen. */
body.fw-site .fw-dagen__swipe { margin: 0 0 6px; text-align: center; font-weight: 800; font-size: 14px; color: #FDD500; letter-spacing: .5px; animation: fwSwipe 1.6s ease-in-out infinite; }
@keyframes fwSwipe { 0%, 100% { transform: translateX(0); } 50% { transform: translateX(8px); } }
@media (min-width: 1100px) { body.fw-site .fw-dagen__swipe { display: none; } }
/* Blokjes in het programma */
body.fw-site .fw-blokjes { list-style: none; margin: 12px auto 0; padding: 0 16px; max-width: 1240px; display: flex; flex-wrap: wrap; gap: 8px; }
body.fw-site .fw-strook .fw-blokjes { padding: 0 20px 4px; margin-left: 0; }
body.fw-site .fw-blokje { background: #FDD500; color: #3A1450; font-weight: 800; font-size: 14px; padding: 7px 12px; border-radius: 10px; box-shadow: 0 3px 0 rgba(0,0,0,.25); transform: rotate(-1deg); }
body.fw-site .fw-blokje:nth-child(2n) { transform: rotate(1deg); background: #fff; }
body.fw-site .fw-avond__p p, body.fw-site .fw-strook__p p, body.fw-site .fw-retro__p p { display: block; margin: 0 0 8px; }
/* Desktop: alle artiesten van een avond naast elkaar, niets valt buiten beeld. */
@media (min-width: 1100px) {
	body.fw-site .fw-lineup__kaarten, body.fw-site .fw-avond__kaarten { overflow: visible; scroll-snap-type: none; }
	body.fw-site .fw-lineup__kaarten > .fw-kaart, body.fw-site .fw-avond__kaarten > .fw-kaart { flex: 1 1 0; min-width: 0; max-width: 300px; }
	body.fw-site .fw-kaart__banner { font-size: clamp(14px, 1.3vw, 19px); }
}
/* Molen als icoon in de datumpil */
body.fw-site .fw-icoon-molen { width: 1.05em; height: 1.05em; vertical-align: -.15em; display: inline-block; }
/* NIX18-logo als link */
body.fw-site .fw-nix18__link { display: inline-block; line-height: 0; transition: transform .15s; }
body.fw-site .fw-nix18__link:hover { transform: scale(1.05); }
/* Lampjes rond de countdown: alleen langs de rechte stukken, zodat de hoeken netjes blijven. */
body.fw-site .fw-lampjes { background: none !important; }
body.fw-site .fw-lampjes::before, body.fw-site .fw-lampjes::after { content: ""; position: absolute; pointer-events: none; --fw-l: radial-gradient(circle, #FFFBE0 0 2px, #FDD500 2.5px 4.5px, rgba(253,213,0,.35) 5px 8px, transparent 9px); }
body.fw-site .fw-lampjes::before { left: 30px; right: 30px; top: 0; bottom: 0; background-image: var(--fw-l), var(--fw-l); background-size: 56px 18px; background-repeat: repeat-x; }
body.fw-site .fw-lampjes::after { top: 30px; bottom: 30px; left: 0; right: 0; background-image: var(--fw-l), var(--fw-l); background-size: 18px 56px; background-repeat: repeat-y; }
body.fw-site .fw-lampjes--a::before { background-position: 0 1px, 0 calc(100% - 1px); }
body.fw-site .fw-lampjes--a::after { background-position: 1px 0, calc(100% - 1px) 0; }
body.fw-site .fw-lampjes--b::before { background-position: 28px 1px, 28px calc(100% - 1px); }
body.fw-site .fw-lampjes--b::after { background-position: 1px 28px, calc(100% - 1px) 28px; }
/* Ticketstubs: logo mooi in het midden */
body.fw-site .fw-stub__naam { justify-content: center; text-align: center; }
body.fw-site .fw-stub__naam img { width: auto; max-width: 85%; max-height: 72px; object-fit: contain; }
/* Dagknoppen: ruimte boven en onder, zodat schaduw en hover-sprongetje niet worden afgesneden. */
body.fw-site .fw-dagnav { padding-top: 4px; padding-bottom: 4px; }
body.fw-site .fw-dagnav__rij { padding-top: 6px; padding-bottom: 10px; }
/* Waslijn: ruimte boven de kaarten, zodat de punaises niet worden afgeknipt. */
body.fw-site .fw-dagen__rij { padding-top: 24px; }
body.fw-site .fw-dagen__lijn { top: 30px; }
/* Logo's nooit vervormen: alleen evenredig schalen (Hollandse Avond werd op mobiel ingedeukt). */
body.fw-site .fw-dagkaart__logo { max-width: 100%; }
body.fw-site .fw-dagkaart__logo img, body.fw-site .fw-dagkaart__middaglogo { height: auto; width: auto; max-height: 46px; max-width: 100%; object-fit: contain; }
body.fw-site .fw-dagkaart__regel--avond > .fw-dagkaart__logo { flex: 1 1 auto; min-width: 0; }
body.fw-site .fw-avond__logo, body.fw-site .fw-kaart__avondlogo, body.fw-site .fw-lineup__logo, body.fw-site .fw-retro__logo { object-fit: contain; }
body.fw-site .fw-avond__logo { height: auto; max-height: 76px; width: auto; max-width: min(100%, 300px); }

/* Lampjes rond de countdown via script: verberg de oude CSS-lampjes zodra het script draait. */
body.fw-site .fw-countdown__kader.has-lamprand > .fw-lampjes { display: none; }
body.fw-site .fw-countdown__kader.has-lamprand { background-image: none; }
body.fw-site .fw-lamprand { position: absolute; inset: 0; pointer-events: none; z-index: 1; }
body.fw-site .fw-lamp { position: absolute; width: 12px; height: 12px; margin: -6px 0 0 -6px; border-radius: 50%; background: #B88A00; box-shadow: 0 0 0 1.5px rgba(0,0,0,.35); }
body.fw-site .fw-lamp::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; background: radial-gradient(circle, #FFFBE0 0 22%, #FDD500 26% 46%, rgba(253,213,0,.35) 50% 70%, transparent 74%); }
body.fw-site .fw-lamp--a::after { animation: fwBlinkA 1.1s steps(1) infinite; }
body.fw-site .fw-lamp--b::after { animation: fwBlinkB 1.1s steps(1) infinite; }
@media (prefers-reduced-motion: reduce) { body.fw-site .fw-lamp::after { animation: none !important; } }
/* Gordijn: vraagteken en "Wie o wie?" schalen mee en blijven boven de banner. */
body.fw-site .fw-kaart__gordijn { container-type: size; display: flex; align-items: flex-start; justify-content: center; }
body.fw-site .fw-kaart__gordijn > div:last-child { padding: 15cqh 6px 0; }
body.fw-site .fw-kaart__vraag { font-size: 38cqh; line-height: 1; text-shadow: 0 3px 0 #3A1450, 0 6px 12px rgba(0,0,0,.5); }
body.fw-site .fw-kaart__wie { font-size: clamp(11px, 9cqh, 18px); line-height: 1.1; margin-top: 1cqh; }
