/* Koud of Kort — Tool CSS v2.5.0 (standalone) */
.kok-wrap{--kok-main:#1d4ed8;--kok-licht:#EFF6FF;--kok-rand:#BFDBFE;--kok-donker:#0D2B5E;--kok-dk:#122e85}
.kok-wrap{max-width:640px;margin:0 auto;padding:1.5rem 0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#1a1a1a;box-sizing:border-box}
.kok-wrap *,.kok-wrap *::before,.kok-wrap *::after{box-sizing:border-box}
.kok-sec-label{font-size:10px;color:var(--kok-dk);letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-weight:500}
.kok-sec-header{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--kok-dk);padding:7px 11px;background:var(--kok-licht);border:1.5px solid var(--kok-rand);border-radius:8px;margin-bottom:12px;display:flex;align-items:center;gap:6px;transition:background .3s,border-color .3s}
.kok-sec-header--rit{margin-top:1.25rem}
/* Intro + vraag heading */
.kok-intro-tekst{font-size:12px;color:#aaa;margin-top:1.5rem;line-height:1.5;text-align:center}
.kok-vraag-lbl{font-size:14px;font-weight:600;color:#1a1a1a;margin-bottom:.6rem;line-height:1.4}
/* Route vraag knoppen */
.kok-route-knoppen{display:flex;gap:8px;flex-wrap:wrap;margin-top:.5rem}
/* GPX upload area */
.kok-gpx-upload-area{display:flex;align-items:center;gap:10px;margin:1rem 0 .5rem;flex-wrap:wrap}
.kok-gpx-label-btn{cursor:pointer;display:inline-flex;align-items:center}
.kok-gpx-naam{font-size:12px;color:#555;line-height:1.4;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Kaart container */
.kok-kaart-container{height:260px;border-radius:10px;overflow:hidden;border:1.5px solid var(--kok-rand);transition:border-color .3s;margin-top:.5rem;background:#f0f4f8}
.kok-gpx-slider-row{margin-bottom:.5rem}
/* Modus tabs */
.kok-mode-tabs{display:flex;margin-bottom:1.25rem;border:1.5px solid var(--kok-rand);border-radius:10px;overflow:hidden;background:var(--kok-licht);transition:border-color .3s,background .3s}
.kok-mode-btn{flex:1;padding:10px 14px;border:none;background:transparent;font-family:inherit;font-size:13px;font-weight:500;color:var(--kok-dk);cursor:pointer;transition:background .15s,color .15s;text-align:center;line-height:1.3}
.kok-mode-btn+.kok-mode-btn{border-left:1.5px solid var(--kok-rand)}
.kok-mode-btn.kok-mode-on{background:var(--kok-main);color:#fff;font-weight:600;transition:background .3s,color .3s}
.kok-mode-btn:hover:not(.kok-mode-on){background:rgba(0,0,0,.04)}
.kok-loc-row{display:flex;gap:8px;margin-bottom:6px;margin-top:1.25rem}
.kok-loc-row input[type=text]{flex:1;padding:8px 12px;border-radius:8px;border:1.5px solid #e2e8f0;font-size:14px;font-family:inherit;background:#fff;color:#1a1a1a;outline:none;transition:border-color .15s}
.kok-loc-row input[type=text]:focus{border-color:var(--kok-main)}
.kok-loc-btn{padding:8px 16px;border-radius:8px;border:none;background:var(--kok-main);color:#fff;font-size:13px;font-family:inherit;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .2s}
.kok-loc-btn:hover{background:var(--kok-donker)}.kok-loc-btn:disabled{opacity:.5;cursor:not-allowed}
.kok-status{font-size:12px;color:#888;margin-bottom:1rem;margin-top:.5rem}
.kok-status.kok-err{color:#b91c1c}.kok-status.kok-ok{color:#0F6E56}
.kok-timestamp{font-size:11px;color:#999;margin-bottom:.75rem;margin-top:-.5rem}
.kok-weather-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin-bottom:1rem}
.kok-wcard{background:var(--kok-licht);border:1px solid var(--kok-rand);border-radius:8px;padding:8px 12px;transition:background .3s,border-color .3s}
.kok-wcard-lbl{font-size:10px;color:var(--kok-dk);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;font-weight:500}
.kok-wcard-val{font-size:15px;font-weight:500;color:#0D2B5E}
.kok-wcard-sub{font-size:10px;color:var(--kok-dk);margin-top:2px}
.kok-gevoels-row{display:flex;align-items:center;justify-content:space-between;background:var(--kok-main);border-radius:10px;padding:10px 16px;margin-bottom:1.25rem;transition:background .3s}
.kok-gevoels-row .kok-tip-btn{color:#fff;border-color:#fff}
.kok-gevoels-lbl{font-size:13px;color:#fff}
.kok-gevoels-val{font-size:22px;font-weight:500;color:#fff}
.kok-hr{border:none;border-top:1.5px solid #e2e8f0;margin:1.25rem 0}
.kok-sl-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.kok-sl-lbl{font-size:13px;color:#666;min-width:100px;flex-shrink:0}
.kok-sl-row input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:4px;background:#e2e8f0;border-radius:2px;outline:none;cursor:pointer;accent-color:var(--kok-main)}
.kok-sl-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--kok-main);cursor:pointer;border:2px solid #fff;box-shadow:0 0 0 1px var(--kok-main);transition:background .3s,box-shadow .3s}
.kok-sl-row input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--kok-main);cursor:pointer;border:2px solid #fff;box-shadow:0 0 0 1px var(--kok-main)}
.kok-sl-val{font-size:13px;font-weight:500;color:var(--kok-dk);min-width:64px;text-align:right}
.kok-windlabel-row{display:flex;align-items:center;gap:8px;margin-top:8px;padding:7px 12px;background:var(--kok-licht);border:1px solid var(--kok-rand);border-radius:8px;transition:background .3s,border-color .3s}
.kok-windlabel-lbl{font-size:13px;color:#666}.kok-windlabel-val{font-size:13px;font-weight:500;color:var(--kok-dk)}
.kok-tog{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:1.25rem}
.kok-tbtn{padding:6px 13px;border-radius:20px;border:1.5px solid #e2e8f0;font-size:13px;cursor:pointer;background:#fff;color:#1a1a1a;font-family:inherit;transition:all .12s}
.kok-tbtn:hover:not(.kok-on){border-color:var(--kok-main);color:var(--kok-dk)}
.kok-tbtn.kok-on{background:var(--kok-main);border-color:var(--kok-main);color:#fff;transition:background .3s,border-color .3s}
.kok-advice-card{border:1.5px solid #e2e8f0;border-radius:12px;overflow:hidden}
.kok-badge{display:block;padding:8px 16px;font-size:12px;font-weight:500;letter-spacing:.03em;background:var(--kok-licht);color:var(--kok-dk);transition:background .3s,color .3s}
.kok-kgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:#e2e8f0;border-top:1.5px solid #e2e8f0}
.kok-kitem{background:#fff;padding:10px 12px}
.kok-kcat{font-size:10px;color:var(--kok-dk);margin-bottom:2px;text-transform:uppercase;letter-spacing:.05em;font-weight:500}
.kok-knaam{font-size:13px;font-weight:500;color:#1a1a1a}
.kok-waarom{font-size:13px;color:#666;line-height:1.6;background:#f8fafc;border-top:1.5px solid #e2e8f0;padding:10px 14px}
.kok-waarom p{margin:0 0 6px}
.kok-tips{list-style:none;padding:0;margin:4px 0 0}
.kok-tips li{font-size:13px;color:#666;padding:2px 0 2px 14px;position:relative}
.kok-tips li::before{content:"\2013";position:absolute;left:0;color:var(--kok-main)}
.kok-richting-wrap{display:flex;align-items:flex-start;gap:16px}
.kok-kompas-col{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:6px}
#kok-kompas{border-radius:50%;border:1px solid #e2e8f0}
.kok-kompas-leg{display:flex;gap:10px;font-size:11px}
.kok-leg-wind{color:#378ADD}.kok-leg-rit{color:var(--kok-main);transition:color .3s}
.kok-richting-col{flex:1;padding-top:4px}
.kok-toelichting{margin-top:1rem;border:1.5px solid #e2e8f0;border-radius:8px;overflow:hidden}
.kok-toelichting-btn{width:100%;display:flex;align-items:center;justify-content:space-between;padding:9px 14px;background:#f8fafc;border:none;cursor:pointer;font-size:12px;font-family:inherit;color:#666;text-align:left;transition:background .12s,color .12s}
.kok-toelichting-btn:hover{background:var(--kok-licht);color:var(--kok-dk)}
.kok-toelichting-body{border-top:1.5px solid #e2e8f0}
.kok-factoren-hint{font-size:12px;color:#555;line-height:1.55;margin-bottom:.75rem;padding:7px 12px;background:#f8fafc;border:1px solid #e8edf2;border-radius:6px}
.kok-factoren-hint em{font-style:normal;font-weight:600;color:var(--kok-dk)}
.kok-factoren-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:13px;font-family:inherit;color:#444;font-weight:500;text-align:left;transition:background .12s,border-color .12s,color .12s;margin-bottom:.75rem}
.kok-factoren-toggle:hover{background:var(--kok-licht);border-color:var(--kok-main);color:var(--kok-dk)}
.kok-factoren-toggle[aria-expanded="true"]{background:var(--kok-licht);border-color:var(--kok-main);color:var(--kok-dk);border-radius:8px 8px 0 0;margin-bottom:0}
.kok-factoren-icon{font-size:1.1rem;color:var(--kok-dk);flex-shrink:0}
.kok-factoren-body{border:1.5px solid var(--kok-main);border-top:none;border-radius:0 0 8px 8px;padding:.75rem 1rem .25rem;margin-bottom:.75rem}
.kok-tl-row{display:flex;gap:12px;padding:10px 14px;border-bottom:1px solid #f2f2f2}
.kok-tl-row:last-child{border-bottom:none}
.kok-tl-highlight{background:var(--kok-licht);transition:background .3s}
.kok-tl-stap{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:#e8e8e8;color:#555;font-size:11px;font-weight:500;display:flex;align-items:center;justify-content:center;margin-top:1px}
.kok-tl-highlight .kok-tl-stap{background:var(--kok-main);color:#fff;font-size:13px;transition:background .3s}
.kok-tl-content{flex:1}
.kok-tl-titel{font-size:13px;font-weight:500;color:#1a1a1a;margin-bottom:2px}
.kok-tl-waarde{font-weight:400;color:var(--kok-dk);margin-left:4px;transition:color .3s}
.kok-tl-uitleg{font-size:12px;color:#888;line-height:1.5}
/* Tooltips */
.kok-tip-btn{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;border:1.5px solid currentColor;background:none;cursor:pointer;font-size:9px;font-style:normal;font-weight:700;color:var(--kok-dk);opacity:.5;flex-shrink:0;padding:0;font-family:Georgia,serif;line-height:1;vertical-align:middle;margin-left:3px;transition:opacity .12s}
.kok-tip-btn:hover,.kok-tip-btn:focus{opacity:1;outline:none}
.kok-tooltip{position:absolute;z-index:9999;background:#1c1c1e;color:#f5f5f7;font-size:12px;line-height:1.55;padding:9px 13px;border-radius:9px;box-shadow:0 4px 20px rgba(0,0,0,.25);pointer-events:none;opacity:0;transition:opacity .15s;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
.kok-tooltip.kok-tip-open{opacity:1}
/* Rit bereik balk */
.kok-rit-bereik{font-size:12px;color:#555;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;padding:8px 12px;margin-bottom:10px;line-height:1.6}
.kok-bereik-regen{color:#378ADD;font-weight:500}
/* Accordion rit plannen */
.kok-plan-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:9px 14px;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:13px;font-family:inherit;color:#444;font-weight:500;text-align:left;transition:background .12s,border-color .12s,color .12s;margin-bottom:0}
.kok-plan-toggle:hover{background:var(--kok-licht);border-color:var(--kok-main);color:var(--kok-dk)}
.kok-plan-toggle[aria-expanded="true"]{background:var(--kok-licht);border-color:var(--kok-main);color:var(--kok-dk);border-radius:8px 8px 0 0}
.kok-plan-toggle-sub{font-weight:400;color:#999;font-size:11px}
.kok-plan-icon{font-size:1.1rem;color:var(--kok-dk);flex-shrink:0}
#kok-plan-body{padding:.25rem 0 .5rem}
/* Rit plannen */
.kok-ritplan-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.75rem}
.kok-ritplan-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.kok-ritplan-lbl{font-size:10px;color:var(--kok-dk);letter-spacing:.08em;text-transform:uppercase;font-weight:500}
.kok-datetime-input,.kok-number-input{border:1.5px solid #e2e8f0;border-radius:8px;padding:7px 10px;font-size:13px;font-family:inherit;background:#fff;color:#1a1a1a;width:100%;min-width:0;box-sizing:border-box;outline:none;transition:border-color .15s}
.kok-datetime-input{max-width:100%;overflow:hidden}
.kok-datetime-input:focus,.kok-number-input:focus{border-color:var(--kok-main)}
.kok-num-row{display:flex;align-items:center;gap:.4rem}
.kok-num-row .kok-number-input{flex:1;min-width:0}
.kok-unit{font-size:12px;color:#888;white-space:nowrap;flex-shrink:0}
.kok-startrichting-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:.75rem}
.kok-sr-btn{border:1.5px solid #e2e8f0;background:#fff;border-radius:20px;padding:5px 11px;font-size:12px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,color .12s;font-family:inherit;color:#1a1a1a;line-height:1.4}
.kok-sr-btn:hover:not(.kok-on){border-color:var(--kok-main);color:var(--kok-dk)}
.kok-sr-btn.kok-on{background:var(--kok-main);border-color:var(--kok-main);color:#fff}
.kok-duur-info{font-size:12px;color:#888;margin:.25rem 0 .5rem;line-height:1.6}
.kok-tijdlijn-hint{font-size:11px;color:#999;line-height:1.55;margin-top:.5rem;padding:7px 10px;background:#f8fafc;border:1px solid #e8edf2;border-radius:6px}
.kok-advies-header{margin-top:2rem}
/* Windpijlen op kaart */
.kok-wind-icon-wrap{background:none!important;border:none!important;box-shadow:none!important}
/* Tijdlijn */
.kok-tijdlijn{display:flex;gap:6px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:thin;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
.kok-planmax-info{font-size:11px;color:#888;background:#f8fafc;border:1px solid #e8edf2;border-radius:6px;padding:5px 10px;margin-bottom:.75rem;line-height:1.5}
.kok-rl-cel{flex:0 0 auto;min-width:58px;border:1.5px solid #e2e8f0;border-radius:10px;padding:7px 5px;text-align:center;cursor:pointer;transition:border-color .12s,background .12s;display:flex;flex-direction:column;align-items:center;gap:2px;background:#fff;user-select:none}
.kok-rl-cel:hover{border-color:var(--kok-main)}
.kok-rl-cel.actief{border-color:var(--kok-main);background:var(--kok-licht);transition:background .3s,border-color .3s}
.kok-rl-tijd{font-size:10px;color:#888;font-weight:500}
.kok-rl-temp{font-size:13px;font-weight:700;line-height:1;color:#333}
.kok-rl-gevoels{font-size:11px;font-weight:600;line-height:1}
.kok-rl-wind{font-size:10px;color:#bbb}
.kok-rl-regen{width:5px;height:5px;border-radius:50%;background:#378ADD;margin-top:1px}
@media(max-width:480px){
    .kok-kaart-container{height:200px}
    .kok-sl-lbl{width:80px;font-size:12px}
    .kok-kgrid{grid-template-columns:1fr 1fr}
    .kok-richting-wrap{flex-direction:column}
    .kok-weather-strip{grid-template-columns:1fr 1fr}
    .kok-ritplan-row{grid-template-columns:1fr}
    /* Prevent iOS auto-zoom on input focus (requires ≥16px) */
    .kok-loc-row input[type=text],.kok-datetime-input,.kok-number-input{font-size:16px}
    /* Slider value: don't force a fixed min-width, just keep text on one line */
    .kok-sl-val{min-width:auto;font-size:12px;white-space:nowrap}
    /* Hide accordion subtitle — saves space and isn't needed at a glance */
    .kok-plan-toggle-sub{display:none}
    /* Improve tap target size for toggle and direction buttons */
    .kok-tbtn{min-height:40px;display:inline-flex;align-items:center;justify-content:center}
    .kok-sr-btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center}
    .kok-loc-btn{min-height:40px}
}
