
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  --mint:#EAF4FD;--mint-mid:#C5DFF6;--mint-dark:#8BBCE0;
  --teal:#4A8EC9;--teal-deep:#2D6BA8;
  --sky:#E8F1FD;--sky-mid:#B5CEFA;--sky-dark:#7AABEE;
  --blue:#3578C9;--blue-deep:#1A5AA0;
  --off:#F2F6FD;--white:#FAFBFF;
  --text:#263A5A;--mid:#3E5A82;--light:#6D8DB8;
  --border:rgba(60,120,200,0.18);--borderl:rgba(60,120,200,0.1);
  --shadow:0 2px 16px rgba(40,90,180,0.07);
  --shadow-md:0 4px 24px rgba(40,90,180,0.12);
  --r:14px;--rs:8px;--sans:Helvetica,Arial,sans-serif;--nav-h:64px;
}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--off);color:var(--text);font-size:16px;line-height:1.7;position:relative;}
#bg-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:0.7;}
.page{display:none;}.page.active{display:block;}

/* NAV */
nav{position:sticky;top:0;z-index:200;background:rgba(250,252,251,0.97);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);padding:0 clamp(1rem,4vw,2.5rem);height:var(--nav-h);display:flex;align-items:center;justify-content:space-between;}
.logo{display:flex;align-items:center;gap:0.55rem;cursor:pointer;white-space:nowrap;flex-shrink:0;position:relative;z-index:11;}
.logo-badge{width:36px;height:36px;border-radius:11px;flex-shrink:0;background:linear-gradient(145deg,rgba(91,174,232,0.6),rgba(33,117,196,0.78));display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(33,117,196,0.22);transition:transform .2s,box-shadow .2s;}
.logo:hover .logo-badge{transform:scale(1.07);box-shadow:0 4px 14px rgba(33,117,196,0.32);}
.logo-tekst{display:flex;flex-direction:column;line-height:1;}
.logo-de{font-size:0.6rem;font-weight:400;color:var(--light);letter-spacing:.12em;text-transform:uppercase;margin-bottom:1px;}
.logo-naam{font-size:1.05rem;font-weight:800;color:var(--blue-deep);letter-spacing:-.02em;}
.nav-login{display:flex;align-items:center;gap:4px;position:relative;z-index:11;flex-shrink:0;}
.nav-login-link{font-size:0.8rem;font-weight:700;color:var(--mid);text-decoration:none;padding:5px 10px;border-radius:20px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;}
.nav-login-link:hover{background:var(--sky);color:var(--blue-deep);}
.nav-login-link.nb{background:var(--blue-deep);color:white;}
.nav-login-link.nb:hover{background:var(--blue);}
.logo span{color:var(--blue);}
.navlinks{display:flex;align-items:center;gap:3px;list-style:none;position:absolute;left:50%;transform:translateX(-50%);z-index:10;}
.navlinks a{font-size:0.8rem;font-weight:700;color:var(--mid);text-decoration:none;padding:5px 10px;border-radius:20px;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap;}
.navlinks a:hover{background:var(--sky);color:var(--blue-deep);}.navlinks a.active{background:var(--blue-deep);color:white;border-radius:20px;}
.navlinks a.nb{background:var(--teal);color:white;}.navlinks a.nb:hover{background:var(--teal-deep);}
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;background:none;border:none;cursor:pointer;padding:4px;position:relative;z-index:11;}
.hamburger span{display:block;height:2.5px;background:var(--teal-deep);border-radius:2px;transition:all .25s;}
.hamburger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
.mob-menu{display:none;position:fixed;top:var(--nav-h);left:0;right:0;background:rgba(250,252,251,0.98);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);z-index:190;padding:1rem;flex-direction:column;gap:4px;}
.mob-menu.open{display:flex;}
.mob-menu a{font-size:1rem;font-weight:700;color:var(--mid);text-decoration:none;padding:0.75rem 1rem;border-radius:var(--rs);cursor:pointer;transition:background .15s;}
.mob-menu a:hover{background:var(--mint);color:var(--teal-deep);}
.mob-menu a.nb{background:var(--teal);color:white;text-align:center;margin-top:4px;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:5px;font-family:var(--sans);font-size:0.875rem;font-weight:700;padding:0.65rem 1.4rem;border-radius:24px;border:none;cursor:pointer;text-decoration:none;transition:all .2s;}
.btn-p{background:var(--teal);color:white;}.btn-p:hover{background:var(--teal-deep);transform:translateY(-1px);box-shadow:var(--shadow-md);}
.btn-s{background:var(--mint);color:var(--teal-deep);}.btn-s:hover{background:var(--mint-mid);}
.btn-o{background:transparent;color:var(--teal);border:1.5px solid var(--teal);}.btn-o:hover{background:var(--mint);}
.btn-d{background:#FDECEA;color:#A93226;}.btn-d:hover{background:#FADADD;}
.btn-sm{font-size:0.8rem;padding:0.4rem 0.9rem;}.btn-lg{font-size:0.82rem;padding:0.7rem 1rem;letter-spacing:-.01em;}
.btn-h1{background:#2D6BA8;color:white;}.btn-h1:hover{background:#1A5AA0;transform:translateY(-1px);box-shadow:var(--shadow-md);}
.btn-h2{background:#EAF4FD;color:#2D6BA8;border:1.5px solid #8BBCE0;}.btn-h2:hover{background:#C5DFF6;}
.btn-h3{background:#C5DFF6;color:#1A5AA0;border:1.5px solid #8BBCE0;}.btn-h3:hover{background:#B5CEFA;}
.btn-h4{background:#B5CEFA;color:#1A4E90;border:1.5px solid #7AABEE;}.btn-h4:hover{background:#9BBAF0;}
.btn:disabled{opacity:0.5;cursor:not-allowed;transform:none;}

/* HERO */
.hero{padding:clamp(2rem,5vw,3rem) clamp(1.2rem,5vw,2.5rem) clamp(1.8rem,4vw,2.5rem);text-align:center;}
.hero-tag{display:inline-block;font-size:0.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);background:white;padding:4px 12px;border-radius:14px;margin-bottom:1.2rem;border:1px solid var(--mint-dark);}
.hero h1{font-size:clamp(1.7rem,5vw,2.8rem);color:var(--text);line-height:1.15;margin-bottom:0.9rem;letter-spacing:-.02em;}
.hero h1 span{color:var(--teal-deep);}
.hero p{font-size:clamp(0.9rem,2vw,1rem);color:var(--mid);max-width:480px;margin:0 auto 2rem;}
.hero-btns{display:flex;gap:6px;justify-content:center;flex-wrap:nowrap;max-width:100%;margin-left:auto;margin-right:auto;}

/* LAYOUT */
.container{max-width:1100px;margin:0 auto;}.ctr-sm{max-width:720px;margin:0 auto;}
.sec{padding:clamp(2.5rem,6vw,4rem) clamp(1.2rem,4vw,2.5rem);}
.sec-tag{font-size:0.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal);margin-bottom:6px;}
.sec-title{font-size:clamp(1.3rem,3vw,2rem);color:var(--text);margin-bottom:1rem;letter-spacing:-.01em;}
.sec-title span{color:var(--teal-deep);}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1rem,3vw,2rem);}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(0.75rem,2vw,1.2rem);}
.f-between{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.5rem;}
.f-col{display:flex;flex-direction:column;gap:0.75rem;}
.t-center{text-align:center;}.t-sm{font-size:0.85rem;}.t-muted{color:var(--light);}
.mb2{margin-bottom:1rem;}.mb3{margin-bottom:1.5rem;}

/* CARDS */
.card{background:white;border-radius:var(--r);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden;transition:transform .2s,box-shadow .2s;}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.card-body{padding:clamp(1rem,3vw,1.4rem);}
.card-title{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:4px;}
.card-meta{font-size:0.78rem;color:var(--light);margin-bottom:5px;}
.card-text{font-size:0.88rem;color:var(--mid);line-height:1.6;}

/* PHOTOS */
/* ── BENTO FOTO GRID (homepage) ── */
/* ── ALBUM BENTO (3 albums: groot links, 2 gestapeld rechts) ── */
.album-bento{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:clamp(140px,20vw,240px) clamp(140px,20vw,240px);
  gap:clamp(5px,1vw,8px);
  margin-bottom:2.5rem;
}
.ab-item{
  border-radius:var(--rs);
  overflow:hidden;
  position:relative;
  cursor:pointer;
  transition:transform .25s,box-shadow .25s;
}
.ab-item:hover{transform:scale(1.015);box-shadow:var(--shadow-md);z-index:2;}
.ab-item:nth-child(1){grid-column:span 7;grid-row:span 2;} /* groot links */
.ab-item:nth-child(2){grid-column:span 5;}                  /* klein rechtsboven */
.ab-item:nth-child(3){grid-column:span 5;}                  /* klein rechtsonder */
.ab-inner{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:clamp(2.5rem,6vw,4rem);position:relative;z-index:1;}
.ab-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top, rgba(15,40,100,0.72) 0%, rgba(15,40,100,0.1) 55%, transparent 100%);
  z-index:2;
}
.ab-meta{
  position:absolute;bottom:0;left:0;right:0;
  padding:1rem 1.1rem 0.9rem;
  z-index:3;color:white;
}
.ab-item:nth-child(1) .ab-meta{padding:1.3rem 1.4rem 1.1rem;}
.ab-title{font-size:0.95rem;font-weight:700;line-height:1.2;margin-bottom:2px;}
.ab-item:nth-child(1) .ab-title{font-size:1.15rem;}
.ab-count{font-size:0.72rem;opacity:0.82;font-weight:400;}

/* ── FOTO BENTO GALLERIJ (9 foto's) ── */
.foto-bento{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:repeat(3,clamp(110px,15vw,180px));
  gap:clamp(5px,1vw,8px);
}
/* Rij 1: breed + smal + smal */
.foto-bento .pitem:nth-child(1){grid-column:span 6;}
.foto-bento .pitem:nth-child(2){grid-column:span 3;}
.foto-bento .pitem:nth-child(3){grid-column:span 3;}
/* Rij 2: smal + breed + smal */
.foto-bento .pitem:nth-child(4){grid-column:span 4;}
.foto-bento .pitem:nth-child(5){grid-column:span 4;}
.foto-bento .pitem:nth-child(6){grid-column:span 4;}
/* Rij 3: smal + smal + breed */
.foto-bento .pitem:nth-child(7){grid-column:span 3;}
.foto-bento .pitem:nth-child(8){grid-column:span 3;}
.foto-bento .pitem:nth-child(9){grid-column:span 6;}

.foto-bento .pitem{grid-column:unset;aspect-ratio:unset;}
.pgrid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:repeat(2,clamp(120px,18vw,200px));
  gap:clamp(5px,1vw,8px);
}
/* Bento layout: 6 blokken die samen exact 1 rechthoek vormen
   Rij 1: [breed 5] [smal 3] [smal 4]
   Rij 2: [smal 3] [breed 4] [medium 5]
*/
.pitem:nth-child(1){grid-column:span 5;}
.pitem:nth-child(2){grid-column:span 3;}
.pitem:nth-child(3){grid-column:span 4;}
.pitem:nth-child(4){grid-column:span 3;}
.pitem:nth-child(5){grid-column:span 4;}
.pitem:nth-child(6){grid-column:span 5;}

.pitem{
  border-radius:var(--rs);
  overflow:hidden;
  position:relative;
  cursor:pointer;
  background:rgba(180,210,250,0.25);
  backdrop-filter:blur(2px);
  transition:transform .25s,box-shadow .25s;
}
.pitem:hover{transform:scale(1.02);box-shadow:var(--shadow-md);z-index:2;}
.pph{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-size:clamp(1.5rem,4vw,2.2rem);transition:filter .25s;z-index:1;position:relative;}
.pph span{color:rgba(255,255,255,.85)!important;font-size:.65rem;}
.plbl{position:absolute;bottom:0;left:0;right:0;padding:0.5rem 0.7rem;background:linear-gradient(transparent,rgba(20,50,120,.6));color:white;font-size:0.75rem;font-weight:700;opacity:0;transition:opacity .25s;}
.pitem:hover .plbl{opacity:1;}
.pface{position:absolute;inset:0;opacity:0;transition:opacity 0.8s ease;}
.pface.on{opacity:1;}



/* BLOG */
.bimg{width:100%;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;font-size:clamp(2rem,5vw,3rem);}
.bbody{padding:clamp(0.9rem,2vw,1.2rem);}
.bdate{font-size:0.78rem;color:var(--light);margin-bottom:4px;}
.btitle{font-size:clamp(0.9rem,2vw,1rem);font-weight:700;color:var(--text);margin-bottom:5px;}
.bexc{font-size:0.85rem;color:var(--mid);line-height:1.6;}

/* EVENTS */
.ecard{background:white;border-radius:var(--r);border:1px solid var(--border);box-shadow:var(--shadow);padding:clamp(0.9rem,2vw,1.1rem) clamp(1rem,2vw,1.3rem);display:flex;gap:clamp(0.75rem,2vw,1rem);align-items:flex-start;transition:transform .2s,box-shadow .2s;}
.ecard:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.edate{flex-shrink:0;background:var(--mint);border-radius:var(--rs);padding:6px 10px;text-align:center;min-width:50px;}
.eday{font-size:clamp(1.1rem,3vw,1.4rem);font-weight:700;color:var(--teal-deep);line-height:1;}
.emon{font-size:0.65rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);margin-top:2px;}
.ebody{flex:1;min-width:0;}
.etitle{font-size:clamp(0.88rem,2vw,0.95rem);font-weight:700;color:var(--text);margin-bottom:3px;}
.edesc{font-size:0.83rem;color:var(--mid);line-height:1.6;}
.elink{display:inline-flex;align-items:center;gap:4px;font-size:0.8rem;font-weight:700;color:var(--teal);text-decoration:none;margin-top:5px;}
.elink:hover{color:var(--teal-deep);text-decoration:underline;}

