:root{
  --teal:#4D90A1;
  --teal-dark:#3F7C8C;
  --ink:#1b1b1b;
  --line:#ddd;
  --soft:#fafafa;
  --orange:#f0a000;
  --orange-soft:#fff3cd;
  --orange-line:#ffd66b;
}

*{
  box-sizing:border-box;
}

body{
  font-family:Arial,Helvetica,sans-serif;
  margin:0;
  color:var(--ink);
  background:#fff;
}

.wf-wrap{
  max-width:1060px;
  margin:0 auto;
  padding:28px;
}

.wf-hero{
  position:relative;
  margin-bottom:18px;
}

.wf-hero h1{
  color:#0080a0;
  margin:0 0 10px;
  font-size:28px;
  font-weight:500;
}

.wf-hero p{
  margin:0 0 18px;
  line-height:1.55;
}

.wf-admin-link{
  position:absolute;
  right:0;
  top:0;
  font-size:13px;
  color:#777;
  text-decoration:none;
}

.wf-card,
.wf-result,
.admin-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:24px;
  margin-bottom:18px;
}

/* Keuze lint rechtsboven */

.wf-result{
  position:relative;
  overflow:hidden;
}

.wf-choice-ribbon{
  position:absolute;
  top:0;
  right:26px;
  width:110px;
  height:auto;
  z-index:3;
  pointer-events:none;
}

.wf-result.has-ribbon{
  padding-right:160px;
}

@media(max-width:700px){
  .wf-choice-ribbon{
    width:78px;
    right:14px;
  }

  .wf-result.has-ribbon{
    padding-right:105px;
  }
}

@media(max-width:480px){
  .wf-choice-ribbon{
    position:static;
    display:block;
    margin:0 0 12px auto;
    width:86px;
  }

  .wf-result.has-ribbon{
    padding-right:24px;
  }
}

.wf-card section{
  margin-bottom:24px;
}

.wf-card h2{
  margin:0 0 10px;
  font-size:18px;
  color:#0080a0;
  font-weight:500;
}

.wf-card p{
  color:#555;
  margin:0 0 12px;
}

