.asso-wizard {
    --asso-blue: #1163a9;
    --asso-navy: #092d52;
    --asso-ink: #183047;
    --asso-muted: #657687;
    --asso-line: #dbe4eb;
    --asso-soft: #f5f8fa;
    max-width: 1160px;
    margin: 36px auto;
    color: var(--asso-ink);
    font-family: inherit;
}

.asso-wizard *,
.asso-wizard *::before,
.asso-wizard *::after { box-sizing: border-box; }

.asso-wizard [hidden] { display: none !important; }
.asso-wizard__success:focus { outline: none; }

.asso-wizard__header {
    padding: 8px 4px 30px;
    text-align: center;
}

.asso-wizard__header > span {
    display: block;
    margin-bottom: 9px;
    color: var(--asso-blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .13em;
}

.asso-wizard__header h2,
.asso-wizard__header p,
.asso-wizard__success h3,
.asso-wizard__success p { margin: 0; }
.asso-wizard__header h2 { color: var(--asso-navy); font-size: clamp(28px, 4vw, 42px); line-height: 1.08; }
.asso-wizard__header p { max-width: 670px; margin: 15px auto 0; color: var(--asso-muted); font-size: 17px; line-height: 1.55; }

.asso-wizard__shell {
    display: grid;
    grid-template-columns: minmax(245px, .75fr) minmax(0, 2fr);
    overflow: hidden;
    border: 1px solid var(--asso-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 55px rgba(9, 45, 82, .09);
}

.asso-wizard__sidebar {
    padding: 33px 29px;
    color: #eaf4fb;
    background: linear-gradient(155deg, #082e55 0%, #104f88 100%);
}
.asso-wizard__sidebar strong { display: block; color: #fff; font-size: 20px; line-height: 1.2; }
.asso-wizard__sidebar > p { margin: 12px 0 28px; color: #d8e8f4; font-size: 14px; line-height: 1.55; }
.asso-wizard__sidebar ol { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.asso-wizard__sidebar li { display: flex; align-items: center; gap: 10px; color: #a9c5dc; font-size: 14px; font-weight: 700; }
.asso-wizard__sidebar li span { display: grid; width: 25px; height: 25px; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 12px; }
.asso-wizard__sidebar li.is-active { color: #fff; }
.asso-wizard__sidebar li.is-active span { color: var(--asso-navy); border-color: #fff; background: #fff; }
.asso-wizard__sidebar li.is-complete { color: #e7f6ff; }
.asso-wizard__sidebar li.is-complete span { border-color: #5bc0f6; background: #5bc0f6; color: var(--asso-navy); }
.asso-wizard__sidebar small { display: block; margin-top: 34px; padding-top: 17px; border-top: 1px solid rgba(255,255,255,.2); color: #bcd4e6; font-size: 12px; line-height: 1.45; }

.asso-wizard__form { min-width: 0; padding: 34px clamp(23px, 4vw, 52px) 38px; }
.asso-wizard__progress { display: flex; align-items: center; gap: 18px; color: var(--asso-muted); font-size: 13px; font-weight: 700; }
.asso-wizard__progress i { display: block; flex: 1; height: 6px; overflow: hidden; border-radius: 8px; background: #e5edf2; }
.asso-wizard__progress b { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--asso-blue); transition: width .25s ease; }
.asso-wizard__context { margin: 23px 0 0; padding: 12px 15px; border-left: 3px solid var(--asso-blue); border-radius: 4px; background: #eef7fd; color: #26506f; font-size: 14px; }

.asso-wizard__step-heading { padding: 29px 0 23px; border-bottom: 1px solid var(--asso-line); }
.asso-wizard__step-heading span { color: var(--asso-blue); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.asso-wizard__step-heading h3 { margin: 7px 0 0; color: var(--asso-navy); font-size: 27px; line-height: 1.2; }

.asso-wizard__field { margin-top: 24px; }
.asso-wizard__field > label { display: block; margin-bottom: 7px; color: var(--asso-ink); font-size: 16px; font-weight: 800; }
.asso-wizard__field > label em { margin-left: 4px; color: #d13a2f; font-style: normal; }
.asso-wizard__field-help,
.asso-wizard__hint { margin: 0 0 10px; color: var(--asso-muted); font-size: 13px; line-height: 1.5; }
.asso-wizard__reference { max-width: 290px; margin: 13px 0; padding: 10px; border: 1px solid var(--asso-line); border-radius: 7px; background: var(--asso-soft); }
.asso-wizard__reference img { display: block; width: 100%; max-height: 210px; object-fit: contain; }
.asso-wizard__reference figcaption { margin-top: 7px; color: var(--asso-muted); font-size: 12px; text-align: center; }
.asso-wizard__input-wrap { position: relative; }
.asso-wizard__field input[type="text"],
.asso-wizard__field input[type="email"],
.asso-wizard__field input[type="tel"],
.asso-wizard__field input[type="number"],
.asso-wizard__field textarea,
.asso-wizard__field select {
    width: 100%;
    min-height: 48px;
    border: 1px solid #bfccd6;
    border-radius: 7px;
    outline: 0;
    padding: 12px 14px;
    color: var(--asso-ink);
    background: #fff;
    font: inherit;
    transition: border-color .18s, box-shadow .18s;
}
.asso-wizard__field textarea { min-height: 116px; resize: vertical; }
.asso-wizard__field input:focus,
.asso-wizard__field textarea:focus,
.asso-wizard__field select:focus { border-color: var(--asso-blue); box-shadow: 0 0 0 3px rgba(17, 99, 169, .12); }
.asso-wizard__unit { position: absolute; top: 1px; right: 1px; display: grid; min-height: 46px; place-items: center; padding: 0 14px; border-left: 1px solid #d7e0e7; border-radius: 0 6px 6px 0; color: var(--asso-muted); background: var(--asso-soft); font-size: 13px; }
.asso-wizard__range { display: flex; align-items: center; gap: 14px; min-height: 48px; padding: 10px 14px; border: 1px solid #bfccd6; border-radius: 7px; background: #fff; }
.asso-wizard__range input { flex: 1; min-width: 0; accent-color: var(--asso-blue); }
.asso-wizard__range input:disabled { opacity: .4; cursor: not-allowed; }
.asso-wizard__range output { min-width: 88px; color: var(--asso-blue); font-size: 14px; font-weight: 800; text-align: right; }
.asso-wizard .asso-wizard__field > .asso-wizard__range-toggle { display: flex; align-items: center; gap: 9px; margin: 12px 0 10px; font-size: 14px; font-weight: 600; cursor: pointer; }
.asso-wizard__range-toggle input { width: 18px; height: 18px; margin: 0; accent-color: var(--asso-blue); }
.asso-wizard__field input[type="file"] { width: 100%; padding: 12px; border: 1px dashed #9eb4c5; border-radius: 7px; background: var(--asso-soft); font: inherit; }
.asso-wizard__file-name { display: inline-block; margin-top: 8px; color: #31714a; font-size: 13px; font-weight: 700; }

.asso-wizard__radios { display: grid; gap: 9px; }
.asso-wizard__radios label { display: flex; align-items: center; gap: 9px; padding: 11px 13px; border: 1px solid #d4dfe7; border-radius: 7px; cursor: pointer; }
.asso-wizard__radios input { accent-color: var(--asso-blue); }
.asso-wizard .asso-wizard__radios--illustrated { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.asso-wizard .asso-wizard__radios--illustrated label { align-items: flex-start; padding: 12px; }
.asso-wizard .asso-wizard__radios--illustrated input { flex-shrink: 0; margin-top: 5px; }
.asso-wizard .asso-wizard__radios--illustrated span { flex: 1; min-width: 0; text-align: center; }
.asso-wizard .asso-wizard__radios--illustrated img { display: block; width: 100%; height: 170px; margin: 0 0 10px; object-fit: contain; }
.asso-wizard .asso-wizard__radios--illustrated label:has(input:checked) { border-color: var(--asso-blue); background: #edf5fb; }
@media (max-width: 600px) {
    .asso-wizard .asso-wizard__radios--illustrated label { gap: 6px; padding: 10px 6px; font-size: 13px; }
    .asso-wizard .asso-wizard__radios--illustrated img { height: 140px; }
}
.asso-wizard__cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(145px, 1fr)); gap: 11px; }
.asso-wizard__card { min-height: 126px; padding: 12px; border: 1px solid #cfdae3; border-radius: 9px; color: var(--asso-ink); background: #fff; text-align: left; cursor: pointer; font: inherit; transition: transform .16s, border-color .16s, box-shadow .16s; }
.asso-wizard__card:hover { transform: translateY(-2px); border-color: #78a9cb; box-shadow: 0 6px 18px rgba(9, 45, 82, .09); }
.asso-wizard__card.is-selected { border-color: var(--asso-blue); box-shadow: inset 0 0 0 1px var(--asso-blue); background: #f0f8fd; }
.asso-wizard__card img { display: block; width: 100%; height: 61px; margin-bottom: 9px; object-fit: contain; }
.asso-wizard__card-icon { display: grid; width: 48px; height: 48px; margin-bottom: 12px; place-items: center; border-radius: 50%; color: var(--asso-blue); background: #e9f5fc; font-size: 30px; }
.asso-wizard__card b { display: block; font-size: 13px; line-height: 1.35; }
.asso-wizard__card small { display: block; margin-top: 5px; color: var(--asso-muted); font-size: 11px; line-height: 1.3; }

.asso-wizard__error { margin-top: 21px; padding: 11px 14px; border: 1px solid #ecbbb6; border-radius: 6px; color: #9d2920; background: #fff3f1; font-size: 14px; }
.asso-wizard__summary { margin: 22px 0 4px; }
.asso-wizard__summary-step { margin: 0 0 12px; padding: 17px 18px; border: 1px solid var(--asso-line); border-radius: 8px; background: var(--asso-soft); }
.asso-wizard__summary-step h5 { margin: 0 0 12px; color: var(--asso-navy); font-size: 15px; line-height: 1.4; }
.asso-wizard__summary h4 { margin: 0 0 12px; color: var(--asso-navy); font-size: 16px; }
.asso-wizard__summary dl { display: grid; grid-template-columns: minmax(130px, .9fr) minmax(0, 1.6fr); gap: 7px 14px; margin: 0; font-size: 13px; }
.asso-wizard__summary dt { color: var(--asso-muted); }
.asso-wizard__summary dd { margin: 0; color: var(--asso-ink); font-weight: 700; overflow-wrap: anywhere; }
@media(max-width: 480px) { .asso-wizard__summary dl { grid-template-columns: minmax(0, 1fr); gap: 3px; } .asso-wizard__summary dd { margin-bottom: 8px; } }
.asso-wizard__actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 33px; padding-top: 25px; border-top: 1px solid var(--asso-line); }
.asso-wizard__button { min-width: 136px; min-height: 47px; border: 1px solid var(--asso-blue); border-radius: 6px; padding: 0 19px; color: #fff; background: var(--asso-blue); cursor: pointer; font: inherit; font-weight: 800; transition: background .18s, opacity .18s; }
.asso-wizard__button:hover { background: #0b4f8c; }
.asso-wizard__button:disabled { cursor: wait; opacity: .65; }
.asso-wizard__button--secondary { color: var(--asso-blue); background: #fff; }
.asso-wizard__button--secondary:hover { background: #eef7fd; }
.asso-wizard__empty { margin: 24px 0; padding: 15px; border-left: 3px solid var(--asso-blue); background: #f1f7fb; }

.asso-wizard__success { max-width: 610px; margin: 26px auto; padding: 56px 34px; border: 1px solid var(--asso-line); border-radius: 16px; background: #fff; box-shadow: 0 18px 55px rgba(9, 45, 82, .09); text-align: center; }
.asso-wizard__success > span { display: grid; width: 59px; height: 59px; margin: 0 auto 18px; place-items: center; border-radius: 50%; color: #fff; background: #2a9a62; font-size: 30px; font-weight: 800; }
.asso-wizard__success h3 { color: var(--asso-navy); font-size: 28px; }
.asso-wizard__success p { margin-top: 12px; color: var(--asso-muted); line-height: 1.6; }

@media (max-width: 760px) {
    .asso-wizard { margin: 22px auto; }
    .asso-wizard__header { padding: 5px 8px 22px; }
    .asso-wizard__shell { display: block; border-radius: 11px; }
    .asso-wizard__sidebar { padding: 22px; }
    .asso-wizard__sidebar > p { margin-bottom: 17px; }
    .asso-wizard__sidebar ol { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .asso-wizard__sidebar small { margin-top: 20px; }
    .asso-wizard__form { padding: 26px 21px 28px; }
    .asso-wizard__step-heading h3 { font-size: 23px; }
    .asso-wizard__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 430px) {
    .asso-wizard__sidebar ol { grid-template-columns: 1fr; }
    .asso-wizard__cards { grid-template-columns: 1fr; }
    .asso-wizard__actions { flex-direction: column-reverse; }
    .asso-wizard__button { width: 100%; }
}

/*
 * The wizard is embedded in pages built with different Elementor templates.
 * These final rules deliberately scope the visual system to the wizard, so
 * global heading, button and image styles do not alter the form interface.
 */
.asso-wizard {
    --asso-blue: #006bb5;
    --asso-navy: #004879;
    --asso-ink: #172f46;
    --asso-muted: #617185;
    --asso-line: #d9e2eb;
    --asso-soft: #f4f8fb;
    isolation: isolate;
    display: block !important;
    width: 100% !important;
    max-width: 1240px !important;
    margin: 36px auto !important;
    padding: 0 20px !important;
    color: var(--asso-ink) !important;
    font-family: "Hanken Grotesk", "Arial", sans-serif !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    letter-spacing: normal !important;
    line-height: 1.5 !important;
    text-align: left !important;
    text-transform: none !important;
}

.asso-wizard :where(h1, h2, h3, h4, p, ol, dl, dd, figure) {
    margin-top: 0 !important;
    font-family: inherit !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.asso-wizard :where(button, input, textarea, select) {
    font-family: inherit !important;
    font-size: 16px !important;
    font-style: normal !important;
    letter-spacing: normal !important;
    line-height: 1.4 !important;
    text-transform: none !important;
}

.asso-wizard__shell {
    grid-template-columns: 340px minmax(0, 1fr) !important;
    border: 1px solid #e1e7ed !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 18px 48px rgba(10, 44, 74, .12) !important;
}

.asso-wizard__sidebar {
    position: relative;
    overflow: hidden;
    padding: 42px 38px !important;
    color: #dcecf8 !important;
    background: #004879 !important;
}

.asso-wizard__sidebar::after {
    position: absolute;
    inset: auto -90px -120px auto;
    width: 260px;
    height: 260px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.asso-wizard__sidebar h3 {
    position: relative;
    z-index: 1;
    margin: 0 !important;
    color: #fff !important;
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
}

.asso-wizard__sidebar > p {
    position: relative;
    z-index: 1;
    margin: 17px 0 31px !important;
    color: #d7e8f6 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.58 !important;
}

.asso-wizard__sidebar ol {
    position: relative;
    z-index: 1;
    display: grid !important;
    gap: 5px !important;
}

.asso-wizard__sidebar li {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    min-height: 58px;
    padding: 10px 11px !important;
    border-radius: 12px;
    color: #b8d1e6 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

.asso-wizard__sidebar li > span {
    flex: 0 0 27px;
    width: 27px !important;
    height: 27px !important;
    border-color: currentColor !important;
    color: inherit !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.asso-wizard__sidebar li > div { min-width: 0; }
.asso-wizard__sidebar li b {
    display: block;
    color: inherit !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}

.asso-wizard__sidebar li small {
    display: block;
    margin: 3px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: #a8c5dc !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
}

.asso-wizard__sidebar li.is-active {
    color: #fff !important;
    background: rgba(255, 255, 255, .13) !important;
}

.asso-wizard__sidebar li.is-active > span {
    border-color: #fff !important;
    color: var(--asso-navy) !important;
    background: #fff !important;
}

.asso-wizard__sidebar li.is-active small { color: #dbeaf6 !important; }
.asso-wizard__sidebar li.is-complete { color: #e7f6ff !important; }
.asso-wizard__sidebar li.is-complete > span {
    border-color: #56c6f5 !important;
    color: var(--asso-navy) !important;
    background: #56c6f5 !important;
}

.asso-wizard__sidebar > small {
    position: relative;
    z-index: 1;
    display: block !important;
    margin: 30px 0 0 !important;
    padding: 18px 0 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .24) !important;
    color: #c5dcec !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
}

.asso-wizard__form {
    min-height: 650px;
    padding: 38px 44px 34px !important;
    background: #fff !important;
}

.asso-wizard__progress {
    color: #50718b !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
}

.asso-wizard__progress i {
    height: 5px !important;
    background: #e7eef4 !important;
}

.asso-wizard__progress b { background: #006bb5 !important; }

.asso-wizard__context {
    margin-top: 20px !important;
    border-left-color: #006bb5 !important;
    border-radius: 5px !important;
    color: #244c6b !important;
    background: #edf7fd !important;
    font-size: 13px !important;
}

.asso-wizard__step-heading {
    padding: 27px 0 22px !important;
    border-bottom-color: #d9e2eb !important;
}

.asso-wizard__step-heading span {
    color: #006bb5 !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .1em !important;
}

.asso-wizard__step-heading h3 {
    margin: 8px 0 0 !important;
    color: #082d51 !important;
    font-size: 29px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
}

.asso-wizard__field { margin-top: 23px !important; }
.asso-wizard__field > label {
    margin-bottom: 6px !important;
    color: #1b3249 !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.3 !important;
}

.asso-wizard__field-help,
.asso-wizard__hint {
    color: #617185 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

.asso-wizard__cards {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.asso-wizard .asso-wizard__card {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    min-width: 0 !important;
    min-height: 146px !important;
    margin: 0 !important;
    padding: 11px !important;
    border: 1px solid #cbd9e4 !important;
    border-radius: 11px !important;
    color: #172f46 !important;
    background: #fff !important;
    box-shadow: none !important;
    cursor: pointer !important;
    font-weight: 400 !important;
    text-align: left !important;
    text-decoration: none !important;
    transform: none !important;
}

.asso-wizard .asso-wizard__card:hover {
    border-color: #7fa9c7 !important;
    box-shadow: 0 5px 14px rgba(8, 45, 81, .08) !important;
    transform: translateY(-1px) !important;
}

.asso-wizard .asso-wizard__card.is-selected {
    border: 2px solid #006bb5 !important;
    padding: 10px !important;
    background: #edf7fd !important;
    box-shadow: 0 0 0 1px rgba(0, 107, 181, .08) !important;
}

.asso-wizard .asso-wizard__cards--text .asso-wizard__card,
.asso-wizard .asso-wizard__card--text {
    min-height: 78px !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    white-space: normal !important;
}

.asso-wizard .asso-wizard__cards--text .asso-wizard__card b,
.asso-wizard .asso-wizard__card--text b {
    width: 100%;
    white-space: normal !important;
    overflow-wrap: anywhere;
    text-align: center !important;
}

.asso-wizard__card-media {
    display: grid !important;
    width: 100% !important;
    height: 104px;
    margin: 0 0 10px !important;
    place-items: center !important;
    overflow: hidden;
    border: 0;
    background: transparent;
}

.asso-wizard__card-media img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    object-fit: contain !important;
    mix-blend-mode: darken;
}
.asso-wizard .asso-wizard__card-media--unknown > span {
    display: grid;
    width: 74px;
    height: 74px;
    place-items: center;
    border: 2px solid #c8e0ef;
    border-radius: 50%;
    color: #006bb5;
    background: #e9f5fc;
    font: 700 58px/1 Arial, sans-serif;
}

.asso-wizard .asso-wizard__radios--illustrated img { mix-blend-mode: darken; }

.asso-wizard__card b {
    color: #172f46 !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.35 !important;
}

.asso-wizard__card small {
    color: #617185 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
}

.asso-wizard__reference {
    max-width: 300px !important;
    padding: 10px !important;
    border-radius: 9px !important;
}

.asso-wizard__reference-media {
    position: relative;
    display: grid;
    min-height: 118px;
    place-items: center;
    overflow: hidden;
    border-radius: 5px;
    background: #edf3f7;
}

.asso-wizard__reference-media img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    object-fit: contain !important;
}

.asso-wizard__reference-media.is-missing::after {
    max-width: 190px;
    padding: 18px;
    color: #617185;
    content: "Rysunek pomocniczy jest niedostępny. Dodaj go w panelu WordPressa.";
    font-size: 12px;
    line-height: 1.45;
    text-align: center;
}

.asso-wizard .asso-wizard__field input[type="text"],
.asso-wizard .asso-wizard__field input[type="email"],
.asso-wizard .asso-wizard__field input[type="tel"],
.asso-wizard .asso-wizard__field input[type="number"],
.asso-wizard .asso-wizard__field textarea,
.asso-wizard .asso-wizard__field select {
    border-color: #bccbd7 !important;
    border-radius: 8px !important;
    color: #172f46 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.asso-wizard .asso-wizard__field input:focus,
.asso-wizard .asso-wizard__field textarea:focus,
.asso-wizard .asso-wizard__field select:focus {
    border-color: #006bb5 !important;
    box-shadow: 0 0 0 3px rgba(0, 107, 181, .13) !important;
}

.asso-wizard__actions {
    margin-top: 32px !important;
    padding-top: 25px !important;
}

.asso-wizard .asso-wizard__button {
    min-width: 136px !important;
    min-height: 47px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    border: 1px solid #006bb5 !important;
    border-radius: 7px !important;
    color: #fff !important;
    background: #006bb5 !important;
    box-shadow: none !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.asso-wizard .asso-wizard__button:hover,
.asso-wizard .asso-wizard__button:focus { background: #005893 !important; }
.asso-wizard .asso-wizard__button--secondary {
    color: #006bb5 !important;
    background: #fff !important;
}
.asso-wizard .asso-wizard__button--secondary:hover,
.asso-wizard .asso-wizard__button--secondary:focus { background: #edf7fd !important; }

@media (max-width: 1080px) {
    .asso-wizard__shell { grid-template-columns: 1fr !important; }
    .asso-wizard__sidebar { padding: 30px 32px !important; }
    .asso-wizard__sidebar ol { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
    .asso-wizard__sidebar li { min-height: 0; padding: 9px 7px !important; }
    .asso-wizard__sidebar li small { display: none !important; }
    .asso-wizard__sidebar > small { margin-top: 20px !important; }
}

@media (max-width: 760px) {
    .asso-wizard { margin: 22px auto !important; padding: 0 12px !important; }
    .asso-wizard__shell { border-radius: 14px !important; }
    .asso-wizard__sidebar { padding: 26px 22px !important; }
    .asso-wizard__sidebar h3 { font-size: 25px !important; }
    .asso-wizard__sidebar ol { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .asso-wizard__form { min-height: 0; padding: 27px 21px 29px !important; }
    .asso-wizard__step-heading h3 { font-size: 25px !important; }
    .asso-wizard__cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 430px) {
    .asso-wizard__sidebar ol,
    .asso-wizard__cards { grid-template-columns: 1fr !important; }
    .asso-wizard__sidebar li small { display: block !important; }
}

/* Mount-specific measurement guides, kept beside the matching inputs. */
.asso-wizard__dimension-intro { margin: 22px 0 0; }
.asso-wizard__dimension-intro strong { color: var(--asso-navy); font-size: 18px; }
.asso-wizard__dimension-intro p { margin: 7px 0 0; color: var(--asso-muted); font-size: 13px; line-height: 1.55; }
.asso-wizard__dimensions { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1fr); gap: 24px; align-items: start; margin-top: 24px; }
.asso-wizard .asso-wizard__drawing { position: sticky; top: 20px; margin: 0 !important; padding: 14px; border: 1px solid var(--asso-line); border-radius: 12px; background: #fff; }
.asso-wizard__drawing img { display: block !important; width: 100% !important; height: auto !important; max-height: 540px; margin: 0 !important; object-fit: contain; }
.asso-wizard__drawing figcaption { margin-top: 12px; color: var(--asso-muted); font-size: 12px; line-height: 1.45; text-align: center; }
.asso-wizard .asso-wizard__dimension-fields { display: grid; gap: 18px; }
.asso-wizard .asso-wizard__dimension-fields .asso-wizard__field { margin: 0 !important; }
.asso-wizard .asso-wizard__dimension-fields .asso-wizard__field > label { display: flex; align-items: center; gap: 9px; min-height: 36px; margin-bottom: 8px !important; font-size: 14px !important; }
.asso-wizard__dimension-symbol { display: grid; flex: 0 0 36px; width: 36px; height: 36px; place-items: center; border-radius: 8px; color: #006bb5; background: #eaf4fb; font-size: 15px; font-weight: 800; }
.asso-wizard__input-wrap input { padding-right: 63px !important; }
.asso-wizard [data-asso-answer="mount_variant"] { flex-shrink: 0; }
.asso-wizard [data-asso-question="mount_variant"] .asso-wizard__radios { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 600px) {
    .asso-wizard__dimensions { grid-template-columns: 1fr; gap: 22px; }
    .asso-wizard .asso-wizard__drawing { position: static; }
    .asso-wizard__drawing img { max-height: 400px; }
    .asso-wizard [data-asso-question="mount_variant"] .asso-wizard__radios { grid-template-columns: 1fr; }
}

.asso-wizard { box-sizing: border-box; }

/* Field guidance and a compact mobile wizard. */
.asso-wizard .asso-wizard__field-error { margin:8px 0 0!important;color:#a32727;font-size:13px;line-height:1.45; }
.asso-wizard .asso-wizard__field-error[hidden] { display:none!important; }
.asso-wizard .asso-wizard__field.has-error input,.asso-wizard .asso-wizard__field.has-error textarea { border-color:#bc3535!important; }
.asso-wizard__drawing a { display:inline-block;margin-top:6px;color:#006bb5;font-weight:700;text-decoration:underline; }
.asso-wizard__gaskets { margin-top:24px;border:1px solid #d9e2eb;border-radius:10px;background:#f8fbfd; }
.asso-wizard__gaskets>summary { padding:16px;cursor:pointer;color:#183047;font-weight:800;font-size:15px; }
.asso-wizard__gaskets>summary span { color:#617185;font-weight:400;font-size:13px; }
.asso-wizard__gaskets>div { padding:0 16px 18px; }
.asso-wizard__gaskets .asso-wizard__field { margin-top:16px!important; }
.asso-wizard__gaskets .asso-wizard__radios { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:760px){
 .asso-wizard__sidebar { padding:20px!important; }
 .asso-wizard__sidebar h3 { font-size:22px!important; }
 .asso-wizard__sidebar>p { display:none!important; }
 .asso-wizard__sidebar ol { display:flex!important;gap:6px!important;flex-wrap:nowrap;margin-top:15px!important; }
 .asso-wizard__sidebar li { flex:0 0 auto;min-width:0;padding:6px!important;gap:7px!important; }
 .asso-wizard__sidebar li:not(.is-active)>div { display:none!important; }
 .asso-wizard__sidebar li.is-active { flex:1 1 auto; }
 .asso-wizard__sidebar li b { font-size:12px!important; }
 .asso-wizard__sidebar li small { display:none!important; }
 .asso-wizard__sidebar>small { margin-top:13px!important;padding-top:12px!important;font-size:11px!important; }
 .asso-wizard__form { padding:23px 18px!important; }
 .asso-wizard__step-heading { padding:20px 0 17px!important; }
 .asso-wizard__cards { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
 .asso-wizard__drawing img { max-height:300px; }
 .asso-wizard__actions { flex-direction:row!important;gap:10px; }
 .asso-wizard .asso-wizard__button { flex:1 1 0;min-width:0!important;width:auto!important;padding:0 12px!important;font-size:14px!important; }
 .asso-wizard__gaskets .asso-wizard__radios label { padding:10px 8px;font-size:13px;gap:6px; }
}
@media(max-width:360px){
 .asso-wizard__sidebar { padding:17px 15px!important; }
 .asso-wizard__sidebar li { padding:5px 3px!important;gap:5px!important; }
 .asso-wizard__sidebar li>span { width:25px!important;height:25px!important;flex-basis:25px; }
 .asso-wizard__form { padding:22px 15px!important; }
}
