.kb{--ink:#18352f;--red:#cc1430;--sand:#eee8dd;--line:#d9ded7;--muted:#53665e;font:16px/1.6 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);max-width:1280px;margin:0 auto;padding:0 20px 36px;box-sizing:border-box}.kb *{box-sizing:border-box}.kb a{color:#a3162a;text-decoration:underline;text-underline-offset:3px}.kb h2,.kb h3{font-family:Georgia,serif;color:inherit;line-height:1.2}.kb h2{font-size:clamp(30px,4vw,46px);margin:10px 0 18px}.kb h3{font-size:25px;margin:0 0 22px}.kb p{margin:12px 0}.kb-intro{display:flex;align-items:center;gap:35px;justify-content:space-between;background:var(--sand);border-radius:18px;padding:35px}.kb-intro p{max-width:700px}.kb-kicker{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:750}.kb-badge{flex:0 0 115px;background:var(--ink);color:#fff;border-radius:50%;width:115px;height:115px;display:grid;align-content:center;text-align:center;transform:rotate(6deg);font-weight:700;line-height:1.4}.kb-notice{font-size:13px;padding:16px 20px;background:#fff7e9;border-left:3px solid #b47b2f;border-radius:4px}.kb-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:25px;align-items:start;margin-top:25px}.kb-panel{border:1px solid var(--line);border-radius:14px;padding:26px;background:#fff;margin-bottom:20px}.kb-panel h3 span{display:inline-grid;place-items:center;background:var(--sand);width:34px;height:34px;border-radius:50%;font:700 13px system-ui;margin-right:8px}.kb-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px}.kb label{display:block;font-size:13px;font-weight:650;line-height:1.5}.kb input:not([type=checkbox]):not([type=range]),.kb select,.kb textarea{font:inherit;font-size:16px;border:1px solid #a9b6ac;border-radius:7px;padding:10px 11px;min-height:44px;color:var(--ink);background:#fff;width:100%;margin-top:6px}.kb input[type=range]{width:100%;accent-color:var(--red);margin:15px 0}.kb input[type=checkbox]{width:19px;height:19px;accent-color:var(--red)}.kb .kb-check{display:flex;align-items:center;gap:10px;font-size:15px}.kb-help{font-size:12px;color:var(--muted);line-height:1.65}.kb button{font:650 13px/1.4 system-ui;min-height:40px;border:1px solid #acb8ae;border-radius:7px;padding:9px 12px;color:var(--ink);background:#fff;cursor:pointer}.kb button:hover{background:#edf2ec}.kb button:disabled{opacity:.45;cursor:not-allowed}.kb :focus-visible{outline:3px solid #c27834;outline-offset:3px}.kb-presets{display:flex;flex-wrap:wrap;gap:8px}.kb-add{display:flex;gap:12px;align-items:end}.kb-add label{flex:1}.kb #kb-add{background:var(--ink);color:white;min-height:45px}.kb #kb-route{padding:0;list-style:none;margin:20px 0}.kb-stop{border:1px solid #d7ddd3;border-left:4px solid #81977c;border-radius:9px;padding:15px;margin:12px 0;background:#f6f7f2;display:grid;grid-template-columns:34px minmax(0,1fr) 90px;gap:10px;align-items:center}.kb-stop.dragging{opacity:.45}.kb-stop.drop-over{outline:3px dashed #aa7544}.kb .kb-grip{cursor:grab;font-size:20px;background:transparent;border:0;padding:3px;touch-action:none}.kb-stop strong{font-size:17px;display:block}.kb-stop small{font-size:11px}.kb-stop label input{padding:7px;min-height:38px}.kb-stop-controls{grid-column:2/4;display:flex;gap:7px}.kb .kb-stop-controls button{min-height:32px;padding:4px 9px}.kb-stop-cost{display:block;font-size:11px;margin-top:4px;color:var(--muted)}.kb-result{position:sticky;top:100px;background:var(--ink);color:white;border-radius:17px;padding:28px}.kb-result h3{margin:14px 0}.kb-result #kb-party{font-size:13px;color:#d1dfd5}.kb #kb-total{font-size:clamp(27px,3vw,38px);font-weight:750;letter-spacing:-1px;line-height:1.2;margin:18px 0}.kb-result-small{font-size:12px;color:#e1e9e2;line-height:1.65}.kb-result a{color:#ffe5b9}.kb-result .kb-ai{font-size:11px;color:#d1dfd5;border-top:1px solid #567267;padding-top:13px}.kb-cost-row{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid #426154;font-size:12px}.kb-cost-row span{max-width:58%}.kb-cost-row b{text-align:right;white-space:nowrap;font-size:12px}.kb-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.kb-result .kb-actions button{font-size:12px}.kb-credit{font-size:11px;margin-bottom:0!important}.kb-plan-link{display:inline-block;margin-top:15px;font-weight:650;font-size:14px}.kb-warn{background:#f9e6c2;color:#402f15;border-radius:6px;padding:10px;font-size:12px;line-height:1.55}.kb #kb-bars{display:flex;height:9px;gap:3px;margin:22px 0 15px;border-radius:9px;overflow:hidden}.kb #kb-bars span{min-width:2px}.kb #kb-action-status{font-size:12px}.kb #kb-copy-fallback{color:#172d24;font-size:11px;min-height:70px}.kb-parks{background:#eef2eb}.kb details summary{font-weight:750;font-size:17px;cursor:pointer}.kb details p{font-size:14px}.kb-table-scroll{overflow-x:auto}.kb table{border-collapse:collapse;width:100%;min-width:580px;font-size:12px}.kb th,.kb td{border-bottom:1px solid var(--line);padding:13px 10px;text-align:left;vertical-align:top}.kb th{background:#eff2ec}.kb td small{display:block;margin-top:5px}.kb-bottom{font-size:12px;color:var(--muted)}.kb [hidden]{display:none!important}.budget-share{max-width:1240px;margin:20px auto 65px;padding:30px;background:#eee8dd;border-radius:15px}.budget-share textarea{width:100%;min-height:110px;font:12px/1.5 monospace;padding:15px;margin:15px 0}.budget-share iframe{width:100%;height:780px;border:1px solid #c7cfc5;border-radius:10px;background:#fff}.budget-standalone{margin:0;background:#f4f2ed}.budget-standalone .kb{padding-top:20px}.budget-standalone h1{max-width:1240px;margin:25px auto 10px;padding:0 20px;font:36px Georgia;color:#18352f}@media(max-width:1000px){.kb-layout{grid-template-columns:1fr}.kb-result{position:static}.kb #kb-total{font-size:36px}.kb-cost-row{font-size:14px}.kb-cost-row b{font-size:14px}}@media(max-width:550px){.kb{padding:0 12px 25px}.kb-intro{padding:23px;gap:15px}.kb-badge{display:none}.kb-panel,.kb-result{padding:20px}.kb-fields{gap:12px}.kb h3{font-size:23px}.kb-stop{grid-template-columns:25px minmax(0,1fr) 65px;padding:11px;gap:8px}.kb-stop strong{font-size:15px}.kb-stop-controls{flex-wrap:wrap}.kb-cost-row b{white-space:normal}.kb-add{gap:8px}.budget-share{margin:15px 15px 40px;padding:20px}.kb #kb-total{font-size:30px}.kb-actions button{flex:1 1 40%}}@media print{body:not(.budget-standalone)>*:not(main){display:none!important}.site-header,.site-footer,.cta,.floating,.cookie-note,.scenic-footer,.budget-share,.kb-editor,.kb-intro,.kb-actions,.kb-plan-link,.kb-badge,.kb details,.page-head,.kb-bottom,#kb-action-status{display:none!important}.kb-layout{display:block}.kb-result{position:static;background:white!important;color:black!important;border:1px solid #999}.kb-result *{color:black!important}.kb #kb-bars{display:none}.kb{max-width:none;padding:0}.kb-result h3:before{content:'Kanadareisen.com · '}.kb-notice{font-size:10px}.kb-cost-row{break-inside:avoid}a{color:black!important}}

.kb-shortcuts{font-size:13px}.kb #kb-editor,.kb #kb-result{scroll-margin-top:110px}.kb th small{display:block;margin-top:6px;font-weight:400}

.kb .kb-print-only{display:none}@media print{.kb .kb-print-only{display:block;white-space:pre-wrap;font:11px/1.6 system-ui;max-width:100%;overflow-wrap:anywhere}.kb-result p,.kb-result pre{break-inside:avoid}}

@media print{.budget-standalone>h1{display:none}}

.kb-reverse{margin:24px 0;background:#f6f3eb}.kb-reverse-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.kb-reverse-card{background:white;padding:20px;border:1px solid #ddd8ca;border-radius:14px;min-width:0}.kb-reverse-card h3{margin:16px 0}.kb-reverse-total{font-size:1.4rem;color:#244b3d}.kb-fit{display:block;padding:8px;border-radius:6px;background:#eee;font-size:.85rem}.kb-fit-covered{background:#e1efdd}.kb-fit-tight{background:#fff0c9}.kb-fit-over{background:#f9e0db}.kb-reverse-card .kb-cost-row{display:block}.kb-reverse-card .kb-cost-row b{display:block}.kb-reverse-card button{width:100%}@media(max-width:1050px){.kb-reverse-grid{grid-template-columns:1fr}}

.kb output{display:block;padding:12px;background:#fff;border:1px solid #ccd2cb;border-radius:7px;min-height:46px}.kb input[type=date]{min-width:0;width:100%;box-sizing:border-box}

.kb-booking{margin:28px 0;background:#f5f2e9!important;border:1px solid #ddd4bf!important}.kb-booking-head{display:flex;align-items:center;justify-content:space-between;gap:16px}.kb-partner-label{font-size:.78rem;border:1px solid #c9bda7;border-radius:30px;padding:8px 14px;white-space:nowrap;color:#5b594c}.kb-booking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0}.kb-booking-card{background:#fff;border:1px solid #e3ded1;border-radius:16px;padding:24px;display:flex;flex-direction:column;align-items:flex-start;min-width:0}.kb-booking-number{border-radius:50%;width:42px;height:42px;display:grid;place-items:center;background:#efe9d9;color:#24493c;font-weight:700}.kb-booking-card h3{font-size:1.5rem!important;margin:16px 0 10px}.kb-booking-card p{flex:1}.kb-booking-card a{display:block;background:#183e33;color:#fff!important;padding:13px 17px;border-radius:9px;text-decoration:none!important;font-size:.9rem;font-weight:700;width:100%;box-sizing:border-box}.kb-booking-card a:hover{background:#2f5948}.kb-booking-plan{background:#e9ede5;border-radius:12px;padding:18px 22px;margin-top:20px}.kb-booking-plan p{white-space:pre-line;font-size:.88rem}.kb-booking-plan textarea{width:100%;min-height:180px}.kb-booking a:focus-visible{outline:3px solid #bb8742;outline-offset:4px}@media(max-width:800px){.kb-booking-grid{grid-template-columns:1fr}.kb-booking-head{align-items:flex-start;flex-direction:column}.kb-booking-card{padding:20px}}