.wf-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.wf-radio{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.wf-options label{
  display:flex;
  gap:9px;
  align-items:flex-start;
  padding:12px;
  border:1px solid #d7d7d7;
  border-radius:10px;
  background:#fafafa;
  cursor:pointer;
  min-height:48px;
  font-size:14px;
}

.wf-options label:hover{
  border-color:#888;
  background:#fff;
}

.wf-options input{
  margin:2px 0 0;
  accent-color:#0080a0;
}

.wf-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.wf-btn{
  display:inline-block;
  background:var(--teal);
  color:#fff!important;
  border:0;
  border-radius:4px;
  padding:12px 22px;
  font-size:16px;
  font-weight:600;
  text-decoration:none;
  cursor:pointer;
  margin:10px 0 14px;
  transition:background .2s;
}

.wf-btn.gold{
  background:#c99a2e;
  color:#fff!important;
}

.wf-btn.gold:hover{
  background:#ad8426;
  color:#fff!important;
}

.wf-btn:hover{
  background:var(--teal-dark);
  text-decoration:none;
}

.wf-btn.secondary{
  background:#eee;
  color:#111!important;
}

.wf-btn.secondary:hover{
  background:#ddd;
}

.wf-btn.danger{
  background:#a83232;
}

.wf-warning,
.wf-error{
  border-radius:10px;
  padding:14px;
  margin:16px 0;
  line-height:1.45;
}

.wf-warning{
  background:#fff3cd;
  border:1px solid #ffd66b;
}

.wf-error{
  background:#ffe9e9;
  border:1px solid #ffb7b7;
}

.wf-results-head{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-end;
  margin:24px 0 12px;
}

.wf-result{
  position:relative;
}

.wf-result.best{
  border:2px solid #111;
  background:#fff;
}

.wf-name{
  font-size:21px;
  font-weight:700;
  margin-bottom:6px;
}

.wf-name a{
  color:#0080a0;
  text-decoration:none;
}

.wf-name a:hover{
  text-decoration:underline;
}

.wf-score{
  font-weight:700;
  color:#0080a0;
  margin-bottom:12px;
}

.wf-badge{
  display:inline-block;
  background:#eee;
  border-radius:999px;
  padding:5px 10px;
  margin:3px;
  font-size:13px;
}

.green{
  background:#e6f6e9;
  color:#17652b;
}

.orange{
  background:#fff0d6;
  color:#9a5b00;
}

.red{
  background:#ffe5e5;
  color:#8a1111;
}

.wf-reasons{
  margin:18px 0 0;
  padding-left:22px;
  line-height:1.7;
}

.wf-small{
  font-size:13px;
  color:#666;
}

.wf-thumb{
  max-width:130px;
  max-height:90px;
  border-radius:8px;
  display:block;
  margin-bottom:10px;
}

/* Adviesmelding */

.wf-advice-note{
  background:#fff3cd;
  border:1px solid #ffd66b;
  border-radius:10px;
  padding:14px;
  margin:12px 0 16px;
  line-height:1.5;
  color:#5f4600;
}

/* Onze voorkeur */

.wf-result.preferred{
  border:2px solid var(--teal);
  background:#f6fbfc;
  box-shadow:0 0 0 3px rgba(77,144,161,.14);
}

.wf-result.preferred .wf-name{
  color:var(--teal);
}

.wf-preferred-label{
  display:inline-block;
  background:var(--teal);
  color:#fff;
  border-radius:999px;
  padding:6px 12px;
  margin:4px 0 10px;
  font-size:13px;
  font-weight:700;
}

/* Waarschuwingskaart: mogelijk, maar niet het voorkeursadvies */

.wf-result.warning-choice{
  background:var(--orange-soft);
  border-color:var(--orange-line);
  box-shadow:0 0 0 3px rgba(240,160,0,.12);
  padding-bottom:86px;
}

.wf-result.warning-choice.best{
  border:2px solid var(--orange);
  background:var(--orange-soft);
}

.wf-result.warning-choice .wf-name a{
  color:#9a5b00;
}

.wf-result.warning-choice .wf-score{
  color:#9a5b00;
}

.wf-warning-label{
  display:inline-block;
  margin:8px 0 14px;
  padding:7px 12px;
  border-radius:999px;
  background:var(--orange);
  color:#fff;
  font-size:13px;
  font-weight:700;
}

.wf-alert-icon{
  position:absolute;
  right:22px;
  bottom:20px;
  width:46px;
  height:46px;
  background:var(--orange);
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,.18);
}

.wf-alert-icon img{
  width:26px;
  height:26px;
  display:block;
}

/* Admin */

.admin-body{
  background:#f4f6f8;
}

.admin-wrap{
  max-width:1200px;
  margin:0 auto;
  padding:26px;
}

.admin-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:18px;
}

