/*
Theme Name: Swing 101
Description: Simpele Nederlandse beginnersgids voor koppels. Maakt bij activeren de pagina’s en menu’s aan. Met 18+-vraag, cookiemelding en affiliate-banner.
Version: 3.0
Text Domain: swing101
*/
:root{--ink:#1c1820;--paper:#f6f4f7;--wine:#8c1f45;--teal:#1f6f6b;--mute:#5d5764;--line:#ddd7e0;--card:#fff}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
h1,h2,h3{font-family:"Iowan Old Style",Palatino,Georgia,serif;line-height:1.2;font-weight:600}
a{color:var(--wine)}
.wrap{max-width:720px;margin:0 auto;padding:0 20px}
.wide{max-width:1040px;margin:0 auto;padding:0 20px}
.site-header{border-bottom:1px solid var(--line);background:#fff}
.site-header .wide{display:flex;flex-wrap:wrap;gap:10px 28px;align-items:center;padding-top:12px;padding-bottom:12px}
.brand img{display:block;height:40px;width:auto}
.nav ul,.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 20px;font-size:.95rem}
.nav a{color:var(--ink);text-decoration:none}.nav a:hover{color:var(--wine);text-decoration:underline}
.hero{padding:56px 0 32px;display:flex;flex-wrap:wrap;gap:28px;align-items:center}
.hero div{flex:1 1 320px}
.hero h1{font-size:clamp(2.2rem,6vw,3.6rem);margin:0 0 14px}
.hero p{color:var(--mute);font-size:1.1rem;max-width:46ch}
.hero img{flex:0 1 300px;max-width:100%;height:auto}
.btn{display:inline-block;background:var(--wine);color:#fff;padding:11px 22px;border-radius:6px;text-decoration:none;font-weight:600;border:0;cursor:pointer;font-size:1rem}
.btn:hover{filter:brightness(1.1)}
.btn.alt{background:transparent;color:var(--ink);border:2px solid var(--line)}
.topics{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;padding:16px 0 32px}
.topics a{display:block;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:18px;text-decoration:none;color:var(--ink)}
.topics a:hover{border-color:var(--wine)}
.topics h3{margin:0 0 6px;font-size:1.15rem}.topics span{color:var(--mute);font-size:.93rem}
.entry{padding:40px 0 32px}
.entry h1{font-size:clamp(1.9rem,5vw,2.8rem);margin:0 0 18px}
.entry h2{margin-top:1.8em;font-size:1.5rem}
.entry li{margin:.35em 0}
.entry dt{font-weight:700;margin-top:1em}.entry dd{margin:0;color:var(--mute)}
.entry table{border-collapse:collapse;width:100%;font-size:.92rem;display:block;overflow-x:auto}
.entry th,.entry td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.entry ul.check{list-style:none;padding:0}.entry ul.check li{padding-left:28px;position:relative}
.entry ul.check li:before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:700}
.callout{border-left:4px solid var(--teal);padding:2px 0 2px 16px;margin:22px 0;color:var(--mute)}
.sdc{margin:36px 0;padding:20px;border:2px solid var(--wine);border-radius:8px;background:var(--card);text-align:center}
.sdc img{display:block;max-width:100%;height:auto;margin:0 auto 14px}
.sdc .label{margin:0 0 10px;font-size:.8rem;color:var(--mute);text-transform:uppercase;letter-spacing:.08em}
.sdc p{margin:0 0 12px}
.site-footer{border-top:1px solid var(--line);padding:28px 0 44px;color:var(--mute);font-size:.9rem;background:#fff}
#gate{position:fixed;inset:0;z-index:99;background:var(--paper);display:flex;align-items:center;justify-content:center;padding:20px;text-align:center}
#gate>div{max-width:420px}
#gate img{width:130px;height:auto;margin-bottom:10px}
#gate h2{font-size:1.9rem;margin:0 0 10px}
#gate .btn{margin:6px 4px}
html.locked{overflow:hidden}
#ck{position:fixed;left:0;right:0;bottom:0;z-index:90;background:#fff;border-top:2px solid var(--wine);padding:14px 0;box-shadow:0 -4px 18px rgba(0,0,0,.15)}
#ck .wide{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;font-size:.92rem}
#ck p{margin:0;flex:1 1 300px}
