/*
Theme Name: De Kelder Kollum
Theme URI: https://jeugdhonkdekelder.nl/
Author: Jeugdhonk De Kelder
Description: Compleet zelfstandig WordPress-thema voor Jeugdhonk De Kelder Kollum. Geen pagebuilder of Extra CSS nodig.
Version: 3.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: de-kelder-kollum
*/

:root{
  --bg:#100817;
  --bg2:#1c0d29;
  --card:#20102f;
  --purple:#9b5cff;
  --pink:#ff4da6;
  --cyan:#27e6ff;
  --yellow:#ffd84d;
  --white:#ffffff;
  --muted:#d8cfea;
  --line:rgba(255,255,255,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--white);background:radial-gradient(circle at 15% 5%,rgba(155,92,255,.30),transparent 32%),radial-gradient(circle at 85% 15%,rgba(255,77,166,.20),transparent 29%),linear-gradient(180deg,#180a23 0%,#241032 52%,#17091f 100%);line-height:1.6}
a{color:inherit} img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 32px));margin:auto}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(22,9,31,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}
.admin-bar .site-header{top:32px}.navbar{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo-link{display:flex;align-items:center;text-decoration:none}.logo-img{height:72px;width:auto;max-width:390px;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.desktop-nav a{text-decoration:none;font-weight:700;padding:9px 12px;border-radius:9px;color:#f7f1ff}.desktop-nav a:hover{background:rgba(155,92,255,.16);color:var(--cyan)}
.mobile-nav{display:none}.mobile-nav>summary{list-style:none}.mobile-nav>summary::-webkit-details-marker{display:none}
.hero{position:relative;overflow:hidden;padding:50px 0 65px;min-height:640px;display:flex;align-items:center}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(20px)}.hero:before{width:520px;height:520px;background:rgba(155,92,255,.15);left:-190px;top:-170px}.hero:after{width:440px;height:440px;background:rgba(255,77,166,.12);right:-150px;bottom:-150px}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:55px;align-items:center}.eyebrow{display:inline-block;padding:8px 13px;border:1px solid rgba(39,230,255,.45);border-radius:999px;background:rgba(39,230,255,.08);color:#aef6ff;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.hero-brand{margin:18px 0}.hero-brand img{width:min(100%,720px);height:auto;filter:drop-shadow(0 12px 28px rgba(0,0,0,.35))}.hero p{max-width:700px;font-size:19px;color:var(--muted)}.hero-buttons{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border-radius:11px;text-decoration:none;font-weight:900;border:1px solid transparent;transition:.2s ease}.button-primary{color:#0d0613;background:linear-gradient(90deg,var(--cyan),#76f3ff);box-shadow:0 0 24px rgba(39,230,255,.25)}.button-secondary{border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.06);color:#fff}.button:hover{transform:translateY(-2px)}
section{padding:78px 0}.section-title{margin:0 0 12px;font-size:clamp(32px,5vw,52px);line-height:1.05}.section-intro{color:var(--muted);font-size:18px;max-width:780px;margin:0 0 34px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{position:relative;overflow:hidden;background:linear-gradient(180deg,rgba(38,18,56,.95),rgba(24,11,35,.95));border:1px solid rgba(255,255,255,.11);border-radius:20px;padding:25px;min-height:255px;transition:.2s ease}.card:hover{transform:translateY(-4px);border-color:rgba(39,230,255,.35)}.card-icon{width:58px;height:58px;display:grid;place-items:center;font-size:30px;border-radius:17px;background:rgba(155,92,255,.16);border:1px solid rgba(155,92,255,.26)}.card h3{margin:19px 0 8px;font-size:24px}.card p{color:var(--muted);margin:0}
.about{display:grid;grid-template-columns:1fr 1fr;gap:28px}.about-panel{border:1px solid rgba(255,255,255,.1);border-radius:22px;background:rgba(255,255,255,.045);padding:30px}.about-panel p{color:var(--muted)}.checks{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:12px}.checks li{display:flex;gap:10px;align-items:flex-start}.checks li:before{content:"✓";color:var(--cyan);font-weight:900}
.rules{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.rule{display:flex;gap:15px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);padding:19px;border-radius:16px}.rule-number{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:11px;background:rgba(39,230,255,.12);color:var(--cyan);font-weight:900}
.parent-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.parent-card{background:linear-gradient(180deg,rgba(38,18,56,.95),rgba(24,11,35,.95));border:1px solid rgba(255,255,255,.11);border-radius:20px;padding:24px;min-height:250px}.parent-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:16px;background:rgba(39,230,255,.10);border:1px solid rgba(39,230,255,.22);font-size:27px;margin-bottom:16px}.parent-card h3{margin:0 0 10px;font-size:21px}.parent-card p{margin:0;color:var(--muted)}.parent-card a{color:var(--cyan);font-weight:800}.parent-link{display:inline-flex;margin-top:16px;min-height:42px;align-items:center;justify-content:center;padding:0 14px;border-radius:10px;text-decoration:none;background:rgba(37,211,102,.13);border:1px solid rgba(37,211,102,.35);color:#aaf5c2!important}.parent-info{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.parent-info>div{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:22px}.parent-info h3{margin:0 0 8px}.parent-info p{margin:0;color:var(--muted)}
.contact-box{background:linear-gradient(120deg,rgba(155,92,255,.22),rgba(255,77,166,.16));border:1px solid rgba(255,255,255,.14);border-radius:26px;padding:36px;display:grid;grid-template-columns:1.35fr .65fr;gap:30px;align-items:stretch}.contact-details{display:grid;gap:14px;margin-top:24px}.contact-detail{display:flex;gap:14px;align-items:flex-start;padding:15px 16px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09)}.contact-detail-icon{width:36px;height:36px;flex:0 0 36px;display:grid;place-items:center;border-radius:10px;background:rgba(39,230,255,.10);border:1px solid rgba(39,230,255,.22)}.contact-detail a{color:var(--cyan);font-weight:800;text-decoration:none}
.parent-extra{margin-top:14px!important;padding-top:13px;border-top:1px solid rgba(255,255,255,.10);color:#f1e9fa!important}
.route-link{display:inline-flex!important;align-items:center;gap:7px;margin-top:9px;padding:7px 10px;border-radius:9px;background:rgba(39,230,255,.10);border:1px solid rgba(39,230,255,.25);color:#bdf8ff!important;text-decoration:none!important;font-size:14px;font-weight:800}
.route-link:hover{background:rgba(39,230,255,.18)}.contact-actions{display:grid;gap:12px;align-content:center}.contact-action{min-height:50px;display:flex;align-items:center;justify-content:center;padding:0 18px;border-radius:12px;text-decoration:none;font-weight:900;color:#fff!important;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);transition:.2s ease}.contact-action:hover{transform:translateY(-2px);background:rgba(255,255,255,.11)}.contact-action-whatsapp{background:#25D366!important;border-color:#25D366!important}.contact-action-facebook{background:#1877F2!important;border-color:#1877F2!important}.contact-action-instagram{background:linear-gradient(90deg,#833ab4,#fd1d1d,#fcb045)!important;border-color:transparent!important}
.kelder-footer{padding:48px 0 24px;background:radial-gradient(circle at 10% 0%,rgba(155,92,255,.18),transparent 30%),#15091d;border-top:1px solid rgba(255,255,255,.10);color:#d8cfea;text-align:left}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;gap:36px;align-items:start}.footer-brand img{width:100%;max-width:330px;height:auto;margin-bottom:16px}.footer-brand p,.footer-block p{margin:0 0 12px;color:#cfc4dc}.footer-block h3{margin:0 0 12px;color:#fff;font-size:19px}.footer-block a{color:#c8f8ff;text-decoration:none;font-weight:800}.footer-socials{display:flex;flex-direction:column;gap:10px}.footer-socials a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:10px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.06)}.footer-bottom{margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;color:#998fa7;font-size:14px}.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:9000;display:flex;align-items:center;gap:9px;min-height:54px;padding:0 18px 0 14px;border-radius:999px;text-decoration:none;background:#25D366;color:#fff!important;font-weight:900;box-shadow:0 14px 34px rgba(0,0,0,.32);border:2px solid rgba(255,255,255,.22);transition:.2s ease}.floating-whatsapp:hover{transform:translateY(-3px)}
.kelder-plugin-missing{padding:22px;border:1px dashed rgba(255,255,255,.28);border-radius:16px;background:rgba(255,255,255,.05);color:var(--muted)}
@media(max-width:1000px){.parent-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.desktop-nav{display:none}.mobile-nav{display:block;position:relative;margin-left:auto;z-index:10020}.mobile-nav>summary{display:flex;align-items:center;justify-content:center;width:48px;height:48px;cursor:pointer;border-radius:12px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);font-size:27px}.mobile-nav-close{display:none}.mobile-nav[open] .mobile-nav-open{display:none}.mobile-nav[open] .mobile-nav-close{display:inline}.mobile-nav-panel{position:absolute;top:56px;right:0;width:min(320px,calc(100vw - 28px));display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:16px;background:#160b20;border:1px solid rgba(255,255,255,.14);box-shadow:0 20px 50px rgba(0,0,0,.48)}.mobile-nav-panel a{display:block;padding:12px 14px;border-radius:10px;color:#fff;text-decoration:none;font-weight:800}.mobile-nav-panel a:hover{color:var(--cyan);background:rgba(155,92,255,.18)}.hero-grid,.about{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.contact-box{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.logo-img{height:46px;max-width:220px}.contact-actions{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.parent-grid,.parent-info{grid-template-columns:1fr}}
@media(max-width:600px){.container{width:min(100% - 22px,1180px)}.hero{padding:58px 0 48px;min-height:auto}section{padding:58px 0}.rules{grid-template-columns:1fr}.contact-box,.about-panel{padding:23px}.contact-actions{grid-template-columns:1fr}.floating-whatsapp{right:14px;bottom:14px;width:54px;height:54px;min-height:54px;padding:0;justify-content:center}.floating-whatsapp-text{display:none}}
@media(max-width:480px){.logo-img{height:40px;max-width:175px}.mobile-nav>summary{width:44px;height:44px;font-size:25px}.mobile-nav-panel{top:52px}}

.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}


/* ===== VACATURE + CONTACT FORM 7 ===== */
.vacancy-section{position:relative}
.vacancy-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}
.vacancy-card,.vacancy-form-card{background:linear-gradient(180deg,rgba(38,18,56,.96),rgba(24,11,35,.97));border:1px solid rgba(255,255,255,.11);border-radius:22px;box-shadow:0 18px 48px rgba(0,0,0,.20)}
.vacancy-card{padding:20px}
.vacancy-poster-wrap{overflow:hidden;border-radius:16px;background:#12091a;border:1px solid rgba(255,255,255,.10)}
.vacancy-poster-wrap img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;background:#12091a}
.vacancy-placeholder{min-height:430px;display:grid;place-items:center;padding:28px;text-align:center;color:var(--muted);border:1px dashed rgba(39,230,255,.30);border-radius:16px;background:rgba(39,230,255,.04)}
.vacancy-form-card{padding:28px}
.vacancy-form-card h3{margin:0 0 8px;font-size:28px}
.vacancy-form-card>p{margin:0 0 22px;color:var(--muted)}
.vacancy-contact-fallback{padding:16px;border-radius:14px;background:rgba(39,230,255,.07);border:1px solid rgba(39,230,255,.18);color:var(--muted)}
.vacancy-contact-fallback a{color:var(--cyan);font-weight:800}

/* Contact Form 7 in De Kelder-stijl */
.vacancy-form-card .wpcf7 p{margin:0 0 16px}
.vacancy-form-card .wpcf7 label{display:block;color:#fff;font-weight:800;font-size:15px}
.vacancy-form-card .wpcf7 input[type="text"],
.vacancy-form-card .wpcf7 input[type="email"],
.vacancy-form-card .wpcf7 input[type="tel"],
.vacancy-form-card .wpcf7 input[type="url"],
.vacancy-form-card .wpcf7 input[type="number"],
.vacancy-form-card .wpcf7 select,
.vacancy-form-card .wpcf7 textarea{width:100%;margin-top:7px;padding:13px 14px;border-radius:11px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff;font:inherit;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}
.vacancy-form-card .wpcf7 textarea{min-height:145px;resize:vertical}
.vacancy-form-card .wpcf7 input:focus,
.vacancy-form-card .wpcf7 select:focus,
.vacancy-form-card .wpcf7 textarea:focus{border-color:rgba(39,230,255,.65);box-shadow:0 0 0 3px rgba(39,230,255,.10);background:rgba(255,255,255,.09)}
.vacancy-form-card .wpcf7 input::placeholder,
.vacancy-form-card .wpcf7 textarea::placeholder{color:#bdb2ca}
.vacancy-form-card .wpcf7 input[type="submit"]{min-height:48px;padding:0 22px;border:0;border-radius:11px;cursor:pointer;font:inherit;font-weight:900;color:#0d0613;background:linear-gradient(90deg,var(--cyan),#76f3ff);box-shadow:0 0 24px rgba(39,230,255,.20);transition:transform .2s ease,filter .2s ease}
.vacancy-form-card .wpcf7 input[type="submit"]:hover{transform:translateY(-2px);filter:brightness(1.04)}
.vacancy-form-card .wpcf7 .wpcf7-not-valid-tip{margin-top:6px;color:#ff9fc9;font-size:13px;font-weight:700}
.vacancy-form-card .wpcf7 form .wpcf7-response-output{margin:18px 0 0;padding:12px 14px;border-radius:11px;border:1px solid rgba(255,216,77,.35);background:rgba(255,216,77,.08);color:#fff}
.vacancy-form-card .wpcf7 form.sent .wpcf7-response-output{border-color:rgba(37,211,102,.42);background:rgba(37,211,102,.10)}
.vacancy-form-card .wpcf7-spinner{vertical-align:middle}
.vacancy-form-card .wpcf7-acceptance label{display:flex;gap:9px;align-items:flex-start;font-weight:600;color:var(--muted)}
.vacancy-form-card .wpcf7-acceptance input{margin-top:5px}

@media(max-width:900px){.vacancy-grid{grid-template-columns:1fr}.vacancy-card,.vacancy-form-card{padding:22px}}
@media(max-width:600px){.vacancy-placeholder{min-height:300px}.vacancy-form-card{padding:20px}.vacancy-form-card h3{font-size:24px}}


/* ===== VACATURE V2.4: LOSSE KAART IN 'BINNENKORT'-STIJL ===== */
.vacancy-section{position:relative}
.vacancy-feature-wrap{display:flex;justify-content:center}
.vacancy-feature-card{width:min(100%,520px);background:linear-gradient(145deg,rgba(36,17,53,.96),rgba(23,10,34,.96));border:1px solid rgba(255,255,255,.14);border-radius:24px;padding:28px;box-shadow:0 26px 80px rgba(0,0,0,.35)}
.vacancy-tag{display:inline-block;color:#211200;background:var(--yellow);font-size:13px;font-weight:900;padding:6px 10px;border-radius:999px;margin-bottom:16px}
.vacancy-feature-poster{display:block;border-radius:17px;overflow:hidden;border:1px solid rgba(255,255,255,.14);background:#0d0613;box-shadow:0 14px 35px rgba(0,0,0,.28)}
.vacancy-feature-poster img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain}
.vacancy-feature-placeholder{min-height:310px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:30px;text-align:center;border-radius:17px;border:1px dashed rgba(39,230,255,.38);background:rgba(39,230,255,.05);color:var(--muted)}
.vacancy-feature-placeholder strong{color:#fff;font-size:22px}
.vacancy-feature-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.vacancy-feature-actions .button{width:100%;min-width:0}
.vacancy-whatsapp{color:#fff!important;background:#25D366!important;border-color:#25D366!important;box-shadow:0 0 20px rgba(37,211,102,.22)}
.vacancy-whatsapp:hover{filter:brightness(1.05)}

/* ===== LOS CONTACTFORMULIER ===== */
.contact-action-form{background:linear-gradient(90deg,var(--purple),#6f3ed2)!important;border-color:rgba(255,255,255,.16)!important}
.contact-form-section{padding-top:30px}
.contact-form-card{max-width:900px;margin:0 auto;padding:30px;border-radius:24px;background:linear-gradient(145deg,rgba(36,17,53,.96),rgba(23,10,34,.96));border:1px solid rgba(255,255,255,.14);box-shadow:0 26px 70px rgba(0,0,0,.25)}
.contact-form-heading{display:flex;align-items:flex-start;gap:16px;margin-bottom:24px}
.contact-form-heading .section-title{margin-bottom:8px}
.contact-form-heading p{margin:0;color:var(--muted)}
.contact-form-icon{width:54px;height:54px;flex:0 0 54px;display:grid;place-items:center;border-radius:16px;background:rgba(155,92,255,.16);border:1px solid rgba(155,92,255,.28);font-size:25px}
.kelder-cf7-wrap .wpcf7 p{margin:0 0 16px}
.kelder-cf7-wrap .wpcf7 label{display:block;color:#fff;font-weight:800}
.kelder-cf7-wrap .wpcf7 input[type="text"],.kelder-cf7-wrap .wpcf7 input[type="email"],.kelder-cf7-wrap .wpcf7 input[type="tel"],.kelder-cf7-wrap .wpcf7 input[type="number"],.kelder-cf7-wrap .wpcf7 select,.kelder-cf7-wrap .wpcf7 textarea{width:100%;margin-top:7px;padding:13px 14px;border-radius:11px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff;font:inherit;outline:none}
.kelder-cf7-wrap .wpcf7 input:focus,.kelder-cf7-wrap .wpcf7 select:focus,.kelder-cf7-wrap .wpcf7 textarea:focus{border-color:rgba(39,230,255,.58);box-shadow:0 0 0 3px rgba(39,230,255,.09)}
.kelder-cf7-wrap .wpcf7 textarea{min-height:150px;resize:vertical}
.kelder-cf7-wrap .wpcf7 input[type="submit"]{min-height:48px;padding:0 22px;border:0;border-radius:11px;cursor:pointer;font-weight:900;color:#0d0613;background:linear-gradient(90deg,var(--cyan),#76f3ff);box-shadow:0 0 24px rgba(39,230,255,.22)}
.kelder-cf7-wrap .wpcf7-response-output{margin:18px 0 0!important;padding:12px 14px!important;border-radius:11px;color:#fff}
.kelder-cf7-wrap .wpcf7-not-valid-tip{color:#ff9abf;font-weight:700;margin-top:5px}
.kelder-cf7-wrap .wpcf7-list-item{margin-left:0}
.kelder-cf7-wrap a{color:var(--cyan)}
@media(max-width:650px){.vacancy-feature-card,.contact-form-card{padding:22px}.vacancy-feature-actions{grid-template-columns:1fr}.contact-form-heading{flex-direction:column}}


/* ===== CONTACTFORMULIER ALLEEN OPENEN VIA KNOP ===== */
#contactformulier{
  display:none;
}
#contactformulier:target{
  display:block;
}
#contactformulier:target .contact-form-card{
  animation:kelder-contact-open .22s ease-out;
}
@keyframes kelder-contact-open{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}

/* Sluitknop boven het formulier */
.contact-form-close{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 14px;
  margin-left:auto;
  border-radius:10px;
  text-decoration:none;
  color:#fff!important;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  font-weight:800;
}


/* ===== VACATURE: DERDE KNOP NAAR CONTACTFORMULIER ===== */
.vacancy-feature-actions{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.vacancy-contactform{
  color:#fff!important;
  background:linear-gradient(90deg,var(--purple),#6f3ed2)!important;
  border-color:rgba(255,255,255,.16)!important;
}
.vacancy-contactform:hover{
  filter:brightness(1.06);
}
@media(max-width:820px){
  .vacancy-feature-actions{
    grid-template-columns:1fr;
  }
}


/* ===== VACATURE BUTTONS KLEINERE TEKST ===== */
.vacancy-feature-actions{
  gap:10px;
}
.vacancy-feature-actions .button{
  min-height:46px;
  padding:0 12px;
  font-size:13px;
  line-height:1.15;
  letter-spacing:0;
  text-align:center;
}
