/* Importkosten Calculator - huisstijl "Ledger" */
.ikc-app{
    --ink:#14181A;
    --clover:#3D8B2E;
    --clover-dark:#2f6e24;
    --paper:#ffffff;
    --soft:#F4F4F0;
    --line:#E2E2DC;
    --concrete:#6E726E;
    --mono:"SFMono-Regular",Consolas,"Liberation Mono","JetBrains Mono","Roboto Mono",ui-monospace,monospace;
    color:var(--ink);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    box-sizing:border-box;
}
.ikc-app *,.ikc-app *::before,.ikc-app *::after{box-sizing:inherit;}

/* Cruciaal: dit verbergt modal/result/loading hard, ook als JS niet laadt.
   Lost de bug op waarbij de e-mailpopup direct open stond en niet weg te klikken was.
   Bewust ongescoped (niet onder .ikc-app) zodat het werkt ongeacht hoe het thema de calculator inpakt. */
.ikc-app .is-hidden,
.is-hidden.ikc-modal,
.is-hidden.ikc-result,
.is-hidden.ikc-loading,
.is-hidden.ikc-modal-msg{display:none !important;}

.ikc-mono{font-family:var(--mono);font-variant-numeric:tabular-nums;}

.ikc-card{background:var(--paper);border:1px solid var(--line);}

/* Wizard header met stap + teller */
.ikc-wizard-top{display:flex;align-items:baseline;justify-content:space-between;padding:18px 28px;background:var(--soft);border-bottom:1px solid var(--line);}
.ikc-wizard-step{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--concrete);}
.ikc-wizard-count{font-size:12px;color:var(--concrete);font-family:var(--mono);}
.ikc-progress{height:2px;background:var(--line);}
.ikc-progress-bar{height:100%;width:14%;background:var(--clover);transition:width .3s ease;}

.ikc-step-body{padding:28px;}

/* Steps */
.ikc-step{display:none;}
.ikc-step.is-active{display:block;animation:ikc-fade .25s ease;}
@keyframes ikc-fade{from{opacity:0;}to{opacity:1;}}

.ikc-q{font-size:23px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px;line-height:1.2;}
.ikc-help{font-size:14px;color:var(--concrete);margin:0 0 22px;line-height:1.5;}

/* Options als strak grid met hairlines */
.ikc-options{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-bottom:none;}
.ikc-options--row{grid-template-columns:repeat(3,1fr);}
.ikc-option{
    appearance:none;background:#fff;border:none;
    border-right:1px solid var(--line);border-bottom:1px solid var(--line);
    padding:15px 16px;font-size:14px;font-weight:600;color:var(--ink);
    cursor:pointer;text-align:left;transition:background .12s,color .12s;font-family:inherit;
}
.ikc-options .ikc-option:nth-child(2n){border-right:none;}
.ikc-options--row .ikc-option:nth-child(3n){border-right:none;}
.ikc-option:hover{background:var(--soft);color:var(--clover);}
.ikc-option.is-selected{background:var(--ink);color:#fff;}

/* Fields */
.ikc-field{margin-bottom:2px;}
.ikc-label{display:block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--concrete);margin-bottom:8px;}
.ikc-input{
    width:100%;padding:14px 16px;font-size:16px;border:1px solid var(--line);
    border-radius:0;color:var(--ink);background:#fff;font-family:var(--mono);transition:border-color .12s;
}
.ikc-input:focus{outline:none;border-color:var(--clover);box-shadow:inset 0 0 0 1px var(--clover);}

/* Nav */
.ikc-nav{display:flex;justify-content:space-between;gap:12px;padding:20px 28px;border-top:1px solid var(--line);}
.ikc-btn{
    appearance:none;border:none;border-radius:3px;padding:13px 24px;font-size:14px;font-weight:600;
    cursor:pointer;transition:background .12s;font-family:inherit;
}
.ikc-btn--primary{background:var(--clover);color:#fff;}
.ikc-btn--primary:hover{background:var(--clover-dark);}
.ikc-btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--line);}
.ikc-btn--ghost:hover{border-color:var(--ink);}
.ikc-btn--block{width:100%;border-radius:3px;}
.ikc-btn[disabled]{opacity:.5;cursor:not-allowed;}

