@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Inter:wght@400;500;600;700;800&display=swap');
:root{--green:#285c4d;--green2:#367060;--red:#a52d36;--gold:#c6a56b;--cream:#f8f2e8;--cream2:#efe8d9;--text:#25352f;--muted:#64716b;--border:#ded9cd;--white:#fff;--shadow:0 16px 46px rgba(25,47,36,.075)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);font:16px/1.75 Inter,Arial,sans-serif;background:#fcfaf5}a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:var(--red)}img{max-width:100%;height:auto}h1,h2,h3{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:1.13;letter-spacing:-.02em;margin:0 0 20px}h1{font-size:clamp(2.6rem,5.8vw,5rem)}h2{font-size:clamp(1.85rem,3.3vw,2.75rem);margin-top:42px}h3{font-size:1.55rem;margin-top:30px}p{margin:0 0 18px}ul,ol{padding-left:23px}li{margin-bottom:8px}.wrap{width:min(1300px,calc(100% - 48px));margin-inline:auto}.skip{position:absolute;left:12px;top:-100px;background:#fff;z-index:99;padding:12px}.skip:focus{top:12px}.header{background:var(--green);color:white;position:relative;z-index:50}.nav{min-height:82px;display:flex;gap:24px;align-items:center;justify-content:space-between}.brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:11px;font:2rem 'DM Serif Display',serif;white-space:nowrap}.brand:hover{color:#fff}.brand-mark{width:35px;height:35px;border:1px solid #d8b879;border-radius:50%;display:grid;place-items:center;color:#d8b879;font:1.25rem Georgia}.nav-links{display:flex;align-items:center;gap:5px}.nav-links a{padding:8px 11px;border-radius:10px;color:#fff;text-decoration:none;font-size:.84rem;font-weight:600}.nav-links a:hover,.nav-links a[aria-current=page]{background:#ffffff17}.nav-toggle{display:none;border:1px solid #ffffff5c;background:transparent;color:#fff;border-radius:10px;padding:8px 12px;font:inherit;cursor:pointer}.hero{background:var(--green);color:#fff;padding:35px 0 75px;overflow:hidden}.hero-layout{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:48px}.eyebrow{display:inline-block;font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--red);margin-bottom:16px}.hero .eyebrow{color:#e7c48c}.hero h1{max-width:650px}.hero p{max-width:570px;color:#e8efe9;font-size:1.09rem;line-height:1.85}.hero-picture{position:relative;min-height:450px;border-radius:190px 190px 24px 24px;background:#367060;overflow:hidden;box-shadow:0 35px 65px #061d1880}.hero-picture svg{height:100%;width:100%;position:absolute;inset:0}.hero-badge{position:absolute;bottom:24px;left:24px;right:24px;background:#f8f2e8ee;color:var(--green);border-radius:15px;padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:linear-gradient(180deg,#b6323c 0%,#a92c36 100%);border:1px solid #a92c36;color:#fff;text-decoration:none;border-radius:18px;padding:15px 24px;font:800 1rem Inter,Arial,sans-serif;line-height:1.2;box-shadow:0 10px 24px rgba(169,44,54,.18);cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s,border-color .2s}.btn:hover{background:linear-gradient(180deg,#c23a45 0%,#a92c36 100%);border-color:#972730;color:#fff;transform:translateY(-2px);box-shadow:0 14px 28px rgba(169,44,54,.24)}.btn:focus-visible{outline:3px solid rgba(198,165,107,.45);outline-offset:3px}.btn:active{transform:translateY(0);box-shadow:0 8px 18px rgba(169,44,54,.18)}.btn-outline{background:transparent;color:var(--green);border-color:var(--green)}.btn-outline:hover{background:var(--green);color:#fff}.btn-gold{background:var(--gold);border-color:var(--gold);color:#15352d}.btn-gold:hover{background:#ebc98f;color:#15352d}.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:27px}.hero-ctas .btn-outline{color:#fff;border-color:#bed5ca}.section{padding:74px 0}.section-alt{background:var(--cream)}.section-green{background:var(--green);color:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-head h2{margin:0 0 5px}.section-head p{color:var(--muted);margin:0;max-width:680px}.section-green .section-head p{color:#e4ede4}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px}.card{background:#fff;border-radius:22px;overflow:hidden;border:1px solid #e8e3d9;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.card:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(25,47,36,.11)}.card .art{aspect-ratio:1.7;overflow:hidden;background:#245548}.card .art svg{width:100%;height:100%;display:block}.card-body{padding:23px;display:flex;flex-direction:column;flex:1}.card h3{font-size:1.53rem;margin:0 0 7px}.card p{font-size:.91rem;color:#606d66;line-height:1.68;flex:1}.card a.more{font-size:.89rem;font-weight:800;text-decoration:none}.card a.more::after{content:'  →'}.feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.feature{display:flex;gap:12px;flex-direction:column;background:#fff;color:var(--green);text-decoration:none;border:1px solid #ece8e0;border-radius:17px;padding:23px;min-height:165px;transition:transform .2s}.feature:hover{transform:translateY(-3px)}.feature-icon{font-size:1.75rem}.feature strong{font-size:1rem}.feature span:last-child{font-size:.78rem;color:var(--muted)}.intro-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}.info-box{background:#e8eedf;padding:30px;border-radius:20px}.info-box h3{margin-top:0}.crumbs{font-size:.78rem;color:#68766e;margin:26px 0}.crumbs a{color:#60766a}.page-heading{background:var(--cream);padding:35px 0 55px}.page-heading p{font-size:1.1rem;max-width:930px;margin:0;color:#53685a}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:55px;align-items:start;padding-top:48px;padding-bottom:75px}.article{min-width:0;max-width:100%}.article .lead{font-size:1.13rem;line-height:1.85;font-weight:500}.article h2{margin-top:40px}.article p,.article li{font-size:1rem;line-height:1.88}.article a{font-weight:600}.article .notice{background:var(--cream);border-left:4px solid var(--gold);padding:20px 24px;border-radius:0 14px 14px 0;margin:25px 0}.article img{border-radius:16px}.sidebar{position:sticky;top:30px}.aside-card{padding:25px;background:var(--cream);border-radius:18px;margin-bottom:20px}.aside-card h3{font-size:1.4rem;margin:0 0 14px}.aside-card a{display:block;padding:7px 0;text-decoration:none;font-size:.88rem;border-bottom:1px solid #e2dacb}.aside-card a:last-child{border:0}.reading-links{background:#eef3e9;padding:25px;border-radius:18px;margin-top:38px}.reading-links h3{margin:0 0 12px}.reading-links ul{margin-bottom:0}.footer{background:#132e28;color:#e4eee6;padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer h3{font:1.2rem 'DM Serif Display',serif;margin:0 0 12px}.footer p{font-size:.9rem;color:#b6cbc0;max-width:430px}.footer a{display:block;color:#dce7df;text-decoration:none;margin-bottom:7px;font-size:.88rem}.footer a:hover{color:#f3cb8e}.footbar{border-top:1px solid #3c554a;margin-top:42px;padding-top:15px;font-size:.76rem;color:#b9cabf}.tool{background:#fff;border:1px solid #e7e0d5;box-shadow:var(--shadow);border-radius:20px;padding:24px;margin:28px 0}.tool h3{margin-top:0}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.field label{font-weight:700;font-size:.87rem}.field input,.field select,.field textarea,.field button{font:inherit}.field input,.field select,.field textarea{width:100%;padding:12px;border:1px solid #b9c6bd;border-radius:10px;background:#fff;color:#172e26}.field textarea{min-height:100px}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid #c6a56b70;outline-offset:1px}.tool-actions{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}.message{padding:12px 16px;background:#e8f1e8;border-radius:10px;min-height:44px;margin:10px 0}.message.error{background:#fbe5e2}.color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.color-sheet{border:1px solid var(--border);border-radius:14px;background:#fff;overflow:hidden}.color-sheet svg{width:100%;display:block;aspect-ratio:1}.color-sheet .actions{padding:12px;display:flex;gap:7px;flex-wrap:wrap}.small-btn{border-radius:8px;border:1px solid var(--green);padding:7px 10px;background:#fff;color:var(--green);font-size:.75rem;cursor:pointer;font-weight:700}.small-btn:hover{background:var(--green);color:#fff}.game-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:470px;gap:9px}.game-card{aspect-ratio:1;border:2px solid var(--gold);background:var(--green);color:#fff;font-size:2rem;cursor:pointer;border-radius:12px}.game-card.revealed,.game-card.matched{background:var(--cream);color:var(--green)}.game-card.matched{border-color:#7aaf84}.quiz-choice{display:block;width:100%;text-align:left;background:#f3f3ed;border:1px solid #d7dfd2;border-radius:11px;padding:12px;margin:8px 0;cursor:pointer;font:inherit}.quiz-choice:hover{background:#e7eedf}.word-grid{border-collapse:separate;border-spacing:3px;margin:12px 0}.word-grid td{width:32px;height:32px;text-align:center;background:#edf1e8;border-radius:5px;font-size:.85rem;font-weight:700}.draw-card{background:#f5ebd9;border-radius:14px;padding:25px;margin:20px 0}.pill{display:inline-block;background:#e6ecdf;color:#274e41;border-radius:99px;font-size:.72rem;font-weight:700;padding:4px 10px;margin-bottom:12px}.cta-panel{background:var(--green);color:#fff;border-radius:24px;padding:32px}.cta-panel p{color:#d4e3d9}.countdown{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.count-box{background:#fff;color:#173f35;min-width:95px;text-align:center;border-radius:14px;padding:14px}.count-box strong{font-size:2rem;display:block;line-height:1.3}.count-box span{font-size:.75rem}.svg-frame{background:var(--green);border-radius:22px;overflow:hidden;min-height:270px}.svg-frame svg{width:100%;height:100%;display:block}.searchline{display:flex;gap:8px}.searchline input{flex:1;min-width:0}.site-search{max-width:550px}.results{display:grid;gap:10px}.search-result{padding:12px 16px;border-radius:12px;background:#f3f5ef}.search-result a{font-weight:700;text-decoration:none}.search-result small{display:block;color:var(--muted)}.nojs{padding:12px;background:#ffedd9}@media(max-width:980px){.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:74px;left:0;right:0;background:#285c4d;padding:14px 24px 24px;flex-direction:column;align-items:stretch}.nav-links.open{display:flex}.nav-links a{display:block;font-size:.98rem}.hero-layout{grid-template-columns:1fr}.hero-picture{min-height:340px;max-width:650px}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-layout{grid-template-columns:1fr;gap:20px}.sidebar{position:static}.footer-grid{grid-template-columns:1fr 1fr}.intro-grid{grid-template-columns:1fr}}@media(max-width:620px){.wrap{width:min(100% - 32px,1300px)}.nav{min-height:72px}.brand{font-size:1.6rem}.hero{padding:32px 0 48px}.hero-picture{min-height:290px}.hero h1{font-size:2.65rem}.hero-badge{font-size:.82rem}.section{padding:48px 0}.cards{grid-template-columns:1fr}.feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.feature{padding:15px;min-height:145px}.feature strong{font-size:.86rem}.section-head{display:block}.article-layout{padding-top:25px}.page-heading{padding:20px 0 38px}.page-heading h1{font-size:2.55rem}.footer-grid{grid-template-columns:1fr;gap:14px}.color-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool{padding:17px}.count-box{min-width:70px}.word-grid td{width:24px;height:24px;font-size:.68rem}.searchline{flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media print{.header,.footer,.sidebar,.crumbs,.tool-actions,.nav-toggle,.page-heading,.reading-links{display:none!important}.article-layout{display:block}.print-only{display:block!important}.color-grid{grid-template-columns:repeat(2,1fr)}body{background:white;color:black}.color-sheet{break-inside:avoid}}

/* YouTube previews: no third-party request until the visitor presses play */
.trailers-section{margin:2.5rem 0;padding:1.4rem;background:#f3f5ed;border:1px solid #dde7da;border-radius:20px}
.trailers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:1rem;margin:1.25rem 0}
.trailer-card{overflow:hidden;border-radius:15px;background:#fff;border:1px solid #e6e9df}
.trailer-player{aspect-ratio:16/9;display:grid;place-items:center;background:linear-gradient(135deg,#204d40,#50745e);color:white}
.trailer-launch{width:100%;height:100%;border:0;cursor:pointer;color:#fff;background:transparent;display:flex;gap:10px;align-items:center;justify-content:center;font:700 1rem inherit}
.trailer-launch:hover,.trailer-launch:focus-visible{background:#173d3380}
.trailer-play{display:grid;place-items:center;width:54px;height:54px;background:#ae3341;border-radius:100%;font-size:19px;padding-left:3px}
.trailer-copy{padding:1rem}.trailer-copy h3{margin:.1rem 0 .5rem;font-size:1.1rem}.trailer-copy p{margin:0 0 .65rem;font-size:.94rem}.trailer-copy a{font-size:.9rem}
.trailer-player iframe{width:100%;height:100%;border:0}.trailer-notice{font-size:.88rem;color:#42574b}
@media(max-width:620px){.trailers-section{padding:1rem}.trailers-grid{grid-template-columns:1fr}}

/* Filmtrailer-overzicht: afbeeldingen laden zonder YouTube-player tot het klikken. */
.trailer-player{position:relative;overflow:hidden}
.trailer-player .trailer-launch{position:relative;isolation:isolate;width:100%;height:100%;min-height:150px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.45rem;cursor:pointer;border:0;background:#173f35;color:#fff;overflow:hidden}
.trailer-thumb{position:absolute;inset:0;z-index:-1;background:#234f43}
.trailer-thumb img{width:100%;height:100%;object-fit:cover;filter:brightness(.65);transition:transform .25s ease,filter .25s ease}
.trailer-launch:hover .trailer-thumb img,.trailer-launch:focus-visible .trailer-thumb img{transform:scale(1.04);filter:brightness(.52)}
.trailer-launch .trailer-play{display:grid;place-items:center;width:62px;height:46px;border-radius:14px;background:#b8313d;color:white;box-shadow:0 4px 20px #0007;font-size:1.2rem}
.trailer-cta{font-weight:700;text-shadow:0 2px 5px #000}
.trailer-copy{display:flex;flex-direction:column;gap:.4rem}.trailer-copy p{flex:1}
@media(prefers-reduced-motion:reduce){.trailer-thumb img{transition:none}}


/* Speelsere illustraties op contentpagina's, in lijn met de voorbeeldstijl */
.svg-frame{background:#fff;border:3px solid #eadfcb;box-shadow:0 18px 46px rgba(25,47,36,.09);padding:14px;min-height:auto}
.svg-frame img,.svg-frame svg{width:100%;height:auto;display:block;border-radius:18px}
.card .art{background:#fbf6ee;padding:10px;display:flex;align-items:center;justify-content:center}
.card .art img{width:100%;height:100%;object-fit:cover;border-radius:16px;display:block}
.illustration-note{display:block;margin-top:10px;font-size:.82rem;color:#6b776f}

/* Fotografie vervangt de abstracte illustraties. */
.svg-frame{padding:0;min-height:0;background:#fff;border:0;overflow:hidden;box-shadow:0 12px 34px rgba(24,49,39,.12)}
.svg-frame img{width:100%;height:auto;max-height:540px;aspect-ratio:3/2;object-fit:cover;border-radius:20px;display:block}
.card .art{padding:0;background:#f6efe4}
.card .art img{width:100%;height:100%;object-fit:cover;border-radius:0;display:block}
.hero-picture{background:#376d5c}
.hero-picture>img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;display:block}
@media(max-width:620px){.svg-frame img{aspect-ratio:4/3}}


.aside-card .btn{width:100%;justify-content:space-between;border-radius:22px;padding:16px 22px;font-size:1.02rem}
.hero-ctas .btn{padding:15px 24px}
.tool .btn{border-radius:14px}
.small-btn{border-radius:10px}

/* Nav met submenu's voor de bestaande interactieve kerstpagina's */
.nav-dropdown{position:relative;color:#fff}
.nav-dropdown>summary{list-style:none;cursor:pointer;padding:8px 11px;border-radius:10px;font-size:.84rem;font-weight:600;white-space:nowrap;display:flex;gap:7px;align-items:center}
.nav-dropdown>summary::-webkit-details-marker{display:none}
.nav-dropdown>summary::after{content:"⌄";font-size:1.05em;line-height:1;transition:transform .15s}
.nav-dropdown[open]>summary::after{transform:rotate(180deg)}
.nav-dropdown>summary:hover,.nav-dropdown[open]>summary{background:#ffffff17}
.nav-dropdown>summary:focus-visible,.nav-submenu a:focus-visible{outline:2px solid #f2d59a;outline-offset:2px}
.nav-submenu{position:absolute;z-index:90;top:100%;left:0;width:max-content;min-width:230px;max-width:300px;padding:9px;background:#fff;color:#25352f;border:1px solid #e3dacb;border-radius:15px;box-shadow:0 18px 38px #102f2670;display:grid;gap:2px}
.nav-submenu a{color:#25352f!important;display:block;padding:10px 13px!important;font-size:.87rem!important;line-height:1.35;border-radius:9px}
.nav-submenu a:hover,.nav-submenu a[aria-current=page]{background:#f5ebdf!important;color:#8d2530!important}
@media(max-width:980px){.nav-dropdown{width:100%}.nav-dropdown>summary{font-size:.98rem;padding:10px 11px;justify-content:space-between}.nav-submenu{position:static;width:100%;max-width:none;min-width:0;box-shadow:none;background:#f4f5ee;border:0;border-radius:12px;margin:3px 0 8px;padding:7px}.nav-submenu a{font-size:.93rem!important;padding:10px 12px!important}}

.music-video-card .music-performer{font-weight:800;color:#275a4c;margin:.05rem 0 .35rem;font-size:.95rem}.music-videos{margin-top:1.7rem}.music-video-card .trailer-copy h3{font-size:1.25rem}.music-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:700px){.music-video-grid{grid-template-columns:1fr}}

/* Printbare kerstkleurplaten: heldere voorbeelden op wit papier */
.printable-coloring-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}
.print-color-card{border:1px solid #e7e0d4;background:#fff;border-radius:18px;padding:10px;box-shadow:0 10px 22px rgba(25,47,36,.055);min-width:0}
.print-color-card img{width:100%;display:block;aspect-ratio:1/1;object-fit:contain;border-radius:12px;background:#fff}
.print-color-card h3{font-size:1.18rem;margin:12px 5px;font-family:'DM Serif Display',Georgia,serif}
.print-color-actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 5px 9px}
.print-color-actions .small-btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;font:700 .78rem Inter,Arial,sans-serif;padding:9px 11px;border:1px solid #285c4d;color:#285c4d;background:#fff;border-radius:10px}
.print-color-actions .small-btn:first-child{background:#a52d36;border-color:#a52d36;color:#fff}
.print-color-actions .small-btn:hover{background:#285c4d;border-color:#285c4d;color:#fff}
@media(max-width:920px){.printable-coloring-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.printable-coloring-grid{grid-template-columns:1fr}}
@media print{.print-color-actions{display:none!important}}

/* v20: dropdown raakt het hoofditem zonder hover-gat */
@media(min-width:981px){.nav-dropdown>.nav-submenu{top:100%;padding-top:13px}.nav-dropdown:focus-within>.nav-submenu{display:grid}}

/* Brede, duidelijk zichtbare foto-overzichten op categoriepagina's */
.visual-link-section{margin:27px 0 42px;padding:25px;background:#f8f2e8;border-radius:24px;border:1px solid #e9ddc9}
.article .visual-link-section h2{margin:0 0 9px;font-size:clamp(1.65rem,2.8vw,2.15rem)}
.visual-link-intro{color:#52645b;margin:0 0 19px!important}
.visual-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.visual-link-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid #e3dfd4;background:#fff;color:#263d33!important;border-radius:18px;text-decoration:none!important;box-shadow:0 10px 23px #223d3010;transition:transform .2s,box-shadow .2s}
.visual-link-card:hover,.visual-link-card:focus-visible{transform:translateY(-3px);box-shadow:0 15px 30px #223d3024}
.visual-link-card img{display:block;width:100%;height:155px;object-fit:cover;border-radius:0!important}
.visual-link-body{padding:16px;display:flex;flex:1;flex-direction:column;gap:7px}
.visual-link-body strong{font:400 1.32rem/1.2 'DM Serif Display',Georgia,serif;color:#224e3c}
.visual-link-description{font:400 .88rem/1.55 Inter,Arial,sans-serif;color:#58685e}
.visual-link-cta{font:700 .85rem/1.3 Inter,Arial,sans-serif;color:#a52d36;margin-top:auto;padding-top:6px}
@media(max-width:850px){.visual-link-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.visual-link-section{padding:18px}}
@media(max-width:600px){.visual-link-grid{grid-template-columns:1fr}.visual-link-card img{height:180px}.visual-link-section{padding:15px}}

/* v23: mobiel een compacte, leesbare homepage zonder overlappende teller */
@media(max-width:620px){
 .hero{padding:22px 0 36px;overflow:visible}
 .hero-layout{gap:20px}
 .hero .eyebrow{margin-bottom:8px;font-size:.65rem}
 .hero h1{font-size:clamp(2.05rem,8.2vw,2.65rem);line-height:1.13;margin-bottom:12px;max-width:100%;overflow-wrap:normal}
 .hero p{font-size:.96rem;line-height:1.55;margin-bottom:10px}
 .hero-ctas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:17px}
 .hero-ctas .btn{width:100%;min-height:48px;padding:10px 8px;font-size:.78rem;line-height:1.35;border-radius:12px;text-align:center;box-shadow:none}
 .hero-picture{min-height:225px;height:225px;width:100%;max-width:none;border-radius:18px;overflow:hidden;box-shadow:0 12px 25px #061d1830}
 .hero-picture>img{object-fit:cover;object-position:center}
 .hero-badge{bottom:10px;left:10px;right:10px;padding:8px 10px;border-radius:12px;gap:8px;background:#f8f2e8f5;font-size:.8rem}
 .hero-badge>span:first-child{font-size:.75rem;line-height:1.25;flex:1 1 37%}
 .hero-badge .countdown{display:flex!important;flex-wrap:nowrap;gap:5px;margin:0!important;flex:1 1 56%;justify-content:flex-end}
 .hero-badge .count-box{min-width:0;padding:5px 6px;border-radius:9px;flex:1 1 0}
 .hero-badge .count-box strong{font-size:1.35rem;line-height:1.2}
 .hero-badge .count-box span{font-size:.58rem;line-height:1.2;display:block}
 .section{padding:38px 0}
 .section-head h2{font-size:1.9rem}
 .section-head p{font-size:.95rem;line-height:1.55}
}
@media(max-width:370px){.hero-ctas{grid-template-columns:1fr}.hero-picture{height:215px;min-height:215px}.hero h1{font-size:2rem}}

/* Kerstmarkten: bevestigde data en locaties */
.market-dates{margin:24px auto 32px;padding:24px;border-radius:24px;background:#f2f7ee;border:1px solid #dae7d5}
.market-dates h2{margin:0 0 9px;font-size:clamp(1.35rem,2.2vw,1.8rem)}
.market-dates .market-intro{margin:0 0 18px;max-width:85ch}
.market-date-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.market-date-item{padding:17px 18px;border-radius:18px;background:#fff;border:1px solid #e7eae3;min-width:0}
.market-date-item h3{margin:0 0 9px;font-size:1.12rem}
.market-date-item p{margin:7px 0;line-height:1.5}
.market-date-item .market-period{color:#19452e;font-weight:750}
.market-date-item .market-location{font-weight:600}
.market-date-item .market-note{font-size:.91rem;color:#526258}
.market-date-item a{display:inline-block;margin-top:7px;font-weight:700}
.market-dates .date-caution{font-size:.91rem;margin:15px 0 0;color:#48584c}
@media(max-width:650px){.market-dates{padding:15px;border-radius:18px;margin:16px auto 23px}.market-date-list{grid-template-columns:1fr;gap:10px}.market-date-item{padding:14px}.market-dates h2{font-size:1.3rem}}

/* Extra praktische marktinformatie */
.market-help{margin:1.25rem 0 0;padding:1.15rem 1.4rem;border-radius:20px;background:#f7f2e9}.market-help h2{margin:0 0 .5rem;font-size:clamp(1.15rem,2vw,1.45rem)}.market-help p{margin:0;line-height:1.7}@media(max-width:640px){.market-help{padding:1rem}}

/* v28: landenoverzicht: Nederland bovenaan met brede foto */
.market-country-overview{margin:32px auto 26px}
.market-country-overview h2{font-size:clamp(1.55rem,2.5vw,2.2rem);margin:0 0 6px}
.market-country-overview>p{color:#52645b;margin:0 0 19px}
.market-country-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.market-country-card{display:flex;flex-direction:column;overflow:hidden;border-radius:20px;background:#fff;border:1px solid #e5dfd4;box-shadow:0 10px 24px #243a2b15;color:#263d33!important;text-decoration:none!important;min-width:0;transition:transform .2s,box-shadow .2s}
.market-country-card:hover,.market-country-card:focus-visible{transform:translateY(-3px);box-shadow:0 16px 32px #243a2b25}
.market-country-card img{width:100%;height:210px;object-fit:cover;display:block}
.market-country-feature{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);min-height:300px}
.market-country-feature img{height:100%;min-height:300px;max-height:360px}
.market-country-copy{display:flex;flex-direction:column;gap:9px;padding:20px 24px;justify-content:center}
.market-country-copy strong{font:400 clamp(1.4rem,2.5vw,2rem)/1.22 'DM Serif Display',Georgia,serif;color:#224e3c}
.market-country-copy>span:not(.market-country-link){color:#52645b;font-size:.95rem}
.market-country-link{font-weight:700;color:#a52d36;margin-top:8px;font-size:.9rem}
@media(max-width:720px){.market-country-overview{margin:22px auto}.market-country-grid{grid-template-columns:1fr;gap:13px}.market-country-feature{grid-column:auto;display:flex;min-height:0}.market-country-feature img{height:210px;min-height:0;max-height:none}.market-country-card img{height:200px}.market-country-copy{padding:17px 19px}.market-country-overview h2{font-size:1.6rem}}

/* v29 – kerstmarkten: rustig foto-overzicht en compacte agenda */
.markets-redesign{margin:28px auto 42px}
.markets-wide-photo{position:relative;border-radius:24px;overflow:hidden;height:clamp(260px,32vw,390px);background:#183d30}
.markets-wide-photo>img{width:100%;height:100%;display:block;object-fit:cover}
.markets-wide-photo:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(10,29,22,.76));pointer-events:none}
.markets-photo-caption{position:absolute;z-index:1;bottom:28px;left:30px;right:25px;color:white;display:flex;flex-direction:column;gap:5px}
.markets-photo-caption span{font-size:.88rem;font-weight:750;letter-spacing:.04em}
.markets-photo-caption strong{font:400 clamp(1.7rem,3vw,2.55rem)/1.13 'DM Serif Display',Georgia,serif}
.markets-introline{margin:30px 0 17px}.markets-introline h2{margin:0 0 6px;font-size:clamp(1.5rem,2.6vw,2.1rem)}.markets-introline p{margin:0;color:#54665b}
.markets-country-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.markets-country-card{overflow:hidden;background:#fff;display:flex;flex-direction:column;min-width:0;border-radius:18px;border:1px solid #e8e2d6;color:#244035!important;text-decoration:none!important;box-shadow:0 6px 19px #172d2010;transition:transform .2s ease,box-shadow .2s ease}
.markets-country-card:hover,.markets-country-card:focus-visible{transform:translateY(-3px);box-shadow:0 12px 25px #172d2020}
.markets-country-card img{height:170px;width:100%;object-fit:cover;display:block}
.markets-card-body{padding:16px 18px 19px;display:flex;flex-direction:column;gap:7px;flex:1}
.markets-card-body strong{font:400 1.55rem/1.2 'DM Serif Display',Georgia,serif;color:#1e513f}
.markets-card-body>span{font-size:.87rem;color:#58695e;line-height:1.5}
.markets-card-body em{font-style:normal;font-weight:750;font-size:.88rem;color:#a42e38;margin-top:auto;padding-top:9px}
.markets-agenda{background:#f6f4eb;border:1px solid #e8e4d9;border-radius:23px;padding:27px;margin:28px 0 0}
.markets-agenda-heading h2{font-size:clamp(1.45rem,2.3vw,1.95rem);margin:0 0 7px}.markets-agenda-heading p{margin:0;color:#53665a;max-width:92ch;line-height:1.55}
.markets-agenda-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:21px;align-items:start}
.markets-agenda-group{background:#fff;border:1px solid #e7e4da;border-radius:16px;padding:17px;min-width:0}
.markets-agenda-group h3{font:400 1.5rem/1.25 'DM Serif Display',Georgia,serif;color:#20523f;margin:0 0 9px}
.markets-rows{display:grid}.markets-rows a{display:grid;gap:2px;padding:11px 0;color:#233f34!important;text-decoration:none!important;border-bottom:1px solid #eae9e2}
.markets-rows a:hover strong{text-decoration:underline}.markets-rows strong{font-size:.91rem}.markets-rows span{font-size:.78rem;color:#657268}.markets-rows time{font-size:.8rem;color:#a12d39;font-weight:750;margin-top:3px}
.markets-more{display:inline-block;margin-top:15px;color:#a12d39!important;font-weight:750;font-size:.82rem;text-decoration:none}
.markets-disclaimer{font-size:.82rem;color:#647166;margin:17px 0 0}
@media(max-width:900px){.markets-agenda-groups{grid-template-columns:1fr}.markets-agenda-group{padding:16px}.markets-rows a{grid-template-columns:minmax(100px,1fr) 1fr auto;align-items:center;column-gap:12px}.markets-rows time{margin:0;text-align:right}}
@media(max-width:680px){.markets-redesign{margin:17px auto 26px}.markets-wide-photo{height:230px;border-radius:17px}.markets-photo-caption{bottom:18px;left:19px;right:15px}.markets-photo-caption strong{font-size:1.65rem}.markets-country-cards{grid-template-columns:1fr;gap:12px}.markets-country-card{display:grid;grid-template-columns:39% minmax(0,1fr);min-height:142px}.markets-country-card img{height:100%;min-height:142px}.markets-card-body{padding:14px 13px;gap:4px}.markets-card-body strong{font-size:1.3rem}.markets-card-body>span{font-size:.79rem}.markets-card-body em{font-size:.78rem;padding-top:6px}.markets-agenda{padding:17px 13px;margin-top:20px;border-radius:17px}.markets-rows a{grid-template-columns:1fr;gap:3px}.markets-rows time{text-align:left;margin-top:3px}.markets-agenda-group h3{font-size:1.4rem}}

/* Kerstmarkten per stad */
.city-facts{margin-top:22px;margin-bottom:26px;padding:24px 26px;border-radius:22px;background:#f6eee4;}
.city-facts h2{margin:0 0 16px;font-size:clamp(1.35rem,2vw,1.8rem)}
.city-fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;}
.city-fact-grid>div{padding:16px 18px;background:#fffdf9;border:1px solid #eadfd0;border-radius:16px;}
.city-fact-grid strong{display:block;color:#164c3d;margin-bottom:7px}
.city-fact-grid p{margin:0;line-height:1.5}
.city-detail-link{margin:12px 0 0;font-weight:700}
.markets-city-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:16px 0 26px;}
.markets-city-links a{padding:8px 14px;border-radius:30px;background:#f4e8d9;color:#17483a;font-weight:700;text-decoration:none}
.markets-city-links a:hover{background:#e8d7c1}
@media(max-width:720px){.city-facts{padding:18px 16px;margin-top:16px}.city-fact-grid{grid-template-columns:1fr}.markets-city-links{gap:7px}}

/* Kerstplezier: directe, herkenbare ingangen */
.plezier-start{margin:0 0 26px}.plezier-start>p{max-width:74ch;margin:0 0 20px}
.plezier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0 24px}
.plezier-tile{display:flex;flex-direction:column;min-width:0;text-decoration:none!important;overflow:hidden;border:1px solid #e6dfd2;background:#fffaf2;border-radius:20px;box-shadow:0 9px 22px rgba(42,48,38,.065);transition:transform .2s,box-shadow .2s}
.plezier-tile:hover,.plezier-tile:focus-visible{transform:translateY(-3px);box-shadow:0 12px 27px rgba(42,48,38,.12)}
.plezier-tile img{display:block;width:100%;height:165px;object-fit:cover}
.plezier-tile-copy{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1;color:#343b34}
.plezier-tile-copy strong{font-size:1.18rem;color:#184b38;line-height:1.25}
.plezier-tile-copy span{line-height:1.5}
.plezier-tile-copy em{font-style:normal;color:#a7353b;font-weight:700;margin-top:auto}
.plezier-quick{margin:22px 0;padding:20px 24px;background:#f8f4ec;border-radius:18px}
.plezier-quick h2{margin-top:0}
@media(max-width:900px){.plezier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.plezier-grid{grid-template-columns:1fr;gap:14px}.plezier-tile{flex-direction:row;align-items:stretch}.plezier-tile img{width:36%;height:auto;min-height:145px}.plezier-tile-copy{padding:13px;gap:6px}.plezier-tile-copy strong{font-size:1.03rem}.plezier-tile-copy span{font-size:.9rem}.plezier-tile-copy em{font-size:.85rem}.plezier-quick{padding:16px}}

/* Losse vragen en antwoorden op kerstmarktpagina's */
.faq-list{display:grid;gap:16px;margin:18px 0 6px}
.faq-item{padding:18px 20px;background:#f5f7ef;border:1px solid #e2e8db;border-radius:16px}
.faq-item h3{font-size:1.07rem;line-height:1.35;margin:0 0 9px;font-weight:700}
.faq-item p{margin:0;line-height:1.65}
.market-city-link{display:inline-block;margin-top:12px;font-weight:700}
.city-links{margin-top:15px}
@media(max-width:600px){.faq-list{gap:12px}.faq-item{padding:15px 16px}}


/* v36: extra witruimte op kerstmarkt-stadspagina's */
.market-dates{margin:30px auto 40px;padding:30px 30px 28px}
.market-dates .market-intro{margin:24px 0 14px;line-height:1.78;padding-top:8px}
.market-date-list{gap:18px}
.market-date-item{padding:21px 22px}
.market-help{margin:1.6rem 0 0;padding:1.35rem 1.6rem}
.article-layout{padding-top:56px;padding-bottom:82px}
.article h2{margin-top:46px}
.faq-list{gap:20px;margin:24px 0 10px}
.faq-item{padding:22px 24px}
.reading-links{margin-top:46px;padding:28px}
@media(max-width:650px){.market-dates{padding:18px 16px 18px;margin:18px auto 26px}.market-dates .market-intro{margin:18px 0 10px;padding-top:4px}.market-date-list{gap:12px}.market-date-item{padding:16px}.market-help{padding:1.05rem 1rem}}
@media(max-width:600px){.faq-list{gap:14px}.faq-item{padding:17px 18px}.reading-links{margin-top:34px;padding:22px}.article-layout{padding-top:42px;padding-bottom:64px}}

/* Kerstbingo: duidelijke afdrukbare speelkaarten */
.bingo-tool{padding:24px;background:#f5f8f1;border:1px solid #dde8d9;border-radius:22px;margin:25px 0 32px}
.bingo-tool h2{margin-top:0}.bingo-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.bingo-toolbar .btn{cursor:pointer}
.bingo-word{padding:24px 15px;margin:15px 0 6px;background:white;color:#1e4939;text-align:center;font-weight:800;font-size:clamp(1.4rem,3vw,2.2rem);border:2px dashed #b5cdbb;border-radius:16px;overflow-wrap:anywhere}
.bingo-count{font-weight:650;color:#526257}.bingo-drawn{margin-top:14px}.bingo-drawn summary{cursor:pointer;font-weight:700}
.bingo-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:16px}
.bingo-card{background:#fff;border:1px solid #d8e1d5;border-radius:16px;padding:14px;break-inside:avoid;page-break-inside:avoid}
.bingo-card h3{font-size:1.15rem;margin:0 0 12px;text-align:center;color:#1d4737}
.bingo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #889b8d;border-left:1px solid #889b8d}
.bingo-grid span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:65px;padding:6px 3px;border-right:1px solid #889b8d;border-bottom:1px solid #889b8d;font-size:.77rem;line-height:1.3;overflow-wrap:anywhere}
@media(max-width:700px){.bingo-cards{grid-template-columns:1fr}.bingo-tool{padding:18px}.bingo-grid span{min-height:55px}}
@media print{ @page{size:A4 portrait;margin:12mm} body *{visibility:hidden!important}#bingo-print-area,#bingo-print-area *{visibility:visible!important}#bingo-print-area{position:absolute;left:0;top:0;width:100%;margin:0;padding:0}#bingo-print-area>p{display:none}#bingo-print-area>h2{font-size:16pt;margin:0 0 7mm}.bingo-cards{grid-template-columns:repeat(2,1fr);gap:6mm}.bingo-card{border:1px solid #555;border-radius:0;padding:4mm;box-shadow:none}.bingo-card h3{color:#000;font:700 13pt Arial;margin:0 0 3mm}.bingo-grid span{min-height:21mm;font:10pt Arial;padding:1mm;color:#000}#bingo-print-area a{display:none}}

/* v37b: alleen ruimte boven de bronregel, niet onder de tekst */
.city-facts .market-intro{margin:26px 0 0;padding:0;line-height:1.65}
@media(max-width:650px){.city-facts .market-intro{margin-top:22px;margin-bottom:0;padding:0}}

/* Kerstraadsels */
.riddles-grid{display:grid;gap:14px;margin:18px 0 30px}
.riddle-card{border:1px solid #e1e7df;border-radius:16px;background:#fffdf7;overflow:hidden}
.riddle-card summary{list-style:none;display:flex;align-items:center;gap:16px;cursor:pointer;padding:20px 22px;font-weight:650;line-height:1.55}
.riddle-card summary::-webkit-details-marker{display:none}
.riddle-number{color:#9a3038;font-weight:800;flex:0 0 auto}
.riddle-action{margin-left:auto;flex:0 0 auto;color:#225840;font-weight:700;font-size:.85rem}
.riddle-card[open] .riddle-action{font-size:0}
.riddle-card[open] .riddle-action::before{content:'Verberg antwoord';font-size:.85rem}
.riddle-card summary:focus-visible{outline:3px solid #ba8034;outline-offset:-4px}
.riddle-answer{margin:0!important;padding:14px 22px 20px 56px;border-top:1px solid #e1e7df;background:#f2f7ee}
@media(max-width:600px){.riddle-card summary{flex-wrap:wrap;padding:16px;gap:10px}.riddle-action{width:100%;padding-left:31px;margin-left:0}.riddle-answer{padding:14px 16px}}

/* v39: Wie ben ik? kerstspel */
.guess-game{border:1px solid #dce5d6;background:#f2f7ee;border-radius:24px;padding:26px;margin:28px 0 35px}
.guess-head{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}.guess-head h2{margin:4px 0 0}.guess-progress{font-weight:700;color:#285546}
.guess-panel{background:white;border:1px solid #e1e9dc;border-radius:18px;padding:26px;margin:20px 0;min-height:220px;display:flex;flex-direction:column;justify-content:center}
.guess-label{font-size:.85rem!important;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#8e4f34;margin:0 0 8px!important}.guess-clue{font-size:clamp(1.3rem,2.6vw,1.8rem)!important;line-height:1.45!important;font-weight:650;margin:0!important}
.guess-answer{margin-top:22px;padding:15px 18px;background:#fff1d9;border-radius:14px;display:flex;gap:8px;flex-direction:column}.guess-answer[hidden]{display:none}.guess-answer span{font-size:.85rem}.guess-answer strong{font-size:1.25rem;color:#184b38}
.guess-buttons{display:flex;gap:10px;flex-wrap:wrap}.guess-buttons button{cursor:pointer}.guess-restart{border:0;background:transparent;text-decoration:underline;font-weight:700;color:#285546;padding:12px}.guess-note{margin:15px 0 0!important;font-size:.92rem!important}
@media(max-width:650px){.guess-game{padding:16px}.guess-panel{padding:20px;min-height:190px}.guess-buttons .btn{flex:1 1 100%}.guess-head h2{font-size:1.35rem}}

/* Kerstuitbeelden: leesbaar op mobiel en desktop */
.charades-game{margin:28px 0 38px;padding:26px;background:#f8f4ec;border:1px solid #e7dfd2;border-radius:22px}
.charades-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.charades-top h2{margin:4px 0 0}.charades-top>span{font-weight:700;color:#235642}
.charades-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:20px 0 16px}.charades-controls label{font-weight:700}.charades-controls select{font:inherit;max-width:100%;padding:10px 12px;border:1px solid #c5cbbf;border-radius:12px;background:#fff}
.charades-display{background:#fff;border:1px solid #e4e8dd;border-radius:18px;padding:25px 18px;text-align:center}.charades-small{font-weight:700;color:#527060}.charades-display>p:not(.charades-clock){font-size:clamp(1.3rem,2.7vw,1.9rem);font-weight:700;line-height:1.4;margin:16px 0;min-height:3em}.charades-clock{font-size:clamp(2.5rem,7vw,3.5rem)!important;font-weight:800;line-height:1.1!important;color:#205442;margin:8px 0!important;font-variant-numeric:tabular-nums}
.charades-actions{display:flex;gap:10px;flex-wrap:wrap;margin:17px 0}.charades-actions button{flex:1 1 130px;min-width:0}.charades-actions button:disabled{opacity:.5;cursor:not-allowed}.charades-message{margin:8px 0 20px!important}.charades-scores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.charades-scores>div{display:flex;flex-direction:column;align-items:center;gap:9px;background:#fff;border:1px solid #e1e5dc;border-radius:16px;padding:15px}.charades-scores span{font-size:2rem;font-weight:800;color:#245640}.charades-scores button,.charades-reset{font:inherit;cursor:pointer;border:1px solid #b5c6b7;background:#eaf2e7;color:#204f37;border-radius:12px;padding:10px 14px;font-weight:700}.charades-reset{margin-top:19px;width:100%}
@media(max-width:600px){.charades-game{padding:16px;border-radius:18px}.charades-display{padding:20px 12px}.charades-actions{gap:8px}.charades-actions .btn{padding:12px 10px;font-size:.93rem}.charades-scores{gap:9px}.charades-scores>div{padding:12px 7px}.charades-scores button{font-size:.9rem;padding:10px 8px}}

/* v41: bewegende kerstspelletjes */
.arcade-game{background:#fffaf2;border:1px solid #e8ddca;border-radius:22px;padding:20px;margin:22px 0 28px;box-shadow:0 10px 30px #1e3c2910}
.arcade-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.arcade-score{display:flex;flex-wrap:wrap;gap:10px}.arcade-score span{background:#eaf2e8;border-radius:12px;padding:9px 14px;font-weight:750;color:#173f35}
.arcade-stage{position:relative;height:390px;background:linear-gradient(#174f4b,#27656a 65%,#d8e9e4 65%,#e6f1eb);border-radius:16px;overflow:hidden;touch-action:none;user-select:none;isolation:isolate}
.arcade-stage:focus-visible{outline:3px solid #d4a75f;outline-offset:3px}
.arcade-snow{position:absolute;inset:0;pointer-events:none;opacity:.42;background-image:radial-gradient(#fff 2px,transparent 3px);background-size:48px 52px}
.arcade-item{position:absolute;display:flex;align-items:center;justify-content:center;font-size:38px;width:52px;height:52px;line-height:1;will-change:transform;pointer-events:none;text-shadow:0 4px 8px #0002}
.arcade-basket{position:absolute;bottom:9px;font-size:60px;width:100px;text-align:center;line-height:1;pointer-events:none;filter:drop-shadow(0 5px 4px #173f3540)}
.arcade-target{position:absolute;border:0;background:#f9ffffed;border-radius:50%;width:76px;height:76px;font-size:45px;cursor:pointer;touch-action:manipulation;box-shadow:0 5px 13px #0003;animation:arcade-float 1.7s ease-in-out infinite alternate;display:grid;place-items:center}
.arcade-target:hover{background:white}.arcade-target:focus-visible{outline:3px solid #d2a24f;outline-offset:3px}
@keyframes arcade-float{from{transform:translateY(-5px) rotate(-8deg)}to{transform:translateY(5px) rotate(8deg)}}
.arcade-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;background:#173f35c9;color:#fff;padding:24px;z-index:5}.arcade-overlay h2{margin:0;color:#fff}.arcade-overlay p{max-width:32ch;margin:0;color:#fff}.arcade-overlay[hidden]{display:none}.arcade-feedback{font-weight:700;min-height:1.5em}.arcade-help{font-size:.95rem;color:#405448;margin:12px 2px 0}.arcade-cta{background:#b3333e;color:#fff;border:none;border-radius:13px;padding:13px 24px;font:inherit;font-weight:750;cursor:pointer}.arcade-cta:hover{background:#92232d}
@media(max-width:650px){.arcade-game{padding:12px}.arcade-stage{height:340px}.arcade-target{width:66px;height:66px;font-size:39px}.arcade-basket{font-size:54px;width:90px}.arcade-toolbar{align-items:start}.arcade-score span{padding:8px 10px}}
@media(prefers-reduced-motion:reduce){.arcade-target{animation:none}}

/* Kerstgedichten als overzicht met kopieerbare kaarten */
.poems-intro{background:#f8f1e4;border-radius:16px;padding:17px 20px;margin:20px 0 24px;line-height:1.65}
.poems-filters{display:flex;gap:9px;flex-wrap:wrap;margin:18px 0 32px}
.poem-filter{font:inherit;font-size:.91rem;font-weight:700;color:#285c4d;border:1px solid #c7d7cf;border-radius:999px;background:#fff;padding:10px 16px;cursor:pointer;transition:background .15s,color .15s}
.poem-filter:hover,.poem-filter:focus-visible,.poem-filter.is-active{background:#285c4d;color:#fff;outline-offset:3px}
.poem-category{margin:0 0 42px}.poem-category[hidden]{display:none}.poem-category h2{margin:0 0 17px}
.poems-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.poem-card{display:flex;flex-direction:column;gap:13px;background:#fffaf3;border:1px solid #e9ded0;border-radius:19px;padding:22px 23px;min-width:0}
.poem-card:nth-child(even){background:#f3f7f0;border-color:#dae7d5}
.poem-card h3{font-size:1.23rem;margin:0;color:#205443}.article .poem-text{white-space:pre-line;line-height:1.78;margin:0;font-size:1rem;flex:1}
.poem-copy{align-self:flex-start;border:0;background:#ac333d;color:#fff;border-radius:13px;padding:11px 17px;font:inherit;font-weight:700;cursor:pointer}.poem-copy:hover,.poem-copy:focus-visible{background:#87232c;outline-offset:3px}
.poems-help{background:#f7f1e7;border-radius:20px;padding:22px 26px;margin:24px 0}.poems-help h2{margin-top:0}
@media(max-width:800px){.poems-grid{grid-template-columns:1fr}}
@media(max-width:600px){.poem-card{padding:18px}.poems-filters{gap:7px}.poem-filter{padding:9px 12px;font-size:.85rem}}

/* Kerstwensen: brede fotokaarten en losse kopieerbare wensen */
.wish-picker{margin:30px 0 42px}.wish-picker h2{margin:0 0 8px}.wish-intro{margin:0 0 20px}.wish-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.wish-category-card{display:flex;flex-direction:column;min-width:0;border-radius:20px;overflow:hidden;text-decoration:none!important;border:1px solid #e8e2d5;background:#fffaf4;box-shadow:0 7px 20px rgba(20,45,35,.06)}.wish-category-card img{width:100%;height:195px;object-fit:cover;display:block}.wish-category-copy{padding:17px 19px;display:flex;flex-direction:column;gap:7px;flex:1;color:#333e38}.wish-category-copy strong{color:#214d3f;font-size:1.16rem}.wish-category-copy span{line-height:1.5}.wish-category-copy em{font-style:normal;color:#a6313d;font-weight:700;margin-top:auto}.wish-category-card:hover{box-shadow:0 12px 26px rgba(20,45,35,.12);transform:translateY(-2px)}.wish-section{scroll-margin-top:22px;margin:42px 0}.wish-section h2{margin:0 0 8px}.wish-section>p{margin:0 0 18px}.wish-examples{display:grid;gap:14px}.wish-example{background:#f6f5ee;border:1px solid #e7e4d9;border-radius:17px;padding:20px 22px;display:flex;justify-content:space-between;gap:24px;align-items:center}.wish-example p{margin:0!important;line-height:1.65!important;flex:1}.wish-copy{appearance:none;cursor:pointer;white-space:nowrap;background:#a72f3c;color:#fff;border:0;border-radius:12px;padding:12px 15px;font:inherit;font-weight:700}.wish-copy:hover{background:#85232e}.wish-copy:focus-visible{outline:3px solid #d5a764;outline-offset:3px}.wish-advice{margin:42px 0 24px}.wish-advice h2{margin-top:30px}@media(max-width:740px){.wish-category-grid{grid-template-columns:1fr}.wish-category-card{flex-direction:row}.wish-category-card img{width:40%;height:auto;min-height:160px}.wish-category-copy{padding:14px}.wish-example{align-items:flex-start;flex-direction:column;gap:14px}.wish-copy{width:auto}.wish-picker{margin:24px 0 34px}}@media(max-width:390px){.wish-category-card img{width:35%}.wish-category-copy strong{font-size:1rem}}

/* Versie 45: overzichtspagina’s met ruime fotokaarten */
.v45-guide{margin:28px 0 34px;padding:24px;background:#f6f3eb;border-radius:22px}.v45-guide .visual-link-grid{gap:17px}.v45-guide .visual-link-card img{height:175px;object-fit:cover}.v45-guide .visual-link-card{background:#fff;border-radius:17px;overflow:hidden}.v45-guide .visual-link-body{padding:16px 18px}.v45-guide .visual-link-description{line-height:1.55}@media(max-width:600px){.v45-guide{margin:20px 0 26px;padding:14px}.v45-guide .visual-link-card img{height:175px}}

/* v46: minder verticale witruimte, uitsluitend op de homepage */
.home-page .section { padding-top: 46px; padding-bottom: 46px; }
.home-page .section-head { margin-bottom: 22px; }
.home-page .section .eyebrow { margin-bottom: 10px; }
.home-page section.wrap.section { padding-top: 42px; padding-bottom: 48px; }
@media (max-width: 700px) {
  .home-page .section { padding-top: 32px; padding-bottom: 32px; }
  .home-page .section-head { margin-bottom: 17px; }
  .home-page section.wrap.section { padding-top: 28px; padding-bottom: 36px; }
}

/* v47: volledig uitgewerkte recepten en directe navigatie */
.recipe-detail{margin:26px 0 36px;padding:25px 28px;border:1px solid #e5dfd1;border-radius:20px;background:#fcf8f0}
.recipe-detail h2{margin:0 0 10px}.recipe-detail h3{font-size:1.18rem;margin:14px 0 8px}
.recipe-facts{display:inline-block;padding:7px 13px;border-radius:999px;background:#e7f0e5;color:#215540;font-weight:700;font-size:.92rem}
.recipe-columns{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:26px;margin-top:10px}
.recipe-columns li{margin-bottom:7px}.recipe-columns ol{padding-left:1.35em}.recipe-columns ul{padding-left:1.25em}
.recipe-tip{margin:18px 0 0;padding:13px 17px;background:#f1ede2;border-radius:12px}
.recipe-jump{padding:20px 24px;margin:20px 0 28px;background:#f1f6ed;border-radius:18px}
.recipe-jump h2{margin:0 0 8px!important;font-size:1.5rem}.recipe-jump p{margin:0 0 12px}
.recipe-jump-links{display:flex;flex-wrap:wrap;gap:10px}
.recipe-jump-links a{display:inline-block;background:#fff;border:1px solid #dce7d7;border-radius:12px;padding:10px 13px;text-decoration:none;color:#24533f}
.recipe-jump-links a:hover{background:#e6f0e3}
@media(max-width:700px){.recipe-columns{grid-template-columns:1fr;gap:4px}.recipe-detail{padding:19px 17px}.recipe-jump{padding:17px}.recipe-jump-links{flex-direction:column}}

/* Den Ilp: historische kerstfoto's */
.denilp-gallery{margin:0 0 32px}.denilp-gallery h2{margin:0 0 12px}.denilp-gallery>p{line-height:1.7;margin:0 0 18px}.denilp-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.denilp-photo-grid figure{margin:0;background:#f8f4eb;border:1px solid #ebe3d5;border-radius:19px;overflow:hidden}.denilp-photo-grid a{display:block}.denilp-photo-grid img{width:100%;height:245px;object-fit:cover;display:block;border-radius:0}.denilp-photo-grid figcaption{padding:12px 15px 16px;line-height:1.5;font-size:.88rem;color:#526159}.denilp-photo-grid figcaption a{display:inline;font-weight:650}.denilp-photo-note{margin-top:14px!important;color:#647269;font-size:.88rem!important}@media(max-width:650px){.denilp-photo-grid{grid-template-columns:1fr;gap:15px}.denilp-photo-grid img{height:220px}}

/* v54b: bijschrift onder de buitenverlichtingsfoto leesbaar en netjes uitgelijnd */
.article figure.outside-christmas-photo { margin: 24px 0 32px; background:#f7f2e9; border-radius:20px; overflow:hidden; }
.article figure.outside-christmas-photo img { display:block; width:100%; border-radius:20px 20px 0 0; }
.article figure.outside-christmas-photo figcaption { display:block; padding:13px 20px 16px; margin:0; font-size:.9rem; font-weight:400; line-height:1.5; color:#536158; background:#f7f2e9; overflow-wrap:anywhere; }
@media (max-width:620px) { .article figure.outside-christmas-photo figcaption {padding:12px 15px 15px; font-size:.85rem;} }

/* v55 - verfijnde, responsive kerstteller in de hero; cijfers blijven dynamisch */
.home-page .hero-picture { position:relative; }
.home-page .hero-badge-premium {
  position:absolute;left:3%;right:3%;bottom:3%;z-index:2;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:18px 20px;border-radius:22px;
  background:rgba(252,248,240,.96);border:1px solid rgba(255,255,255,.85);
  box-shadow:0 15px 32px rgba(17,35,27,.20);color:#204e3e;
}
.home-page .countdown-heading{min-width:0;flex:1 1 48%;display:flex;align-items:center;gap:12px}
.home-page .countdown-tree{display:grid;place-items:center;flex:0 0 40px;height:44px;color:#b88933;font-size:2rem}
.home-page .countdown-heading strong{display:block;color:#194a38;font:400 clamp(1.15rem,2vw,1.75rem)/1.13 'DM Serif Display',Georgia,serif}
.home-page .countdown-heading small{display:block;color:#64736a;line-height:1.4;font-size:.76rem;margin-top:5px}
.home-page .hero-badge-premium .countdown{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));flex:0 1 46%;gap:12px;margin:0!important}
.home-page .hero-badge-premium .count-box{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;border:1px solid #e9e9e2;padding:13px 10px;border-radius:18px;box-shadow:0 3px 10px rgba(23,55,40,.06)}
.home-page .hero-badge-premium .count-box strong{font:700 clamp(1.7rem,3vw,2.65rem)/1 Inter,Arial,sans-serif;color:#174b39;font-variant-numeric:tabular-nums}
.home-page .hero-badge-premium .count-box span{font-size:.73rem;font-weight:700;color:#526b60;margin-top:8px;white-space:nowrap}
@media(max-width:900px){.home-page .hero-badge-premium{padding:12px;gap:10px;border-radius:16px}.home-page .countdown-heading{gap:5px}.home-page .countdown-tree{flex-basis:28px;font-size:1.45rem}.home-page .countdown-heading small{font-size:.68rem}.home-page .hero-badge-premium .countdown{gap:7px}.home-page .hero-badge-premium .count-box{padding:10px 6px;border-radius:12px}.home-page .hero-badge-premium .count-box span{font-size:.62rem}}
@media(max-width:620px){.home-page .hero-picture{height:295px;min-height:295px}.home-page .hero-badge-premium{left:10px;right:10px;bottom:10px;flex-direction:column;align-items:stretch;padding:12px;gap:10px}.home-page .countdown-heading{flex:auto}.home-page .countdown-heading strong{font-size:1.2rem}.home-page .countdown-heading small{font-size:.7rem}.home-page .hero-badge-premium .countdown{flex:none;width:100%;gap:8px}.home-page .hero-badge-premium .count-box{padding:8px}.home-page .hero-badge-premium .count-box strong{font-size:1.7rem}.home-page .hero-badge-premium .count-box span{font-size:.69rem;margin-top:4px}}