.admin-nav{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.admin-table{
  width:100%;
  border-collapse:collapse;
  background:#fff;
}

.admin-table th,
.admin-table td{
  border-bottom:1px solid #eee;
  padding:10px;
  text-align:left;
  vertical-align:top;
}

.admin-table th{
  background:#f7f7f7;
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.form-grid label{
  display:block;
  font-weight:700;
}

.form-grid input,
.form-grid textarea,
.form-grid select{
  width:100%;
  padding:10px;
  border:1px solid #bbb;
  border-radius:8px;
  margin-top:5px;
}

.form-grid textarea{
  min-height:90px;
}

.full{
  grid-column:1/-1;
}

/* Dark mode admin */

.dark{
  background:#171a1f;
  color:#e9edf2;
}

.dark .admin-card,
.dark .admin-table{
  background:#222831;
  color:#e9edf2;
  border-color:#38404a;
}

.dark .admin-table th{
  background:#2b333d;
}

.dark input,
.dark textarea,
.dark select{
  background:#111820;
  color:#fff;
  border-color:#445;
}

/* Responsive */

@media(max-width:850px){
  .wf-options,
  .wf-radio,
  .form-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:560px){
  .wf-options,
  .wf-radio,
  .form-grid{
    grid-template-columns:1fr;
  }

  .wf-wrap,
  .admin-wrap{
    padding:16px;
  }

  .wf-results-head,
  .admin-top{
    display:block;
  }

  .wf-admin-link{
    position:static;
    display:inline-block;
    margin-top:8px;
  }

  .wf-result.warning-choice{
    padding-bottom:78px;
  }

  .wf-alert-icon{
    right:16px;
    bottom:16px;
    width:42px;
    height:42px;
  }

  .wf-alert-icon img{
    width:24px;
    height:24px;
  }
}

/* SVG keuze-label rechtsboven in resultaatkaart */

.wf-result{
  position:relative;
}

.wf-result.has-ribbon{
  padding-right:150px;
  min-height:220px;
}

.wf-choice-ribbon{
  position:absolute;
  right:28px;
  top:0;
  width:105px;
  height:auto;
  z-index:2;
  pointer-events:none;
}

@media(max-width:700px){
  .wf-result.has-ribbon{
    padding-right:24px;
    padding-top:120px;
  }

  .wf-choice-ribbon{
    left:24px;
    right:auto;
    top:0;
    width:92px;
  }
}

.wf-red-note{
  color:#b00020;
  font-weight:700;
}

@media(max-width:700px){
  body{
    overflow-x:hidden;
  }

  .wf-wrap{
    padding:14px;
  }

  .wf-card,
  .wf-result{
    padding:18px;
  }

  .wf-results-head{
    display:block;
  }

  .wf-results-head .wf-small{
    margin-top:10px;
  }

  .wf-btn{
    width:100%;
    text-align:center;
    margin-right:0!important;
  }

  .wf-result.has-ribbon{
    padding-right:18px;
    padding-top:112px;
  }

  .wf-choice-ribbon{
    top:0;
    right:18px;
    width:82px;
  }
}
/* Kleine iconen bij probleemkeuzes */

.wf-option-icon{
  width:55px;
  height:55px;
  object-fit:cover;
  border-radius:0px;
  flex:0 0 22px;
  margin-top:0;
}

.wf-options label{
  align-items:center;
}

.wf-options label span{
  display:block;
}

@media(max-width:560px){
  .wf-option-icon{
    width:20px;
    height:20px;
    flex-basis:20px;
  }
}
.wf-help-link{
  margin:24px 0 12px;
  color:#555;
  line-height:1.45;
}

.wf-help-link a{
  color:#0080a0;
  font-weight:700;
  text-decoration:none;
}

.wf-help-link a:hover{
  text-decoration:underline;
}

.wf-card p.wf-help-link{
  display:block;
  margin-top:26px !important;
  margin-bottom:12px !important;
  color:#555;
  line-height:1.45;
}

.admin-sort-link{
  color:#111;
  text-decoration:none;
  font-weight:700;
}

.admin-sort-link:hover{
  color:#0080a0;
  text-decoration:underline;
}

.wf-result-disclaimer{
  background:#f6f6f6;
  border:1px solid #ddd;
  border-radius:12px;
  padding:18px;
  margin:24px 0 0;
  color:#444;
  line-height:1.55;
  font-size:14px;
}

.wf-result-disclaimer p{
  margin:0 0 10px;
}

.wf-result-disclaimer p:last-child{
  margin-bottom:0;
}

.wf-result-disclaimer a{
  color:#0080a0;
  font-weight:700;
  text-decoration:none;
}

.wf-result-disclaimer a:hover{
  text-decoration:underline;
}
/* Nieuwe wizard: keuzes die niet meer mogelijk zijn */
.wf-disabled-option{
  opacity:.38;
  filter:grayscale(1);
  cursor:not-allowed!important;
  background:#f1f1f1!important;
  border-color:#ddd!important;
}
.wf-disabled-option input{
  cursor:not-allowed!important;
}
.wf-options label small{
  display:block;
  color:#777;
  font-size:12px;
  margin-top:2px;
}
.wf-disabled-option:after{
  content:'Niet mogelijk bij huidige keuze';
  display:block;
  font-size:11px;
  color:#777;
  margin-left:6px;
}

.wf-glass-unknown-help{
  background:#fff3cd;
  border:1px solid #ffd66b;
  border-radius:10px;
  padding:14px 16px;
  margin:18px 0 12px;
  color:#5f4600;
  line-height:1.45;
}

.wf-glass-unknown-help a{
  color:#0080a0;
  font-weight:700;
  text-decoration:none;
}

.wf-glass-unknown-help a:hover{
  text-decoration:underline;
}

/* Admin: vaste keuzelijsten met vinkjes in plaats van komma-velden */
.admin-option-section{
  background:#fafafa;
  border:1px solid #e2e2e2;
  border-radius:12px;
  padding:16px;
}

.admin-option-section h2{
  margin-top:0;
}

.admin-check-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin-top:10px;
}

.admin-check-option,
.form-grid label.admin-check-inline{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:9px 10px;
  border:1px solid #ddd;
  border-radius:8px;
  background:#fff;
  font-weight:600;
}

.admin-check-option input,
.form-grid label.admin-check-inline input{
  width:auto;
  margin:0;
  flex:0 0 auto;
}

.admin-check-option span{
  line-height:1.25;
}

@media(max-width:760px){
  .admin-check-grid{
    grid-template-columns:1fr;
  }
}

/* Admin vriendelijkere vormgeving */

.admin-body{
  font-size:15px;
}

.admin-card h2,
.admin-card h3{
  font-size:24px;
  font-weight:650;
  letter-spacing:-0.02em;
}

.admin-card label{
  font-weight:500;
}

.admin-form label,
.admin-checkgrid label,
.admin-options label{
  font-weight:500;
}

.admin-checkgrid label,
.admin-options label{
  background:#fff;
  border:1px solid #e1e1e1;
  border-radius:8px;
  padding:10px 12px;
  color:#222;
  font-size:15px;
  line-height:1.35;
  box-shadow:none;
}

.admin-checkgrid label:hover,
.admin-options label:hover{
  background:#f8fbfc;
  border-color:#b8d7df;
}

.admin-checkgrid input[type="checkbox"],
.admin-options input[type="checkbox"]{
  margin-right:8px;
  transform:scale(1.05);
}

.admin-card p,
.admin-card .wf-small{
  color:#666;
  font-size:13px;
  line-height:1.45;
}

.admin-card{
  border-color:#e2e2e2;
  box-shadow:none;
}

.admin-card input,
.admin-card select,
.admin-card textarea{
  font-size:15px;
  border-color:#cfcfcf;
}

.admin-card input:focus,
.admin-card select:focus,
.admin-card textarea:focus{
  outline:none;
  border-color:#4D90A1;
  box-shadow:0 0 0 3px rgba(77,144,161,.14);
}

.admin-section{
  background:#fff;
  border:1px solid #e5e5e5;
  border-radius:14px;
  padding:18px;
  margin:18px 0;
}

.admin-section h2,
.admin-section h3{
  margin-top:0;
  font-weight:650;
}

.admin-section .wf-small{
  margin-bottom:12px;
}

/* Productlinks per breedte */
.wf-product-links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  margin:14px 0;
}