/* LINKS */
.lcard{background:white;border-radius:var(--r);border:1px solid var(--border);box-shadow:var(--shadow);padding:clamp(0.75rem,2vw,0.9rem) clamp(0.9rem,2vw,1.2rem);display:flex;align-items:center;gap:0.9rem;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;cursor:pointer;}
.lcard:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--mint-dark);}
.lico{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.15rem;}
.lico-yt{background:#FFE8E8;}.lico-ext{background:var(--sky);}
.ltitle{font-size:0.88rem;font-weight:700;color:var(--text);}
.lurl{font-size:0.76rem;color:var(--light);margin-top:1px;}
.larr{margin-left:auto;color:var(--light);font-size:1rem;flex-shrink:0;}

/* YEAR DIVIDER */
.yh{display:flex;align-items:center;gap:1rem;margin-bottom:1.2rem;}
.yl{font-size:1.1rem;font-weight:700;color:var(--teal-deep);white-space:nowrap;}
.yr{flex:1;height:1px;background:var(--border);}

/* LIGHTBOX */
#lb{display:none;position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:999;align-items:center;justify-content:center;flex-direction:column;padding:1rem;}
#lb.open{display:flex;}
#lb-e{font-size:clamp(4rem,15vw,7rem);}
#lb-c{color:white;margin-top:1rem;font-size:0.9rem;opacity:.8;text-align:center;}
#lb-x{position:absolute;top:1rem;right:1.2rem;background:none;border:none;color:white;font-size:2.2rem;cursor:pointer;line-height:1;padding:4px;}

/* ADMIN */
.aw{display:grid;grid-template-columns:220px 1fr;min-height:calc(100vh - var(--nav-h));}
/* Reset globale nav-stijl voor de sidebar-nav zodat menu-items verticaal staan */
.sb nav{flex-direction:column;align-items:stretch;justify-content:flex-start;height:auto;position:static;background:transparent;border-bottom:none;backdrop-filter:none;padding:.5rem 0;}
.sb{background:white;border-right:1px solid var(--border);padding:1.2rem 0;overflow-y:auto;}
.sbs{font-size:0.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--light);padding:8px 16px 3px;}
.sbl{display:flex;align-items:center;gap:9px;padding:9px 16px;font-size:0.875rem;font-weight:700;color:var(--mid);cursor:pointer;transition:background .15s;}
.sbl:hover{background:var(--off);color:var(--teal-deep);}
.sbl.on{background:var(--mint);color:var(--teal-deep);border-right:3px solid var(--teal);}
.sbi{font-size:1rem;width:20px;text-align:center;}
.ac{padding:clamp(1.2rem,3vw,2rem) clamp(1rem,3vw,2.5rem);background:var(--off);overflow-y:auto;}
.ah1{font-size:clamp(1.3rem,3vw,1.6rem);font-weight:700;color:var(--text);margin-bottom:3px;letter-spacing:-.01em;}
.asub{font-size:0.875rem;color:var(--light);margin-bottom:1.5rem;}
.amb{display:none;background:white;border-bottom:1px solid var(--border);padding:0.6rem 1rem;align-items:center;gap:0.5rem;flex-wrap:wrap;}
.sgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:1.5rem;}
.sc{background:white;border-radius:var(--rs);border:1px solid var(--border);padding:1rem;text-align:center;}
.sci{font-size:1.5rem;margin-bottom:4px;}.scn{font-size:clamp(1.3rem,3vw,1.7rem);font-weight:700;color:var(--teal-deep);line-height:1;}.scl{font-size:0.73rem;color:var(--light);margin-top:3px;}
.cw{background:white;border-radius:var(--r);border:1px solid var(--border);padding:clamp(1rem,3vw,1.4rem);margin-bottom:1.2rem;}
.cwt{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:1.1rem;}
.fg{margin-bottom:0.9rem;}
.fl{display:block;font-size:0.82rem;font-weight:700;color:var(--text);margin-bottom:4px;}
.fi{width:100%;padding:0.6rem 0.9rem;border:1.5px solid var(--border);border-radius:var(--rs);font-family:var(--sans);font-size:0.9rem;color:var(--text);background:white;transition:border-color .2s;outline:none;}
.fi:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(90,173,160,.15);}
textarea.fi{min-height:80px;resize:vertical;}
.ai{background:var(--sky);color:var(--blue-deep);border:1px solid var(--sky-mid);padding:0.8rem 1.1rem;border-radius:var(--rs);font-size:0.88rem;margin-bottom:1.1rem;}
.badge{display:inline-block;font-size:0.7rem;font-weight:700;padding:2px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.04em;}
.bt{background:var(--mint-mid);color:var(--teal-deep);}.bb{background:var(--sky-mid);color:var(--blue-deep);}.ba{background:#FDE8B4;color:#7A5010;}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch;}
table{width:100%;border-collapse:collapse;font-size:0.86rem;min-width:400px;}
th{font-size:0.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--light);padding:7px 10px;border-bottom:2px solid var(--border);text-align:left;white-space:nowrap;}
td{padding:9px 10px;border-bottom:1px solid var(--border);color:var(--mid);vertical-align:middle;}
tr:last-child td{border-bottom:none;}tr:hover td{background:var(--off);}
.uzone{border:2px dashed var(--mint-dark);border-radius:var(--r);padding:clamp(1.5rem,4vw,2.2rem);text-align:center;background:var(--mint);cursor:pointer;transition:border-color .2s,background .2s;}
.uzone:hover{border-color:var(--teal);background:var(--mint-mid);}

/* ADMIN – extra utility classes */
input:not([type=checkbox]):not([type=radio]),textarea,select{width:100%;padding:0.6rem 0.9rem;border:1.5px solid var(--border);border-radius:var(--rs);font-family:var(--sans);font-size:0.9rem;color:var(--text);background:white;transition:border-color .2s;outline:none;box-sizing:border-box;}
input:not([type=checkbox]):not([type=radio]):focus,textarea:focus,select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(90,173,160,.15);}
textarea{min-height:80px;resize:vertical;}
label{display:block;font-size:0.82rem;font-weight:700;color:var(--text);margin-bottom:4px;}
.form-hint{font-size:0.76rem;color:var(--light);margin-top:3px;}
.alert{padding:0.8rem 1.1rem;border-radius:var(--rs);font-size:0.88rem;margin-bottom:1rem;border:1px solid;}
.alert-success{background:#EAF7F0;color:#1A6641;border-color:#A8DFC0;}
.alert-error{background:#FDECEA;color:#9B2618;border-color:#F5B4AE;}
.alert-info{background:var(--sky);color:var(--blue-deep);border-color:var(--sky-mid);}
.badge-teal{background:var(--mint-mid);color:var(--teal-deep);}
.badge-blue{background:var(--sky-mid);color:var(--blue-deep);}
.btn-primary{background:var(--teal);color:white;}.btn-primary:hover{background:var(--teal-deep);}
.btn-outline{background:transparent;color:var(--teal);border:1.5px solid var(--teal);}.btn-outline:hover{background:var(--mint);}
.text-muted,.t-muted{color:var(--light);}
.text-sm,.t-sm{font-size:0.85rem;}
.flex{display:flex;align-items:center;flex-wrap:wrap;}
.gap-1{gap:0.5rem;}
.mt-1{margin-top:0.5rem;}.mt-2{margin-top:1rem;}.mt-3{margin-top:1.5rem;}
.mb-1{margin-bottom:0.5rem;}.mb-2{margin-bottom:1rem;}.mb-3{margin-bottom:1.5rem;}
.flex-between{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:0.5rem;}
/* Upload zone */
.upload-zone{display:block;border:2px dashed var(--mint-dark);border-radius:var(--r);padding:clamp(1.5rem,4vw,2.2rem);text-align:center;background:var(--mint);cursor:pointer;transition:border-color .2s,background .2s;color:var(--mid);}
.upload-zone:hover,.upload-zone.dragover{border-color:var(--teal);background:var(--mint-mid);}
.upload-icon{font-size:2rem;margin-bottom:0.5rem;}
/* Photo grid */
.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;}
.photo-item{border-radius:var(--rs);overflow:hidden;position:relative;aspect-ratio:1;background:var(--sky);}
.photo-item img{width:100%;height:100%;object-fit:cover;display:block;}
.photo-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:flex-end;padding:0.4rem;background:linear-gradient(transparent 60%,rgba(0,0,0,0.4));opacity:0;transition:opacity .2s;}
.photo-item:hover .photo-overlay{opacity:1;}
/* Link cards (admin) */
.link-card{background:white;border-radius:var(--rs);border:1px solid var(--border);padding:0.65rem 0.9rem;display:flex;align-items:center;gap:0.75rem;box-shadow:var(--shadow);}
.link-card-icon{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1rem;}
.link-card-icon-yt{background:#FFE8E8;}
.link-card-icon-ext{background:var(--sky);}
.link-card-body{flex:1;min-width:0;}
.link-card-title{font-size:0.875rem;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.link-card-url{font-size:0.76rem;color:var(--light);margin-top:1px;}
/* Event cards (admin) */
.event-card{background:white;border-radius:var(--rs);border:1px solid var(--border);padding:0.75rem 1rem;display:flex;align-items:center;gap:0.9rem;box-shadow:var(--shadow);}
.event-date-block{flex-shrink:0;background:var(--mint);border-radius:var(--rs);padding:5px 9px;text-align:center;min-width:44px;}
.event-date-day{font-size:1.25rem;font-weight:700;color:var(--teal-deep);line-height:1;}
.event-date-mon{font-size:0.6rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-top:1px;}
.event-body{flex:1;min-width:0;}
.event-title{font-size:0.875rem;font-weight:700;color:var(--text);}
.event-desc{font-size:0.8rem;color:var(--mid);margin-top:2px;}

/* FOOTER */
footer{background:white;border-top:1px solid var(--border);padding:clamp(1.2rem,3vw,1.8rem) clamp(1.2rem,4vw,2.5rem);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;}
.flogo{font-size:1rem;font-weight:700;color:var(--teal-deep);cursor:pointer;}
.flogo span{color:var(--blue);}
.flinks{display:flex;gap:clamp(0.75rem,2vw,1.5rem);list-style:none;flex-wrap:wrap;justify-content:center;}
.flinks a{font-size:0.82rem;font-weight:700;color:var(--mid);text-decoration:none;cursor:pointer;}
.flinks a:hover{color:var(--teal);}
.fcopy{font-size:0.76rem;color:var(--light);}

/* KLEUR BLOKKEN */
.c1{background:linear-gradient(145deg,rgba(91,174,232,0.55) 0%,rgba(33,117,196,0.6) 60%,rgba(15,80,160,0.65) 100%);position:relative;}
.c2{background:linear-gradient(145deg,rgba(75,189,224,0.5) 0%,rgba(26,144,200,0.55) 55%,rgba(10,100,148,0.6) 100%);position:relative;}
.c3{background:linear-gradient(145deg,rgba(109,192,245,0.5) 0%,rgba(40,145,216,0.55) 55%,rgba(18,101,168,0.6) 100%);position:relative;}
.c4{background:linear-gradient(145deg,rgba(58,127,224,0.5) 0%,rgba(26,88,184,0.55) 55%,rgba(10,56,128,0.6) 100%);position:relative;}
.c5{background:linear-gradient(145deg,rgba(85,168,232,0.5) 0%,rgba(28,120,200,0.55) 55%,rgba(10,82,160,0.6) 100%);position:relative;}
.c6{background:linear-gradient(145deg,rgba(76,170,220,0.5) 0%,rgba(34,128,184,0.55) 55%,rgba(16,95,144,0.6) 100%);position:relative;}
.c1::after,.c2::after,.c3::after,.c4::after,.c5::after,.c6::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,0.15) 0%,transparent 50%,rgba(0,0,0,0.15) 100%);border-radius:inherit;z-index:0;}

