.kb-budget{--kb-red:#cc1517;--kb-ink:#1c2326;--kb-muted:#58656d;box-sizing:border-box;background:#f5f5f1;color:var(--kb-ink);font:400 16px/1.5 'Open Sans',Arial,sans-serif;max-width:1100px;margin:auto;border:1px solid #dce0dd;overflow:hidden}
.kb-budget *{box-sizing:border-box}.kb-budget [hidden]{display:none!important}
.kb-budget .kb-budget-top{padding:25px 30px 22px;border-bottom:1px solid #d9ddda;display:flex;align-items:center;justify-content:space-between;gap:20px}
.kb-budget .kb-budget-brand{font-size:13px;font-weight:700;letter-spacing:1.5px;white-space:nowrap}.kb-budget .kb-budget-brand b{color:var(--kb-red)}
.kb-budget .kb-budget-picker{width:300px;max-width:65%}
.kb-budget label{display:block;margin:0;font-size:13px;font-weight:600;color:var(--kb-ink)}
.kb-budget input,.kb-budget select,.kb-budget button,.kb-budget textarea{font:inherit;max-width:100%}
.kb-budget select,.kb-budget input[type=number]{display:block;width:100%;height:48px;padding:9px 12px;border:1px solid #c3ccc9;background:#fff;color:#1c2326;font-size:16px;border-radius:2px;margin-top:7px;box-shadow:none}
.kb-budget .kb-budget-picker select{margin:0}.kb-budget input:focus-visible,.kb-budget select:focus-visible,.kb-budget button:focus-visible,.kb-budget summary:focus-visible,.kb-budget a:focus-visible{outline:3px solid #cc1517;outline-offset:3px}
.kb-budget .kb-budget-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.kb-budget .kb-budget-inputs{padding:30px;min-width:0;background:#fff}
.kb-budget .kb-budget-kicker{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--kb-red);font-weight:700;margin:0 0 10px}
.kb-budget h2{font-size:clamp(25px,3.1vw,36px);line-height:1.18;letter-spacing:-.8px;margin:0 0 8px;font-weight:700;color:#1c2326;hyphens:none}
.kb-budget .kb-budget-subtitle{color:var(--kb-muted);margin:0 0 26px;font-size:14px}
.kb-budget .kb-budget-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 15px}
.kb-budget .kb-budget-field{min-width:0}.kb-budget .kb-budget-field:first-child{grid-column:1/-1}
.kb-budget .kb-budget-range{width:100%;display:block;accent-color:var(--kb-red);margin:12px 0 4px;height:24px;padding:0}
.kb-budget .kb-budget-range-label{display:flex;justify-content:space-between;color:var(--kb-muted);font-size:11px;margin-top:4px}
.kb-budget .kb-budget-result{background:#1c2326;color:#fff;padding:30px;min-width:0;display:flex;flex-direction:column}
.kb-budget .kb-budget-photo{margin:-30px -30px 24px;position:relative;background:#30383c}
.kb-budget .kb-budget-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.kb-budget .kb-budget-photo figcaption{background:#283135;color:#e4e9e7;padding:9px 18px;font-size:12px;line-height:1.5}
.kb-budget .kb-budget-price.kb-budget-pending{font-size:25px;line-height:1.3;margin-bottom:22px}
.kb-budget .kb-budget-result-label{margin:0 0 12px;color:#c0caca;font-size:13px}
.kb-budget .kb-budget-price{margin:0;font-size:clamp(25px,3.8vw,39px);line-height:1.2;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.8px;overflow-wrap:normal}
.kb-budget .kb-budget-vat{font-size:12px;color:#bac6c9;margin:10px 0 25px}
.kb-budget .kb-budget-included{margin:0 0 22px;padding:19px 0 0;list-style:none;border-top:1px solid #475357;font-size:13px;color:#e6eceb;display:grid;gap:10px}
.kb-budget .kb-budget-included li{position:relative;padding-left:20px;line-height:1.55}.kb-budget .kb-budget-included li::before{content:'✓';color:#e97774;position:absolute;left:0}
.kb-budget details{border-top:1px solid #475357;padding-top:14px;margin-bottom:22px;font-size:12px;line-height:1.6;color:#c9d3d3}
.kb-budget summary{cursor:pointer;color:#fff;font-size:13px;min-height:28px}.kb-budget details p{font-size:12px;line-height:1.65;margin:10px 0 0}
.kb-budget .kb-budget-action{display:block;background:#cc1517;color:white;text-decoration:none;border:0;padding:14px 18px;text-align:center;font-size:14px;line-height:1.4;font-weight:700;cursor:pointer;width:100%;margin-top:auto;min-height:48px}
.kb-budget .kb-budget-action:hover{background:#ad1113}.kb-budget .kb-budget-fine{font-size:11px;line-height:1.55;color:#c0caca;margin:14px 0 0}
.kb-budget .kb-budget-error{border-left:3px solid #e97774;padding-left:15px;margin:0 0 22px;font-size:17px;color:#fff}
.kb-budget .kb-budget-summary{width:100%;min-height:170px;margin-top:18px;background:#f5f5f1;color:#1c2326;border:0;padding:14px;font-size:13px}
.kb-budget .kb-budget-footer{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;padding:13px 30px;font-size:11px;color:#536167;background:#f5f5f1}
.kb-budget-section{padding:65px 24px;background:#f4f5f2;scroll-margin-top:90px}
@media(min-width:681px) and (max-width:850px){.kb-budget .kb-budget-fields{grid-template-columns:1fr}.kb-budget .kb-budget-inputs,.kb-budget .kb-budget-result{padding:24px}.kb-budget .kb-budget-price{font-size:28px}}
@media(max-width:680px){.kb-budget .kb-budget-layout{grid-template-columns:1fr}.kb-budget .kb-budget-price{font-size:36px}.kb-budget .kb-budget-fields{gap:17px}.kb-budget .kb-budget-inputs,.kb-budget .kb-budget-result{padding:26px}.kb-budget h2{font-size:30px}}
@media(max-width:440px){.kb-budget .kb-budget-top{padding:18px;align-items:flex-start;flex-direction:column;gap:14px}.kb-budget .kb-budget-picker{width:100%;max-width:none}.kb-budget .kb-budget-inputs,.kb-budget .kb-budget-result{padding:22px 18px}.kb-budget .kb-budget-fields{grid-template-columns:1fr;gap:15px}.kb-budget .kb-budget-price{font-size:29px}.kb-budget .kb-budget-footer{padding:13px 18px}.kb-budget-section{padding:35px 12px}}
@media(min-width:681px) and (max-width:850px){.kb-budget .kb-budget-photo{margin:-24px -24px 22px}}
@media(min-width:441px) and (max-width:680px){.kb-budget .kb-budget-photo{margin:-26px -26px 22px}.kb-budget .kb-budget-photo img{aspect-ratio:2/1}}
@media(max-width:440px){.kb-budget .kb-budget-photo{margin:-22px -18px 22px}}

.kb-budget .kb-budget-room{grid-column:1/-1;min-width:0;margin:3px 0 0;padding:16px;border:1px solid #dce1df;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.55fr);gap:15px}
.kb-budget .kb-budget-room legend{font-size:14px;font-weight:700;color:#1c2326;padding:0 6px}
.kb-budget .kb-budget-room .kb-budget-field{grid-column:auto}
.kb-budget .kb-budget-room label{font-size:14px}
@media(max-width:440px),(min-width:681px) and (max-width:850px){.kb-budget .kb-budget-room{grid-template-columns:1fr}}
@media(min-width:441px) and (max-width:600px){.kb-budget .kb-budget-top{flex-wrap:wrap}.kb-budget .kb-budget-picker{max-width:100%;width:100%}}

.kb-budget .kb-budget-action[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