.wf-product-links-title{
  flex:0 0 100%;
  margin-bottom:2px;
}

.admin-productlinks{
  display:grid;
  gap:8px;
}

.admin-productlinks-head,
.admin-productlink-row{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:10px;
  align-items:center;
}

.admin-productlinks-head{
  color:#666;
  font-size:13px;
  font-weight:500;
}

.admin-productlink-row input{
  width:100%;
}

@media(max-width:700px){
  .admin-productlinks-head{
    display:none;
  }

  .admin-productlink-row{
    grid-template-columns:1fr;
  }
}


/* Wizard v2 matrix filters */
.wf-disabled-option{opacity:.35;filter:grayscale(1);cursor:not-allowed;background:#f1f1f1!important;border-color:#e5e5e5!important}
.wf-disabled-option input{cursor:not-allowed}
.wf-option-icon{width:24px;height:24px;object-fit:contain;border-radius:3px;flex:0 0 24px;margin-top:0}
.wf-options label{align-items:center}
.wf-options label span{display:block}
.wf-options label small{display:block;color:#b00020;font-weight:700;font-size:11px;margin-top:2px}
.wf-card p.wf-help-link{display:block;margin-top:36px!important;margin-bottom:12px!important;color:#555;line-height:1.45}
.wf-glass-unknown-help{background:#fff3cd;border:1px solid #ffd66b;border-radius:10px;padding:12px;margin:16px 0;color:#5f4600;line-height:1.45}
.wf-glass-unknown-help a,.wf-help-link a{color:#0080a0;font-weight:700;text-decoration:none}.wf-glass-unknown-help a:hover,.wf-help-link a:hover{text-decoration:underline}
.wf-product-links .wf-btn{margin-right:8px;margin-bottom:8px}
.wf-result-disclaimer{background:#f6f6f6;border:1px solid #ddd;border-radius:12px;padding:18px;margin:24px 0 0;color:#444;line-height:1.55;font-size:14px}.wf-result-disclaimer p{margin:0 0 10px}.wf-result-disclaimer a{color:#0080a0;font-weight:700;text-decoration:none}.wf-result-disclaimer a:hover{text-decoration:underline}
.admin-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}.admin-status-option{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:8px;align-items:center;border:1px solid #e5e5e5;border-radius:8px;padding:9px;background:#fff}.admin-status-option span{font-weight:500}.admin-status-option select{width:100%;padding:7px;border:1px solid #bbb;border-radius:6px}
@media(max-width:700px){.admin-status-grid{grid-template-columns:1fr}.admin-status-option{grid-template-columns:1fr}.wf-option-icon{width:22px;height:22px;flex-basis:22px}}

/* Admin matrix: vriendelijke vinkkaarten in plaats van zware dropdowns */
.admin-matrix-section .wf-small{
  margin:4px 0 14px;
  color:#666;
}

.admin-status-grid.admin-matrix-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  margin-top:12px;
}

.admin-matrix-option{
  border:1px solid #e2e2e2;
  border-radius:12px;
  background:#fff;
  padding:12px;
  transition:background .15s ease, border-color .15s ease, box-shadow .15s ease, opacity .15s ease;
}

.admin-matrix-option:hover{
  border-color:#c4dce2;
  background:#fbfdfe;
}

.admin-matrix-option.is-off{
  opacity:.72;
}

.admin-matrix-option.is-on{
  opacity:1;
  border-color:#b8d7df;
  background:#f8fbfc;
  box-shadow:0 1px 0 rgba(0,0,0,.02);
}

.admin-matrix-option.status-groen{
  border-color:#9fd3b0;
  background:#f5fcf7;
}

.admin-matrix-option.status-oranje{
  border-color:#f0c36d;
  background:#fffaf0;
}

.admin-matrix-option.status-rood{
  border-color:#e5a5a5;
  background:#fff7f7;
}

.admin-matrix-main{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  cursor:pointer;
  font-weight:550;
  color:#222;
}

.admin-matrix-main input[type="checkbox"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.admin-matrix-check{
  width:22px;
  height:22px;
  flex:0 0 22px;
  border:1px solid #c9c9c9;
  border-radius:7px;
  background:#fff;
  position:relative;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}

.admin-matrix-main input[type="checkbox"]:checked + .admin-matrix-check{
  background:#4D90A1;
  border-color:#4D90A1;
}

.admin-matrix-main input[type="checkbox"]:checked + .admin-matrix-check:after{
  content:"";
  position:absolute;
  left:7px;
  top:3px;
  width:6px;
  height:12px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

.admin-matrix-name{
  line-height:1.25;
}

.admin-matrix-statuses{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:10px 0 0 32px;
}

.admin-status-pill{
  cursor:pointer;
  margin:0;
}

.admin-status-pill input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.admin-status-pill span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:5px 10px;
  border:1px solid #ddd;
  border-radius:999px;
  background:#fff;
  color:#555;
  font-size:13px;
  font-weight:600;
  line-height:1;
}

.admin-status-pill input:checked + span{
  color:#fff;
  border-color:transparent;
}

.admin-status-pill.pill-groen input:checked + span{
  background:#2e9b57;
}

.admin-status-pill.pill-oranje input:checked + span{
  background:#d8961c;
}

.admin-status-pill.pill-rood input:checked + span{
  background:#c34b4b;
}

.admin-status-pill:hover span{
  border-color:#b8d7df;
}

@media(max-width:800px){
  .admin-status-grid.admin-matrix-grid{
    grid-template-columns:1fr;
  }

  .admin-matrix-statuses{
    margin-left:0;
  }
}

/* Admin edit v2 - rustige vinklijsten en alleen glastype met groen/oranje/rood */
.admin-edit-wrap{
  max-width:1120px;
}

.admin-edit-top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  margin-bottom:18px;
}

.admin-edit-top h1{
  margin:0 0 6px;
  font-size:32px;
  letter-spacing:-.03em;
}

.admin-edit-top p{
  margin:0;
  color:#666;
  line-height:1.45;
}

.admin-edit-top .wf-btn{
  margin-top:0;
}

.admin-section{
  background:#fff;
  border:1px solid #e6e6e6;
  border-radius:16px;
  padding:22px;
  margin:18px 0;
  box-shadow:0 1px 0 rgba(0,0,0,.02);
}

.admin-section-heading{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:16px;
}

.admin-section-heading h2{
  margin:0 0 4px;
  font-size:24px;
  font-weight:650;
  letter-spacing:-.02em;
}

.admin-section-heading p{
  margin:0;
  color:#666;
  font-size:14px;
  line-height:1.45;
}

.admin-clean-form-grid,
.admin-tech-grid{
  gap:16px;
}

.form-grid.admin-clean-form-grid label,
.form-grid.admin-tech-grid label{
  font-weight:600;
  color:#222;
}

.form-grid.admin-clean-form-grid input,
.form-grid.admin-clean-form-grid textarea,
.form-grid.admin-clean-form-grid select,
.form-grid.admin-tech-grid input{
  border-color:#d2d2d2;
  background:#fff;
}

.form-grid label small{
  display:block;
  margin-top:5px;
  color:#777;
  font-size:12px;
  font-weight:400;
}

.admin-toggle-line{
  display:flex!important;
  align-items:center;
  gap:12px;
  min-height:58px;
  border:1px solid #e3e3e3;
  border-radius:12px;
  padding:12px;
  background:#fafafa;
}

.admin-toggle-line input{
  width:auto!important;
  margin:0!important;
  accent-color:#4D90A1;
}

.admin-toggle-line span{
  display:block;
  line-height:1.25;
}

.admin-toggle-line small{
  display:block;
  color:#777;
  font-weight:400;
  font-size:12px;
}

.admin-choice-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}

.admin-choice-card{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:58px;
  border:1px solid #e2e2e2;
  border-radius:13px;
  padding:13px 14px;
  background:#fff;
  cursor:pointer;
  transition:background .15s ease, border-color .15s ease, box-shadow .15s ease, transform .15s ease;
  font-weight:500;
  color:#222;
}

.admin-choice-card:hover{
  background:#f8fbfc;
  border-color:#c3dce2;
}

.admin-choice-card input[type="checkbox"]{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.admin-choice-check{
  width:24px;
  height:24px;
  flex:0 0 24px;
  border:1px solid #c9c9c9;
  border-radius:8px;
  background:#fff;
  position:relative;
  transition:background .15s ease, border-color .15s ease;
}

.admin-choice-card input[type="checkbox"]:checked + .admin-choice-check{
  background:#4D90A1;
  border-color:#4D90A1;
}

.admin-choice-card input[type="checkbox"]:checked + .admin-choice-check:after{
  content:"";
  position:absolute;
  left:8px;
  top:4px;
  width:6px;
  height:12px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

.admin-choice-card:has(input[type="checkbox"]:checked){
  background:#f5fbfc;
  border-color:#9fcbd4;
  box-shadow:0 0 0 3px rgba(77,144,161,.09);
}

.admin-choice-name{
  line-height:1.25;
}

.admin-status-legend{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  justify-content:flex-end;
}

.admin-status-legend span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  color:#fff;
  font-size:12px;
  font-weight:700;
}

.legend-green{background:#2e9b57;}
.legend-orange{background:#d8961c;}
.legend-red{background:#c34b4b;}

.admin-glass-section .admin-status-grid.admin-matrix-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

.admin-glass-section .admin-matrix-option{
  padding:14px;
  border-radius:13px;
}

.admin-glass-section .admin-matrix-statuses{
  margin-top:12px;
}

.admin-save-bar{
  position:sticky;
  bottom:0;
  z-index:20;
  display:flex;
  gap:10px;
  align-items:center;
  margin:22px 0 0;
  padding:14px 0 0;
  background:linear-gradient(to bottom, rgba(255,255,255,0), #fff 35%);
}

@media(max-width:980px){
  .admin-choice-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:760px){
  .admin-edit-top,
  .admin-section-heading{
    display:block;
  }

  .admin-status-legend{
    justify-content:flex-start;
    margin-top:12px;
  }

  .admin-choice-grid,
  .admin-glass-section .admin-status-grid.admin-matrix-grid{
    grid-template-columns:1fr;
  }

  .admin-save-bar{
    display:block;
  }
}


/* Front-end SVG-iconen groter en duidelijker */
.wf-card .wf-options .wf-option-icon{
  width:48px !important;
  height:48px !important;
  flex:0 0 48px !important;
  object-fit:contain !important;
  border-radius:0 !important;
}

.wf-card .wf-options label{
  gap:12px;
  min-height:64px;
}

@media(max-width:700px){
  .wf-card .wf-options .wf-option-icon{
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
  }

  .wf-card .wf-options label{
    min-height:58px;
  }
}


/* Resultaatwaarschuwingen boven de resultaten */
.wf-results-separator{
  border-top:1px solid #e6e6e6;
  margin:0 0 14px;
}

.wf-result-notices{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:16px;
  margin:0 0 22px;
  align-items:stretch;
}

.wf-result-notices.single{
  grid-template-columns:minmax(0, 1fr);
}

.wf-top-warning{
  display:flex;
  align-items:flex-start;
  gap:14px;
  background:#fff3cd;
  border:1px solid #f0c24b;
  border-radius:12px;
  padding:16px 18px;
  color:#5b4400;
  line-height:1.45;
  min-height:88px;
  box-sizing:border-box;
}

.wf-top-warning-content{
  flex:1 1 auto;
  min-width:0;
}

.wf-top-warning-title{
  margin:0 0 4px;
  font-size:15px;
  line-height:1.35;
}

.wf-top-warning-text{
  font-size:14px;
}

.wf-top-warning-icon{
  flex:0 0 auto;
  width:32px;
  height:32px;
  border-radius:50%;
  background:#e4a100;
  color:#fff;
  font-weight:900;
  font-size:22px;
  line-height:32px;
  text-align:center;
  box-shadow:0 2px 6px rgba(0,0,0,.14);
}

.wf-top-warning a{
  color:#007ea0;
  font-weight:700;
  text-decoration:underline;
}

@media(max-width:800px){
  .wf-result-notices,
  .wf-result-notices.single{
    grid-template-columns:1fr;
  }

  .wf-top-warning{
    min-height:auto;
    padding:14px 16px;
  }
}

/* Admin: duidelijke toggle voor slagschaduwgevoeligheid */
.admin-shadow-toggle{
  border-color:#f1c4c4!important;
  background:#fff8f8!important;
}

.admin-shadow-toggle small{
  color:#9b0000;
}

