/*
Theme Name: ModLab
Description: Nederlands WordPress-thema voor een site over Nintendo Switch ombouwen: custom firmware, hardware-mods en reparatie.
Version: 1.0
Text Domain: switchwerk
*/
:root{--bg:#eef0f2;--ink:#14181f;--mute:#5b6470;--line:#d5d9de;--blue:#0ab9e6;--red:#ff4554;--card:#fff}
@media(prefers-color-scheme:dark){:root{--bg:#12151a;--ink:#eef0f2;--mute:#9aa4b1;--line:#2a313b;--card:#1a1f26}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 "IBM Plex Sans",system-ui,sans-serif}
h1,h2,h3{font-family:"Bricolage Grotesque","IBM Plex Sans",system-ui,sans-serif;line-height:1.1;letter-spacing:-.02em}
a{color:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.site-header{border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:16px;padding-bottom:16px}
.logo{font:800 1.4rem "Bricolage Grotesque",sans-serif;text-decoration:none}
.logo i{display:inline-block;width:.55em;height:.95em;border-radius:.2em;background:var(--blue);margin-right:2px;vertical-align:-.1em}
.logo i+i{background:var(--red);margin:0 .4em 0 0}
.nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
.nav a{text-decoration:none;color:var(--mute)}.nav a:hover{color:var(--ink)}
.hero{padding:56px 0 40px}
.hero .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(2.2rem,5vw,3.8rem);margin:0 0 16px}
.hero p{color:var(--mute);max-width:46ch;margin:0 0 24px}
.btn{display:inline-block;background:var(--ink);color:var(--bg);padding:12px 22px;border-radius:999px;text-decoration:none;font-weight:600}
.switch{display:flex;height:200px;max-width:440px;margin:auto;filter:drop-shadow(0 18px 24px rgba(0,0,0,.18))}
.switch b{display:block;width:70px;background:var(--blue);border-radius:34px 0 0 34px}
.switch b+b+b{background:var(--red);border-radius:0 34px 34px 0}
.switch b+b{flex:1;width:auto;background:#222831;border-radius:0;padding:10px}
.switch span{display:block;height:100%;background:linear-gradient(135deg,#1f3a4d,#0ab9e6 140%);border-radius:6px}
.section{padding:36px 0}
.section h2{font-size:1.8rem;margin:0 0 20px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.tile{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;text-decoration:none}
.tile:hover{border-color:var(--ink)}
.tile h3{margin:0 0 6px;font-size:1.2rem}.tile p{margin:0;color:var(--mute);font-size:.95rem}
.tile.blue{border-top:5px solid var(--blue)}.tile.red{border-top:5px solid var(--red)}
.post-card h3{margin:0 0 6px}.meta{color:var(--mute);font-size:.85rem}
.notice{background:var(--card);border-left:5px solid var(--red);padding:18px 22px;border-radius:0 12px 12px 0;color:var(--mute)}
.content{max-width:68ch;margin:40px auto}
.content h1{font-size:clamp(2rem,4vw,3rem)}
.content img{max-width:100%;height:auto;border-radius:10px}
.content pre,.content code{background:var(--card);border:1px solid var(--line);border-radius:6px}
.content pre{padding:14px;overflow-x:auto}.content code{padding:1px 5px}
.site-footer{border-top:1px solid var(--line);margin-top:40px;padding:28px 0;color:var(--mute);font-size:.9rem}
@media(max-width:760px){.hero .wrap{grid-template-columns:1fr}.switch{height:150px}}
.btn-small{padding:8px 16px;font-size:.9rem;background:var(--red);color:#fff}
.steps{counter-reset:s;list-style:none;padding:0;display:grid;gap:12px}
.steps li{counter-increment:s;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 18px 14px 54px;position:relative}
.steps li::before{content:counter(s);position:absolute;left:16px;top:12px;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font-weight:600;text-align:center;line-height:28px}
.wa-float{position:fixed;top:16px;right:16px;z-index:999;width:56px;height:56px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.25);transition:transform .15s}
.wa-float:hover{transform:scale(1.08)}
.wa-float:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
body.admin-bar .wa-float{top:48px}
.site-header .wrap{padding-right:88px}
@media(max-width:782px){body.admin-bar .wa-float{top:62px}}
@media(max-width:600px){.wa-float{width:48px;height:48px;top:12px;right:12px}.wa-float svg{width:26px;height:26px}.site-header .wrap{padding-right:72px}}
@media(prefers-reduced-motion:reduce){.wa-float{transition:none}}

.logo{display:inline-flex;align-items:center;gap:.5em}
.logo-img{width:44px;height:44px;object-fit:contain;display:block}
.tile.has-img{padding:0;overflow:hidden}
.tile.has-img .tile-img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.tile.has-img h3{margin:16px 20px 6px}.tile.has-img p{margin:0 20px 20px}

.faq{display:grid;gap:0;margin-top:8px}
.faq details{border-top:1px solid var(--line);padding:16px 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--red);font-weight:700}
.faq details[open] summary::after{content:'\2212'}
.faq details p{color:var(--mute);margin:10px 0 0}