/* ════ PRETPARK STIJLEN (volledig uniform met de rest) ════ */
.pp-hint{display:flex;align-items:flex-start;gap:0.6rem;padding:0.85rem 1.1rem;border-radius:var(--rs);font-size:0.875rem;margin-bottom:1.25rem;border:1px solid;}
.pp-hint-info{background:var(--sky);color:var(--blue-deep);border-color:var(--sky-mid);}
.pp-hint-ok{background:#EAF2FD;color:#1A4A8A;border-color:#A8C8F0;}

/* Filter balk */
.pp-filters{background:white;border-radius:var(--r);border:1px solid var(--border);box-shadow:var(--shadow);margin-bottom:1.5rem;overflow:hidden;}
.pp-fr1{display:flex;gap:0.75rem;align-items:center;padding:0.9rem 1.25rem;flex-wrap:wrap;}
.pp-fr2{display:flex;gap:1.1rem;align-items:center;padding:0.65rem 1.25rem 0.8rem;background:var(--off);border-top:1px solid var(--borderl);flex-wrap:wrap;}
.pp-fg{display:flex;flex-direction:column;gap:0.3rem;}
.pp-fl{font-size:0.63rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--light);}
.pp-fopts{display:flex;gap:0.35rem;flex-wrap:wrap;}
.pp-fvdiv{width:1px;height:28px;background:var(--borderl);align-self:center;}
.pp-chip{display:inline-flex;align-items:center;gap:0.35rem;padding:5px 13px;border-radius:20px;border:1.5px solid var(--border);background:white;font-size:0.79rem;font-weight:700;color:var(--mid);cursor:pointer;user-select:none;transition:background .15s,border-color .15s,color .15s,box-shadow .15s;}
.pp-chip:hover{border-color:var(--teal);background:var(--mint);color:var(--teal-deep);}
.pp-chip.c-ja{background:#D4E8FA;border-color:#82B0E0;color:#1A4E90;}
.pp-chip.c-wil{background:#FFF8DC;border-color:#E8C84A;color:#7A5C00;}
.pp-chip.c-nee{background:var(--sky);border-color:var(--sky-dark);color:var(--blue-deep);}
.pp-chip.c-gepland{background:#FEF3C7;border-color:#F6AD55;color:#744210;}
.pp-chip.c-ger{background:#D6F0E8;border-color:#6CC4A0;color:#186048;}
.pp-chip.c-nog{background:var(--sky);border-color:var(--sky-dark);color:var(--blue-deep);}
.pp-chip.c-thrill{background:#FFF3E8;border-color:#F0B060;color:#7A4200;}
.pp-chip.c-darkride{background:#EEE8FA;border-color:#C0A8E8;color:#482090;}
.pp-chip.c-attr{background:#E8F5EA;border-color:#90D098;color:#1A6030;}
.pp-chip.c-show{background:#FDE8F2;border-color:#E8A0C0;color:#7A1848;}
.pp-chip.c-water{background:#E8F6FB;border-color:#90CCE8;color:#1A5878;}
.pp-chip.c-water.actief{background:#1E82B0;color:white;border-color:#1A6E98;}
.pp-chip.c-pretpark{background:#E8F8F5;color:#1E8449;border-color:#A9DFBF;}
.pp-chip.c-pretpark.actief{background:#229954;color:white;border-color:#1E8449;}
.pp-chip.c-dierentuin{background:#FEF9E7;color:#9A7D0A;border-color:#F7DC6F;}
.pp-chip.c-dierentuin.actief{background:#D4AC0D;color:white;border-color:#B7950B;}
/* Attractie-item kleuren per type */
.pp-baan.pp-thrill-item{background:#FFF6EC;border-color:#F0B060;}
.pp-baan.pp-thrill-item.done{background:#FFE8C0;border-color:#C08030;}
.pp-baan.pp-water-item{background:#E8F6FB;border-color:#90CCE8;}
.pp-baan.pp-water-item.done{background:#C8E8F5;border-color:#5AAAD0;}
.pp-baan.pp-overig-item{background:#E8F5EA;border-color:#90D098;}
.pp-baan.pp-overig-item.done{background:#C8E8D0;border-color:#509060;}
.pp-baan.pp-zoogdier-item{background:#FFF4E0;border-color:#F0C060;}
.pp-baan.pp-zoogdier-item.done{background:#FFE4A0;border-color:#C08020;}
.pp-baan.pp-vogel-item{background:#E0F0FF;border-color:#90C0F0;}
.pp-baan.pp-vogel-item.done{background:#C0D8F8;border-color:#5090D0;}
.pp-baan.pp-reptiel-item{background:#ECFAE0;border-color:#A0D060;}
.pp-baan.pp-reptiel-item.done{background:#C8E8A0;border-color:#608040;}
.pp-baan.pp-amfibie-item{background:#E0FAF0;border-color:#80C8A8;}
.pp-baan.pp-amfibie-item.done{background:#B0E8D0;border-color:#508870;}
.pp-baan.pp-vis-item{background:#E0F8FA;border-color:#80C8D8;}
.pp-baan.pp-vis-item.done{background:#B0E0EA;border-color:#4090A8;}
.pp-baan.pp-insect-item{background:#F0E8FA;border-color:#C0A0E0;}
.pp-baan.pp-insect-item.done{background:#D8C8F0;border-color:#8060C0;}
.pp-baan.pp-overigdier-item{background:#F0EDE0;border-color:#C8BEA0;}
.pp-baan.pp-overigdier-item.done{background:#E0D8C0;border-color:#907860;}
.pp-div{width:1px;height:36px;background:var(--border);align-self:flex-end;margin-bottom:2px;}
.pp-sel{font-family:var(--sans);font-size:0.82rem;font-weight:700;color:var(--mid);padding:7px 30px 7px 14px;border-radius:24px;border:1.5px solid var(--border);background:white url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%234A8EC9'/%3E%3C/svg%3E") no-repeat right 10px center;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;transition:border-color .15s,box-shadow .15s;}
.pp-sel:hover{border-color:var(--teal);}
.pp-sel:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(74,142,201,.15);}
.pp-zoek.fi{border-radius:24px;border:1.5px solid var(--border);padding:7px 2.5rem 7px 2.4rem;font-size:0.9rem;transition:border-color .15s,box-shadow .15s;}
.pp-zoek.fi:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(74,142,201,.15);}

/* Samenvatting statistieken */
.pp-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:0.75rem;margin-bottom:1.75rem;}
.pp-stat{background:white;border-radius:var(--r);border:1px solid var(--border);box-shadow:var(--shadow);padding:1rem;text-align:center;}
.pp-sn{font-size:1.7rem;font-weight:700;color:var(--teal-deep);line-height:1;}
.pp-sl{font-size:0.75rem;color:var(--light);margin-top:3px;}

/* Land kop */
.pp-lh{font-size:0.82rem;font-weight:700;color:var(--light);letter-spacing:.1em;text-transform:uppercase;margin:1.75rem 0 0.75rem;display:flex;align-items:center;gap:0.6rem;}
.pp-lh::after{content:'';flex:1;height:1px;background:var(--border);}

/* Park kaart — zelfde look als .card */
.pp-park{background:white;border-radius:var(--r);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden;margin-bottom:1rem;transition:box-shadow .2s;}
.pp-park:hover{box-shadow:var(--shadow-md);}
.pp-park-head{display:flex;align-items:center;gap:0.75rem;padding:1.1rem 1.4rem;border-bottom:1px solid var(--borderl);flex-wrap:wrap;}
.pp-park-naam{font-size:1rem;font-weight:700;color:var(--text);flex:1;min-width:0;}
.pp-badge{font-size:0.75rem;font-weight:700;padding:4px 12px;border-radius:12px;white-space:nowrap;border:none;transition:all .15s;}
.pp-badge.ja{background:#D4E8FA;color:#1A4E90;}
.pp-badge.wil{background:#FFF3CD;color:#856404;}
.pp-badge.nee{background:var(--sky);color:var(--blue-deep);}
.pp-badge.gepland{background:#FEF3C7;color:#92400E;}
.pp-badge.klik{cursor:pointer;}.pp-badge.klik:hover{opacity:.8;transform:scale(1.04);}
.pp-blog{font-size:0.78rem;font-weight:700;color:var(--teal);text-decoration:none;cursor:pointer;}
.pp-blog:hover{text-decoration:underline;}

/* Park collapse/expand */
.pp-park-body{padding:1rem 1.4rem;display:none;}
.pp-park.open .pp-park-body{display:block;animation:ppFadeIn .18s ease;}
.pp-park.open .pp-park-samenvatting{display:none;}
.pp-park-toggle{cursor:pointer;user-select:none;}
.pp-park-toggle:hover .pp-park-naam{color:var(--teal);}
.pp-chevron{font-size:1.05rem;color:var(--light);transition:transform .2s;flex-shrink:0;}
.pp-park.open .pp-chevron{transform:rotate(180deg);}
@keyframes ppFadeIn{from{opacity:0;transform:translateY(-5px);}to{opacity:1;transform:translateY(0);}}

/* Park samenvatting (ingeklapt) */
.pp-park-samenvatting{padding:.7rem 1.4rem 1rem;}
.pp-mini-progs{display:flex;flex-wrap:wrap;gap:.3rem .9rem;margin-bottom:.55rem;}
.pp-mini-prog{display:flex;align-items:center;gap:.4rem;flex:1;min-width:110px;}
.pp-mini-ico{font-size:.8rem;flex-shrink:0;}
.pp-mini-bar{flex:1;height:5px;background:var(--borderl);border-radius:3px;overflow:hidden;}
.pp-mini-fill{height:100%;background:var(--teal);border-radius:3px;transition:width .3s;}
.pp-mini-pct{font-size:.7rem;color:var(--light);min-width:26px;text-align:right;white-space:nowrap;}
.pp-park-desc-short{font-size:.81rem;color:var(--mid);margin:0 0 .45rem;line-height:1.5;}
.pp-samenvatting-datums{display:flex;flex-wrap:wrap;gap:.3rem;}
.pp-bezoek-chip{font-size:.73rem;background:var(--sky);border:1px solid var(--borderl);border-radius:12px;padding:2px 8px;color:var(--mid);}

/* Park body */
.pp-prog-row{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.6rem;}
.pp-prog-label{font-size:0.78rem;font-weight:700;color:var(--mid);white-space:nowrap;}
.pp-prog-bar{flex:1;height:6px;background:var(--borderl);border-radius:3px;overflow:hidden;}
.pp-prog-fill{height:100%;background:linear-gradient(90deg,#4A8EC9,#3578C9);border-radius:3px;transition:width .5s ease;}
.pp-prog-pct{font-size:0.75rem;font-weight:700;color:var(--blue-deep);white-space:nowrap;min-width:32px;text-align:right;}

/* Achtbanen grid — zelfde stijl als photo grid */
.pp-bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(180px,28vw,240px),1fr));gap:0.5rem;margin-top:0.75rem;}
.pp-baan{display:flex;align-items:flex-start;gap:0.65rem;padding:0.65rem 0.85rem;border-radius:var(--rs);border:1px solid var(--border);background:var(--off);transition:all .2s;}
.pp-baan.done{background:var(--mint);border-color:var(--mint-dark);}
.pp-baan.klik{cursor:pointer;}
.pp-baan.klik:hover{border-color:var(--teal);transform:translateY(-1px);box-shadow:var(--shadow);}
.pp-baan.done.klik:hover{border-color:var(--teal-deep);}
.pp-cb{width:20px;height:20px;border-radius:5px;border:2px solid var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:1px;transition:all .15s;background:white;}
.pp-baan.done .pp-cb{background:var(--teal);border-color:var(--teal);}
.pp-ck{color:white;font-size:12px;font-weight:700;display:none;}
.pp-baan.done .pp-ck{display:block;}
.pp-bn{font-size:0.83rem;font-weight:700;color:var(--text);line-height:1.3;}
.pp-bi{font-size:0.7rem;color:var(--light);margin-top:2px;}
.pp-baan.done .pp-bn{color:var(--teal-deep);}
.pp-none{font-size:0.82rem;color:var(--light);padding:0.5rem 0;font-style:italic;}

/* Park toevoegen (admin) */
.pp-add-form{background:white;border-radius:var(--r);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden;}
.pp-add-head{background:linear-gradient(135deg,var(--mint) 0%,var(--sky) 100%);padding:1.2rem 1.4rem;border-bottom:1px solid var(--border);}
.pp-add-head h3{font-size:1rem;font-weight:700;color:var(--teal-deep);}
.pp-add-head p{font-size:0.82rem;color:var(--mid);margin-top:2px;}
.pp-add-body{padding:1.4rem;}
.pp-add-section{margin-bottom:1.25rem;}
.pp-add-section-title{font-size:0.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:0.75rem;}
.pp-ac-row{display:flex;gap:0.5rem;align-items:center;margin-bottom:0.45rem;}
.pp-ac-row .fi{flex:1;}
.pp-ac-row .fi:first-child{flex:0 0 40%;}
.pp-ac-del{flex-shrink:0;}

/* Autofill dropdown */
.pp-afw{position:relative;}
.pp-afl{position:absolute;top:calc(100% + 4px);left:0;right:0;background:white;border:1.5px solid var(--teal);border-radius:var(--rs);z-index:100;max-height:260px;overflow-y:auto;box-shadow:var(--shadow-md);display:none;}
.pp-afl.open{display:block;}
.pp-afi{padding:0.55rem 1rem;font-size:0.85rem;cursor:pointer;color:var(--text);border-bottom:0.5px solid var(--borderl);transition:background .1s;}
.pp-afi:last-child{border-bottom:none;}
.pp-afi:hover{background:var(--mint);}
.pp-afi-sub{font-size:0.72rem;color:var(--light);margin-top:1px;}
.pp-afi-load{padding:0.6rem 1rem;font-size:0.82rem;color:var(--light);font-style:italic;}

/* Eigen park badge */
.ep-badge{background:var(--sky-mid);color:var(--blue-deep);font-size:0.6rem;padding:1px 6px;border-radius:8px;font-weight:700;vertical-align:middle;margin-left:5px;}

/* Geen resultaten */
.pp-empty{text-align:center;padding:3rem 1rem;color:var(--light);}
.pp-empty-ico{font-size:2.5rem;margin-bottom:0.75rem;}
.pp-empty-t{font-weight:700;font-size:0.95rem;color:var(--mid);margin-bottom:0.3rem;}
.pp-empty-s{font-size:0.85rem;}

/* Tabs */
.pp-tabs{display:flex;gap:0.5rem;margin-bottom:1.5rem;background:white;border-radius:var(--r);border:1px solid var(--border);padding:0.4rem;width:fit-content;box-shadow:var(--shadow);}
.pp-tab{padding:0.5rem 1.2rem;border-radius:calc(var(--r) - 4px);font-size:0.85rem;font-weight:700;cursor:pointer;border:none;background:transparent;color:var(--mid);transition:all .15s;}
.pp-tab.on{background:var(--teal);color:white;}
.pp-tab:hover:not(.on){background:var(--mint);color:var(--teal-deep);}

/* Eigen parken lijst */
.ep-item{background:white;border-radius:var(--rs);border:1px solid var(--border);padding:0.85rem 1rem;display:flex;justify-content:space-between;align-items:center;gap:0.75rem;margin-bottom:0.5rem;}
.ep-info strong{font-size:0.9rem;color:var(--text);}
.ep-info span{font-size:0.75rem;color:var(--light);display:block;margin-top:1px;}

@media(max-width:900px){.g3{grid-template-columns:repeat(2,minmax(0,1fr));}.aw{grid-template-columns:1fr;}.sb{display:none;}.amb{display:flex;}.sgrid{grid-template-columns:repeat(2,minmax(0,1fr));}}
/* Tablet: hamburger vanaf 860px zodat navlinks niet overlopen */
@media(max-width:860px){.navlinks{display:none;}.hamburger{display:flex;}}
@media(max-width:600px){
  :root{--nav-h:56px;}
  .g2{grid-template-columns:1fr;}
  .g3{grid-template-columns:1fr;}
  .hero-btns{flex-direction:column;align-items:center;}
  .hero-btns .btn{width:100%;max-width:280px;justify-content:center;}
  .f-between{flex-direction:column;align-items:flex-start;}
  .sgrid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .pgrid{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,clamp(110px,28vw,160px));}
  .pgrid .pitem{grid-column:span 1 !important;}
  .pp-bgrid{grid-template-columns:1fr;}
  /* Munten stats bento: 2 kolommen op mobiel */
  .munt-stats-bento{grid-template-columns:1fr 1fr !important;grid-template-rows:auto !important;}
  .munt-sb-totaal{grid-column:span 2 !important;grid-row:auto !important;}
  .munt-sb-landen,.munt-sb-stat-valuta,.munt-sb-circ,.munt-sb-hist-sb,.munt-sb-stat-coll{grid-column:span 1 !important;grid-row:auto !important;}
  .munt-sb-herdenkings,.munt-sb-verzamel{grid-column:span 1 !important;grid-row:auto !important;}
  .munt-sb-bodem{grid-column:span 2 !important;grid-row:auto !important;}
  .munt-sb-herdenkings .munt-sb-n,.munt-sb-verzamel .munt-sb-n,.munt-sb-bodem .munt-sb-n{font-size:clamp(1.3rem,5vw,1.8rem)!important;}
  .munt-sb-stat-valuta .munt-sb-n,.munt-sb-stat-coll .munt-sb-n{font-size:clamp(1.3rem,5vw,1.8rem)!important;}
  /* Pretpark stats bento: 2 kolommen op mobiel */
  .pp-stats-bento{grid-template-columns:1fr 1fr !important;grid-template-rows:auto !important;}
  .pp-sb-bezocht,.pp-sb-gereden{grid-column:span 1 !important;grid-row:span 1 !important;}
  .pp-sb-landen,.pp-sb-attr,.pp-sb-wil,.pp-sb-gepland,.pp-sb-terijden,.pp-sb-toppark,.pp-sb-recent{grid-column:span 1 !important;grid-row:auto !important;}
  /* Blog bento: simpele kolom op mobiel */
  .blog-bento{grid-template-columns:1fr;grid-template-rows:auto;}
  .bb-item:nth-child(1),.bb-item:nth-child(2),.bb-item:nth-child(3){grid-column:span 1 !important;grid-row:span 1 !important;height:200px;}
  .bb-item:nth-child(1){height:260px;}
  /* Footer: was flex-direction:column op een grid-element — werkte niet */
  footer{grid-template-columns:1fr;justify-items:center;gap:0.5rem;}
  .flinks{justify-content:center;}
  /* Album bento: simpele kolom op mobiel */
  .album-bento{grid-template-columns:1fr;grid-template-rows:auto;}
  .ab-item:nth-child(1),.ab-item:nth-child(2),.ab-item:nth-child(3){grid-column:span 1;grid-row:span 1;height:180px;}
  /* Foto bento: 2 kolommen op mobiel */
  .foto-bento{grid-template-columns:repeat(2,1fr);grid-template-rows:auto;}
  .foto-bento .pitem:nth-child(n){grid-column:span 1;}
  /* Filter balk: compacte weergave */
  .pp-fr1,.pp-fr2{padding:0.75rem 1rem;gap:0.5rem;}
  .pp-fvdiv{display:none;}
  .pp-fr2{gap:0.75rem;}
}
@media(max-width:380px){.hero h1{font-size:1.6rem;}.btn-lg{padding:0.75rem 1.4rem;font-size:0.9rem;}}

/* ── Pretparken: mobiel (≤600px) ────────────────────────────── */
@media(max-width:600px){
  /* Mini progress bars: kleinere min-width en gap voor mobiel */
  .pp-mini-prog{min-width:85px;}
  .pp-mini-progs{gap:.25rem .7rem;}
  /* Stats bento: tekst mag wrappen op smal scherm */
  .pp-sb{padding:0.65rem 0.8rem;overflow:visible;}
  .pp-sb-kop{white-space:normal;font-size:0.6rem;line-height:1.2;margin-bottom:3px;}
  .pp-sb-l{white-space:normal;line-height:1.3;margin-top:2px;}
  .pp-sb-subtext{white-space:normal;line-height:1.2;font-size:0.72rem;}
}

/* ── Pretparken: tablet / medium (601–820px) ────────────────── */
@media(max-width:820px) and (min-width:601px){
  /* Stats bento: 6 kolommen i.p.v. 12 zodat kleine blokken breder zijn */
  .pp-stats-bento{
    grid-template-columns:repeat(6,1fr);
    grid-template-rows:clamp(78px,11vw,105px) clamp(78px,11vw,105px) clamp(66px,9vw,86px) clamp(66px,9vw,86px);
  }
  .pp-sb-bezocht  {grid-column:1/4;grid-row:1/3;}
  .pp-sb-gereden  {grid-column:4/7;grid-row:1/3;}
  .pp-sb-landen   {grid-column:1/3;grid-row:3;}
  .pp-sb-attr     {grid-column:3/5;grid-row:3;}
  .pp-sb-wil      {grid-column:5/7;grid-row:3;}
  .pp-sb-terijden {grid-column:1/3;grid-row:4;}
  .pp-sb-toppark  {grid-column:3/5;grid-row:4;}
  .pp-sb-recent   {grid-column:5/7;grid-row:4;}
  /* Park body: iets minder breed uitlopende padding */
  .pp-park-head{padding:1rem 1.1rem;}
  .pp-park-body{padding:.9rem 1.1rem;}
  .pp-park-samenvatting{padding:.65rem 1.1rem .9rem;}
  /* Attracties grid: 2 kolommen max */
  .pp-bgrid{grid-template-columns:repeat(auto-fill,minmax(clamp(160px,22vw,220px),1fr));}
}

/* ── Pretparken: kleine schermen (≤520px) ───────────────────── */
@media(max-width:520px){
  /* Park hoofd: compacter, namen afkappen */
  .pp-park-head{padding:.85rem 1rem;gap:.4rem .5rem;}
  .pp-park-naam{font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .pp-badge{font-size:.68rem;padding:3px 9px;}
  .pp-datum-badge{font-size:.62rem;padding:2px 5px;margin-left:0;}
  /* Park inhoud */
  .pp-park-samenvatting{padding:.6rem 1rem .85rem;}
  .pp-park-body{padding:.85rem 1rem;}
  /* Mini progress bars: nog kleiner voor compacte layout */
  .pp-mini-prog{min-width:80px;}
  .pp-mini-progs{gap:.2rem .6rem;}
  /* Filter chips */
  .pp-chip{font-size:.74rem;padding:4px 10px;}
  /* Zoekbalk row: gap kleiner */
  .pp-fr1{gap:.4rem;}
}

/* ── Pretparken: zeer klein (≤420px) ──────────────────────── */
@media(max-width:420px){
  /* Park header: iets compacter */
  .pp-park-head{padding:.8rem .9rem;gap:.3rem .4rem;}
  .pp-park-naam{font-size:.95rem;}
  .pp-badge{font-size:.65rem;padding:2px 8px;}
  /* Attracties: minder brede afbeeldingen */
  .pp-bgrid{grid-template-columns:1fr;}
}

/* ── Pretparken: heel smal (≤380px) ─────────────────────────── */
@media(max-width:380px){
  .pp-park-head{padding:.75rem .85rem;}
  .pp-park-samenvatting{padding:.5rem .85rem .75rem;}
  .pp-park-body{padding:.75rem .85rem;}
  /* Stats: namen in kleine blokken afkappen */
  .pp-sb-subtext{font-size:.66rem;}
  .pp-sb-l{font-size:.62rem;}
  /* Mini bars */
  .pp-mini-prog{min-width:80px;}
  .pp-mini-pct{min-width:22px;}
}

/* ── Admin dashboard ── */
.db-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.7rem;margin-bottom:1.8rem;}
.db-stat{background:white;border-radius:var(--rs);border:1px solid var(--border);padding:.85rem .75rem;text-align:center;text-decoration:none;transition:transform .15s,box-shadow .15s;display:block;}
.db-stat:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.db-stat-ico{font-size:1.4rem;margin-bottom:3px;}
.db-stat-n{font-size:1.4rem;font-weight:700;color:var(--teal-deep);line-height:1;}
.db-stat-l{font-size:.68rem;color:var(--light);margin-top:2px;}
.db-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;align-items:start;}
.db-acties{display:grid;grid-template-columns:repeat(2,1fr);gap:.6rem;}
.db-actie-card{background:white;border-radius:var(--rs);border:1px solid var(--border);padding:.75rem .85rem;text-decoration:none;display:block;transition:transform .15s,box-shadow .15s;}
.db-actie-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.db-ac-ico{font-size:1.3rem;margin-bottom:3px;}
.db-ac-t{font-size:.82rem;font-weight:700;color:var(--text);}
.db-ac-s{font-size:.72rem;color:var(--light);margin-top:1px;}
@media(max-width:900px){
  .db-grid{grid-template-columns:1fr;}
  .db-acties{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:600px){
  .db-stats{grid-template-columns:repeat(3,1fr);}
  .db-acties{grid-template-columns:repeat(2,1fr);}
}

/* ── Admin mobiel menu ── */
.adm-ham{display:none;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;background:none;border:none;cursor:pointer;padding:5px;margin-left:.5rem;flex-shrink:0;}
.adm-ham span{display:block;height:2.5px;background:var(--teal-deep);border-radius:2px;transition:all .25s;}
.adm-mob-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:299;}
.adm-mob-overlay.open{display:block;}
.adm-mob-menu{position:fixed;top:0;left:-300px;width:280px;height:100vh;height:100dvh;background:white;z-index:300;overflow-y:auto;transition:left .28s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 24px rgba(0,0,0,.15);padding-bottom:env(safe-area-inset-bottom);}
.adm-mob-menu.open{left:0;}
.adm-mob-header{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.2rem .85rem;border-bottom:1px solid var(--border);background:var(--off);}
.adm-mob-sluit{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--mid);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s;}
.adm-mob-sluit:hover{background:var(--border);}
.adm-mob-user{padding:.85rem 1.2rem;border-bottom:1px solid var(--borderl);}
.adm-mob-nav{padding:.5rem 0;}
.adm-mob-sectie{font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--light);padding:.75rem 1.2rem .25rem;}
.adm-mob-link{display:flex;align-items:center;gap:8px;padding:10px 1.2rem;font-size:.9rem;font-weight:700;color:var(--mid);text-decoration:none;transition:background .15s;}
.adm-mob-link:hover{background:var(--off);color:var(--teal-deep);}
.adm-mob-link.on{background:var(--mint);color:var(--teal-deep);border-left:3px solid var(--teal);}
/* Admin: helper voor inklapbare 2-koloms grids op mobiel */
.adm-2col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start;}
@media(max-width:900px){
  .adm-ham{display:flex;}
  .adm-nav-label{display:none;}
  .adm-nav-textlink{display:none!important;}
}
@media(max-width:700px){
  .adm-2col{grid-template-columns:1fr!important;}
  .ac{padding:.9rem .75rem;}
  table{min-width:0;}
  th,td{padding:6px 8px;}
}

/* Hero kleur via JS */
/* Counter animatie */
.pp-tel{display:inline-block;transition:transform .1s;}

/* Bezoekdatum */
.pp-datum-badge{
  display:inline-flex;align-items:center;gap:4px;
  font-size:0.7rem;color:var(--light);font-weight:400;
  background:var(--off);border-radius:10px;padding:2px 8px;
  margin-left:6px;cursor:pointer;border:1px solid var(--borderl);
  transition:border-color .15s;
}
.pp-datum-badge:hover{border-color:var(--blue);color:var(--blue-deep);}
.pp-datum-badge.heeft-datum{color:var(--blue-deep);background:var(--sky);}

/* Datum modal */
.pp-modal-backdrop{
  position:fixed;inset:0;background:rgba(15,35,100,0.4);backdrop-filter:blur(3px);
  z-index:500;display:flex;align-items:center;justify-content:center;padding:1rem;
}
.pp-modal{
  background:white;border-radius:var(--r);box-shadow:0 8px 40px rgba(15,35,100,0.18);
  padding:1.8rem;width:100%;max-width:380px;
}
.pp-modal h3{font-size:1rem;font-weight:700;color:var(--text);margin-bottom:0.4rem;}
.pp-modal p{font-size:0.85rem;color:var(--mid);margin-bottom:1.1rem;}
.pp-modal-btns{display:flex;gap:0.5rem;justify-content:flex-end;margin-top:1.2rem;flex-wrap:wrap;}
/* Park info sectie */
.pp-park-info{
  padding:0.65rem 1.4rem 0;
  display:flex;align-items:flex-start;gap:0.75rem;flex-wrap:wrap;
  border-top:1px solid var(--borderl);
  margin-top:0.1rem;
}
.pp-park-desc{font-size:0.78rem;color:var(--mid);line-height:1.5;flex:1;min-width:200px;padding:0.6rem 0;}
.pp-park-site{
  display:inline-flex;align-items:center;gap:4px;
  font-size:0.75rem;font-weight:700;color:var(--blue-deep);
  text-decoration:none;white-space:nowrap;flex-shrink:0;
  padding:0.4rem 0.8rem;border-radius:14px;
  background:var(--sky);border:1px solid var(--sky-mid);
  transition:background .15s;margin:0.5rem 0;
}
.pp-park-site:hover{background:var(--sky-mid);}

/* ══════════════════════════════════════════
   MUNTEN COLLECTIE
   ══════════════════════════════════════════ */
.munt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(140px,18vw,180px),1fr));gap:clamp(8px,1.5vw,12px);}
.munt-kaart{
  background:rgba(180,210,250,0.18);backdrop-filter:blur(8px);
  border:1px solid rgba(140,185,240,0.25);border-radius:var(--r);
  overflow:hidden;transition:transform .2s,box-shadow .2s;cursor:default;
  position:relative;
}
.munt-kaart:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
.munt-foto{
  aspect-ratio:1/1;background:linear-gradient(145deg,var(--sky),var(--mint));
  display:flex;align-items:center;justify-content:center;font-size:2.5rem;
  position:relative;overflow:hidden;
}
.munt-foto img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.munt-body{padding:0.75rem;}
.munt-naam{font-size:0.88rem;font-weight:700;color:var(--text);margin-bottom:2px;line-height:1.2;}
.munt-meta{font-size:0.72rem;color:var(--light);line-height:1.4;}
.munt-badge{
  display:inline-flex;align-items:center;
  font-size:0.65rem;font-weight:700;padding:2px 7px;border-radius:10px;
  background:var(--sky);color:var(--blue-deep);border:1px solid var(--sky-mid);
  margin-top:4px;
}
/* Statistieken balk */

/* Munten stats bento */
/* ── Munten stats bento — explicit grid ── */
.munt-stats-bento{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:clamp(80px,10vw,105px) clamp(80px,10vw,105px) clamp(62px,7.5vw,78px);
  gap:clamp(6px,1vw,8px);
  margin-bottom:1.75rem;
}
/* Rij 1 */
.munt-sb-totaal    {grid-column:1/7; grid-row:1;background:linear-gradient(145deg,rgba(33,117,196,0.15),rgba(26,88,184,0.06))!important;}
.munt-sb-landen    {grid-column:7/11;grid-row:1/3;background:linear-gradient(145deg,rgba(74,142,201,0.12),rgba(58,127,224,0.04))!important;}
.munt-sb-stat-valuta{grid-column:11/13;grid-row:1;}
/* Rij 2 */
.munt-sb-circ      {grid-column:1/4; grid-row:2;background:rgba(52,180,120,0.1)!important;border-color:rgba(52,180,120,0.25)!important;}
.munt-sb-hist-sb   {grid-column:4/7; grid-row:2;background:rgba(26,120,120,0.08)!important;border-color:rgba(40,160,160,0.25)!important;}
.munt-sb-stat-coll {grid-column:11/13;grid-row:2;}
/* Rij 3 */
.munt-sb-herdenkings{grid-column:1/5; grid-row:3;background:rgba(220,170,30,0.1)!important;border-color:rgba(200,160,40,0.3)!important;}
.munt-sb-verzamel  {grid-column:5/9; grid-row:3;background:rgba(60,100,220,0.08)!important;border-color:rgba(80,130,210,0.25)!important;}
.munt-sb-bodem     {grid-column:9/13;grid-row:3;}
/* Font scaling per rij */
.munt-sb-circ .munt-sb-n,.munt-sb-hist-sb .munt-sb-n{font-size:clamp(1.4rem,3.2vw,2rem);}
.munt-sb-stat-valuta .munt-sb-n,.munt-sb-stat-coll .munt-sb-n{font-size:clamp(1.2rem,2.6vw,1.8rem);}
.munt-sb-herdenkings .munt-sb-n,.munt-sb-verzamel .munt-sb-n,.munt-sb-bodem .munt-sb-n{font-size:clamp(1.1rem,2.4vw,1.7rem);}
.munt-sb{
  background:rgba(180,210,250,0.18);backdrop-filter:blur(8px);
  border:1px solid rgba(140,185,240,0.25);border-radius:var(--rs);
  box-shadow:0 2px 12px rgba(40,90,180,0.06);
  padding:0.7rem 1rem;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;transition:box-shadow .2s;overflow:hidden;
}
.munt-sb:hover{box-shadow:0 4px 20px rgba(40,90,180,0.1);}
.munt-sb-n{font-size:clamp(2rem,5vw,2.8rem);font-weight:800;color:var(--blue-deep);line-height:1;letter-spacing:-0.02em;}
.munt-sb-l{font-size:0.72rem;color:var(--light);margin-top:5px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.munt-sb-totaal .munt-sb-n{font-size:clamp(2.2rem,5.5vw,3.2rem);}
.munt-sb-landen .munt-sb-n{font-size:clamp(2rem,5vw,3rem);}
.munt-stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(6px,1vw,8px);margin-bottom:1.5rem;
}
.munt-stat{
  background:rgba(180,210,250,0.18);backdrop-filter:blur(8px);
  border:1px solid rgba(140,185,240,0.25);border-radius:var(--rs);
  padding:0.75rem;text-align:center;
}
.munt-stat-n{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;color:var(--blue-deep);line-height:1;}
.munt-stat-l{font-size:0.7rem;color:var(--light);margin-top:4px;}
/* ── Munten filter balk ── */
.munt-filters{background:rgba(180,210,250,0.18);backdrop-filter:blur(8px);border:1px solid rgba(140,185,240,0.25);border-radius:var(--r);margin-bottom:1.25rem;overflow:hidden;}
/* Rij 1: zoeken + land + reset + teller */
.munt-fr1{display:flex;gap:0.65rem;align-items:center;padding:0.85rem 1.2rem;flex-wrap:wrap;}
.munt-zoek-wrap{display:flex;align-items:center;gap:0.4rem;background:white;border:1.5px solid var(--border);border-radius:20px;padding:5px 12px;flex:1;min-width:160px;}
.munt-zoek-ico{font-size:.85rem;flex-shrink:0;}
.munt-zoek-input{border:none;outline:none;font-size:0.8rem;color:var(--text);background:transparent;width:100%;font-family:var(--sans);}
.munt-zoek-input::placeholder{color:var(--light);}
.munt-land-sel{font-size:0.78rem;font-weight:700;color:var(--mid);border:1.5px solid var(--border);border-radius:20px;padding:5px 10px;background:white;cursor:pointer;outline:none;font-family:var(--sans);}
.munt-reset-btn{font-size:0.75rem;font-weight:700;color:#A93226;background:#FDECEA;border:1.5px solid #F5B7B1;border-radius:20px;padding:4px 11px;cursor:pointer;white-space:nowrap;transition:background .15s;}
.munt-reset-btn:hover{background:#FADADD;}
.munt-teller{font-size:0.72rem;color:var(--light);white-space:nowrap;margin-left:auto;}
/* Rij 2: chip groepen */
.munt-fr2{display:flex;gap:1rem;align-items:flex-start;padding:0.6rem 1.2rem 0.8rem;border-top:1px solid rgba(140,185,240,0.2);flex-wrap:wrap;}
.munt-fg{display:flex;flex-direction:column;gap:0.3rem;}
.munt-fl{font-size:0.6rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--light);}
.munt-fopts{display:flex;gap:0.35rem;flex-wrap:wrap;}
.munt-fvdiv{width:1px;background:rgba(140,185,240,0.3);align-self:stretch;margin:0 0.25rem;}
/* Basis chip stijl */
.munt-chip{font-size:0.78rem;font-weight:700;padding:5px 12px;border-radius:16px;border:1.5px solid var(--border);background:white;color:var(--mid);cursor:pointer;user-select:none;transition:all .15s;}
.munt-chip:hover{border-color:var(--teal);background:var(--mint);color:var(--teal-deep);}
/* Soort chips — elk eigen pastelkleur */
.munt-chip.c-circulatie{background:#E8F8F0;border-color:#80CCA8;color:#1A6040;}
.munt-chip.c-circulatie.actief{background:#1A8050;color:white;border-color:#1A8050;}
.munt-chip.c-herdenkings{background:#FFF6E0;border-color:#E8C050;color:#7A5000;}
.munt-chip.c-herdenkings.actief{background:#B07800;color:white;border-color:#B07800;}
.munt-chip.c-verzamel{background:#E8F0FA;border-color:#90B8E8;color:#1A3A78;}
.munt-chip.c-verzamel.actief{background:#2050A0;color:white;border-color:#2050A0;}
.munt-chip.c-historisch{background:#E0F5F5;border-color:#80CCCC;color:#1A5858;}
.munt-chip.c-historisch.actief{background:#1A7878;color:white;border-color:#1A7878;}
/* Munteenheid + materiaal chips — neutraal blauwgrijs */
.munt-chip.c-munteenheid{background:#EEF2FA;border-color:#A8B8D8;color:#304880;}
.munt-chip.c-munteenheid.actief{background:#304880;color:white;border-color:#304880;}
.munt-chip.c-materiaal{background:#F0EEF8;border-color:#B0A8D8;color:#403080;}
.munt-chip.c-materiaal.actief{background:#403080;color:white;border-color:#403080;}
/* Badge op kaart — per soort eigen kleur */
.munt-badge{display:inline-block;font-size:0.65rem;font-weight:700;padding:2px 8px;border-radius:10px;margin-top:4px;}
.munt-badge.c-circulatie{background:#D0F0E0;color:#1A6040;}
.munt-badge.c-herdenkings{background:#FFF0C0;color:#7A5000;}
.munt-badge.c-verzamel{background:#D8E8F8;color:#1A3A78;}
.munt-badge.c-historisch{background:#D0EEEE;color:#1A5858;}
/* Stats bento kop label */
.munt-sb-kop{font-size:0.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(26,78,144,0.55);margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;max-width:100%;white-space:nowrap;}
.munt-sb-oudste{text-align:left;align-items:flex-start;}
.munt-sb-subtext{font-size:clamp(0.75rem,1.8vw,0.9rem);font-weight:800;color:var(--blue-deep);line-height:1.25;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
/* Responsive munten filters */
@media(max-width:600px){
  .munt-fr1{padding:0.7rem 0.9rem;gap:0.45rem;}
  .munt-fr2{padding:0.5rem 0.9rem 0.7rem;gap:0.6rem;}
  .munt-teller{margin-left:0;}
  .munt-fvdiv{display:none;}
}
@media(max-width:420px){
  .munt-zoek-wrap{min-width:120px;}
  .munt-chip{font-size:.72rem;padding:4px 9px;}
}
/* ── Munten admin chevron ── */
.munt-adm-chevron{transition:transform .2s;display:inline-block;}
/* ── Munten collectie-secties (genest binnen land) ── */
.munt-col-sectie{margin:.4rem 0 .4rem .5rem;border-left:2px solid rgba(140,185,240,0.3);padding-left:.6rem;}
.munt-col-header{display:flex;align-items:center;gap:.55rem;padding:.45rem .85rem;background:rgba(200,220,255,0.18);border:1px solid rgba(140,185,240,0.25);border-radius:var(--rs);cursor:pointer;user-select:none;transition:background .15s;}
.munt-col-header:hover{background:rgba(140,185,240,0.28);}
.munt-col-ico{font-size:1rem;flex-shrink:0;}
.munt-col-naam{font-size:.84rem;font-weight:800;color:var(--blue-deep);}
.munt-col-count{font-size:.68rem;font-weight:700;background:rgba(33,117,196,.12);color:var(--blue-deep);padding:2px 7px;border-radius:9px;white-space:nowrap;}
.munt-col-desc{font-size:.72rem;color:var(--light);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px;}
.munt-col-body{display:none;padding:.6rem 0 .3rem;}
.munt-col-body.open{display:block;animation:muntFadeIn .15s ease;}
.munt-col-header[aria-expanded="true"] .munt-lh-chevron{transform:rotate(180deg);}
/* Overige munten (geen collectie) iets subtieler */
.munt-geen-col-header{background:rgba(180,190,210,0.12);border-color:rgba(140,160,200,0.2);}
.munt-geen-col-header .munt-col-naam{color:var(--mid);}
/* ── Munten land-secties (inklapbaar) ── */
.munt-land-sectie{margin-bottom:.75rem;}
/* Land header */
.munt-lh{display:flex;align-items:center;gap:.65rem;padding:.6rem 1rem;background:rgba(180,210,250,0.15);border:1px solid rgba(140,185,240,0.3);border-radius:var(--rs);cursor:pointer;user-select:none;transition:background .15s;}
.munt-lh:hover{background:rgba(140,185,240,0.22);}
.munt-lh-links{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;}
.munt-lh-vlag{font-size:1.2rem;flex-shrink:0;}
.munt-lh-naam{font-size:.9rem;font-weight:800;color:var(--blue-deep);white-space:nowrap;}
.munt-lh-count{font-size:.72rem;font-weight:700;background:rgba(33,117,196,.15);color:var(--blue-deep);padding:2px 8px;border-radius:10px;white-space:nowrap;}
/* Preview pills in header */
.munt-lh-preview{display:flex;gap:.3rem;flex-wrap:wrap;align-items:center;}
.munt-preview-pill{font-size:.68rem;font-weight:700;background:white;border:1px solid rgba(140,185,240,.4);border-radius:10px;padding:2px 8px;color:var(--mid);}
.munt-preview-meer{background:var(--sky);color:var(--blue-deep);}
.munt-lh-chevron{font-size:1rem;color:var(--light);transition:transform .2s;flex-shrink:0;margin-left:auto;}
.munt-lh[aria-expanded="true"] .munt-lh-chevron{transform:rotate(180deg);}
/* Land body (inklapbaar) */
.munt-land-body{display:none;padding:.75rem 0 .25rem;}
.munt-land-body.open{display:block;animation:muntFadeIn .18s ease;}
@keyframes muntFadeIn{from{opacity:0;transform:translateY(-4px);}to{opacity:1;transform:translateY(0);}}
/* Munten grid binnen land */
.munt-land-grid{margin:0;}
/* ── Munt kaart extra stijlen ── */
.munt-badges{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:4px;}
.munt-serie{font-size:.68rem;color:var(--light);margin-top:4px;font-style:italic;}
/* Conditie badges */
.munt-cond-nieuw{background:#D4EFDF;color:#1A6B40;}
.munt-cond-goed{background:#D4E8FA;color:#1A4E90;}
.munt-cond-gebruikt{background:#FFF3CD;color:#856404;}
/* Waarde badge */
.munt-waarde-badge{background:#F0F8E8;color:#3A6A10;border:1px solid #B8D898;}
/* Conditie filter chips */
.munt-chip.c-cond-nieuw{background:#D4EFDF;border-color:#80CCA8;color:#1A6B40;}
.munt-chip.c-cond-nieuw.actief{background:#1A6B40;color:white;border-color:#1A6B40;}
.munt-chip.c-cond-goed{background:#D4E8FA;border-color:#82B0E0;color:#1A4E90;}
.munt-chip.c-cond-goed.actief{background:#1A4E90;color:white;border-color:#1A4E90;}
.munt-chip.c-cond-gebruikt{background:#FFF3CD;border-color:#E8C84A;color:#7A5C00;}
.munt-chip.c-cond-gebruikt.actief{background:#9A7200;color:white;border-color:#9A7200;}
/* Admin kaart controls */
.munt-admin-btns{position:absolute;top:6px;right:6px;display:flex;gap:4px;opacity:0;transition:opacity .15s;}
.munt-kaart:hover .munt-admin-btns{opacity:1;}
/* Responsive land-headers */
@media(max-width:520px){
  .munt-lh{padding:.5rem .75rem;gap:.4rem;}
  .munt-lh-preview{display:none;}
  .munt-lh-naam{font-size:.82rem;}
}
/* ── PRETPARK ZOEKBALK ── */
.pp-zoek-sectie{margin-bottom:1rem;}
.pp-zoek-bar{
  display:flex;align-items:center;gap:0.6rem;flex-wrap:wrap;
  background:white;border-radius:var(--r);border:1px solid var(--border);
  box-shadow:var(--shadow);padding:0.75rem 1.1rem;
}
.pp-zoek-wrap{flex:1;min-width:200px;max-width:500px;position:relative;}
.pp-zoek{
  width:100%;
  font-family:var(--sans);font-size:0.88rem;font-weight:500;
  color:var(--text);padding:8px 14px 8px 38px;
  border-radius:22px;border:1.5px solid var(--border);
  background:var(--off) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236D8DB8' stroke-width='2.5' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.35-4.35'/%3E%3C/svg%3E") no-repeat 13px center;
  outline:none;transition:border-color .2s,box-shadow .2s;
}
.pp-zoek:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(74,142,201,.15);background-color:white;}
.pp-zoek::placeholder{color:var(--light);font-weight:400;}
.pp-zoek-wis{
  background:var(--off);border:1.5px solid var(--border);border-radius:50%;
  width:28px;height:28px;font-size:0.75rem;cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:var(--mid);
  transition:all .15s;flex-shrink:0;
}
.pp-zoek-wis:hover{background:var(--sky-mid);border-color:var(--blue);}
.pp-zoek-result{font-size:0.8rem;font-weight:700;color:var(--blue-deep);}
.pp-zoek-hint{font-size:0.78rem;color:var(--light);white-space:nowrap;}
/* Autocomplete suggesties */
.pp-sug-list{
  position:absolute;top:calc(100% + 6px);left:0;right:0;
  background:white;border:1.5px solid var(--blue);
  border-radius:var(--rs);box-shadow:var(--shadow-md);
  z-index:100;overflow:hidden;
}
.pp-sug-item{
  padding:0.5rem 1rem;font-size:0.85rem;color:var(--text);
  cursor:pointer;border-bottom:0.5px solid var(--borderl);
  transition:background .1s;
}
.pp-sug-item:last-child{border-bottom:none;}
.pp-sug-item:hover{background:var(--mint);}
.pp-sug-item strong{color:var(--blue-deep);font-weight:700;}
.pp-sug-sub{font-size:0.72rem;color:var(--light);font-weight:400;}
/* Highlight zoekterm in resultaten */
.pp-hl{background:rgba(74,142,201,0.2);border-radius:3px;padding:0 2px;}
/* Zoekteller */
.pp-zoek-count{font-size:0.72rem;color:var(--light);}
/* ── PRETPARK STATS BENTO ── */
.pp-stats-bento{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:clamp(80px,10vw,105px) clamp(80px,10vw,105px) clamp(70px,8vw,90px);
  gap:clamp(6px,1vw,8px);
  margin-bottom:1.75rem;
}
/* Rij 1+2: grote blokken */
.pp-sb-bezocht{grid-column:1/6;grid-row:1/3;}
.pp-sb-gereden{grid-column:6/10;grid-row:1/3;}
.pp-sb-landen{grid-column:10/13;grid-row:1/2;}
.pp-sb-attr{grid-column:10/13;grid-row:2/3;}
/* Rij 3: 4 gelijke blokken elk 3 kolommen breed */
.pp-sb-wil{grid-column:1/3;grid-row:3;}
.pp-sb-terijden{grid-column:3/5;grid-row:3;}
.pp-sb-toppark{grid-column:5/9;grid-row:3;}
.pp-sb-recent{grid-column:9/13;grid-row:3;}
/* Gepland tile: conditioneel in DOM (alleen als $statGepland > 0) */
.pp-sb-gepland{background:linear-gradient(135deg,#FFFDE7,#FEF9C3);grid-column:1/4;grid-row:4;}

.pp-sb{
  border-radius:var(--rs);
  border:1px solid rgba(140,185,240,0.25);
  box-shadow:0 2px 12px rgba(40,90,180,0.06);
  padding:0.7rem 1rem;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;position:relative;overflow:hidden;
  transition:box-shadow .2s;min-width:0;
  background:transparent;
}
.pp-sb:hover{box-shadow:0 4px 20px rgba(40,90,180,0.1);}
/* Twee kleurlagen voor soepele cross-fade — zelfde truc als foto-slideshow */
.pp-sb-laag{
  position:absolute;inset:0;border-radius:var(--rs);
  opacity:0;transition:opacity 1.4s ease;pointer-events:none;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
}
.pp-sb-laag.actief{opacity:1;}
/* Content altijd bovenop de lagen */
.pp-sb > *:not(.pp-sb-laag){position:relative;z-index:1;}
/* Grote blokken: iets rijker */
.pp-sb-bezocht .pp-sb-laag{backdrop-filter:none;}
.pp-sb-gereden .pp-sb-laag{backdrop-filter:none;}
/* Grote blokken: groot getal */
/* Getal — vult het blok */
.pp-sb-n-xl{font-size:clamp(2.8rem,6vw,3.8rem);font-weight:800;color:var(--blue-deep);line-height:1;letter-spacing:-0.03em;}
.pp-sb-n-lg{font-size:clamp(2.2rem,5vw,3rem);font-weight:800;color:var(--blue-deep);line-height:1;letter-spacing:-0.03em;}
.pp-sb-n-md{font-size:clamp(1.6rem,3.5vw,2.1rem);font-weight:800;color:var(--blue-deep);line-height:1;letter-spacing:-0.02em;}
.pp-sb-n-sm{font-size:clamp(1.4rem,3vw,1.8rem);font-weight:800;color:var(--blue-deep);line-height:1;letter-spacing:-0.02em;}
/* Label — licht, één regel */
.pp-sb-l{font-size:0.7rem;color:var(--light);margin-top:5px;font-weight:400;white-space:nowrap;letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.pp-sb-bezocht .pp-sb-l,.pp-sb-gereden .pp-sb-l{font-size:0.75rem;}
/* Naam-tekst in kleine blokken */
.pp-sb-subtext{
  font-size:clamp(0.72rem,1.5vw,0.85rem);font-weight:800;
  color:var(--blue-deep);margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  max-width:100%;letter-spacing:-0.01em;line-height:1.2;
}
/* Label boven de naam in park-blokken */
.pp-sb-kop{font-size:0.63rem;color:var(--light);font-weight:400;white-space:nowrap;margin-bottom:2px;letter-spacing:.04em;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
/* ── BLOG BENTO ── */
.blog-bento{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:clamp(200px,28vw,340px) clamp(160px,20vw,240px);
  gap:clamp(5px,1vw,8px);
}
/* Groot featured bericht links, 2 kleinere rechts gestapeld */
.bb-item:nth-child(1){grid-column:span 7;grid-row:span 2;}
.bb-item:nth-child(2){grid-column:span 5;}
.bb-item:nth-child(3){grid-column:span 5;}
.bb-item{
  border-radius:var(--rs);
  overflow:hidden;
  position:relative;
  cursor:pointer;
  transition:transform .25s,box-shadow .25s;
}
.bb-item:hover{transform:scale(1.015);box-shadow:var(--shadow-md);z-index:2;}
.bb-bg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:clamp(3rem,8vw,5rem);position:relative;z-index:1;}
.bb-item:nth-child(2) .bb-bg,
.bb-item:nth-child(3) .bb-bg{font-size:clamp(2rem,5vw,3rem);}
.bb-overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top, rgba(15,35,100,0.82) 0%, rgba(15,35,100,0.25) 45%, transparent 100%);
  z-index:2;
}
.bb-meta{
  position:absolute;bottom:0;left:0;right:0;
  padding:1.2rem 1.3rem 1.1rem;
  z-index:3;color:white;
}
.bb-item:nth-child(1) .bb-meta{padding:1.6rem 1.6rem 1.4rem;}
.bb-date{font-size:0.72rem;opacity:0.75;margin-bottom:0.3rem;font-weight:400;}
.bb-title{font-size:0.95rem;font-weight:700;line-height:1.3;margin-bottom:0.3rem;}
.bb-item:nth-child(1) .bb-title{font-size:1.2rem;}
.bb-exc{font-size:0.78rem;opacity:0.82;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.bb-item:nth-child(1) .bb-exc{font-size:0.88rem;-webkit-line-clamp:3;}

/* ── GALLERIJ RECENT GRID ── */
.gal-recent-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(4px,0.8vw,7px);}
.gal-recent-item{aspect-ratio:1;border-radius:var(--rs);overflow:hidden;cursor:pointer;background:var(--sky);}
.gal-recent-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease,opacity .2s;}
.gal-recent-item:hover img{transform:scale(1.06);opacity:0.88;}
@media(max-width:900px){.gal-recent-grid{grid-template-columns:repeat(4,1fr);}}
@media(max-width:600px){.gal-recent-grid{grid-template-columns:repeat(3,1fr);}}

/* ── GALLERIJ ALBUM KAARTEN ── */
.gal-album-card{background:white;border-radius:var(--r);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden;transition:transform .2s,box-shadow .2s;}
.gal-album-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.gal-album-thumb{position:relative;height:180px;overflow:hidden;background:var(--sky);}
.gal-album-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.gal-album-card:hover .gal-album-thumb img{transform:scale(1.04);}
.gal-album-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;}
.gal-album-count{position:absolute;bottom:0.5rem;right:0.6rem;background:rgba(15,35,100,0.6);color:white;font-size:0.72rem;font-weight:700;padding:3px 9px;border-radius:12px;backdrop-filter:blur(4px);}
.gal-album-body{padding:0.9rem 1.1rem;}
.gal-album-naam{font-size:0.95rem;font-weight:700;color:var(--text);margin:0 0 4px;}
.gal-album-desc{font-size:0.82rem;color:var(--mid);line-height:1.4;margin:0;}

/* ── SUBTITEL ── */
.sub{font-size:clamp(0.9rem,2vw,1rem);color:var(--mid);margin:0.5rem 0 1.5rem;max-width:600px;line-height:1.6;}

/* ── BLOG BENTO GRID (zelfde stijl als homepage pgrid) ── */
.blog-pgrid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:repeat(2,clamp(140px,20vw,240px));
  gap:clamp(5px,1vw,8px);
}
/* Rij 1: breed + smal + smal */
.blog-pgrid .blog-pitem:nth-child(1){grid-column:span 5;}
.blog-pgrid .blog-pitem:nth-child(2){grid-column:span 3;}
.blog-pgrid .blog-pitem:nth-child(3){grid-column:span 4;}
/* Rij 2: smal + breed + smal */
.blog-pgrid .blog-pitem:nth-child(4){grid-column:span 3;}
.blog-pgrid .blog-pitem:nth-child(5){grid-column:span 4;}
.blog-pgrid .blog-pitem:nth-child(6){grid-column:span 5;}
/* Extra rijen: herhaal patroon */
.blog-pgrid .blog-pitem:nth-child(7){grid-column:span 5;}
.blog-pgrid .blog-pitem:nth-child(8){grid-column:span 3;}
.blog-pgrid .blog-pitem:nth-child(9){grid-column:span 4;}

.blog-pitem{
  position:relative;overflow:hidden;border-radius:var(--rs);
  text-decoration:none;display:block;
  transition:transform .25s,box-shadow .25s;
  cursor:pointer;
}
.blog-pitem:hover{transform:scale(1.015);box-shadow:var(--shadow-md);z-index:2;}
.blog-pitem-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.blog-pitem-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(10,25,70,0.82) 0%,rgba(10,25,70,0.2) 55%,transparent 100%);z-index:1;}
.blog-pitem-meta{position:absolute;bottom:0;left:0;right:0;padding:0.9rem 1rem 0.8rem;z-index:2;color:white;}
.blog-pitem-date{font-size:0.68rem;opacity:0.75;margin-bottom:0.25rem;font-weight:400;}
.blog-pitem-title{font-size:0.9rem;font-weight:700;line-height:1.25;margin:0 0 0.25rem;}
.blog-pitem-exc{font-size:0.75rem;opacity:0.8;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;}
/* Groot (1e) item: grotere tekst */
.blog-pgrid .blog-pitem:nth-child(1) .blog-pitem-title,
.blog-pgrid .blog-pitem:nth-child(6) .blog-pitem-title{font-size:1.05rem;}
.blog-pgrid .blog-pitem:nth-child(1) .blog-pitem-meta,
.blog-pgrid .blog-pitem:nth-child(6) .blog-pitem-meta{padding:1.1rem 1.2rem 1rem;}

/* Extra rijen nemen meer hoogte */
.blog-pgrid:has(.blog-pitem:nth-child(7)){grid-template-rows:repeat(3,clamp(140px,20vw,240px));}

@media(max-width:700px){
  .blog-pgrid{grid-template-columns:1fr 1fr;grid-template-rows:auto;}
  .blog-pgrid .blog-pitem{grid-column:span 1 !important;height:clamp(130px,35vw,180px);}
}
@media(max-width:420px){
  .blog-pgrid{grid-template-columns:1fr;}
  .blog-pgrid .blog-pitem{height:clamp(150px,50vw,200px);}
}

/* ── BLOG KAARTEN ── */
.blog-card{background:white;border-radius:var(--r);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;}
.blog-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.blog-card-img{width:100%;height:180px;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;overflow:hidden;}
.blog-card-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.blog-card:hover .blog-card-img img{transform:scale(1.04);}
.blog-card-body{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:0.35rem;flex:1;}
.blog-card-title{font-size:0.97rem;font-weight:700;color:var(--text);line-height:1.3;margin:0;}
.blog-card-meta{font-size:0.76rem;color:var(--light);margin:0;}
.blog-card-excerpt{font-size:0.83rem;color:var(--mid);line-height:1.55;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}

/* ── PRETPARK KAARTEN ── */
.pp-kaart{background:white;border-radius:var(--r);border:1px solid var(--border);box-shadow:var(--shadow);overflow:hidden;transition:box-shadow .2s;padding:1rem 1.3rem;margin-bottom:0;}
.pp-kaart:hover{box-shadow:var(--shadow-md);}
.pp-kaart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem;margin-bottom:0.4rem;}
.pp-kaart-naam{font-size:1rem;font-weight:700;color:var(--text);margin:0;}
.pp-kaart-meta{font-size:0.78rem;color:var(--light);margin-top:2px;}
.pp-kaart-meta a{color:var(--teal);text-decoration:none;}.pp-kaart-meta a:hover{text-decoration:underline;}
.pp-kaart-desc{font-size:0.85rem;color:var(--mid);margin:0.5rem 0 0.75rem;line-height:1.5;}
.pp-kaart-attr{display:flex;flex-wrap:wrap;gap:0.35rem;margin-top:0.5rem;}
.pp-attr-chip{font-size:0.75rem;font-weight:600;padding:3px 10px;border-radius:12px;background:var(--sky);color:var(--blue-deep);border:1px solid var(--sky-mid);}

/* Actieve filter chip — per type eigen kleur */
.pp-chip.actief{color:white;border-color:transparent;box-shadow:0 2px 8px rgba(0,0,0,.12);}
.pp-chip.c-ja.actief{background:#1A4E90;border-color:#1A4E90;}
.pp-chip.c-wil.actief{background:#9A7200;border-color:#9A7200;}
.pp-chip.c-nee.actief{background:var(--blue-deep);border-color:var(--blue-deep);}
.pp-chip.c-gepland.actief{background:#744210;border-color:#744210;}
.pp-chip.c-ger.actief{background:#186048;border-color:#186048;}
.pp-chip.c-nog.actief{background:var(--teal-deep);border-color:var(--teal-deep);}
.pp-chip.c-thrill.actief{background:#C06000;border-color:#C06000;}
.pp-chip.c-darkride.actief{background:#6040A8;border-color:#6040A8;}
.pp-chip.c-attr.actief{background:#2A8040;border-color:#2A8040;}
.pp-chip.c-show.actief{background:#B02060;border-color:#B02060;}
/* Dark ride items: lichte lavendel */
.pp-baan.pp-darkride-item{background:#EEE8FA;border-color:#C0A8E8;}
.pp-baan.pp-darkride-item.done{background:#D8CCF5;border-color:#9070C8;}
/* Show items: lichte roos */
.pp-baan.pp-show-item{background:#FDE8F2;border-color:#E8A0C0;}
.pp-baan.pp-show-item.done{background:#F5C8DC;border-color:#C04070;}
.pp-chip.actief:hover{border-color:transparent;}
/* Sectie-label kleuren per attractietype */
.pp-thrillride-blok .pp-prog-label{color:#7A4200;}
.pp-thrillride-blok .pp-prog-fill{background:linear-gradient(90deg,#F5A030,#C06000);}
.pp-water-blok .pp-prog-label{color:#1A5878;}
.pp-water-blok .pp-prog-fill{background:linear-gradient(90deg,#5BBDE0,#1E82B0);}
.pp-darkride-blok .pp-prog-label{color:#482090;}
.pp-darkride-blok .pp-prog-fill{background:linear-gradient(90deg,#9878D8,#6040A8);}
.pp-shows-blok .pp-prog-label{color:#7A1848;}
.pp-shows-blok .pp-prog-fill{background:linear-gradient(90deg,#E870A8,#B02060);}
.pp-overig-blok .pp-prog-label{color:#1A6030;}
.pp-overig-blok .pp-prog-fill{background:linear-gradient(90deg,#60C870,#2A8040);}
.pp-zoogdier-blok .pp-prog-label{color:#7A4800;}
.pp-vogel-blok .pp-prog-label{color:#1A4880;}
.pp-reptiel-blok .pp-prog-label{color:#284A10;}
.pp-amfibie-blok .pp-prog-label{color:#1A5040;}
.pp-vis-blok .pp-prog-label{color:#1A5060;}
.pp-insect-blok .pp-prog-label{color:#5030A0;}
.pp-overigdier-blok .pp-prog-label{color:#504030;}
/* Mini fill kleuren per type */
.pp-mf-thrill{background:#C06000;}
.pp-mf-water{background:#1E82B0;}
.pp-mf-dark{background:#6040A8;}
.pp-mf-show{background:#B02060;}
.pp-mf-overig{background:#2A8040;}
.pp-mf-zoogdier{background:#C07800;}
.pp-mf-vogel{background:#2068B8;}
.pp-mf-reptiel{background:#407020;}
.pp-mf-amfibie{background:#208060;}
.pp-mf-vis{background:#2080A0;}
.pp-mf-insect{background:#7048C0;}
.pp-mf-overigdier{background:#7A6050;}

/* ══════════════════════════════════════════════════════════════
   KITTEN OPVANG
   ══════════════════════════════════════════════════════════════ */

/* ── Kitten Stats Bento ── */
.kt-stats-bento{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  grid-template-rows:clamp(80px,10vw,105px) clamp(70px,8vw,90px);
  gap:clamp(6px,1vw,8px);
  margin-bottom:1.75rem;
}
/* Rij 1: 2 grote + 2 kleine */
.kt-sb-nesten  {grid-column:1/5;grid-row:1;}
.kt-sb-kittens {grid-column:5/9;grid-row:1;}
.kt-sb-actief  {grid-column:9/13;grid-row:1;}
/* Rij 2: 4 gelijke blokken */
.kt-sb-periode {grid-column:1/4;grid-row:2;}
.kt-sb-eerste  {grid-column:4/8;grid-row:2;}
.kt-sb-recent  {grid-column:8/13;grid-row:2;}

/* Kitten accent: lichtblauw voor de grote blokken */
.kt-sb-nesten  .pp-sb-n-xl,
.kt-sb-kittens .pp-sb-n-xl { color:#5BA4D8; }
.kt-sb-nesten  .pp-sb-kop,
.kt-sb-kittens .pp-sb-kop  { color:rgba(45,107,168,.65); }

/* ── Kitten nest kaarten (g3 grid) ── */
.kt-nest-card{
  background:white;border-radius:var(--r);border:1px solid var(--border);
  box-shadow:var(--shadow);overflow:hidden;
  transition:transform .2s,box-shadow .2s;
}
.kt-nest-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.kt-nest-thumb{position:relative;height:200px;overflow:hidden;background:#EAF4FD;}
.kt-nest-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.kt-nest-card:hover .kt-nest-thumb img{transform:scale(1.04);}
.kt-nest-thumb-empty{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;}
.kt-nest-badge-wrap{position:absolute;top:.5rem;left:.6rem;}
.kt-nest-body{padding:.9rem 1.1rem;}
.kt-nest-naam{font-size:.95rem;font-weight:700;color:var(--text);margin:0 0 4px;}
.kt-nest-periode{font-size:.78rem;color:var(--light);margin:0 0 5px;}
.kt-nest-details{display:flex;flex-wrap:wrap;gap:.3rem;}
.kt-nest-details span{font-size:.75rem;color:var(--mid);}
.kt-nest-details span+span::before{content:'·';margin-right:.3rem;}

/* ── Status badges ── */
.kt-nest-badge{
  display:inline-flex;align-items:center;gap:3px;
  font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:12px;
  white-space:nowrap;
}
.kt-nest-badge.b-aanwezig    {background:#D4EFDF;color:#1A6B40;}
.kt-nest-badge.b-geadopteerd {background:#D4E8FA;color:#1A4E90;}
.kt-nest-badge.b-binnenkort  {background:#FFF3CD;color:#856404;}

/* ── Actief nest featured card ── */
.kt-actief-card{
  background:white;border-radius:var(--r);border:1px solid var(--border);
  box-shadow:var(--shadow-md);overflow:hidden;
}
.kt-foto-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:3px;
}
.kt-foto-item{position:relative;aspect-ratio:1;overflow:hidden;background:#EAF4FD;cursor:pointer;}
.kt-foto-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s;}
.kt-foto-item:hover img{transform:scale(1.05);}
.kt-foto-meer{
  position:absolute;inset:0;background:rgba(30,70,160,.55);
  display:flex;align-items:center;justify-content:center;
  color:white;font-size:1.1rem;font-weight:700;
}
.kt-actief-body{padding:1.2rem 1.4rem 1.4rem;}
.kt-actief-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;}
@media(max-width:700px){.kt-foto-grid{grid-template-columns:repeat(2,1fr);}}

/* ── Kitten chip kleuren ── */
.pp-chip.c-aanwezig    {background:#D4EFDF;color:#1A6B40;border-color:#A0D8B8;}
.pp-chip.c-geadopteerd {background:#D4E8FA;color:#1A4E90;border-color:#9EC8F0;}
.pp-chip.c-binnenkort {background:#FFF3CD;color:#856404;border-color:#FFE08A;}
.pp-chip.c-poes       {background:#EDE8FA;color:#5030A0;border-color:#C0B0E8;}
.pp-chip.c-kater      {background:#E0ECF8;color:#1A4E90;border-color:#9EC8F0;}
/* Actief: donkere versies */
.pp-chip.c-aanwezig.actief    {background:#1A6B40;border-color:#1A6B40;color:white;}
.pp-chip.c-geadopteerd.actief {background:#1A4E90;border-color:#1A4E90;color:white;}
.pp-chip.c-binnenkort.actief {background:#856404;border-color:#856404;color:white;}
.pp-chip.c-poes.actief       {background:#5030A0;border-color:#5030A0;color:white;}
.pp-chip.c-kater.actief      {background:#1A4E90;border-color:#1A4E90;color:white;}
.pp-chip.c-geboren    {background:#D4EFDF;color:#1A6B40;border-color:#88C8A0;}
.pp-chip.c-moeder     {background:#FFF0D4;color:#7A4A00;border-color:#F5C878;}
.pp-chip.c-geboren.actief {background:#1A6B40;border-color:#1A6B40;color:white;}
.pp-chip.c-moeder.actief  {background:#7A4A00;border-color:#7A4A00;color:white;}
/* Overlay herkomst badges */
.kt-ol-meta-geboren{background:#D4EFDF;color:#1A6B40;border-radius:10px;padding:2px 8px;font-weight:700;}
.kt-ol-meta-moeder {background:#FFF0D4;color:#7A4A00;border-radius:10px;padding:2px 8px;font-weight:700;}

/* ── Nest overlay ── */
.kt-overlay{
  position:fixed;inset:0;
  background:rgba(15,30,80,.72);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  z-index:800;overflow-y:auto;
  display:flex;justify-content:center;align-items:flex-start;
}
.kt-overlay-inner{
  max-width:1000px;width:100%;margin:2rem auto;
  background:white;border-radius:var(--r);box-shadow:0 8px 48px rgba(0,0,0,.25);
  overflow:hidden;
}
.kt-overlay-top{
  display:flex;align-items:center;gap:1rem;
  padding:1.2rem 1.4rem;border-bottom:1px solid var(--borderl);
  background:#FFF5F8;
}
.kt-overlay-sluiten{
  background:white;border:none;border-radius:50%;width:38px;height:38px;
  font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;box-shadow:var(--shadow);color:var(--text);
}
.kt-overlay-titel{color:var(--text);font-size:1.3rem;font-weight:700;margin:0;}
.kt-overlay-body{padding:1.4rem;}
.kt-ol-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;}
.kt-ol-meta-item{font-size:.82rem;color:var(--mid);}
.kt-ol-namen{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem;}
.kt-ol-naam-badge{font-size:.8rem;font-weight:700;background:#EAF4FD;color:var(--teal-deep);border:1px solid var(--mint-mid);border-radius:20px;padding:3px 11px;}
.kt-ol-verhaal{font-size:.9rem;color:var(--mid);line-height:1.65;margin:0 0 1.2rem;}
.kt-ol-foto-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(4px,.8vw,7px);
}
.kt-ol-foto-item{
  position:relative;aspect-ratio:1;overflow:hidden;
  border-radius:var(--rs);background:#FFE8EF;cursor:pointer;
}
.kt-ol-foto-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s,opacity .2s;}
.kt-ol-foto-item:hover img{transform:scale(1.06);opacity:.9;}
@media(max-width:600px){.kt-ol-foto-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:400px){.kt-ol-foto-grid{grid-template-columns:repeat(2,1fr);}}

/* ── Kitten lightbox ── */
.kt-lightbox{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,.92);z-index:999;
  align-items:center;justify-content:center;flex-direction:column;
}

/* ── Responsive stats bento ── */
@media(max-width:900px){
  .kt-stats-bento{
    grid-template-columns:repeat(6,1fr);
    grid-template-rows:auto;
  }
  .kt-sb-nesten  {grid-column:1/4;grid-row:1;}
  .kt-sb-kittens {grid-column:4/7;grid-row:1;}
  .kt-sb-actief  {grid-column:1/4;grid-row:2;}
  .kt-sb-periode {grid-column:4/7;grid-row:2;}
  .kt-sb-eerste  {grid-column:1/4;grid-row:3;}
  .kt-sb-recent  {grid-column:4/7;grid-row:3;}
}
@media(max-width:600px){
  .kt-stats-bento{grid-template-columns:1fr 1fr;}
  .kt-sb-nesten,.kt-sb-kittens,.kt-sb-actief,.kt-sb-periode,.kt-sb-eerste,.kt-sb-recent{grid-column:span 1;grid-row:auto;}
}

/* ── Top achtbaan sterknop (admin) ──────────────────────────── */
.pp-top-btn{background:none;border:1px solid var(--border);border-radius:6px;padding:4px 7px;cursor:pointer;opacity:.3;filter:grayscale(1);font-size:.85rem;flex-shrink:0;transition:opacity .15s,filter .15s,border-color .15s,background .15s;}
.pp-top-btn.pp-top-actief{opacity:1;filter:none;border-color:#f0a500;background:#fff8e1;}
/* ── Top ster publieke pagina ────────────────────────────────── */
.pp-top-ster{font-size:.78rem;vertical-align:middle;margin-left:3px;}
/* ── Bouwjaar badge ─────────────────────────────────────────── */
.pp-bouwjaar{font-size:.72rem;font-weight:400;color:var(--light);margin-left:4px;vertical-align:middle;}
/* ── Munten: beschrijving onder badges ──────────────────────── */
.munt-beschr{font-size:.72rem;color:var(--mid);font-style:italic;line-height:1.4;margin-top:4px;}
/* ── Pretparken: jaaroverzicht ──────────────────────────────── */
.pp-jaar-balk{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px;}
.pp-jaar-chip{font-size:.7rem;font-weight:700;background:var(--sky);color:var(--blue-deep);border-radius:20px;padding:2px 9px;white-space:nowrap;cursor:default;}
/* ── Top achtbanen bento ─────────────────────────────────────── */
.pp-topbanen-lijst{display:flex;flex-direction:column;gap:3px;margin-top:6px;}
.pp-topbanen-rij{font-size:.75rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pp-topbanen-park{color:var(--light);font-size:.68rem;}
/* ── Kittens: adoptiedatum badge ─────────────────────────── */
.kt-adoptiebadge{font-size:.7rem;background:#D4EFDF;color:#1A6B40;border-radius:8px;padding:1px 6px;margin-left:4px;font-weight:700;white-space:nowrap;}
/* ── Globaal zoeken ──────────────────────────────────────── */
.zoek-form{margin-bottom:2rem;}
.zoek-balk{display:flex;align-items:center;gap:.5rem;background:white;border:2px solid var(--teal);border-radius:var(--rs);padding:.45rem .75rem;box-shadow:var(--shadow-sm);}
.zoek-ico{font-size:1rem;color:var(--light);flex-shrink:0;}
.zoek-input{flex:1;border:none;outline:none;font-size:1rem;color:var(--text);background:transparent;min-width:0;}
.zoek-wis{background:none;border:none;cursor:pointer;color:var(--light);font-size:1rem;text-decoration:none;flex-shrink:0;}
.zoek-leeg{text-align:center;padding:3rem 1rem;color:var(--mid);}
.zoek-hints{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:1rem;}
.zoek-hint{background:var(--sky);border:1px solid var(--borderl);border-radius:20px;padding:4px 14px;font-size:.85rem;cursor:pointer;transition:background .15s;}
.zoek-hint:hover{background:var(--mint-mid);}
.zoek-sectie-kop{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:700;color:var(--blue-deep);text-transform:uppercase;letter-spacing:.03em;margin-bottom:.6rem;padding-bottom:.4rem;border-bottom:2px solid var(--borderl);}
.zoek-sectie-ico{font-size:1rem;}
.zoek-sectie-tel{margin-left:auto;background:var(--teal);color:white;font-size:.7rem;border-radius:20px;padding:1px 8px;font-weight:700;}
.zoek-resultaten{display:flex;flex-direction:column;gap:2px;}
.zoek-rij{display:block;padding:.55rem .8rem;border-radius:var(--rs);text-decoration:none;transition:background .12s;border:1px solid transparent;}
.zoek-rij:hover{background:var(--sky);border-color:var(--borderl);}
.zoek-rij-titel{font-weight:700;font-size:.9rem;color:var(--text);}
.zoek-rij-snippet{font-size:.8rem;color:var(--mid);margin-top:2px;line-height:1.45;}
.zoek-rij-url{font-size:.72rem;color:var(--teal);margin-top:2px;}
/* ── Nav zoek link ───────────────────────────────────────── */
.nav-zoek-lnk{font-size:1.05rem!important;padding:.2rem .45rem!important;}
/* ── Munten landen kaart ─────────────────────────────────── */
.munt-landen-kaart{background:white;border:1px solid var(--borderl);border-radius:var(--rs);margin-bottom:1.5rem;overflow:hidden;}
.munt-landen-hdr{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;cursor:pointer;font-size:.87rem;font-weight:700;color:var(--blue-deep);user-select:none;background:var(--sky);}
.munt-landen-hdr:hover{background:var(--mint-mid);}
.munt-landen-chevron{transition:transform .2s;}
.munt-landen-kaart.munt-landen-open .munt-landen-chevron{transform:rotate(180deg);}
.munt-landen-grid{display:none;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem 1rem;}
.munt-landen-kaart.munt-landen-open .munt-landen-grid{display:flex;}
.munt-land-tegel{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--sky);border:1.5px solid var(--borderl);border-radius:var(--rs);padding:.5rem .65rem;cursor:pointer;transition:background .15s,border-color .15s,transform .1s;min-width:68px;text-align:center;}
.munt-land-tegel:hover{background:var(--mint);border-color:var(--teal);transform:translateY(-1px);}
.munt-land-tegel.mlt-actief{background:#EAF4FD;border-color:var(--teal);box-shadow:0 0 0 2px rgba(74,142,201,.25);}
.mlt-vlag{font-size:1.45rem;line-height:1;}
.mlt-naam{font-size:.68rem;color:var(--mid);font-weight:600;white-space:nowrap;}
.mlt-tel{font-size:.7rem;background:var(--teal);color:white;border-radius:10px;padding:0 6px;font-weight:700;}

/* ── Filter badge (actieve filter teller) ───────────────────── */
.filter-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--teal);color:white;border-radius:10px;font-size:.68rem;font-weight:700;min-width:17px;height:17px;padding:0 4px;margin-left:3px;line-height:1;vertical-align:middle;}

/* ── Meer/Minder toggle knop (pretparken + munten) ──────────── */
.pp-meer-toggle,.munt-meer-toggle{background:none;border:1.5px solid var(--borderl);border-radius:20px;font-size:.75rem;font-weight:700;color:var(--mid);padding:4px 11px;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;flex-shrink:0;}
.pp-meer-toggle:hover,.munt-meer-toggle:hover{background:var(--sky);border-color:var(--sky-dark);color:var(--teal-deep);}
.pp-meer-toggle.open,.munt-meer-toggle.open{background:var(--sky);border-color:var(--teal);color:var(--teal-deep);}
.pp-meer-pijl,.munt-meer-pijl{display:inline-block;transition:transform .2s;}
.pp-meer-toggle.open .pp-meer-pijl,.munt-meer-toggle.open .munt-meer-pijl{transform:rotate(180deg);}

/* ── Secundaire filter rij pretparken (Type + Achtbanen) ─────── */
.pp-fr2b{display:none;gap:1.1rem;align-items:center;padding:0.5rem 1.25rem 0.75rem;background:var(--off);border-top:1px solid var(--borderl);flex-wrap:wrap;}
.pp-fr2b.open{display:flex;}

/* ── Secundaire select blok munten (Collectie + Jaar) ────────── */
.munt-meer-blok{display:none;gap:0.65rem;align-items:center;padding:0.55rem 1.2rem 0.65rem;border-top:1px solid rgba(140,185,240,0.15);flex-wrap:wrap;}
.munt-meer-blok.open{display:flex;}

/* ── Mobiel chip-toggle knop ──────────────────────────────── */
.pp-mob-chip-toggle,.munt-mob-chip-toggle{display:none;}

/* ── Extra-small breakpoint (≤480px) ─────────────────────────── */
@media(max-width:480px){
  .hero h1{font-size:clamp(1.4rem,8vw,1.7rem);}
  .hero p{font-size:.85rem;}
  .sec{padding:1.5rem 0.9rem;}
  .btn-sm{font-size:.78rem;padding:.4rem .85rem;}
  .pp-chip,.munt-chip{font-size:.7rem;padding:3px 9px;}
  .pp-fr1,.pp-fr2{padding:.65rem .85rem;gap:.4rem;}
  .munt-fr1,.munt-fr2{padding:.6rem .8rem;gap:.35rem;}
  .pp-fr2b,.munt-meer-blok{padding:.45rem .85rem .6rem;}
  .pp-meer-toggle,.munt-meer-toggle{font-size:.7rem;padding:3px 9px;}
  .munt-land-tegel{min-width:58px;padding:.4rem .5rem;}
  .mlt-vlag{font-size:1.25rem;}
  .mlt-naam{font-size:.62rem;}
}

/* ── Mobiel chip-toggle + rij-verbergen (≤600px) ─────────────── */
@media(max-width:600px){
  /* Toon de toggle-knop */
  .pp-mob-chip-toggle,.munt-mob-chip-toggle{
    display:inline-flex;align-items:center;gap:5px;
    background:var(--sky);border:1.5px solid var(--borderl);
    border-radius:20px;font-size:.78rem;font-weight:700;color:var(--mid);
    padding:5px 12px;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0;
  }
  .pp-mob-chip-toggle.mob-open,.munt-mob-chip-toggle.mob-open{
    background:var(--teal);color:white;border-color:var(--teal);
  }
  /* Chip rijen standaard verborgen op mobiel */
  #ppFilters .pp-fr2:not(.mob-open),
  #ktFilters .pp-fr2:not(.mob-open){display:none;}
  #ppFilters .pp-fr2.mob-open,
  #ktFilters .pp-fr2.mob-open{display:flex;}
  .munt-fr2:not(.mob-open){display:none;}
  .munt-fr2.mob-open{display:flex;}
  /* Secundaire rijen niet tonen op mobiel */
  .pp-fr2b,.munt-meer-blok{display:none !important;}
  .pp-meer-toggle,.munt-meer-toggle{display:none;}
}

/* â•â•â•â• STARRUPTURE BUS TRACKER â•â•â•â• */
:root{
  --sr-bg:#151e2d;--sr-surface:#1a2535;--sr-hover:#1e2d40;
  --sr-border:rgba(56,189,248,0.12);--sr-border2:rgba(56,189,248,0.22);
  --sr-text:#e2eaf5;--sr-light:#8bacc8;--sr-accent:#38bdf8;
  --sr-ruw:#e8a85f;--sr-verwerkt:#60a5fa;--sr-elek:#fbbf24;--sr-adv:#a78bfa;--sr-overig:#9ca3af;
}
.sr-hero{background:linear-gradient(135deg,#0f1724 0%,#152338 55%,#0f2030 100%);color:white;padding:0;position:relative;overflow:hidden;}
.sr-hero::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(56,189,248,0.06) 1px,transparent 1px);background-size:32px 32px;pointer-events:none;}
.sr-hero-inner{max-width:1100px;margin:0 auto;padding:clamp(1.1rem,2.5vw,1.6rem) clamp(1.2rem,5vw,2.5rem);display:flex;align-items:center;gap:2rem;position:relative;z-index:1;}
.sr-hero-left{flex:1;min-width:0;}
.sr-hero-tag{display:inline-block;font-size:0.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--sr-accent);background:rgba(56,189,248,0.08);border:1px solid rgba(56,189,248,0.25);padding:4px 16px;border-radius:14px;margin-bottom:.65rem;font-family:Courier,'Courier New',monospace;}
.sr-hero h1{font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;color:white;letter-spacing:-.02em;margin-bottom:0.45rem;}
.sr-hero h1 span{color:var(--sr-accent);}
.sr-hero p{font-size:0.875rem;color:rgba(200,220,245,0.7);margin:0;line-height:1.55;}
.sr-hero-right{flex-shrink:0;width:clamp(160px,22vw,260px);}
.sr-hero-game-img{width:100%;border-radius:10px;box-shadow:0 6px 28px rgba(0,0,0,.55),0 0 0 1px rgba(56,189,248,0.18);display:block;aspect-ratio:460/215;object-fit:cover;}
.sr-hero-img-lbl{font-size:.6rem;color:rgba(139,172,200,0.35);text-align:center;margin-top:4px;font-family:Courier,monospace;letter-spacing:.08em;text-transform:uppercase;}
@media(max-width:680px){.sr-hero-right{display:none;}}
/* ── Server status balk ── */
.sr-servers{background:linear-gradient(180deg,rgba(10,18,32,0.92) 0%,rgba(12,20,35,0.78) 100%);border-bottom:1px solid rgba(56,189,248,0.12);overflow:hidden;max-height:0;transition:max-height .4s ease,padding .4s ease;padding:0;}
.sr-servers.geladen{max-height:100px;padding:.75rem 0;}
.sr-servers-inner{max-width:1100px;margin:0 auto;padding:0 clamp(1.2rem,5vw,2.5rem);display:flex;flex-wrap:wrap;gap:1.25rem;align-items:center;}
.sr-server-card{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;}
.sr-server-card-naam{font-family:Courier,'Courier New',monospace;font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(56,189,248,0.6);white-space:nowrap;}
.sr-server-card-vakken{display:flex;gap:.4rem;}
.sr-server-vak{display:flex;flex-direction:column;gap:3px;padding:.32rem .72rem;border-radius:8px;border:1px solid;min-width:78px;}
.sr-server-vak.online{background:rgba(16,185,129,0.09);border-color:rgba(16,185,129,0.28);}
.sr-server-vak.offline{background:rgba(239,68,68,0.07);border-color:rgba(239,68,68,0.22);}
.sr-server-vak.spelers{background:rgba(56,189,248,0.07);border-color:rgba(56,189,248,0.2);}
.sr-server-vak-lbl{font-family:Courier,'Courier New',monospace;font-size:.52rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(139,172,200,0.42);}
.sr-server-vak-val{display:flex;align-items:center;gap:.32rem;font-size:.8rem;font-weight:700;line-height:1.2;}
.sr-server-vak.online .sr-server-vak-val{color:#6ee7b7;}
.sr-server-vak.offline .sr-server-vak-val{color:#fca5a5;}
.sr-server-vak.spelers .sr-server-vak-val{color:var(--sr-accent);}
.sr-server-verbinding{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-left:auto;}
.sr-server-vak.verbinding{background:rgba(148,163,184,0.06);border-color:rgba(148,163,184,0.18);}
.sr-server-vak.verbinding .sr-server-vak-val{color:rgba(148,163,184,0.75);}
.sr-server-vak-mono{font-family:Courier,'Courier New',monospace;letter-spacing:.04em;}
.sr-server-max{font-weight:400;opacity:.5;font-size:.72rem;}
.sr-server-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.sr-server-vak.online .sr-server-dot{background:#10b981;box-shadow:0 0 6px rgba(16,185,129,.8);animation:sr-dot-blink 2.2s ease-in-out infinite;}
.sr-server-vak.offline .sr-server-dot{background:#ef4444;}
@keyframes sr-dot-blink{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.45;transform:scale(.82);}}
@media(max-width:480px){.sr-server-card-naam{display:none;}}
.sr-wrap{max-width:1100px;margin:0 auto;padding:0 clamp(1rem,3vw,2rem) 3rem;}
.sr-tabs{display:flex;gap:4px;padding:1.25rem 0 0;flex-wrap:wrap;align-items:flex-end;border-bottom:2px solid var(--border);margin-bottom:1.5rem;}
.sr-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:0.83rem;font-weight:700;color:var(--mid);background:white;border:1.5px solid var(--border);border-bottom:none;border-radius:10px 10px 0 0;cursor:pointer;text-decoration:none;transition:all .15s;margin-bottom:-2px;white-space:nowrap;}
.sr-tab:hover{color:var(--teal-deep);background:var(--mint);}
.sr-tab.actief{color:var(--teal-deep);background:white;border-color:var(--teal);border-bottom-color:white;box-shadow:0 -2px 8px rgba(56,189,248,0.08);}
.sr-tab-add{color:var(--teal);background:transparent;border-style:dashed;}
.sr-tab-add:hover{background:var(--mint);border-style:dashed;}
.sr-panel{background:var(--sr-bg);border-radius:var(--r);border:1px solid var(--sr-border2);overflow:hidden;box-shadow:0 8px 40px rgba(0,20,60,0.35);}
.sr-panel-head{background:rgba(56,189,248,0.05);border-bottom:1px solid var(--sr-border);padding:1rem 1.4rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.sr-panel-title{font-family:Courier,'Courier New',monospace;font-size:0.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--sr-accent);}
.sr-panel-sub{font-size:0.72rem;color:var(--sr-light);margin-top:2px;}
.sr-stats{display:flex;gap:1.4rem;}
.sr-stat{display:flex;flex-direction:column;gap:1px;text-align:right;}
.sr-stat-val{font-family:Courier,'Courier New',monospace;font-size:1rem;font-weight:700;color:var(--sr-accent);line-height:1;}
.sr-stat-lbl{font-size:0.6rem;color:var(--sr-light);text-transform:uppercase;letter-spacing:.08em;}
.sr-filter{padding:.65rem 1.25rem;border-bottom:1px solid var(--sr-border);background:rgba(0,0,0,0.15);display:flex;align-items:center;gap:.6rem;}
.sr-filter input{background:rgba(255,255,255,0.07);border:1px solid var(--sr-border);color:var(--sr-text);border-radius:var(--rs);padding:.45rem .8rem;font-size:.83rem;flex:1;outline:none;font-family:var(--sans);}
.sr-filter input::placeholder{color:rgba(139,172,200,0.45);}
.sr-filter input:focus{border-color:var(--sr-accent);background:rgba(56,189,248,0.06);}
.sr-filter-lbl{font-size:.68rem;color:var(--sr-light);white-space:nowrap;font-family:Courier,monospace;text-transform:uppercase;letter-spacing:.08em;}
.sr-toolbar{padding:.85rem 1.4rem;border-bottom:1px solid var(--sr-border);display:flex;align-items:center;gap:.75rem;}
.sr-toolbar-add{display:inline-flex;align-items:center;gap:8px;padding:.6rem 1.5rem;background:rgba(56,189,248,0.1);border:1.5px solid rgba(56,189,248,0.3);color:var(--sr-accent);border-radius:24px;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;font-family:var(--sans);white-space:nowrap;}
.sr-toolbar-add:hover{background:rgba(56,189,248,0.18);border-color:var(--sr-accent);box-shadow:0 0 14px rgba(56,189,248,0.2);}
.sr-lane-list{padding:0;margin:0;list-style:none;}
.sr-lane-row{display:grid;grid-template-columns:82px 58px 1fr 112px 190px 76px;align-items:center;border-bottom:1px solid var(--sr-border);cursor:pointer;transition:background .12s;position:relative;}
.sr-lane-row:last-child{border-bottom:none;}
.sr-lane-row:hover{background:var(--sr-hover);}
.sr-lane-row.leeg:hover{background:rgba(56,189,248,0.03);}
.sr-stripe{position:absolute;left:0;top:0;bottom:0;width:4px;}
.sr-num{font-family:Courier,'Courier New',monospace;font-size:.92rem;font-weight:700;color:var(--sr-accent);padding:1rem .5rem 1rem 1.4rem;text-align:right;opacity:.9;white-space:nowrap;letter-spacing:.02em;}
.sr-item-ico{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.15rem;flex-shrink:0;border:1px solid;margin:0 0 0 .5rem;overflow:hidden;padding:2px;}
.sr-item-ico img{width:100%;height:100%;object-fit:contain;display:block;}
.sr-item-cel{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:.7rem .6rem .7rem .8rem;min-width:0;}
.sr-item-meta{font-size:.63rem;color:rgba(139,172,200,0.38);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sr-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;}
.sr-item-naam{font-size:.925rem;font-weight:600;color:var(--sr-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.sr-item-vrij{font-size:.82rem;color:rgba(139,172,200,0.3);font-style:italic;}
.sr-cat-col{padding:0 .75rem;white-space:nowrap;overflow:hidden;}
.sr-cat-text{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;opacity:.9;}
.sr-cat-badge{font-size:.63rem;font-weight:700;padding:2px 6px;border-radius:5px;text-transform:uppercase;letter-spacing:.04em;flex-shrink:0;white-space:nowrap;}
.sr-note-cel{font-size:.75rem;color:rgba(139,172,200,0.5);padding:0 .75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:italic;}
.sr-act-cel{display:flex;align-items:center;gap:3px;padding:0 .9rem 0 .5rem;opacity:0;transition:opacity .15s;}
.sr-lane-row:hover .sr-act-cel{opacity:1;}
.sr-act-btn{width:28px;height:28px;border-radius:6px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.8rem;transition:background .12s;background:transparent;}
.sr-act-btn.edit{color:var(--sr-accent);}.sr-act-btn.edit:hover{background:rgba(56,189,248,0.15);}
.sr-act-btn.del{color:#f87171;}.sr-act-btn.del:hover{background:rgba(248,113,113,0.15);}
.sr-empty-state{padding:3rem 2rem;text-align:center;color:var(--sr-light);}
.sr-empty-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.4;}
.sr-empty-txt{font-size:.88rem;opacity:.55;line-height:1.6;}
/* Modals */
.sr-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:500;display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:opacity .2s;}
.sr-overlay.open{opacity:1;pointer-events:all;}
.sr-modal{background:white;border-radius:var(--r);width:100%;max-width:500px;box-shadow:0 20px 80px rgba(0,0,0,.3);overflow:hidden;transform:translateY(16px) scale(.98);transition:transform .2s;}
.sr-overlay.open .sr-modal{transform:none;}
.sr-modal.sm{max-width:400px;}
.sr-modal-hd{background:linear-gradient(135deg,#0f1724,#1a2a42);color:white;padding:1.2rem 1.4rem;display:flex;align-items:center;justify-content:space-between;}
.sr-modal-ttl{font-size:.95rem;font-weight:700;}
.sr-modal-sub-txt{font-size:.72rem;color:rgba(200,220,245,.55);margin-top:2px;}
.sr-modal-x{background:rgba(255,255,255,.1);border:none;color:white;width:30px;height:30px;border-radius:7px;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0;}
.sr-modal-x:hover{background:rgba(255,255,255,.2);}
.sr-modal-bd{padding:1.4rem;}
.sr-modal-ft{padding:.9rem 1.4rem;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:8px;}
/* Item picker */
.sr-picked{display:flex;align-items:center;gap:8px;padding:7px 12px;background:var(--mint);border:1.5px solid var(--mint-dark);border-radius:var(--rs);margin-bottom:.6rem;font-size:.875rem;color:var(--teal-deep);font-weight:600;}
.sr-pick-list{max-height:220px;overflow-y:auto;border:1.5px solid var(--border);border-radius:var(--rs);background:white;scroll-behavior:smooth;}
.sr-pick-cat{font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:5px 11px 3px;color:var(--light);background:var(--off);position:sticky;top:0;}
.sr-pick-opt{display:flex;align-items:center;gap:8px;padding:7px 11px;cursor:pointer;transition:background .1s;border-bottom:1px solid var(--borderl);font-size:.875rem;color:var(--text);}
.sr-pick-opt:last-child{border-bottom:none;}
.sr-pick-opt:hover{background:var(--sky);}
.sr-pick-opt.on{background:var(--mint);color:var(--teal-deep);font-weight:600;}
/* Bus naam bewerken knop (in paneel-header) */
.sr-title-edit-btn{background:rgba(56,189,248,0.08);border:1px solid rgba(56,189,248,0.2);color:rgba(56,189,248,0.55);border-radius:6px;cursor:pointer;padding:3px 9px;font-size:.68rem;font-weight:700;letter-spacing:.04em;transition:all .15s;font-family:var(--sans);white-space:nowrap;}
.sr-title-edit-btn:hover{background:rgba(56,189,248,0.18);color:var(--sr-accent);border-color:rgba(56,189,248,0.4);}
/* Bus beheer knopje (op tab) */
.sr-bus-edit-btn{display:inline-flex;align-items:center;gap:4px;font-size:.72rem;color:var(--light);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:6px;transition:color .15s,background .15s;opacity:0;}
.sr-tab.actief:hover .sr-bus-edit-btn{opacity:1;}
.sr-tab.actief .sr-bus-edit-btn:hover{color:var(--teal-deep);background:var(--mint);}
/* Responsive */
@media(max-width:800px){
  .sr-lane-row{grid-template-columns:76px 52px 1fr 100px 70px;}
  .sr-note-cel{display:none;}
}
@media(max-width:600px){
  .sr-lane-row{grid-template-columns:66px 42px 1fr 70px;}
  .sr-cat-col{display:none;}
  .sr-note-cel{display:none;}
  .sr-num{font-size:.8rem;padding:.85rem .4rem .85rem 1rem;}
  .sr-act-cel{opacity:1;}
  .sr-item-ico{width:34px;height:34px;font-size:1rem;margin:0 0 0 .35rem;}
}
@media(max-width:420px){
  .sr-stats{gap:.9rem;}
  .sr-panel-head{flex-direction:column;align-items:flex-start;}
}
/* ── SSE live reload toast ── */
.sr-toast{position:fixed;bottom:2rem;right:2rem;background:#1e3a5f;color:#e2f0ff;border:1px solid var(--sr-accent);border-radius:12px;padding:.75rem 1.25rem;font-size:.875rem;font-weight:600;box-shadow:0 4px 28px rgba(0,0,0,.45),0 0 0 1px rgba(56,189,248,0.15);z-index:9999;opacity:0;transform:translateY(1rem);transition:opacity .3s,transform .3s;pointer-events:none;max-width:320px;line-height:1.4;}
.sr-toast.zichtbaar{opacity:1;transform:translateY(0);}
/* ── SSE sync-banner (getoond in modal als er een update binnenkomt) ── */
.sr-sync-banner{background:rgba(45,31,0,.85);border:1px solid #f59e0b;color:#fcd34d;padding:.6rem 1rem;font-size:.82rem;line-height:1.4;border-radius:8px;margin:.75rem 1.4rem 0;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;}
.sr-sync-banner a{color:var(--sr-accent);font-weight:700;text-decoration:none;white-space:nowrap;}
.sr-sync-banner a:hover{text-decoration:underline;}
