.configurator{--planner-blue:#2458d3;--planner-ink:#153985;max-width:1180px;margin:0 auto;padding:clamp(7rem,12vw,10rem) 24px 4rem;color:var(--color-text-primary)}
.configurator [hidden]{display:none!important}
.configurator__hero{max-width:820px;margin-bottom:3rem}
.configurator__eyebrow{color:var(--planner-ink);font-weight:700;letter-spacing:.07em;text-transform:uppercase;font-size:.8rem;margin-bottom:1rem}
.configurator h1{font-size:clamp(2.1rem,5vw,4.2rem);line-height:1.12;letter-spacing:-.035em;margin-bottom:1.5rem}
.configurator h2{font-size:clamp(1.4rem,2.8vw,2rem);line-height:1.25;margin-bottom:1rem}
.configurator p{line-height:1.75;margin-bottom:1rem}
.configurator a{color:var(--planner-ink);text-decoration:underline;text-underline-offset:.2em;overflow-wrap:anywhere}
.configurator__language{display:inline-flex;min-height:44px;align-items:center;font-weight:600}
.configurator__layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.3fr);gap:clamp(1.5rem,5vw,4rem);align-items:start}
.configurator__intro{padding:1.5rem;border-left:4px solid var(--planner-blue);background:var(--color-bg-secondary);border-radius:0 16px 16px 0}
.configurator__intro p:last-child{font-size:.9rem;margin:0}
.configurator__panel,.configurator__result{min-width:0;padding:clamp(1.2rem,4vw,2.5rem);border:1px solid var(--color-border);border-radius:20px;background:var(--color-card-bg);box-shadow:0 12px 40px #2458d30a}
.configurator__step{border:0;padding:0;margin:0 0 2rem;min-width:0}
.configurator__step legend{float:none;max-width:100%;font-size:1.1rem;line-height:1.6;font-weight:600;margin-bottom:.9rem;padding:0}
.configurator__number{display:inline-grid;place-items:center;background:var(--planner-blue);color:#fff;width:30px;height:30px;border-radius:50%;font-size:.85rem;margin-right:.35rem}
.configurator select,.configurator textarea{display:block;width:100%;max-width:100%;font:inherit;color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:10px;padding:.85rem;min-height:48px}
.configurator select{white-space:normal}
.configurator textarea{resize:vertical;line-height:1.7;margin:1rem 0}
.configurator__actions{display:flex;gap:.8rem;flex-wrap:wrap}
.configurator__actions button,.configurator__actions a{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.8rem 1.2rem;border:1px solid var(--planner-blue);border-radius:10px;background:var(--planner-blue);color:#fff;font:inherit;font-weight:600;text-decoration:none;cursor:pointer;line-height:1.5;text-align:center}
.configurator__actions [data-configurator-back]{background:transparent;color:var(--planner-ink)}
.configurator :is(button,a,select,textarea,legend):focus-visible{outline:3px solid var(--planner-ink);outline-offset:4px}
.configurator__progress{font-size:.85rem;font-weight:700;color:var(--planner-ink)}
.configurator__result{margin-top:3rem;scroll-margin-top:100px}
.configurator__errors{border-left:4px solid #b42318;padding:1rem;margin-bottom:2rem}
.configurator__errors ul{padding-left:1.2rem}
.configurator__error{color:#a51b13;font-weight:600}
.configurator [aria-invalid="true"]{border:2px solid #b42318}
[data-theme="dark"] .configurator{--planner-ink:#a6c8ff}
[data-theme="dark"] .configurator__error{color:#ffb4ad}
@media(max-width:760px){.configurator{padding-inline:18px}.configurator__layout{grid-template-columns:minmax(0,1fr)}.configurator__actions>*{flex:1 1 180px}.configurator__hero{margin-bottom:2rem}}
@media(forced-colors:active){.configurator__number,.configurator__actions>*{border:1px solid ButtonText}}
