.eb-tool {
    --eb-tool-ink: var(--eb-ink, #202725);
    --eb-tool-accent: var(--eb-orange, #ef6a32);
    --eb-tool-border: var(--eb-border, #d8ded7);
    --eb-tool-muted: var(--eb-muted, #53605a);
    color: var(--eb-tool-ink);
    background: #fff;
    border: 1px solid var(--eb-tool-border);
    border-radius: 8px;
    padding: clamp(1.25rem, 3.5vw, 3rem);
    box-sizing: border-box;
    max-width: 100%;
}
.eb-tool *, .eb-tool *::before, .eb-tool *::after { box-sizing: border-box; }
.eb-tool [hidden] { display: none !important; }
.eb-tool .eb-tool-heading { margin-bottom: 1.75rem; }
.eb-tool .eb-tool-heading h2 { font-size: clamp(1.75rem, 3.5vw, 2.75rem); line-height: 1.1; letter-spacing: -.04em; margin: .5rem 0 1rem; }
.eb-tool .eb-tool-heading p { max-width: 65ch; color: var(--eb-tool-muted); line-height: 1.6; }
.eb-tool-eyebrow { font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #a13c14; }
.eb-tool-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem 1.5rem; }
.eb-tool-full { grid-column: 1 / -1; }
.eb-tool-field { min-width: 0; margin-bottom: 1.2rem; }
.eb-tool-fields > .eb-tool-field, .eb-tool-dimension .eb-tool-field { margin-bottom: 0; }
.eb-tool-field > label { display: block; margin-bottom: .5rem; font-size: .875rem; font-weight: 600; }
.eb-tool input:not([type="checkbox"]), .eb-tool select, .eb-tool textarea {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 50px;
    border: 1px solid #aeb9b1;
    border-radius: 4px;
    background-color: #fff;
    color: var(--eb-tool-ink);
    padding: .8rem .9rem;
    font: inherit;
    font-size: 1rem;
    line-height: 1.35;
    box-shadow: none;
}
.eb-tool select { padding-right: 2rem; }
.eb-tool textarea { resize: vertical; }
.eb-tool input::placeholder, .eb-tool textarea::placeholder { color: #65716b; opacity: 1; }
.eb-tool :where(input,select,textarea,button,a,[tabindex]):focus-visible { outline: 3px solid #a7431c; outline-offset: 3px; }
.eb-tool [aria-invalid="true"] { border: 2px solid #af271e !important; }
.eb-tool-measure { display: flex; align-items: stretch; }
.eb-tool-measure input { border-radius: 4px 0 0 4px !important; }
.eb-tool-measure select { width: auto; min-width: 5.5rem; max-width: 8.5rem; border-left: 0; border-radius: 0 4px 4px 0; background-color: #f1f3ee; padding-left: .65rem; padding-right: 1.5rem; }
.eb-tool-unit { display: inline-flex; align-items: center; justify-content: center; border: 1px solid #aeb9b1; border-left: 0; border-radius: 0 4px 4px 0; padding: .75rem; min-width: 3.5rem; background: #f1f3ee; font-size: .875rem; }
.eb-tool-hint, .eb-tool-disclaimer { color: var(--eb-tool-muted); font-size: .8125rem; line-height: 1.6; }
.eb-tool-hint { margin: 0 0 1.25rem; }
.eb-tool-disclaimer { margin: 1.25rem 0 0; max-width: 80ch; }
.eb-tool-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    min-height: 50px;
    padding: .85rem 1.4rem;
    margin-top: 1.25rem;
    border: 1px solid var(--eb-tool-ink);
    border-radius: 4px;
    background: var(--eb-tool-ink);
    color: #fff;
    text-decoration: none;
    font: inherit;
    font-size: .875rem;
    font-weight: 650;
    line-height: 1.4;
    text-align: center;
    cursor: pointer;
    transition: background-color .18s, border-color .18s;
}
.eb-tool-button:hover { background: #3c4942; border-color: #3c4942; color: #fff; }
.eb-tool-button:disabled { cursor: not-allowed; opacity: .55; }
.eb-tool-button-secondary { color: var(--eb-tool-ink); background: #fff; border-color: #aeb9b1; }
.eb-tool-button-secondary:hover { color: var(--eb-tool-ink); background: #eef1ec; border-color: #647168; }
.eb-tool-button-light { background: #fff; border-color: #fff; color: var(--eb-tool-ink); }
.eb-tool-button-light:hover { background: #f3f3ed; color: var(--eb-tool-ink); border-color: #f3f3ed; }
.eb-tool-result { background: var(--eb-tool-ink); color: #fff; padding: clamp(1.2rem, 3vw, 2rem); margin-top: 1.5rem; border-radius: 5px; }
.eb-tool-result-label { font-size: .875rem; color: #dbe5dc; margin: 0 0 .4rem; }
.eb-tool-result-value { font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 700; line-height: 1.1; letter-spacing: -.04em; overflow-wrap: anywhere; margin: 0 0 .8rem; }
.eb-tool-result-detail { color: #e0e7e0; font-size: .875rem; line-height: 1.6; margin: 0; }
.eb-tool-error, .eb-tool-notice { padding: 1rem 1.2rem; margin: 1rem 0; font-size: .875rem; line-height: 1.6; border-radius: 4px; border-left: 4px solid; }
.eb-tool-error { background: #fff0ed; color: #8e1f18; border-color: #af271e; }
.eb-tool-notice { color: #704012; border-color: #b97219; background: #fff7e8; }
.eb-field-error { display: block; margin-top: .4rem; color: #a22219; font-size: .8125rem; line-height: 1.4; }
.eb-inquiry-progress { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); list-style: none; padding: 0; margin: 2rem 0; gap: .6rem; }
.eb-inquiry-progress li { display: flex; flex-direction: column; gap: .7rem; align-items: flex-start; border-top: 3px solid #dde3dc; padding-top: .8rem; color: #637068; min-width: 0; }
.eb-inquiry-progress li span:first-child { width: 1.7rem; height: 1.7rem; border: 1px solid #b5c0b6; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: .75rem; font-weight: 700; }
.eb-inquiry-progress li span:last-child { font-size: .72rem; font-weight: 600; }
.eb-inquiry-progress li[aria-current="step"] { color: var(--eb-tool-ink); border-color: var(--eb-tool-accent); }
.eb-inquiry-progress li[aria-current="step"] span:first-child { color: #fff; background: var(--eb-tool-ink); border-color: var(--eb-tool-ink); }
.eb-inquiry-progress li.is-complete { color: #33513e; border-color: #688c70; }
.eb-inquiry-step-counter { font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; font-weight: 700; color: #4b5a51; }
.eb-inquiry fieldset { padding: 0; margin: 1.5rem 0; border: 0; min-width: 0; }
.eb-inquiry legend { font-size: clamp(1.3rem, 3vw, 1.75rem); font-weight: 650; padding: 0; margin-bottom: 1rem; letter-spacing: -.025em; }
.eb-inquiry-actions { display: flex; gap: .75rem; flex-wrap: wrap; justify-content: flex-end; border-top: 1px solid var(--eb-tool-border); }
.eb-inquiry-actions [data-eb-back] { margin-right: auto; }
.eb-inquiry-summary { display: grid; grid-template-columns: minmax(8rem, 1fr) 2fr; margin: 0 0 1.5rem; background: #f2f4ef; border: 1px solid var(--eb-tool-border); border-radius: 4px; padding: .25rem 1.2rem; }
.eb-inquiry-summary dt, .eb-inquiry-summary dd { border-bottom: 1px solid var(--eb-tool-border); padding: .8rem .3rem; margin: 0; font-size: .875rem; overflow-wrap: anywhere; white-space: pre-wrap; }
.eb-inquiry-summary dt { font-weight: 600; color: var(--eb-tool-muted); }
.eb-inquiry-summary dt:last-of-type, .eb-inquiry-summary dd:last-of-type { border-bottom: 0; }
.eb-tool-consent label { display: flex; align-items: flex-start; gap: .65rem; font-weight: 400; line-height: 1.6; }
.eb-tool input[type="checkbox"] { flex: 0 0 auto; width: 1.2rem; height: 1.2rem; accent-color: var(--eb-tool-ink); margin: .15rem 0 0; }
.eb-tool-consent a, .eb-inquiry fieldset > a { color: #9b3813; text-decoration: underline; text-underline-offset: 3px; }
.eb-tool-trap { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip-path: inset(50%); white-space: nowrap; }
.eb-inquiry-status { font-size: .875rem; line-height: 1.6; color: #45584b; margin: 1rem 0 0; }
.eb-inquiry-success { padding: 1.5rem; background: #edf4ed; border: 1px solid #7da581; border-radius: 4px; }
.eb-inquiry-success h3 { margin: 0 0 1rem; font-size: 1.5rem; }
.eb-inquiry-success p { font-size: .9375rem; line-height: 1.6; }
.eb-inquiry[aria-busy="true"] { cursor: progress; }
.abisbau-consent[hidden] { display: none !important; }
.abisbau-consent { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 9999; display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; max-width: 74rem; margin: 0 auto; padding: 1.25rem; background: #fff; color: #202725; border: 1px solid #aeb9b1; border-radius: 6px; box-shadow: 0 5px 35px #17251b22; }
.abisbau-consent p { flex: 1 1 30rem; font-size: .875rem; line-height: 1.6; margin: 0; }
.abisbau-consent a { color: #9b3813; text-decoration: underline; }
.abisbau-consent button, .abisbau-consent-settings { padding: .8rem 1rem; min-height: 44px; background: #202725; color: #fff; border: 1px solid #202725; border-radius: 4px; font: inherit; font-size: .8125rem; cursor: pointer; }
.abisbau-consent button + button { background: #fff; color: #202725; border-color: #aeb9b1; }
.abisbau-consent-settings { position: fixed; left: .75rem; bottom: .75rem; z-index: 100; padding: .5rem .7rem; min-height: 36px; background: #fff; color: #202725; border-color: #aeb9b1; box-shadow: 0 1px 8px #17251b16; }
.abisbau-consent :where(button,a):focus-visible, .abisbau-consent-settings:focus-visible { outline: 3px solid #a7431c; outline-offset: 3px; }
@media (max-width: 680px) {
    .eb-tool-fields { grid-template-columns: minmax(0, 1fr); }
    .eb-inquiry-progress { gap: .3rem; margin: 1.5rem 0; }
    .eb-inquiry-progress li { align-items: center; padding-top: .6rem; }
    .eb-inquiry-progress li span:last-child { display: none; }
    .eb-inquiry-progress li span:first-child { width: 1.55rem; height: 1.55rem; }
    .eb-inquiry-actions .eb-tool-button { flex: 1 1 auto; gap: 1rem; }
    .eb-inquiry-summary { grid-template-columns: minmax(0, 1fr); padding: .6rem 1rem; }
    .eb-inquiry-summary dt { border: 0; padding: .7rem 0 .15rem; font-size: .75rem; }
    .eb-inquiry-summary dd { padding: .1rem 0 .7rem; }
    .eb-tool-result .eb-tool-button { width: 100%; gap: 1rem; }
    .abisbau-consent { left: .5rem; right: .5rem; bottom: .5rem; padding: 1rem; }
    .abisbau-consent button { flex: 1 1 auto; }
}
@media (prefers-reduced-motion: reduce) {
    .eb-tool-button { transition: none; }
}