/* Result als grootboek */
.ikc-result-head{display:flex;align-items:flex-end;justify-content:space-between;padding:28px;background:var(--ink);color:#fff;}
.ikc-result-eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9aa09a;}
.ikc-result-total{font-size:38px;font-weight:700;letter-spacing:-.02em;font-family:var(--mono);font-variant-numeric:tabular-nums;line-height:1;}
.ikc-result-sub{display:none;}

.ikc-table{width:100%;border-collapse:collapse;}
.ikc-table tr{border-bottom:1px solid var(--line);}
.ikc-table td{padding:14px 28px;font-size:14px;vertical-align:top;}
.ikc-cell-label{color:var(--ink);font-weight:500;}
.ikc-cell-info{display:block;font-size:12px;color:var(--concrete);font-weight:400;margin-top:3px;line-height:1.4;}
.ikc-cell-value{text-align:right;font-weight:600;color:var(--ink);white-space:nowrap;font-family:var(--mono);font-variant-numeric:tabular-nums;}
.ikc-row-highlight{background:var(--soft);}
.ikc-row-highlight .ikc-cell-label,.ikc-row-highlight .ikc-cell-value{color:var(--clover);font-weight:700;}
.ikc-row-total td{padding-top:18px;padding-bottom:18px;}
.ikc-row-total .ikc-cell-label{font-weight:700;font-size:16px;}
.ikc-row-total .ikc-cell-value{font-weight:700;font-size:17px;}

.ikc-disclaimer{font-size:12px;color:var(--concrete);background:var(--soft);padding:16px 28px;line-height:1.5;border-bottom:1px solid var(--line);}

/* Acties als gedeelde balk */
.ikc-result-actions{display:grid;grid-template-columns:1fr 1fr;}
.ikc-result-actions .ikc-btn{border-radius:0;padding:18px;}
.ikc-result-actions .ikc-btn--primary{border-right:1px solid var(--clover-dark);}

/* Loading */
.ikc-loading{display:flex;flex-direction:column;align-items:center;gap:14px;padding:56px 0;color:var(--concrete);font-weight:600;font-size:14px;}
.ikc-spinner{width:34px;height:34px;border:2px solid var(--line);border-top-color:var(--clover);border-radius:50%;animation:ikc-spin .8s linear infinite;}
@keyframes ikc-spin{to{transform:rotate(360deg);}}

/* Modal */
.ikc-modal{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px;}
.ikc-modal-backdrop{position:absolute;inset:0;background:rgba(20,24,26,.6);}
.ikc-modal-card{position:relative;background:#fff;border:1px solid var(--line);padding:32px;max-width:420px;width:100%;animation:ikc-fade .2s ease;}
.ikc-modal-close{position:absolute;top:14px;right:16px;background:none;border:none;font-size:24px;line-height:1;color:var(--concrete);cursor:pointer;}
.ikc-modal-msg{font-size:13px;padding:11px 14px;margin:10px 0;border:1px solid var(--line);}
.ikc-modal-msg.is-error{background:#fcf0ef;border-color:#e7c9c6;color:#a3271f;}
.ikc-modal-msg.is-success{background:var(--soft);border-color:var(--clover);color:var(--clover-dark);}
.ikc-consent{font-size:11px;color:var(--concrete);margin:14px 0 0;line-height:1.4;}
.ikc-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}

@media(max-width:560px){
    .ikc-wizard-top,.ikc-step-body,.ikc-nav{padding-left:20px;padding-right:20px;}
    .ikc-q{font-size:20px;}
    .ikc-options,.ikc-options--row{grid-template-columns:1fr;}
    .ikc-options .ikc-option,.ikc-options--row .ikc-option{border-right:none;}
    .ikc-result-total{font-size:30px;}
    .ikc-table td{padding-left:20px;padding-right:20px;}
    .ikc-result-head{padding:20px;flex-direction:column;align-items:flex-start;gap:8px;}
}
@media(prefers-reduced-motion:reduce){
    .ikc-step,.ikc-modal-card,.ikc-progress-bar{animation:none;transition:none;}
    .ikc-spinner{animation-duration:1.6s;}
}
