/* Keep the calculator on ASTA's 1160 px content line, with a restrained page hero. */
body.page-id-8872 main.asta-content { max-width: none; padding: 0 24px; overflow-x: clip; }
body.page-id-8872 .wp-block-post-content > .asta-pv-wizard { width: min(100%, 1160px); max-width: 1160px; margin-inline: auto; }
.asta-pv-wizard { position: relative; isolation: isolate; --pv-green: var(--asta-green, #47a013); --pv-dark: var(--asta-dark-green, #356a29); --pv-ink: var(--asta-ink, #1f242c); --pv-muted: #606862; --pv-border: #d9e1d5; padding-block: 22px 76px; color: var(--pv-ink); scroll-margin-top: 110px; }
.asta-pv-wizard::before { position: absolute; z-index: -2; inset-block: 0; left: calc(50% - 50vw); width: 100vw; background: #fff; content: ""; }
.asta-pv-wizard::after { display: none; }
.asta-pv-wizard *, .asta-pv-wizard *::before, .asta-pv-wizard *::after { box-sizing: border-box; }
.asta-pv-wizard [hidden] { display: none !important; }
.asta-pv-wizard > .asta-page-breadcrumbs { width: 100%; max-width: none; margin: 0 0 24px; }
.asta-pv-wizard__heading { position: relative; z-index: 0; isolation: isolate; max-width: none; padding: 38px 0 40px; margin: 0 0 26px; border: 0; }
.asta-pv-wizard__heading::before { position: absolute; z-index: -1; inset-block: 0; left: calc(50% - 50vw); width: 100vw; border-bottom: 1px solid #e5ebe1; background: #f4f8f1; content: ""; }
.asta-pv-wizard__heading h1 { margin: 0 0 10px; font-size: clamp(2.25rem, 3.6vw, 3.25rem); line-height: 1.08; letter-spacing: -.04em; text-wrap: balance; }
.asta-pv-wizard__heading p { max-width: none; margin: 0; color: var(--pv-muted); font-size: 1.08rem; line-height: 1.6; }
.asta-pv-wizard__heading .asta-pv-wizard__time { display: block; margin-top: 12px; color: var(--pv-dark); font-size: .875rem; font-weight: 650; }
.asta-pv-wizard__workspace { display: grid; grid-template-columns: minmax(0, 1fr) 312px; gap: 24px; align-items: stretch; }
.asta-pv-wizard__progress { position: sticky; top: 80px; z-index: 12; min-width: 0; padding: 8px 0 10px; border-bottom: 1px solid var(--pv-border); background: #fff; scroll-margin-top: 90px; }
.asta-pv-wizard__progress { grid-column: 1 / -1; }
.asta-pv-wizard__progress-caption { display: flex; justify-content: space-between; align-items: center; color: var(--pv-muted); font-size: .8rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.asta-pv-wizard__progress-caption [data-current-stage] { display: none; }
.asta-pv-wizard__track { position: relative; display: block; width: 100%; height: 2px; margin: 8px 0 0; overflow: hidden; background: #e4e9e1; }
.asta-pv-wizard__track > span { display: block; width: 14.286%; height: 100%; background: var(--pv-green); transition: width .2s ease; }
.asta-pv-wizard__stage-list { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); margin: 0; padding: 0; border: 0; list-style: none; }
.asta-pv-wizard button { display: inline-flex; align-items: center; justify-content: center; min-height: 56px; gap: 14px; padding: 12px 22px; border: 1px solid transparent; border-radius: 12px; background: var(--pv-green); color: #fff; font: inherit; font-size: 1rem; font-weight: 700; line-height: 1.35; cursor: pointer; transition: background .15s ease, color .15s ease; }
.asta-pv-wizard button:hover { background: var(--pv-dark); }
.asta-pv-wizard button:disabled { opacity: .6; cursor: wait; }
.asta-pv-wizard input:focus-visible, .asta-pv-wizard select:focus-visible, .asta-pv-wizard button:focus-visible, .asta-pv-wizard summary:focus-visible { outline: 3px solid rgb(71 160 19 / 30%); outline-offset: 3px; }
.asta-pv-wizard button.asta-pv-wizard__secondary { border-color: var(--pv-border); background: transparent; color: var(--pv-ink); }
.asta-pv-wizard button.asta-pv-wizard__secondary:hover { background: #f4f6f1; border-color: #b7c4ae; }
.asta-pv-wizard .asta-pv-wizard__stage-list button { position: relative; flex-direction: row; justify-content: flex-start; gap: 8px; width: 100%; min-height: 46px; padding: 6px 4px; margin: 0; border: 0; border-radius: 0 !important; background: transparent; color: var(--pv-muted); text-align: left; font-size: .72rem; font-weight: 600; line-height: 1.25; }
.asta-pv-wizard .asta-pv-wizard__stage-list button:disabled { opacity: 1; color: #80877f; cursor: default; }
.asta-pv-wizard .asta-pv-wizard__stage-list button[aria-current] { color: var(--pv-ink); font-weight: 750; }
.asta-pv-wizard .asta-pv-wizard__stage-list button:not(:disabled):hover { color: var(--pv-dark); }
/* Restore the wizard's own radii over the theme's mandatory border-radius for buttons, inputs, cards and panels. */
body.page-id-8872 .wp-block-post-content .asta-pv-wizard .asta-pv-wizard__input-unit input,
body.page-id-8872 .wp-block-post-content .asta-pv-wizard button.asta-pv-wizard__variant { border-radius: 0 !important; }
body.page-id-8872 .wp-block-post-content .asta-pv-wizard .asta-pv-wizard__panel { border-radius: 16px !important; }
body.page-id-8872 .wp-block-post-content .asta-pv-wizard .asta-pv-wizard__panel { border-radius: var(--asta-radius, 12px) !important; }
body.page-id-8872 .wp-block-post-content .asta-pv-wizard .asta-pv-wizard__project { border-radius: var(--asta-radius, 12px) !important; }
body.page-id-8872 .wp-block-post-content .asta-pv-wizard .asta-pv-wizard__contact-card { border-radius: var(--asta-radius, 12px) !important; }
body.page-id-8872 .wp-block-post-content .asta-pv-wizard .asta-pv-wizard__contact-card [data-submit] { border-radius: 12px !important; }
body.page-id-8872 .wp-block-post-content .asta-pv-wizard .asta-pv-wizard__field :is(input, select) { border-radius: 10px !important; }
body.page-id-8872 .wp-block-post-content .asta-pv-wizard .asta-pv-wizard__presets button { border-radius: 8px !important; }
.asta-pv-wizard__stage-number { display: inline-flex; flex: 0 0 24px; align-items: center; justify-content: center; width: 24px; height: 24px; border: 1px solid #d5ddd1; border-radius: 50%; color: #737c70; font-size: .68rem; font-weight: 650; font-variant-numeric: tabular-nums; }
.asta-pv-wizard [aria-current] .asta-pv-wizard__stage-number { border-color: var(--pv-green); background: var(--pv-green); color: #fff; font-weight: 700; }
.asta-pv-wizard .is-complete .asta-pv-wizard__stage-number { font-size: 0; }
.asta-pv-wizard .is-complete .asta-pv-wizard__stage-number::after { content: '✓'; color: var(--pv-dark); font-size: .75rem; }
.asta-pv-wizard button.asta-pv-wizard__stages-toggle { display: none;  font-size: 1rem; }
.asta-pv-wizard__panel { grid-column: 1; min-width: 0; padding: 30px; border: 1px solid #e0e7dc; border-radius: var(--asta-radius, 12px); background: #fff; box-shadow: 0 12px 32px rgb(31 36 44 / 4%); scroll-margin-top: 110px; }
.asta-pv-wizard__project { grid-column: 2; position: sticky; top: 188px; min-width: 0; padding: 18px; border: 1px solid #dfe8d9; border-radius: var(--asta-radius, 12px); background: #f4f8f1; }
.asta-pv-wizard__project-visual { position: relative; display: grid; min-height: 144px; place-items: center; margin: 0 0 20px; overflow: hidden; border-radius: 11px; background: #fff; }
.asta-pv-wizard__project-visual img { display: block; width: 100%; height: 144px; padding: 8px 12px; object-fit: contain; }
.asta-pv-wizard__project-visual figcaption { width: 100%; padding: 8px 12px 10px; border-top: 1px solid #edf1e9; color: var(--pv-muted); font-size: .72rem; line-height: 1.4; }
.asta-pv-wizard__project-context { padding: 0 0 18px; border-bottom: 1px solid #dbe4d6; }
.asta-pv-wizard__project-context > span { display: block; margin-bottom: 7px; color: var(--pv-dark); font-size: .68rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.asta-pv-wizard__project-context p { margin: 0; color: var(--pv-muted); font-size: .875rem; line-height: 1.6; }
.asta-pv-wizard__project-data h2 { margin: 17px 0 5px; color: var(--pv-ink); font-size: 1rem; font-weight: 750; line-height: 1.4; }
.asta-pv-wizard__project-data dl { margin: 0; }
.asta-pv-wizard__project-data dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 10px 0; border-bottom: 1px solid #dfe7da; }
.asta-pv-wizard__project-data dl > div:last-child { border-bottom: 0; }
.asta-pv-wizard__project-data dt { flex: 0 0 auto; color: var(--pv-muted); font-size: .78rem; line-height: 1.45; }
.asta-pv-wizard__project-data dd { min-width: 0; margin: 0; color: var(--pv-ink); font-size: .8125rem; font-weight: 650; line-height: 1.45; text-align: right; overflow-wrap: anywhere; }
.asta-pv-wizard__project-note { margin: 12px 0 0; padding-top: 12px; border-top: 1px solid #dbe4d6; color: var(--pv-muted); font-size: .75rem; line-height: 1.55; }
.asta-pv-wizard__form { display: flex; flex-direction: column; }
.asta-pv-wizard__step { min-width: 0; margin: 0; padding: 0; border: 0; }
.asta-pv-wizard__step > legend { width: 100%; padding: 0; margin: 0 0 8px; color: var(--pv-ink); font-size: clamp(1.8rem, 2.6vw, 2.25rem); font-weight: 750; line-height: 1.15; letter-spacing: -.04em; }
.asta-pv-wizard__step > legend:focus { outline: none; }
.asta-pv-wizard__help { max-width: 68ch; margin: 0 0 24px; color: var(--pv-muted); font-size: 1rem; line-height: 1.65; }
.asta-pv-wizard__choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.asta-pv-wizard__choice { position: relative; display: flex; min-width: 0; min-height: 268px; flex-direction: column; align-items: stretch; gap: 12px; overflow: hidden; padding: 12px; border: 1px solid #dbe4d7; border-radius: var(--asta-radius, 12px); background: #fff; cursor: pointer; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.asta-pv-wizard__choice:hover { border-color: #afc9a3; transform: translateY(-2px); }
.asta-pv-wizard__choice:has(input:checked) { border-color: var(--pv-green); background: #f4f9ef; }
.asta-pv-wizard__choice:has(input:focus-visible) { outline: 3px solid rgb(71 160 19 / 30%); outline-offset: 4px; }
.asta-pv-wizard__choice > input { position: absolute; top: 0; left: 0; width: 1px; height: 1px; opacity: 0; }
.asta-pv-wizard__choice img { display: block; flex: 0 0 auto; width: 100%; height: 150px; padding: 8px; border-radius: 9px; background: transparent; object-fit: contain; }
.asta-pv-wizard__choice:has(input:checked) img { background: transparent; }
.asta-pv-wizard__choice-caption { display: flex; flex-direction: column; gap: 6px; padding: 0 38px 2px 8px; margin-top: auto; }
.asta-pv-wizard__choice strong { font-size: 1.25rem; line-height: 1.3; font-weight: 750; letter-spacing: -.025em; }
.asta-pv-wizard__choice small { color: var(--pv-muted); line-height: 1.55; font-size: .95rem; }
.asta-pv-wizard__choice-check { position: absolute; top: 20px; right: 20px; width: 26px; height: 26px; border: 1px solid #9ba696; border-radius: 50%; background: #fff; }
.asta-pv-wizard__choice:has(input:checked) .asta-pv-wizard__choice-check { border-color: var(--pv-green); background: var(--pv-green); }
.asta-pv-wizard__choice:has(input:checked) .asta-pv-wizard__choice-check::after { content: ''; position: absolute; left: 7px; top: 4px; width: 6px; height: 10px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.asta-pv-wizard__comparison-note { margin: 17px 0 0; padding: 0; color: var(--pv-muted); font-size: .875rem; line-height: 1.6; }
.asta-pv-wizard__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.asta-pv-wizard__field { display: flex; flex-direction: column; gap: 9px; min-width: 0; margin: 22px 0 0; color: var(--pv-ink); font-size: 1rem; font-weight: 600; }
.asta-pv-wizard__field > span { line-height: 1.5; }
.asta-pv-wizard__field :is(input, select) { display: block; width: 100%; min-width: 0; min-height: 60px; padding: 16px 18px; border: 1px solid #bdc6b8; border-radius: 10px; background: #fff; color: var(--pv-ink); font: inherit; font-size: 1.125rem; font-weight: 400; }
.asta-pv-wizard__field input::placeholder { color: #91978c; opacity: 1; }
.asta-pv-wizard__field small { font-size: .875rem; font-weight: 400; line-height: 1.6; color: var(--pv-muted); }
.asta-pv-wizard__field--large { max-width: 480px; margin-top: 32px; }
.asta-pv-wizard :is([data-power-mode="manual"], [data-power-mode="area"]) .asta-pv-wizard__field { max-width: 480px;  font-size: 1rem; }
.asta-pv-wizard__input-unit { display: flex; align-items: center; border-bottom: 2px solid #bdc6b8; }
.asta-pv-wizard__input-unit:focus-within { border-color: var(--pv-green); }
.asta-pv-wizard .asta-pv-wizard__input-unit input { flex: 1; min-width: 0; padding: 10px 0; border: 0; border-radius: 0 !important; font-size: clamp(2rem, 3.5vw, 2.9rem); letter-spacing: -.04em; font-weight: 600; }
.asta-pv-wizard .asta-pv-wizard__input-unit input:focus-visible { outline-offset: 0; }
.asta-pv-wizard__input-unit > span { flex-shrink: 0; color: var(--pv-muted); font-size: .9rem; font-weight: 400; }
.asta-pv-wizard__segments { display: flex; gap: 26px; margin-bottom: 12px; border-bottom: 1px solid var(--pv-border); }
.asta-pv-wizard__segments label { position: relative; display: flex; cursor: pointer; }
.asta-pv-wizard__segments input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.asta-pv-wizard__segments span { display: flex; align-items: center; min-height: 48px; padding: 10px 0 12px; border-bottom: 2px solid transparent; margin-bottom: -1px; color: var(--pv-muted); font-size: 1rem; font-weight: 400; }
.asta-pv-wizard__segments input:checked + span { color: var(--pv-ink); font-weight: 700; border-color: var(--pv-green); }
.asta-pv-wizard__segments input:focus-visible + span { outline: 3px solid rgb(71 160 19 / 30%); outline-offset: 3px; }
.asta-pv-wizard__presets { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; margin-top: 12px; color: var(--pv-muted); font-size: .875rem; }
.asta-pv-wizard__presets button { min-height: 44px; padding: 10px 14px; border: 1px solid var(--pv-border); border-radius: 8px !important; background: transparent; color: var(--pv-dark); font-size: 1rem; font-weight: 500; text-decoration: none; text-underline-offset: 4px; }
.asta-pv-wizard__presets button:hover { color: var(--pv-green); background: transparent; }
.asta-pv-wizard__details { margin-top: 30px; border-top: 1px solid var(--pv-border); }
.asta-pv-wizard__details summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 56px; padding: 16px 0; color: var(--pv-ink); font-size: 1rem; font-weight: 600; cursor: pointer; list-style: none; line-height: 1.6; }
.asta-pv-wizard__details summary::-webkit-details-marker { display: none; }
.asta-pv-wizard__details summary::after { content: '+'; color: var(--pv-dark); font-size: 1.4rem; font-weight: 400; }
.asta-pv-wizard__details[open] summary::after { content: '−'; }
.asta-pv-wizard__details[open] { padding-bottom: 12px; }
.asta-pv-wizard__details .asta-pv-wizard__field { margin-top: 0;  font-size: 1rem; }
.asta-pv-wizard__monthly-inputs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 18px; }
.asta-pv-wizard__monthly-inputs .asta-pv-wizard__field { margin-top: 18px;  font-size: 1rem; }
.asta-pv-wizard__total { margin: 22px 0 0; color: var(--pv-ink); font-size: 1.125rem; font-weight: 700; }
.asta-pv-wizard__callout { max-width: 75ch; margin: 26px 0 8px; font-size: .875rem; }
.asta-pv-wizard__callout strong { color: var(--pv-ink); font-weight: 600; }
.asta-pv-wizard__callout p { margin: 6px 0 0; color: var(--pv-muted); line-height: 1.7; }
.asta-pv-wizard__defaults-note { margin: 24px 0 4px; padding: 12px 14px; border-left: 3px solid var(--pv-green); background: #f7faf5; color: var(--pv-muted); font-size: .875rem; line-height: 1.6; }
.asta-pv-wizard__defaults-note strong { color: var(--pv-ink); }
.asta-pv-wizard__search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: end; }
.asta-pv-wizard__search .asta-pv-wizard__field { margin: 0;  font-size: 1rem; }
.asta-pv-wizard__search button { min-height: 60px; }
.asta-pv-wizard__place-results { display: grid; margin: 8px 0; }
.asta-pv-wizard__place-results button { justify-content: flex-start; width: 100%; padding: 12px 14px; text-align: left; border: 0; border-bottom: 1px solid var(--pv-border); border-radius: 0; background: #f5f7f2; color: var(--pv-ink); font-weight: 400; }
.asta-pv-wizard__place-results button:hover { background: #eef3e8; }
.asta-pv-wizard__location-status { min-height: 1.5em; margin: 14px 0; font-size: .875rem; color: var(--pv-muted); line-height: 1.6; }
.asta-pv-wizard__map { height: 320px; border: 1px solid var(--pv-border); border-radius: 14px; background: #e9eee4; isolation: isolate; z-index: 0; }
.asta-pv-wizard__map .leaflet-control-attribution { font-size: 10px; }
.asta-pv-wizard__map .leaflet-control-attribution a { color: var(--pv-dark); }
.asta-pv-wizard__map .leaflet-control-zoom a { width: 44px; height: 44px; line-height: 44px; font-size: 24px; }
.asta-pv-wizard__pin > span { display: block; width: 28px; height: 28px; border: 3px solid #fff; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: var(--pv-green); box-shadow: 0 3px 9px #0004; }
.asta-pv-wizard__pin > span::after { content: ''; position: absolute; inset: 6px; border-radius: 50%; background: #fff; }
.asta-pv-wizard__fineprint { margin: 14px 0 0; color: var(--pv-muted); font-size: .875rem; line-height: 1.7; }
.asta-pv-wizard :is(.asta-pv-wizard__fineprint, .asta-pv-wizard__source, .asta-pv-wizard__assumptions) a { color: var(--pv-dark); text-underline-offset: 3px; }
.asta-pv-wizard__message { margin: 22px 0 0; color: #9b4023; font-size: 1rem; line-height: 1.6; }
.asta-pv-wizard__message:empty { margin: 0; }
.asta-pv-wizard__controls { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding-top: 22px; margin-top: 30px; border-top: 1px solid var(--pv-border); }
.asta-pv-wizard__controls > :is([data-next], [data-submit]) { margin-left: auto; }
.asta-pv-wizard__controls [data-back] { padding-left: 10px; padding-right: 12px; border-color: transparent; }
.asta-pv-wizard__back-arrow { display: inline-block; width: 11px; height: 11px; border-bottom: 2px solid currentColor; border-left: 2px solid currentColor; transform: rotate(45deg); }
.asta-pv-wizard__conversion { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); gap: 22px; align-items: stretch; margin: 28px 0; }
.asta-pv-wizard__preview { position: relative; min-width: 0; min-height: 480px; margin: 0; overflow: hidden; padding: 30px; border: 1px solid #d3e0c8; border-radius: var(--asta-radius, 12px); background: #f4f8f1; }
.asta-pv-wizard__preview-status { display: flex; align-items: center; gap: 14px; min-height: 300px; color: var(--pv-muted); font-size: 1rem; line-height: 1.6; }
.asta-pv-wizard__preview-status.is-loading::before { flex-shrink: 0; width: 20px; height: 20px; border: 2px solid #c9dcbc; border-top-color: var(--pv-green); border-radius: 50%; content: ""; animation: asta-pv-spin .8s linear infinite; }
.asta-pv-wizard__conversion.has-preview-error { grid-template-columns: minmax(0, 1fr); align-items: start; }
.asta-pv-wizard__preview.has-error { min-height: 0; padding: 18px 22px; border-color: #ead8c2; background: #fffaf4; }
.asta-pv-wizard__preview-status.is-error { flex-wrap: wrap; justify-content: space-between; min-height: 0; gap: 12px 20px; }
.asta-pv-wizard__preview-status.is-error > span { flex: 1 1 280px; }
.asta-pv-wizard button.asta-pv-wizard__preview-retry { flex: 0 0 auto; min-height: 44px; padding: 9px 15px; border-radius: 8px !important; font-size: .9rem; }
@keyframes asta-pv-spin { to { transform: rotate(360deg); } }
.asta-pv-wizard__preview-teaser { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.asta-pv-wizard__preview-teaser > div > span { display: block; margin-bottom: 8px; color: var(--pv-dark); font-size: .75rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.asta-pv-wizard__preview-teaser strong { display: block; color: var(--pv-ink); font-size: clamp(2.8rem, 5vw, 4.4rem); line-height: 1; letter-spacing: -.055em; }
.asta-pv-wizard__preview-teaser small { display: block; max-width: 38ch; margin-top: 10px; color: var(--pv-muted); font-size: .875rem; line-height: 1.55; }
.asta-pv-wizard__preview-source { flex-shrink: 0; margin-top: 6px; padding: 4px 0 4px 10px; border-left: 2px solid var(--pv-green); color: var(--pv-dark); font-size: .75rem; font-weight: 700; white-space: nowrap; }
.asta-pv-wizard__preview-locked { margin-top: 26px; filter: blur(7px); opacity: .5; pointer-events: none; user-select: none; }
.asta-pv-wizard__preview-doc { padding: 24px 24px 28px; border: 1px solid #dbe4d3; border-radius: var(--asta-radius, 12px); background: #fff; }
.asta-pv-wizard__preview-doc-head { display: grid; gap: 10px; padding-bottom: 16px; border-bottom: 1px solid #eef2e9; }
.asta-pv-wizard__preview-doc-head::before, .asta-pv-wizard__preview-doc-head::after { height: 11px; border-radius: 6px; background: #e2eadb; content: ""; }
.asta-pv-wizard__preview-doc-head::before { width: 58%; }
.asta-pv-wizard__preview-doc-head::after { width: 36%; }
.asta-pv-wizard__preview-bars { display: flex; align-items: flex-end; gap: 8px; height: 130px; padding: 16px 0 12px; border-bottom: 1px solid #eef2e9; }
.asta-pv-wizard__preview-bars > span { flex: 1 1 0; min-width: 0; border-radius: 5px 5px 2px 2px; background: #9ccb7d; }
.asta-pv-wizard__preview-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 16px; }
.asta-pv-wizard__preview-kpis > div { display: grid; gap: 9px; padding: 12px; border: 1px solid #e6ede0; border-radius: 10px; background: #fbfdfb; }
.asta-pv-wizard__preview-kpis > div::before { width: 62%; height: 7px; border-radius: 4px; background: #e0e8da; content: ""; }
.asta-pv-wizard__preview-kpis > div::after { width: 82%; height: 13px; border-radius: 4px; background: #c7dcae; content: ""; }
.asta-pv-wizard__preview-gate { position: absolute; right: 24px; bottom: 26px; left: 24px; display: flex; flex-direction: column; align-items: center; padding: 22px 18px 18px; border: 1px solid #dbe4d3; border-radius: var(--asta-radius, 12px); background: #fff; box-shadow: 0 6px 18px rgb(31 36 44 / 8%); text-align: center; }
.asta-pv-wizard__preview-lock { position: relative; width: 44px; height: 44px; margin-bottom: 10px; border-radius: 50%; background: var(--pv-dark); }
.asta-pv-wizard__preview-lock::before { position: absolute; top: 10px; left: 50%; width: 12px; height: 9px; border: 2.5px solid #fff; border-bottom: 0; border-radius: 8px 8px 0 0; content: ""; transform: translateX(-50%); }
.asta-pv-wizard__preview-lock::after { position: absolute; top: 19px; left: 50%; width: 19px; height: 14px; border-radius: 4px; background: #fff; content: ""; transform: translateX(-50%); }
.asta-pv-wizard__preview-gate > strong { color: var(--pv-ink); font-size: 1.05rem; letter-spacing: -.01em; }
.asta-pv-wizard__preview-gate > small { margin-top: 4px; color: var(--pv-muted); font-size: .78rem; line-height: 1.55; }
.asta-pv-wizard__contact-card { position: relative; min-width: 0; padding: 32px 30px 28px; border-radius: var(--asta-radius, 12px); background: var(--pv-dark); color: #fff; box-shadow: 0 8px 24px rgb(31 36 44 / 12%); }
.asta-pv-wizard__contact-intro { position: relative; margin: 0 0 18px; }
.asta-pv-wizard__contact-intro > span { display: block; margin-bottom: 8px; color: #d7efc9; font-size: .72rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.asta-pv-wizard__contact-intro h2 { margin: 0 0 8px; color: #fff; font-size: 1.65rem; line-height: 1.2; letter-spacing: -.03em; }
.asta-pv-wizard__contact-intro p { margin: 0; color: rgb(255 255 255 / 80%); font-size: .875rem; line-height: 1.6; }
.asta-pv-wizard__contact-list { position: relative; display: grid; gap: 10px; margin: 0 0 22px; padding: 0 0 20px; border-bottom: 1px solid rgb(255 255 255 / 15%); list-style: none; }
.asta-pv-wizard__contact-list li { position: relative; padding-left: 30px; color: rgb(255 255 255 / 88%); font-size: .875rem; line-height: 1.55; }
.asta-pv-wizard__contact-list li::before { position: absolute; top: 2px; left: 0; width: 17px; height: 17px; border: 1px solid rgb(215 239 201 / 70%); border-radius: 50%; background: rgb(215 239 201 / 10%); content: ""; }
.asta-pv-wizard__contact-list li::after { position: absolute; top: 6px; left: 5px; width: 5px; height: 8px; border: solid #d7efc9; border-width: 0 2px 2px 0; content: ""; transform: rotate(45deg); }
.asta-pv-wizard__contact-card .asta-pv-wizard__fields { grid-template-columns: minmax(0, 1fr); gap: 14px; margin-top: 0; }
.asta-pv-wizard__contact-card .asta-pv-wizard__field { margin: 0; color: #fff; }
.asta-pv-wizard__contact-card .asta-pv-wizard__field > span { font-size: .9rem; }
.asta-pv-wizard__contact-card .asta-pv-wizard__field :is(input, select) { min-height: 58px; border-color: transparent; border-radius: 12px; background: #fff; font-size: 1.05rem; }
.asta-pv-wizard__contact-card .asta-pv-wizard__field :is(input, select):focus-visible { outline-color: rgb(139 215 92 / 60%); }
.asta-pv-wizard__contact-card .asta-pv-wizard__fineprint { color: rgb(255 255 255 / 68%); }
.asta-pv-wizard__contact-card .asta-pv-wizard__fineprint a { color: #fff; }
.asta-pv-wizard .asta-pv-wizard__contact-card [data-submit] { width: 100%; min-height: 60px; margin-top: 20px; border-color: transparent; border-radius: var(--asta-radius, 12px); background: var(--pv-green); color: #fff; font-size: 1.05rem; font-weight: 750; transition: background .15s ease; }
.asta-pv-wizard .asta-pv-wizard__contact-card [data-submit]:hover { background: var(--pv-dark); }
.asta-pv-wizard__review-disclosure { margin-top: 12px; border-top: 1px solid var(--pv-border); border-bottom: 1px solid var(--pv-border); }
.asta-pv-wizard__review-disclosure > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 68px; color: var(--pv-ink); cursor: pointer; list-style: none; }
.asta-pv-wizard__review-disclosure > summary::-webkit-details-marker { display: none; }
.asta-pv-wizard__review-disclosure > summary::after { content: "+"; color: var(--pv-dark); font-size: 1.4rem; }
.asta-pv-wizard__review-disclosure[open] > summary::after { content: "−"; }
.asta-pv-wizard__review-disclosure > summary span { display: flex; flex-direction: column; gap: 3px; font-weight: 700; }
.asta-pv-wizard__review-disclosure > summary small { color: var(--pv-muted); font-size: .8rem; font-weight: 400; }
.asta-pv-wizard__review { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; margin: 0 0 20px; border-top: 1px solid var(--pv-border); }
.asta-pv-wizard__review > div { position: relative; min-width: 0; padding: 16px 54px 16px 0; border-bottom: 1px solid var(--pv-border); }
.asta-pv-wizard__review dt { color: var(--pv-muted); font-size: .8rem; }
.asta-pv-wizard__review dd { margin: 5px 0 0; color: var(--pv-ink); font-size: 1rem; font-weight: 600; overflow-wrap: anywhere; }
.asta-pv-wizard .asta-pv-wizard__review button { position: absolute; top: 14px; right: 0; min-height: 36px; padding: 6px 0; border: 0; background: transparent; color: var(--pv-dark); font-size: .8rem; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.asta-pv-wizard .asta-pv-wizard__review button:hover { background: transparent; color: var(--pv-green); }
.asta-pv-wizard__honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.asta-pv-wizard__source { margin: 32px 0 0; color: var(--pv-muted); font-size: .875rem; line-height: 1.7; }
.asta-pv-wizard.is-report .asta-pv-wizard__source { margin-left: 0; }
.asta-pv-wizard__report { scroll-margin-top: 110px; }
.asta-pv-wizard__report:focus { outline: none; }
.asta-pv-wizard__report-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; padding-bottom: 24px; border-bottom: 1px solid var(--pv-border); }
.asta-pv-wizard__report-head h2 { margin: 0 0 12px; font-size: clamp(1.8rem, 3vw, 2.3rem); line-height: 1.2; letter-spacing: -.035em; }
.asta-pv-wizard__report-head p { margin: 0; color: var(--pv-muted); font-size: 1rem; line-height: 1.7; }
.asta-pv-wizard__report-meta { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 16px; font-size: 1rem; color: var(--pv-muted); }
.asta-pv-wizard__report-meta strong { color: var(--pv-ink); font-weight: 700; }
.asta-pv-wizard__report-actions { display: flex; flex-shrink: 0; flex-direction: column; gap: 8px; }
.asta-pv-wizard__export-status { color: var(--pv-muted); font-size: .8rem; line-height: 1.45; }
.asta-pv-wizard__export-status:empty { display: none; }
.asta-pv-wizard__notice { margin: 18px 0 30px; color: var(--pv-muted); font-size: .875rem; line-height: 1.6; }
.asta-pv-wizard__notice--warning { padding: 14px 16px; border: 1px solid #ead8c2; border-radius: 10px; background: #fffaf4; color: #654f39; font-weight: 600; }
.asta-pv-wizard__investor { margin: 26px 0 38px; padding: 28px; border: 1px solid #d6e2cf; border-radius: var(--asta-radius, 12px); background: #f6f9f3; }
.asta-pv-wizard__investor-heading { max-width: 78ch; margin-bottom: 20px; }
.asta-pv-wizard__investor-heading h3 { margin-bottom: 7px; }
.asta-pv-wizard__investor-heading p { margin: 0; color: var(--pv-muted); font-size: .95rem; line-height: 1.65; }
.asta-pv-wizard__investor-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.asta-pv-wizard__investor-metric { display: flex; min-width: 0; flex-direction: column; gap: 8px; padding: 16px; border: 1px solid #e1e9dc; border-radius: 9px; background: #fff; }
.asta-pv-wizard__investor-metric > span { color: var(--pv-muted); font-size: .8rem; font-weight: 600; line-height: 1.4; }
.asta-pv-wizard__investor-metric > strong { color: var(--pv-ink); font-size: clamp(1.1rem, 1.6vw, 1.45rem); font-variant-numeric: tabular-nums; line-height: 1.2; letter-spacing: -.03em; overflow-wrap: anywhere; }
.asta-pv-wizard__investor-metric:first-child > strong { color: var(--pv-dark); }
.asta-pv-wizard__investor-metric > small { color: var(--pv-muted); font-size: .75rem; line-height: 1.5; }
.asta-pv-wizard__investor-note { margin-top: 16px; color: var(--pv-muted); font-size: .8rem; line-height: 1.65; }
.asta-pv-wizard button.asta-pv-wizard__investor-action { min-height: 44px; margin-top: 14px; padding: 9px 14px; border-color: #cfdac9; border-radius: 8px; background: #fff; font-size: .875rem; }
.asta-pv-wizard button.asta-pv-wizard__investor-action:hover { background: #edf4e9; }
.asta-pv-wizard__investor-comparison { padding-top: 26px; margin-top: 26px; border-top: 1px solid var(--pv-border); }
.asta-pv-wizard__investor-comparison h4 { margin: 0 0 8px; color: var(--pv-ink); font-size: 1.05rem; line-height: 1.4; }
.asta-pv-wizard__investor-comparison .asta-pv-wizard__help { margin-bottom: 16px; font-size: .875rem; }
.asta-pv-wizard__investor-table-scroll { margin-bottom: 8px; }
.asta-pv-wizard__investor-table-scroll table { min-width: 760px; font-size: .8rem; }
.asta-pv-wizard__investor-table-scroll :is(th, td) { padding: 11px 12px; }
.asta-pv-wizard__investor-table-scroll th:not(:first-child) { text-align: right; }
.asta-pv-wizard__investor-table-scroll td { font-variant-numeric: tabular-nums; white-space: nowrap; }
.asta-pv-wizard__storage-analysis { margin: 28px 0 38px; padding: 28px; border: 1px solid #cfe0c7; border-radius: var(--asta-radius, 12px); background: #f4f8f1; }
.asta-pv-wizard__storage-analysis .asta-pv-wizard__help { margin-bottom: 20px; }
.asta-pv-wizard__storage-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.asta-pv-wizard__storage-metrics > div { display: flex; min-width: 0; flex-direction: column; gap: 5px; padding-top: 14px; border-top: 1px solid #cbdcc3; }
.asta-pv-wizard__storage-metrics span { color: var(--pv-muted); font-size: .8rem; }
.asta-pv-wizard__storage-metrics strong { color: var(--pv-ink); font-size: 1.15rem; line-height: 1.3; }
.asta-pv-wizard__report h3 { margin: 0 0 10px; font-size: 1.35rem; line-height: 1.3; letter-spacing: -.025em; }
.asta-pv-wizard__variant-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.asta-pv-wizard button.asta-pv-wizard__variant { display: flex; align-items: stretch; flex-direction: column; justify-content: flex-start; gap: 9px; padding: 12px 0 20px; border: 0; border-bottom: 2px solid #d0d6cc; border-radius: 0 !important; background: transparent; color: var(--pv-ink); text-align: left; }
.asta-pv-wizard button.asta-pv-wizard__variant:hover { background: transparent; border-color: #99b983; }
.asta-pv-wizard button.asta-pv-wizard__variant[aria-pressed="true"] { border-color: var(--pv-green); }
.asta-pv-wizard__variant-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 1.125rem; }
.asta-pv-wizard__variant-indicator { display: inline-block; flex: 0 0 24px; height: 24px; border: 1px solid #a5afa0; border-radius: 50%; }
.asta-pv-wizard [aria-pressed="true"] .asta-pv-wizard__variant-indicator { border: 5px solid var(--pv-green);  flex: 0 0 24px;  height: 24px; }
.asta-pv-wizard__variant-energy { display: flex; align-items: baseline; gap: 8px; font-size: clamp(2rem, 3vw, 2.65rem); font-weight: 700; letter-spacing: -.05em; line-height: 1.2; }
.asta-pv-wizard__variant-energy small { font-size: .875rem; letter-spacing: 0; }
.asta-pv-wizard__variant small { color: var(--pv-muted); font-size: .875rem; font-weight: 400; line-height: 1.6; }
.asta-pv-wizard__variant-bar { height: 5px; margin: 6px 0; background: #ebeee8; }
.asta-pv-wizard__variant-bar > span { display: block; height: 100%; background: #9fc58b; }
.asta-pv-wizard [aria-pressed="true"] .asta-pv-wizard__variant-bar > span { background: var(--pv-green); }
.asta-pv-wizard__variant-tag { color: var(--pv-muted); font-size: .875rem; font-weight: 400; line-height: 1.6; }
.asta-pv-wizard__variant-tag.is-best { color: var(--pv-dark); }
.asta-pv-wizard__variant-autoconsumption { display: flex; width: 100%; flex-direction: column; align-items: flex-start; gap: 3px; padding: 14px 16px 13px; border-left: 3px solid #a9c79a; background: #f4f8f1; }
.asta-pv-wizard__variant-autoconsumption-label { color: var(--pv-dark); font-size: .7rem; font-weight: 750; letter-spacing: .075em; line-height: 1.4; text-transform: uppercase; }
.asta-pv-wizard__variant-autoconsumption-value { color: var(--pv-dark); font-size: clamp(1.75rem, 2.4vw, 2.25rem); font-weight: 750; font-variant-numeric: tabular-nums; letter-spacing: -.045em; line-height: 1.08; }
.asta-pv-wizard__variant-autoconsumption-volume { color: var(--pv-muted); font-size: .8rem; line-height: 1.45; }
.asta-pv-wizard__variant-load-coverage { display: flex; width: 100%; justify-content: space-between; align-items: baseline; gap: 12px; padding: 9px 0 1px; border-top: 1px solid var(--pv-border); color: var(--pv-muted); font-size: .78rem; line-height: 1.4; }
.asta-pv-wizard__variant-load-coverage strong { flex: 0 0 auto; color: var(--pv-ink); font-size: .82rem; font-variant-numeric: tabular-nums; }
.asta-pv-wizard button.asta-pv-wizard__variant[aria-pressed="true"] .asta-pv-wizard__variant-autoconsumption { border-left-color: var(--pv-green); background: #eef5e9; }
.asta-pv-wizard__balance { padding-top: 34px; }
.asta-pv-wizard__coverage { max-width: 740px; margin: 22px 0 30px; }
.asta-pv-wizard__coverage > p { margin: 0 0 12px; color: var(--pv-muted); font-size: 1rem; }
.asta-pv-wizard__coverage strong { color: var(--pv-ink); }
.asta-pv-wizard__coverage-track { display: flex; height: 12px; overflow: hidden; background: #e6eae2; }
.asta-pv-wizard__coverage-min { background: var(--pv-green); }
.asta-pv-wizard__coverage-range { background: repeating-linear-gradient(135deg, #88be66, #88be66 3px, #d7e9cb 3px, #d7e9cb 6px); }
.asta-pv-wizard__coverage small { display: block; margin-top: 9px; color: var(--pv-muted); font-size: .875rem; line-height: 1.6; }
.asta-pv-wizard__metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 36px; }
.asta-pv-wizard__metric { display: flex; flex-direction: column; gap: 10px; padding: 22px 0; border-top: 1px solid var(--pv-border); }
.asta-pv-wizard__metric > span { color: var(--pv-muted); font-size: 1rem; }
.asta-pv-wizard__metric > strong { color: var(--pv-ink); font-size: clamp(1.3rem, 2vw, 1.55rem); font-weight: 700; line-height: 1.3; letter-spacing: -.035em; }
.asta-pv-wizard__metric > small { color: var(--pv-muted); font-size: .875rem; line-height: 1.6; }
.asta-pv-wizard__metric--finance > strong { color: var(--pv-dark); }
.asta-pv-wizard__chart { padding-top: 32px; margin-top: 24px; border-top: 1px solid var(--pv-border); }
.asta-pv-wizard__chart-legend { display: flex; flex-wrap: wrap; gap: 12px 24px; margin: 20px 0; font-size: .875rem; color: var(--pv-muted); }
.asta-pv-wizard__chart-legend span { display: flex; align-items: center; gap: 8px; }
.asta-pv-wizard__chart-legend span::before { content: ''; width: 10px; height: 10px; background: var(--series-color); }
.asta-pv-wizard .series-0 { --series-color: #47a013; fill: #47a013; }
.asta-pv-wizard .series-1 { --series-color: #90b1b8; fill: #90b1b8; }
.asta-pv-wizard .series-2 { --series-color: #b9c99f; fill: #b9c99f; }
.asta-pv-wizard .series-3 { --series-color: #333b37; }
.asta-pv-wizard__chart-scroll { overflow-x: auto; overscroll-behavior-x: contain; }
.asta-pv-wizard__chart svg { display: block; width: 100%; min-width: 900px; height: auto; }
.asta-pv-wizard__chart svg text { fill: #666c68; font-family: inherit; font-size: 16px; }
.asta-pv-wizard__chart .grid-line { stroke: #e5e8e3; stroke-width: 1; }
.asta-pv-wizard__chart .usage-line { stroke: #333b37; stroke-width: 2.5; stroke-dasharray: 7 4; }
.asta-pv-wizard__table-scroll { max-width: 100%; overflow-x: auto; margin-bottom: 18px; }
.asta-pv-wizard table { width: 100%; border-collapse: collapse; min-width: 550px; font-size: .875rem; }
.asta-pv-wizard caption { text-align: left; font-weight: 600; margin-bottom: 14px; }
.asta-pv-wizard :is(th, td) { padding: 12px; border-bottom: 1px solid var(--pv-border); text-align: right; }
.asta-pv-wizard tr > :first-child { text-align: left; }
.asta-pv-wizard thead { color: var(--pv-ink); }
.asta-pv-wizard__assumptions { margin-top: 24px; }
.asta-pv-wizard__assumptions p { max-width: 105ch; margin: 0 0 14px; color: var(--pv-muted); font-size: .875rem; line-height: 1.8; }
.asta-pv-wizard__assumptions a { display: inline-block; margin-top: 4px; font-size: .875rem; }
.asta-pv-wizard__environmental { margin: 38px 0 24px; padding: 28px; border: 1px solid #d8e4d1; border-radius: var(--asta-radius, 12px); background: #f6f9f3; }
.asta-pv-wizard__environmental > h3 { margin: 0 0 8px; }
.asta-pv-wizard__environmental > .asta-pv-wizard__help { max-width: 78ch; margin-bottom: 20px; }
.asta-pv-wizard__environmental-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.asta-pv-wizard__environmental-card { display: flex; min-width: 0; flex-direction: column; gap: 7px; padding: 18px; border: 1px solid #e1e9dc; border-radius: 9px; background: #fff; }
.asta-pv-wizard__environmental-card > span { color: var(--pv-muted); font-size: .82rem; font-weight: 600; }
.asta-pv-wizard__environmental-card > strong { color: var(--pv-dark); font-size: clamp(1.15rem, 1.8vw, 1.55rem); line-height: 1.2; letter-spacing: -.025em; font-variant-numeric: tabular-nums; }
.asta-pv-wizard__environmental-card > small { color: var(--pv-muted); font-size: .78rem; line-height: 1.5; }
.asta-pv-wizard__environmental-source { display: inline-block; margin-top: 16px; color: var(--pv-dark); font-size: .85rem; text-underline-offset: 3px; }
.asta-pv-wizard__environmental > .asta-pv-wizard__fineprint { max-width: 100ch; margin: 10px 0 0; }
.asta-pv-wizard__extended-data { margin-top: 38px; }
.asta-pv-wizard__extended-data > h3 { margin-bottom: 8px; }
.asta-pv-wizard__extended-data > h4 { margin: 34px 0 8px; padding-top: 22px; border-top: 1px solid var(--pv-border); font-size: 1.05rem; line-height: 1.4; }
.asta-pv-wizard__extended-data > h4:first-of-type { margin-top: 28px; }
.asta-pv-wizard__extended-data > .asta-pv-wizard__help { max-width: 82ch; margin-bottom: 16px; }
.asta-pv-wizard__technical-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.asta-pv-wizard__technical-card { min-width: 0; padding: 18px; border: 1px solid #dfe7da; border-radius: 10px; background: #fff; }
.asta-pv-wizard__technical-card-heading { display: flex; min-height: 58px; align-items: flex-start; flex-direction: column; gap: 5px; padding-bottom: 14px; border-bottom: 1px solid var(--pv-border); }
.asta-pv-wizard__technical-card-heading h4 { margin: 0; color: var(--pv-muted); font-size: .85rem; font-weight: 650; }
.asta-pv-wizard__technical-card-heading > strong { color: var(--pv-ink); font-size: 1.55rem; font-variant-numeric: tabular-nums; letter-spacing: -.035em; line-height: 1.2; }
.asta-pv-wizard__technical-card-heading > strong small { color: var(--pv-muted); font-size: .78rem; font-weight: 550; letter-spacing: 0; }
.asta-pv-wizard__technical-list { display: grid; grid-template-columns: minmax(0, 1fr); margin: 4px 0 0; }
.asta-pv-wizard__technical-list > div { display: flex; min-width: 0; justify-content: space-between; gap: 14px; padding: 10px 0; border-bottom: 1px solid #edf0eb; }
.asta-pv-wizard__technical-list > div:last-child { border-bottom: 0; }
.asta-pv-wizard__technical-list dt { color: var(--pv-muted); font-size: .78rem; line-height: 1.45; }
.asta-pv-wizard__technical-list dd { margin: 0; color: var(--pv-ink); font-size: .8rem; font-weight: 650; font-variant-numeric: tabular-nums; line-height: 1.45; text-align: right; white-space: nowrap; }
.asta-pv-wizard__extended-data .asta-pv-wizard__table-scroll { margin-top: 16px; border: 1px solid #e1e8dd; border-radius: 9px; }
.asta-pv-wizard__extended-data table { min-width: 980px; font-size: .8rem; }
.asta-pv-wizard__extended-data th, .asta-pv-wizard__extended-data td { padding: 10px; vertical-align: top; }
.asta-pv-wizard__extended-data td { font-variant-numeric: tabular-nums; white-space: nowrap; }
.asta-pv-wizard__extended-data tr > :first-child { min-width: 120px; }
.asta-pv-wizard__extended-data tbody tr:nth-child(even) { background: #f7f9f5; }
.asta-pv-wizard__extended-data tbody th { position: sticky; left: 0; z-index: 1; background: #fff; box-shadow: 1px 0 #e1e8dd; }
.asta-pv-wizard__extended-data tbody tr:nth-child(even) th { background: #f7f9f5; }
.asta-pv-wizard__extended-data thead th:first-child { position: sticky; left: 0; z-index: 2; background: #f1f5ee; box-shadow: 1px 0 #e1e8dd; }
.asta-pv-wizard__extended-data .asta-pv-wizard__fineprint { margin: 10px 0 18px; }
@media (max-width: 850px) {
  .asta-pv-wizard__environmental { margin-top: 28px; padding: 22px 18px; }
  .asta-pv-wizard__environmental-cards { grid-template-columns: minmax(0, 1fr); }
  .asta-pv-wizard__technical-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
body.page-id-8872 .asta-footer-cta { display: none; }
/* WordPress applies its root block gap to the footer template-part wrapper. */
body.page-id-8872 .wp-site-blocks > footer.wp-block-template-part { margin-block-start: 0; }
body.page-id-8872 .asta-footer { margin-top: 0; padding-top: clamp(48px, 6vw, 88px); }
@media (max-width: 1100px) {
  .asta-pv-wizard__choice { min-height: 252px; }
  .asta-pv-wizard__choice img { height: 138px; }
  .asta-pv-wizard__choices { gap: 14px; }
  .asta-pv-wizard__choice { gap: 12px; padding: 12px; }
  .asta-pv-wizard__choice strong { font-size: 1.125rem; }
  .asta-pv-wizard__variant-cards { gap: 24px; }
}
@media (max-width: 980px) {
  .asta-pv-wizard__workspace { grid-template-columns: minmax(0, 1fr); }
  .asta-pv-wizard__panel, .asta-pv-wizard__project { grid-column: 1; }
  .asta-pv-wizard__project { position: static; }
}
@media (max-width: 850px) {
  .asta-pv-wizard__heading { margin-bottom: 24px; padding-bottom: 28px; }
  .asta-pv-wizard__workspace { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .asta-pv-wizard__project { position: static; grid-column: 1; }
  .asta-pv-wizard__panel { grid-column: 1; }
  .asta-pv-wizard__progress { position: sticky; top: 72px; width: 100vw; margin-left: calc(50% - 50vw); padding: 10px 24px 8px; border: 0; border-bottom: 1px solid var(--pv-border); }
  .asta-pv-wizard__progress-caption { min-height: 26px; }
  .asta-pv-wizard .asta-pv-wizard__progress-caption { justify-content: flex-start; gap: 8px; }
  .asta-pv-wizard__progress-caption [data-current-stage] { display: inline; color: var(--pv-ink); font-weight: 700; }
  .asta-pv-wizard__progress-caption [data-current-stage]::before { content: "· "; color: #a0a99b; }
  .asta-pv-wizard button.asta-pv-wizard__stages-toggle { display: inline-flex; min-height: 36px; padding: 4px 0 4px 8px; margin-left: auto; border: 0; background: transparent; color: var(--pv-dark); font-size: .82rem; font-weight: 650; }
  .asta-pv-wizard button.asta-pv-wizard__stages-toggle:hover { background: transparent; color: var(--pv-green); }
  .asta-pv-wizard__stage-list { display: none; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; overflow: visible; padding: 8px 0 0; }
  .asta-pv-wizard__progress.is-open .asta-pv-wizard__stage-list { display: grid; }
  .asta-pv-wizard .asta-pv-wizard__stage-list button { min-width: 0; min-height: 42px; flex-direction: row; justify-content: flex-start; padding: 5px 0; text-align: left; }
  .asta-pv-wizard__choices { grid-template-columns: minmax(0, 1fr); }
  .asta-pv-wizard__choice { min-height: 0; flex-direction: row; align-items: center; gap: 18px; padding: 12px; }
  .asta-pv-wizard__choice img { flex: 0 0 32%; width: 32%; height: 164px; }
  .asta-pv-wizard__choice-caption { padding-right: 38px; margin-top: 0; }
  .asta-pv-wizard__choice-check { top: 50%; right: 16px; transform: translateY(-50%); }
  .asta-pv-wizard__choice strong { font-size: 1.25rem; }
  .asta-pv-wizard__panel { scroll-margin-top: 190px; }
  .asta-pv-wizard__source { margin-left: 0; }
  .asta-pv-wizard__report-head { flex-direction: column; gap: 22px; }
  .asta-pv-wizard__report-actions { flex-direction: row; flex-wrap: wrap; }
  .asta-pv-wizard__variant-cards { gap: 20px; }
  .asta-pv-wizard__variant-energy { font-size: 2rem; }
  .asta-pv-wizard__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .asta-pv-wizard__investor-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .asta-pv-wizard__conversion { grid-template-columns: minmax(0, 1fr); }
  .asta-pv-wizard__preview { min-height: 0; }
  .asta-pv-wizard__preview-status { min-height: 220px; }
}

@media (max-width: 600px) {
  .asta-pv-wizard__technical-cards { grid-template-columns: minmax(0, 1fr); }
  .asta-pv-wizard__technical-card-heading { min-height: 0; }
  body.page-id-8872 main.asta-content { padding: 0 20px; }
  .asta-pv-wizard { padding-block: 22px 56px; }
  .asta-pv-wizard > .asta-page-breadcrumbs { margin-bottom: 28px; font-size: .875rem; }
  .asta-pv-wizard__heading { margin-bottom: 18px; padding: 28px 0 26px; }
  .asta-pv-wizard__heading h1 { font-size: 2rem; }
  .asta-pv-wizard__heading p { font-size: 1rem; }
  .asta-pv-wizard__heading .asta-pv-wizard__time { display: block; width: fit-content; }
  .asta-pv-wizard__workspace { gap: 22px; }
  .asta-pv-wizard__panel { padding: 22px 18px; border: 1px solid #e0e7dc; border-radius: 16px; background: #fff; box-shadow: none; }
  body.page-id-8872 .wp-block-post-content .asta-pv-wizard .asta-pv-wizard__panel { border-radius: var(--asta-radius, 12px) !important; }
  .asta-pv-wizard__step > legend { font-size: 1.8rem; }
  .asta-pv-wizard__help { margin-bottom: 22px; font-size: 1rem; }
  .asta-pv-wizard__choices { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .asta-pv-wizard__choice { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 14px; align-items: center; padding: 12px 44px 12px 12px; border-width: 1px; border-radius: 12px; }
  .asta-pv-wizard__choice img { flex: 0 0 86px; width: 86px; height: 96px; padding: 5px; }
  .asta-pv-wizard__choice-caption { padding-right: 0; gap: 5px; }
  .asta-pv-wizard__choice strong { font-size: 1.25rem; }
  .asta-pv-wizard__choice small { font-size: .9rem; }
  .asta-pv-wizard__choice-check { right: 16px; width: 30px; height: 30px; top: 50%; bottom: auto; transform: translateY(-50%); }
  .asta-pv-wizard__choice:has(input:checked) .asta-pv-wizard__choice-check::after { left: 10px; top: 6px; }
  .asta-pv-wizard__comparison-note { margin-top: 16px; font-size: .875rem; }
  .asta-pv-wizard__fields { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .asta-pv-wizard__field { margin-top: 16px; font-size: 1rem; }
  .asta-pv-wizard__fields .asta-pv-wizard__field { margin-top: 0;  font-size: 1rem; }
  .asta-pv-wizard__fields { margin-top: 20px; }
  .asta-pv-wizard__field--large { margin-top: 26px; }
  .asta-pv-wizard__segments { gap: 0; justify-content: space-between; }
  .asta-pv-wizard__segments span { min-height: 64px; padding: 14px 8px; font-size: 1rem; line-height: 1.5; }
  .asta-pv-wizard__monthly-inputs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 16px; }
  .asta-pv-wizard__monthly-inputs .asta-pv-wizard__field { font-size: 1rem; }
  .asta-pv-wizard__monthly-inputs input { padding: 10px; }
  .asta-pv-wizard__search { gap: 8px; }
  .asta-pv-wizard__search button { padding: 12px; font-size: .875rem;  min-height: 60px; }
  .asta-pv-wizard__search input { font-size: 1.125rem; padding: 12px 10px; }
  .asta-pv-wizard__map { height: 260px; }
  .asta-pv-wizard__details summary { font-size: 1rem; }
  .asta-pv-wizard__controls { position: static; padding: 18px 0 max(4px, env(safe-area-inset-bottom)); margin-top: 24px; background: transparent; }
  .asta-pv-wizard__controls [data-back] { min-width: 0; padding-right: 0; font-size: .875rem; gap: 7px; }
  .asta-pv-wizard__controls :is([data-next], [data-submit]) { min-width: 0; padding: 12px 16px; font-size: 1rem; gap: 12px; }
  .asta-pv-wizard__form:has([data-step="5"]:not([hidden])) .asta-pv-wizard__controls { position: static; padding: 8px 0 0; margin-top: 16px; border: 0; background: transparent; }
  .asta-pv-wizard__source { margin-top: 22px; font-size: .875rem; }
  .asta-pv-wizard__conversion { margin: 22px 0; gap: 16px; }
  .asta-pv-wizard__preview { min-height: 0; padding: 18px 16px; }
  .asta-pv-wizard__preview-status { min-height: 0; }
  .asta-pv-wizard__preview-status.is-loading { min-height: 160px; }
  .asta-pv-wizard__preview-teaser { flex-direction: column; gap: 12px; }
  .asta-pv-wizard__preview-teaser strong { font-size: 3rem; }
  .asta-pv-wizard__preview-source { margin-top: 0; }
  .asta-pv-wizard__preview-doc { padding: 18px 16px 22px; }
  .asta-pv-wizard__preview-bars { height: 100px; }
  .asta-pv-wizard__preview-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .asta-pv-wizard__preview-gate { right: 14px; bottom: 16px; left: 14px; padding: 16px 14px 14px; }
  .asta-pv-wizard__preview-lock { width: 38px; height: 38px; margin-bottom: 8px; }
  .asta-pv-wizard__preview-lock::before { top: 8px; width: 11px; height: 8px; border-width: 2px; }
  .asta-pv-wizard__preview-lock::after { top: 16px; width: 17px; height: 12px; }
  .asta-pv-wizard__contact-card { padding: 26px 20px 22px; }
  .asta-pv-wizard__contact-intro h2 { font-size: 1.45rem; }
  .asta-pv-wizard__review-disclosure > summary { min-height: 74px; }
  .asta-pv-wizard__review { gap: 0; }
  .asta-pv-wizard__review > div { padding-right: 50px; }
  .asta-pv-wizard__report-head h2 { font-size: 1.65rem; }
  .asta-pv-wizard__report-meta { gap: 8px 16px; font-size: 1rem; }
  .asta-pv-wizard__report-actions { width: 100%; }
  .asta-pv-wizard__report-actions button { padding: 10px 14px; font-size: 1rem; }
  .asta-pv-wizard__report h3 { font-size: 1.2rem; }
  .asta-pv-wizard__investor { padding: 22px 18px; margin: 22px 0 30px; }
  .asta-pv-wizard__investor-metrics { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .asta-pv-wizard__investor-metric { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 5px 12px; padding: 14px; }
  .asta-pv-wizard__investor-metric > span, .asta-pv-wizard__investor-metric > small { grid-column: 1 / -1; }
  .asta-pv-wizard__investor-metric > strong { grid-row: 2; font-size: 1.3rem; }
  .asta-pv-wizard__investor-comparison { padding-top: 22px; margin-top: 22px; }
  .asta-pv-wizard__storage-analysis { padding: 22px 18px; }
  .asta-pv-wizard__storage-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .asta-pv-wizard__variant-cards { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .asta-pv-wizard button.asta-pv-wizard__variant { display: grid; grid-template-columns: 1fr auto; gap: 7px 18px; padding: 18px 0; }
  .asta-pv-wizard__variant-heading { grid-column: 1; font-size: 1.125rem; }
  .asta-pv-wizard__variant-indicator { order: -1;  flex: 0 0 24px;  height: 24px; }
  .asta-pv-wizard__variant-heading { justify-content: flex-start;  font-size: 1.125rem; }
  .asta-pv-wizard__variant-energy { grid-column: 2; grid-row: 1; font-size: 1.65rem; gap: 5px; }
  .asta-pv-wizard__variant-energy small { font-size: .875rem; }
  .asta-pv-wizard__variant-bar { grid-column: 1 / -1; grid-row: 2; margin: 3px 0; }
  .asta-pv-wizard__variant-tag, .asta-pv-wizard__variant > small { grid-column: 1 / -1; }
  .asta-pv-wizard__variant-autoconsumption, .asta-pv-wizard__variant-load-coverage { grid-column: 1 / -1; }
  .asta-pv-wizard__balance { padding-top: 28px; }
  .asta-pv-wizard__coverage { margin: 18px 0 24px; }
  .asta-pv-wizard__metrics { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .asta-pv-wizard__metric { display: flex; gap: 10px; padding: 22px 0; }
  .asta-pv-wizard__metric > span { font-size: 1rem; }
  .asta-pv-wizard__metric > strong { font-size: 1.4rem; text-align: left; }
  .asta-pv-wizard__metric > small { grid-column: 1 / -1; font-size: .875rem; }
  .asta-pv-wizard__chart { margin-top: 12px; padding-top: 28px; }
  .asta-pv-wizard__chart-legend { gap: 10px 18px; font-size: .875rem; }
}
@media (max-width: 360px) {
  body.page-id-8872 main.asta-content { padding-inline: 16px; }
  .asta-pv-wizard__choice { grid-template-columns: 80px minmax(0, 1fr); gap: 12px; }
  .asta-pv-wizard__choice img { width: 80px; height: 92px; }
  .asta-pv-wizard__controls button { padding-inline: 12px; }
  .asta-pv-wizard__variant-energy { font-size: 1.45rem; }
  .asta-pv-wizard__metric { grid-template-columns: minmax(0, 1fr); }
  .asta-pv-wizard__metric > strong { text-align: left; }
}
@media (prefers-reduced-motion: reduce) { .asta-pv-wizard * { scroll-behavior: auto; transition: none !important; animation: none !important; } }

/* Illustrated parameters keep the controls visible without native dropdowns. */
.asta-pv-wizard__geometry { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; margin-top: 36px; padding-top: 30px; border-top: 1px solid var(--pv-border); }
.asta-pv-wizard__geometry-variant, .asta-pv-wizard__option-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.asta-pv-wizard__geometry-variant > legend { width: 100%; padding: 0; color: var(--pv-ink); font-size: 1.25rem; font-weight: 700; line-height: 1.4; letter-spacing: -.02em; }
.asta-pv-wizard__geometry-variant > legend small { display: block; margin-top: 6px; color: var(--pv-muted); font-size: .875rem; font-weight: 400; letter-spacing: 0; }
.asta-pv-wizard__geometry-variant > img { display: block; width: 100%; height: 180px; margin: 14px 0 18px; object-fit: contain; }
.asta-pv-wizard__option-field { margin: 28px 0; }
.asta-pv-wizard__option-field--full { grid-column: 1 / -1; margin: 8px 0 0; }
.asta-pv-wizard__option-field > legend { padding: 0; margin-bottom: 14px; color: var(--pv-ink); font-size: 1rem; font-weight: 600; line-height: 1.5; }
.asta-pv-wizard__options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.asta-pv-wizard__options label { position: relative; min-width: 0; cursor: pointer; }
.asta-pv-wizard__options input, .asta-pv-wizard__mounting input { position: absolute; top: 0; left: 0; width: 1px; height: 1px; opacity: 0; }
.asta-pv-wizard__options label > span { display: flex; align-items: center; justify-content: center; min-height: 56px; padding: 12px 14px; border: 1px solid #b8c1b3; border-radius: 8px; background: #fff; color: var(--pv-ink); text-align: center; font-size: 1rem; line-height: 1.4; }
.asta-pv-wizard__options label:hover > span { border-color: var(--pv-green); background: #fafcf7; }
.asta-pv-wizard__options input:checked + span { border-color: var(--pv-dark); background: var(--pv-dark); color: #fff; font-weight: 600; }
.asta-pv-wizard__options input:focus-visible + span { outline: 3px solid rgb(71 160 19 / 35%); outline-offset: 3px; }
.asta-pv-wizard__options--angles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.asta-pv-wizard__options--directions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.asta-pv-wizard__options--descriptive label > span { justify-content: flex-start; padding: 18px; text-align: left; }
.asta-pv-wizard__load-profile { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--pv-border); }
.asta-pv-wizard__storage-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.asta-pv-wizard__storage-options label { position: relative; min-width: 0; cursor: pointer; }
.asta-pv-wizard__storage-options input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.asta-pv-wizard__storage-options label > span { display: flex; min-height: 270px; flex-direction: column; justify-content: flex-end; padding: 18px 20px; border: 1px solid #cbd7c5; border-radius: var(--asta-radius, 12px); background: #fff; transition: border-color .2s ease, background-color .2s ease; }
.asta-pv-wizard__storage-options img { display: block; width: 100%; height: auto; max-height: 210px; margin: 0 auto 14px; object-fit: contain; }
.asta-pv-wizard__storage-options label:hover > span { border-color: #9cba8d; background: #fafcf7; }
.asta-pv-wizard__storage-options input:checked + span { border-color: var(--pv-green); background: #f4f8f1; }
.asta-pv-wizard__storage-options input:checked + span img { background: #f4f8f1; }
.asta-pv-wizard__storage-options input:focus-visible + span { outline: 3px solid rgb(71 160 19 / 30%); outline-offset: 3px; }
.asta-pv-wizard__storage-options strong { color: var(--pv-ink); font-size: 1.08rem; line-height: 1.35; }
.asta-pv-wizard__storage-options small { margin-top: 7px; color: var(--pv-muted); font-size: .86rem; line-height: 1.55; }
@media (max-width: 850px) {
  .asta-pv-wizard__storage-options { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .asta-pv-wizard__storage-options label > span { display: grid; grid-template-columns: minmax(150px, 220px) minmax(0, 1fr); grid-template-rows: auto auto; align-items: center; column-gap: 18px; min-height: 146px; padding: 12px 18px; }
  .asta-pv-wizard__storage-options img { grid-column: 1; grid-row: 1 / 3; width: 100%; height: 120px; margin: 0; }
  .asta-pv-wizard__storage-options strong { grid-column: 2; align-self: end; }
  .asta-pv-wizard__storage-options small { grid-column: 2; align-self: start; margin-top: 4px; }
}
.asta-pv-wizard__details { border-bottom: 1px solid var(--pv-border); }
.asta-pv-wizard__details summary { gap: 22px; min-height: 80px; padding: 22px 0; }
.asta-pv-wizard__details summary small { display: block; margin-top: 5px; color: var(--pv-muted); font-size: .875rem; font-weight: 400; }
.asta-pv-wizard__details summary::after { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border: 1px solid #cdd5c7; border-radius: 50%; color: var(--pv-dark); font-size: 1.5rem; line-height: 1; }
.asta-pv-wizard__details[open] summary { color: var(--pv-dark); }
.asta-pv-wizard__details[open] summary::after { background: #f1f6ec; border-color: #92b27f; }
.asta-pv-wizard__mounting { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.asta-pv-wizard__mounting label { position: relative; min-width: 0; padding-bottom: 20px; border-bottom: 2px solid #cdd5c7; cursor: pointer; }
.asta-pv-wizard__mounting label:has(input:checked) { border-color: var(--pv-green); }
.asta-pv-wizard__mounting label:has(input:focus-visible) { outline: 3px solid rgb(71 160 19 / 35%); outline-offset: 5px; }
.asta-pv-wizard__mounting img { display: block; width: 100%; height: 170px; object-fit: contain; margin-bottom: 12px; }
.asta-pv-wizard__mounting label > span { position: relative; display: block; padding-left: 38px; }
.asta-pv-wizard__mounting label > span::before { content: ''; position: absolute; top: 1px; left: 0; width: 24px; height: 24px; border: 1px solid #929f89; border-radius: 50%; }
.asta-pv-wizard__mounting label:has(input:checked) > span::before { border: 7px solid var(--pv-green); }
.asta-pv-wizard__mounting strong { display: block; font-size: 1rem; font-weight: 700; line-height: 1.5; }
.asta-pv-wizard__mounting small { display: block; margin-top: 6px; color: var(--pv-muted); font-size: .875rem; line-height: 1.6; }
.asta-pv-wizard__variant-art { display: block; width: 100%; height: 165px; object-fit: contain; margin-bottom: 6px; }
.asta-pv-wizard__field :is(input, select) { scroll-margin-block: 120px; }
.asta-pv-wizard__segments { gap: 20px; }
.asta-pv-wizard__segments label { flex: 1; }
.asta-pv-wizard__segments span { justify-content: center; min-height: 64px; padding: 16px 12px; text-align: center; }
.asta-pv-wizard__segments input:checked + span { border-bottom-width: 3px; }
.asta-pv-wizard__choice:has(input:checked) strong { color: var(--pv-dark); }
@media (max-width: 600px) {
  .asta-pv-wizard__choice strong { font-size: 1.125rem; }
  .asta-pv-wizard__choice small { font-size: .875rem; }
  .asta-pv-wizard__geometry { grid-template-columns: minmax(0, 1fr); gap: 30px; margin-top: 28px; padding-top: 26px; }
  .asta-pv-wizard__geometry-variant > img { height: 180px; margin-block: 12px; }
  .asta-pv-wizard__options--directions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .asta-pv-wizard__options--descriptive { grid-template-columns: minmax(0, 1fr); }
  .asta-pv-wizard__storage-options { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .asta-pv-wizard__storage-options label > span { grid-template-columns: 86px minmax(0, 1fr); column-gap: 14px; min-height: 118px; padding: 10px 14px; }
  .asta-pv-wizard__storage-options img { grid-column: 1; grid-row: 1 / 3; height: 92px; }
  .asta-pv-wizard__mounting { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .asta-pv-wizard__mounting label { display: grid; grid-template-columns: 105px minmax(0, 1fr); gap: 18px; align-items: center; }
  .asta-pv-wizard__mounting img { height: 112px; margin: 0; }
  .asta-pv-wizard__mounting label > span { padding-left: 0; padding-right: 32px; }
  .asta-pv-wizard__mounting label > span::before { top: 50%; left: auto; right: 0; transform: translateY(-50%); }
  .asta-pv-wizard__controls { gap: 12px; padding-top: 16px; }
  .asta-pv-wizard__controls [data-back] { flex: 0 0 56px; width: 56px; min-height: 56px; padding: 0; border-color: var(--pv-border); font-size: 1.25rem; }
  .asta-pv-wizard__back-text { display: none; }
  .asta-pv-wizard__controls :is([data-next], [data-submit]) { flex: 1; min-height: 56px; margin-left: 0; padding: 14px; font-size: 1rem; }
  .asta-pv-wizard__variant-art { grid-column: 1 / -1; grid-row: 1; height: 130px; margin: 0 0 10px; }
  .asta-pv-wizard__variant-heading { grid-row: 2; }
  .asta-pv-wizard__variant-energy { grid-row: 3; grid-column: 1 / -1; font-size: 2rem; margin-top: 3px; }
  .asta-pv-wizard__variant-bar { grid-row: 4; }
  .asta-pv-wizard__segments { gap: 6px; }
  .asta-pv-wizard__segments span { padding-inline: 5px; font-size: 1rem; }
  .asta-pv-wizard__report-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
  .asta-pv-wizard__report-actions button { min-height: 56px; font-size: 1rem; }
  .asta-pv-wizard__search { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .asta-pv-wizard__search button { width: 100%; min-height: 56px; font-size: 1rem; }
  .asta-pv-wizard__monthly-inputs input { padding: 14px; }
  .asta-pv-wizard__review { grid-template-columns: minmax(0, 1fr); }
}

/* Editorial content stays editable in Gutenberg, below the interactive calculator. */
body.page-id-8872 .wp-block-post-content > .asta-pv-guide {
  position: relative;
  isolation: isolate;
  width: min(100%, 1160px);
  max-width: 1160px;
  margin: 0 auto;
  padding-block: clamp(48px, 5vw, 72px);
  color: var(--asta-ink, #1f242c);
}
body.page-id-8872 .wp-block-post-content > .asta-pv-guide::before {
  position: absolute;
  z-index: -2;
  inset-block: 0;
  left: calc(50% - 50vw);
  width: 100vw;
  border-top: 1px solid #d5e1cf;
  background: #f4f8f1;
  content: "";
}
.asta-pv-guide *, .asta-pv-guide *::before, .asta-pv-guide *::after { box-sizing: border-box; }
.asta-pv-guide :is(h2, h3) { margin: 0 0 18px; color: var(--asta-ink, #1f242c); font-weight: 720; line-height: 1.18; letter-spacing: -.03em; }
.asta-pv-guide h2 { font-size: clamp(1.8rem, 3vw, 2.65rem); }
.asta-pv-guide h3 { font-size: clamp(1.2rem, 1.7vw, 1.45rem); }
.asta-pv-guide p { margin: 0 0 18px; color: #666c68; font-size: .96rem; line-height: 1.8; }
.asta-pv-guide a { color: var(--asta-dark-green, #356a29); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.asta-pv-guide a:hover { color: var(--asta-green, #47a013); }
.asta-pv-guide strong { color: #35452e; font-weight: 650; }
.asta-pv-guide .asta-pv-guide__eyebrow { margin: 0 0 14px; color: var(--asta-dark-green, #356a29); font-size: .75rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.asta-pv-guide__intro { max-width: 900px; }
.asta-pv-guide__intro .asta-pv-guide__lead { font-size: 1.05rem; }
.asta-pv-guide .asta-pv-guide__results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 56px; margin-top: 32px; }
.asta-pv-guide .asta-pv-guide__card { min-width: 0; margin: 0; padding: 24px 0 0; border-top: 1px solid #dfe3de; border-radius: 0 !important; }
.asta-pv-guide__card p { margin: 0; font-size: .92rem; }
.asta-pv-guide .asta-pv-guide__method { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(28px, 4vw, 48px); margin-top: clamp(48px, 6vw, 72px); }
.asta-pv-guide .asta-pv-guide__article { min-width: 0; margin: 0; }
.asta-pv-guide__article h2 { font-size: clamp(1.55rem, 2.2vw, 1.95rem); }
.asta-pv-guide__article ol { margin: 24px 0; padding-left: 23px; color: #666c68; font-size: .93rem; line-height: 1.8; }
.asta-pv-guide__article li { margin-bottom: 14px; padding-left: 5px; }
.asta-pv-guide .asta-pv-guide__note { margin-top: 24px; padding: 24px; border-left: 3px solid var(--asta-green, #47a013); border-radius: 0 12px 12px 0; background: #f1f6e9; }
.asta-pv-guide__note h3 { font-size: 1.1rem; }
.asta-pv-guide__note p { margin: 0; font-size: .88rem; }
.asta-pv-guide .asta-pv-guide__faq { margin-top: clamp(48px, 6vw, 72px); }
.asta-pv-guide__faq > h2 { max-width: 1088px; margin: 0 auto clamp(26px, 2.7vw, 36px); }
.asta-pv-guide .asta-pv-guide__related { margin-top: clamp(40px, 5vw, 60px); padding: 28px 0; border-top: 1px solid #dfe3de; }
.asta-pv-guide__related p { max-width: 95ch; margin: 0; }
@media (max-width: 850px) {
  .asta-pv-guide .asta-pv-guide__method { grid-template-columns: minmax(0, 1fr); gap: 30px; }
}
@media (max-width: 600px) {
  body.page-id-8872 .wp-block-post-content > .asta-pv-guide { margin-top: 0; padding-block: 48px 56px; }
  .asta-pv-guide .asta-pv-guide__results { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .asta-pv-guide h2 { font-size: 1.7rem; }
  .asta-pv-guide__article h2 { font-size: 1.55rem; }
  .asta-pv-guide p, .asta-pv-guide__intro .asta-pv-guide__lead { font-size: .93rem; }
  .asta-pv-guide .asta-pv-guide__card { padding: 20px 0 0; }
}

/* A single, connected stepper keeps progress and navigation visually coherent. */
.asta-pv-wizard__progress { padding: 9px 0 12px; }
.asta-pv-wizard__progress-caption { min-height: 18px; color: #737b73; font-size: .75rem; letter-spacing: .015em; }
.asta-pv-wizard__progress-caption [data-current-stage] { display: none; }
.asta-pv-wizard__track { position: absolute; z-index: 0; top: 54px; left: 7.142857%; width: 85.714286%; height: 2px; margin: 0; overflow: visible; background: #e2e8de; }
.asta-pv-wizard__track > span { width: 0; border-radius: 2px; }
.asta-pv-wizard__stage-list { position: relative; z-index: 1; margin-top: 12px; }
.asta-pv-wizard .asta-pv-wizard__stage-list button { min-width: 0; min-height: 54px; flex-direction: column; justify-content: flex-start; gap: 6px; padding: 0 4px; color: #737b73; text-align: center; font-size: .75rem; font-weight: 550; line-height: 1.25; }
.asta-pv-wizard .asta-pv-wizard__stage-list button:disabled { color: #737b73; }
.asta-pv-wizard .asta-pv-wizard__stage-list button[aria-current] { color: var(--pv-ink); font-weight: 700; }
.asta-pv-wizard__stage-number { position: relative; z-index: 1; flex: 0 0 28px; width: 28px; height: 28px; border: 1px solid #d5ddd1; background: #fff; color: #727a70; font-size: .68rem; transition: border-color .18s ease, background .18s ease, color .18s ease; }
.asta-pv-wizard [aria-current] .asta-pv-wizard__stage-number,
.asta-pv-wizard .is-complete .asta-pv-wizard__stage-number { border-color: var(--pv-green); background: var(--pv-green); color: #fff; }
.asta-pv-wizard .is-complete .asta-pv-wizard__stage-number::after { color: #fff; }
@media (max-width: 850px) {
  .asta-pv-wizard__progress { padding: 10px 24px 8px; }
  .asta-pv-wizard__progress-caption [data-current-stage] { display: inline; color: var(--pv-ink); font-size: .75rem; font-weight: 700; }
  .asta-pv-wizard__progress-caption [data-current-stage] { color: var(--pv-ink); }
  .asta-pv-wizard__track { position: relative; top: auto; left: auto; width: 100%; height: 2px; margin: 8px 0 0; overflow: hidden; }
  .asta-pv-wizard__track > span { min-width: 14.286%; }
  .asta-pv-wizard__stage-list { margin-top: 0; }
  .asta-pv-wizard .asta-pv-wizard__stage-list button { min-height: 42px; flex-direction: row; justify-content: flex-start; gap: 8px; padding: 5px 0; text-align: left; }
}

/* Keep the result and the contact form in a clear top-to-bottom sequence. */
.asta-pv-wizard__conversion { grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; }
.asta-pv-wizard__preview { min-height: 0; }
.asta-pv-wizard__contact-list { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 28px; }
.asta-pv-wizard__contact-card .asta-pv-wizard__fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 850px) {
  .asta-pv-wizard__conversion { gap: 16px; }
  .asta-pv-wizard__preview { min-height: 0; }
  .asta-pv-wizard__contact-list { grid-template-columns: minmax(0, 1fr); }
  .asta-pv-wizard__contact-card .asta-pv-wizard__fields { grid-template-columns: minmax(0, 1fr); }
}

/* Focus the calculator, align its two panels, and give the guide a quieter entry. */
.asta-pv-wizard__progress { border-bottom: 0; }
.asta-pv-wizard__heading { display: flex; min-height: 260px; flex-direction: column; justify-content: center; padding-block: 40px; }
.asta-pv-wizard__heading::after { position: absolute; z-index: -1; top: 16px; right: 0; bottom: 16px; width: 44%; border-radius: 14px; background: url('pv-calculator-hero.jpg') center 48% / cover no-repeat; content: ""; }
.asta-pv-wizard__heading h1 { max-width: 52%; font-size: clamp(2.25rem, 3.25vw, 3rem); }
.asta-pv-wizard__heading p { max-width: 52%; }
.asta-pv-wizard__heading .asta-pv-wizard__time { width: 52%; }
body.page-id-8872 .wp-block-post-content > .asta-pv-guide { margin-top: clamp(80px, 7vw, 112px); }
@media (min-width: 981px) {
  .asta-pv-wizard__panel { display: flex; flex-direction: column; }
  .asta-pv-wizard__form { flex: 1; }
  .asta-pv-wizard__controls { margin-top: auto; }
  .asta-pv-wizard__workspace:has(.asta-pv-wizard__step[data-step="6"]:not([hidden])) .asta-pv-wizard__project { align-self: start; }
}
@media (max-width: 850px) {
  .asta-pv-wizard__heading { display: block; min-height: 0; padding-block: 34px 30px; }
  .asta-pv-wizard__heading::after { display: none; }
  .asta-pv-wizard__heading h1 { font-size: clamp(2rem, 4.5vw, 2.25rem); }
  .asta-pv-wizard__heading :is(h1, p) { max-width: none; }
  .asta-pv-wizard__heading .asta-pv-wizard__time { width: auto; }
}
@media (max-width: 600px) {
  body.page-id-8872 .wp-block-post-content > .asta-pv-guide { margin-top: 56px; }
}

/* Full-bleed, darkened photo gives the calculator a true hero treatment. */
.asta-pv-wizard__heading { min-height: 340px; }
.asta-pv-wizard__heading::before {
  border-bottom-color: rgb(255 255 255 / 18%);
  background:
    linear-gradient(90deg, rgb(17 34 25 / 86%) 0%, rgb(17 34 25 / 72%) 44%, rgb(17 34 25 / 48%) 100%),
    url('pv-calculator-hero.jpg') center 58% / cover no-repeat;
}
.asta-pv-wizard__heading::after { display: none; }
.asta-pv-wizard__heading h1 { color: #fff; }
.asta-pv-wizard__heading p { color: rgb(255 255 255 / 84%); }
.asta-pv-wizard__heading .asta-pv-wizard__time { color: #d3efc7; }
@media (max-width: 850px) {
  .asta-pv-wizard__heading { min-height: 0; }
}

/* Keep the breadcrumb inside the same full-bleed image as the calculator title. */
.asta-pv-wizard { padding-top: 0; }
.asta-pv-wizard__hero {
  position: relative;
  z-index: 0;
  isolation: isolate;
  margin-bottom: 26px;
}
.asta-pv-wizard__hero::before {
  position: absolute;
  z-index: -1;
  inset-block: 0;
  left: calc(50% - 50vw);
  width: 100vw;
  background:
    linear-gradient(90deg, rgb(17 34 25 / 86%) 0%, rgb(17 34 25 / 72%) 44%, rgb(17 34 25 / 48%) 100%),
    url('pv-calculator-hero.jpg') center 58% / cover no-repeat;
  content: "";
}
.asta-pv-wizard__hero > .asta-page-breadcrumbs {
  width: 100%;
  max-width: none;
  padding-top: 20px;
  margin: 0;
  color: rgb(255 255 255 / 84%);
}
.asta-pv-wizard__hero > .asta-page-breadcrumbs a { color: inherit; }
.asta-pv-wizard__hero > .asta-page-breadcrumbs .asta-breadcrumbs__separator { color: rgb(255 255 255 / 58%); }
.asta-pv-wizard__heading { margin-bottom: 0; }
.asta-pv-wizard__heading::before { display: none; }
@media (max-width: 600px) {
  .asta-pv-wizard__hero { margin-bottom: 18px; }
  .asta-pv-wizard__hero > .asta-page-breadcrumbs { padding-top: 16px; font-size: .875rem; }
}

/* A compact step navigator: clear current stage, quiet upcoming stages. */
.asta-pv-wizard__progress {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding: 14px;
  border: 1px solid #e3e9df;
  border-radius: 14px;
  background: #f8faf7;
  box-shadow: 0 3px 12px rgb(31 36 44 / 3%);
}
.asta-pv-wizard__progress-caption {
  min-height: 22px;
  justify-content: flex-start;
  gap: 10px;
  padding-inline: 2px;
  color: #647064;
  font-size: .72rem;
  letter-spacing: .02em;
}
.asta-pv-wizard__progress-caption [data-step-label] {
  padding: 4px 7px;
  border-radius: 5px;
  background: #eaf2e5;
  color: #356a29;
  font-size: .66rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.asta-pv-wizard__progress-caption [data-current-stage] {
  display: inline;
  color: #29312a;
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: 0;
}
.asta-pv-wizard__progress .asta-pv-wizard__track {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.asta-pv-wizard__stage-list {
  grid-row: 2;
  gap: 6px;
  margin: 0;
}
.asta-pv-wizard .asta-pv-wizard__stage-list button {
  min-height: 42px;
  flex-direction: row;
  justify-content: flex-start;
  gap: 8px;
  padding: 5px 7px;
  border: 1px solid transparent;
  border-radius: 9px !important;
  background: transparent;
  color: #697269;
  text-align: left;
  font-size: .72rem;
  font-weight: 550;
  line-height: 1.25;
}
.asta-pv-wizard .asta-pv-wizard__stage-list button:disabled { color: #747c73; }
.asta-pv-wizard .asta-pv-wizard__stage-list button[aria-current="step"] {
  border-color: #d5e3ce;
  background: #fff;
  box-shadow: 0 1px 4px rgb(31 36 44 / 5%);
  color: #252d25;
  font-weight: 700;
}
.asta-pv-wizard__stage-number {
  flex-basis: 25px;
  width: 25px;
  height: 25px;
  border-color: #dce3d9;
  border-radius: 7px;
  background: #fff;
  color: #788176;
  font-size: .65rem;
}
.asta-pv-wizard [aria-current="step"] .asta-pv-wizard__stage-number {
  border-color: #47a013;
  background: #47a013;
  color: #fff;
}
.asta-pv-wizard .asta-pv-wizard__stage-list button.is-complete {
  border-color: #e3ecdf;
  background: #f0f5ed;
  color: #43553e;
}
.asta-pv-wizard .is-complete .asta-pv-wizard__stage-number {
  border-color: #d9e8d2;
  background: #e3efdd;
  color: transparent;
}
.asta-pv-wizard .is-complete .asta-pv-wizard__stage-number::after { color: #356a29; }
.asta-pv-wizard .asta-pv-wizard__stage-list button:not(:disabled):hover {
  border-color: #cbdcc3;
  background: #fff;
}
@media (max-width: 850px) {
  .asta-pv-wizard__progress {
    width: 100%;
    margin-left: 0;
    padding: 11px 12px 10px;
    border: 1px solid #e3e9df;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 3px 12px rgb(31 36 44 / 4%);
  }
  .asta-pv-wizard__progress-caption { min-height: 24px; }
  .asta-pv-wizard .asta-pv-wizard__progress-caption [data-current-stage] { display: inline; }
  .asta-pv-wizard__progress .asta-pv-wizard__track { position: absolute; }
  .asta-pv-wizard__stage-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 8px;
    padding-top: 2px;
  }
  .asta-pv-wizard .asta-pv-wizard__stage-list button { min-height: 40px; }
}
@media (max-width: 600px) {
  .asta-pv-wizard__progress { gap: 8px; }
  .asta-pv-wizard__progress-caption [data-step-label] { font-size: .63rem; }
  .asta-pv-wizard__progress-caption [data-current-stage] { font-size: .84rem; }
}

/* Load profile choices use the site accent and small, task-specific line icons. */
.asta-pv-wizard__load-profile .asta-pv-wizard__options {
  gap: 10px;
}
.asta-pv-wizard__load-profile .asta-pv-wizard__options label > span {
  min-height: 72px;
  justify-content: flex-start;
  gap: 13px;
  padding: 12px 14px;
  border-color: #dce3d9;
  border-radius: 10px;
  background: #fff;
  color: var(--pv-ink);
  text-align: left;
  font-weight: 550;
  transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}
.asta-pv-wizard__load-profile .asta-pv-wizard__option-icon {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 10px;
  background: #f1f4ef;
  color: #667365;
  transition: background-color .16s ease, color .16s ease;
}
.asta-pv-wizard__load-profile .asta-pv-wizard__option-icon svg { display: block; width: 27px; height: 27px; }
.asta-pv-wizard__load-profile .asta-pv-wizard__option-label { line-height: 1.35; }
.asta-pv-wizard__load-profile .asta-pv-wizard__options label:hover > span {
  border-color: #b9cbb2;
  background: #fbfcfa;
}
.asta-pv-wizard__load-profile .asta-pv-wizard__options input:checked + span {
  border-color: var(--pv-green);
  background: #f4f8f1;
  color: var(--pv-ink);
  font-weight: 650;
  box-shadow: inset 0 0 0 1px rgb(71 160 19 / 12%);
}
.asta-pv-wizard__load-profile .asta-pv-wizard__options input:checked + span .asta-pv-wizard__option-icon {
  background: #e5f0df;
  color: var(--pv-dark);
}
.asta-pv-wizard__load-profile .asta-pv-wizard__options input:focus-visible + span {
  outline-color: rgb(71 160 19 / 40%);
}
@media (max-width: 850px) {
  .asta-pv-wizard__load-profile .asta-pv-wizard__options { gap: 9px; }
  .asta-pv-wizard__load-profile .asta-pv-wizard__options label > span { min-height: 64px; }
}

/* The stage boxes already show the current step; keep only the mobile list toggle. */
.asta-pv-wizard__progress-caption { display: none; min-height: 0; }
.asta-pv-wizard .asta-pv-wizard__stage-list { grid-row: auto; margin-top: 0; }
@media (max-width: 850px) {
  .asta-pv-wizard .asta-pv-wizard__progress-caption { display: flex; min-height: 0; justify-content: flex-end; gap: 0; padding: 0; }
}

/* Mobile touch targets for secondary calculator navigation. */
@media (max-width: 850px) {
  .asta-pv-wizard button.asta-pv-wizard__stages-toggle {
    min-width: 44px;
    min-height: 44px;
  }
  .asta-pv-wizard .asta-pv-wizard__stage-list button {
    min-height: 44px;
  }
  .asta-pv-wizard .asta-pv-wizard__review button {
    min-width: 44px;
    min-height: 44px;
  }
}

.asta-pv-wizard__report-scroll-hint { display: none; }
@media (max-width: 850px) {
  .asta-pv-wizard__report-scroll-hint {
    display: block;
    margin: 0 0 18px;
    color: var(--pv-muted);
    font-size: .82rem;
    line-height: 1.5;
  }
}
