

/* Start:/local/components/ayu/public.calculator/templates/.default/style.css?178651341695042*/
@font-face {
    font-family: "Ayu Montserrat";
    src: url("/local/components/ayu/public.calculator/templates/.default/assets/fonts/Montserrat-SemiBold.ttf") format("truetype");
    font-display: swap;
    font-style: normal;
    font-weight: 600;
}@font-face {
    font-family: "Ayu Montserrat";
    src: url("/local/components/ayu/public.calculator/templates/.default/assets/fonts/Montserrat-Bold.ttf") format("truetype");
    font-display: swap;
    font-style: normal;
    font-weight: 700;
}@font-face {
    font-family: "Ayu Montserrat Alternates";
    src: url("/local/components/ayu/public.calculator/templates/.default/assets/fonts/MontserratAlternates-ExtraBold.ttf") format("truetype");
    font-display: swap;
    font-style: normal;
    font-weight: 800;
}@font-face {
    font-family: "Ayu PT Sans";
    src: url("/local/components/ayu/public.calculator/templates/.default/assets/fonts/PTSans-Regular.ttf") format("truetype");
    font-display: swap;
    font-style: normal;
    font-weight: 400;
}@font-face {
    font-family: "Ayu PT Sans";
    src: url("/local/components/ayu/public.calculator/templates/.default/assets/fonts/PTSans-Bold.ttf") format("truetype");
    font-display: swap;
    font-style: normal;
    font-weight: 700;
}

/* Phase 2 cascade guard: keep host integration authoritative over legacy shell rules. */
.ayu-calc,
.theme-dark .ayu-calc,
[data-theme="dark"] .ayu-calc {
    --ayu-accent: var(--theme-base-color, #FE624C);
    --ayu-accent-strong: var(--ayu-accent);
    --ayu-focus: var(--ayu-accent);
    --ayu-danger: var(--ayu-accent);
    --ayu-content-max: 1500px;
    --ayu-site-gutter: 32px;
    --ayu-site-header-offset: 162px;
    overflow: clip;
}

.ayu-calc__band { width: 100%; margin-left: 0; }
.ayu-calc__container { width: min(var(--ayu-content-max), calc(100% - (2 * var(--ayu-site-gutter)))); margin-inline: auto; }
@media (min-width: 768px) {
    .maxwidth-theme .ayu-calc__app-header,
    .maxwidth-theme .ayu-calc__container {
        width: min(var(--ayu-content-max), calc(100% - (2 * var(--ayu-site-gutter))));
    }
}
.ayu-calc__workspace { scroll-margin-top: var(--ayu-site-header-offset); }
.ayu-calc__cart { top: var(--ayu-site-header-offset); }

@media (max-width: 1023px) { .ayu-calc__cart { position: static; } }
@media (max-width: 767px) {
    .ayu-calc,
    .theme-dark .ayu-calc,
    [data-theme="dark"] .ayu-calc { --ayu-site-gutter: 24px; --ayu-site-header-offset: 78px; }
    .ayu-calc__container { width: calc(100% - (2 * var(--ayu-site-gutter))); padding-inline: 0; }
    .ayu-calc__progress ol { display: grid; grid-template-columns: repeat(4, 1fr); min-width: 0; gap: 6px; border: 0; }
    .ayu-calc__progress button { position: relative; display: block; width: 100%; min-height: 44px; padding: 0; border: 0; background: transparent; font-size: 0; }
    .ayu-calc__progress button::after { position: absolute; right: 0; bottom: 18px; left: 0; height: 8px; border-radius: 99px; background: var(--ayu-line); content: ""; }
    .ayu-calc__progress button[aria-current="step"]::after,
    .ayu-calc__progress button[data-complete="true"]::after { background: var(--ayu-accent); }
    .ayu-calc__progress button > span { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }
}

/* Phase 2 embedded layout and content layer. */
.ayu-calc,
.theme-light .ayu-calc,
.theme-dark .ayu-calc,
.theme-default .ayu-calc {
    --ayu-accent: var(--theme-base-color, #FE624C);
    --ayu-accent-strong: var(--ayu-accent);
    --ayu-focus: var(--ayu-accent);
    --ayu-danger: var(--ayu-accent);
    --ayu-content-max: 1500px;
    --ayu-site-gutter: 32px;
    --ayu-site-header-offset: 162px;
    overflow: clip;
}

.ayu-calc__band {
    width: 100%;
    margin-left: 0;
}

.ayu-calc__container {
    width: min(var(--ayu-content-max), calc(100% - (2 * var(--ayu-site-gutter))));
    margin-inline: auto;
}

.ayu-calc__hero {
    padding: clamp(48px, 6vw, 92px) 0;
    color: #fff;
    background: #333;
}

.ayu-calc__hero-grid,
.ayu-calc__prose-grid,
.ayu-calc__faq {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(32px, 6vw, 96px);
}

.ayu-calc__hero h1 {
    max-width: 880px;
    margin-bottom: 20px;
    color: #fff;
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: clamp(36px, 4.4vw, 68px);
    line-height: 1.02;
}

.ayu-calc__hero-lead {
    max-width: 720px;
    margin-bottom: 28px;
    color: rgba(255, 255, 255, 0.82);
    font-size: clamp(18px, 1.5vw, 23px);
}

.ayu-calc__eyebrow {
    margin-bottom: 14px;
    color: var(--ayu-accent);
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ayu-calc__hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.ayu-calc__hero .ayu-calc__button--secondary {
    border-color: rgba(255,255,255,.5);
    color: #fff;
    background: transparent;
}

.ayu-calc__micro-note {
    margin: 18px 0 0;
    color: rgba(255,255,255,.68);
    font-size: 14px;
}

.ayu-calc__value-list {
    display: grid;
    align-content: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ayu-calc__value-list li {
    display: grid;
    grid-template-columns: minmax(150px, .7fr) 1.3fr;
    gap: 24px;
    padding: 20px 0;
    border-top: 1px solid rgba(255,255,255,.2);
}

.ayu-calc__value-list strong { color: #fff; font-family: var(--theme-font-family, Montserrat, Arial, sans-serif); }
.ayu-calc__value-list span { color: rgba(255,255,255,.72); }

.ayu-calc__workspace {
    scroll-margin-top: var(--ayu-site-header-offset);
}

.ayu-calc__step,
.ayu-calc__result {
    scroll-margin-top: var(--ayu-site-header-offset);
}

.ayu-calc__cart { top: var(--ayu-site-header-offset); }
.ayu-calc__notice--error,
.ayu-calc [aria-invalid="true"] { scroll-margin-top: var(--ayu-site-header-offset); }

.ayu-calc__content-band { padding: clamp(54px, 7vw, 104px) 0; background: #fff; }
.ayu-calc__content-band--soft { background: #f7f7f7; }
.ayu-calc__content-band--dark { color: #fff; background: #333; }
.ayu-calc__content-band h2,
.ayu-calc__legal-band h2 { margin-bottom: 20px; font-size: clamp(28px, 3vw, 46px); line-height: 1.08; }
.ayu-calc__content-band--dark h2 { color: #fff; }
.ayu-calc__prose-grid > div:last-child > p { max-width: 780px; font-size: 18px; }
.ayu-calc__fact-cards { display: grid; gap: 1px; background: #ddd; }
.ayu-calc__fact-cards article { padding: 24px; background: #fff; }
.ayu-calc__fact-cards h3 { margin-bottom: 8px; font-size: 18px; }
.ayu-calc__plain-list { columns: 2; gap: 48px; margin: 0; padding-left: 20px; font-size: 18px; }
.ayu-calc__plain-list li { margin-bottom: 14px; break-inside: avoid; }
.ayu-calc__faq details { border-top: 1px solid rgba(255,255,255,.22); }
.ayu-calc__faq summary { min-height: 56px; padding: 16px 40px 16px 0; cursor: pointer; font-family: var(--theme-font-family, Montserrat, Arial, sans-serif); font-weight: 700; }
.ayu-calc__faq details p { padding: 0 0 20px; color: rgba(255,255,255,.72); }
.ayu-calc__legal-band { padding: 36px 0 max(88px, env(safe-area-inset-bottom)); background: #fff1ee; }
.ayu-calc__legal-band p { max-width: 1050px; margin-bottom: 0; }

.ayu-calc__breakdown { margin: 28px 0; border-top: 1px solid var(--ayu-line); }
.ayu-calc__breakdown-edition { margin: 18px 0 8px; color: var(--ayu-ink-soft); font-size: 14px; }
.ayu-calc__breakdown-item { border-bottom: 1px solid var(--ayu-line); }
.ayu-calc__breakdown-item summary { display: flex; min-height: 52px; gap: 20px; align-items: center; justify-content: space-between; cursor: pointer; font-weight: 700; }
.ayu-calc__breakdown-item summary::marker { color: var(--ayu-accent); }
.ayu-calc__breakdown-item summary strong { color: var(--ayu-accent); white-space: nowrap; }
.ayu-calc__breakdown-facts { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px 28px; margin: 0 0 20px; padding: 20px; background: var(--ayu-surface-soft); }
.ayu-calc__breakdown-facts div { display: grid; gap: 2px; }
.ayu-calc__breakdown-facts dt { color: var(--ayu-ink-soft); font-size: 13px; }
.ayu-calc__breakdown-facts dd { margin: 0; }
.ayu-calc__breakdown-total { padding: 18px 0; font-weight: 700; }
.ayu-calc__breakdown-total:empty { display: none; }

@media (max-width: 1023px) {
    .ayu-calc__cart { position: static; }
}

@media (max-width: 767px) {
    .ayu-calc {
        --ayu-site-gutter: 24px;
        --ayu-site-header-offset: 78px;
    }
    .ayu-calc__container { width: 100%; padding-inline: 0; }
    .ayu-calc__hero-grid,
    .ayu-calc__prose-grid,
    .ayu-calc__faq { grid-template-columns: 1fr; gap: 28px; }
    .ayu-calc__hero { padding: 36px 0 42px; }
    .ayu-calc__hero h1 { max-width: 12ch; font-size: clamp(32px, 8.8vw, 38px); }
    .ayu-calc__hero-lead { margin-bottom: 22px; font-size: 18px; }
    .ayu-calc__value-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 18px; }
    .ayu-calc__value-list li { display: block; padding: 14px 0; }
    .ayu-calc__value-list span { display: none; }
    .ayu-calc__plain-list { columns: 1; }
    .ayu-calc__breakdown-facts { grid-template-columns: 1fr; }
    .ayu-calc__breakdown-item summary { align-items: flex-start; flex-direction: column; gap: 4px; padding-block: 12px; }
    .ayu-calc__breakdown-item summary strong { white-space: normal; }
}

@media (max-width: 340px) {
    .ayu-calc__value-list { grid-template-columns: 1fr; }
    .ayu-calc__value-list li { padding: 10px 0; }
}

@media print {
    .ayu-calc__hero,
    .ayu-calc__content-band,
    .ayu-calc__legal-band { display: none !important; }
}


.ayu-calc {
    --ayu-accent: #FE624C;
    --ayu-accent-strong: #FE624C;
    --ayu-accent-soft: #fff1ee;
    --ayu-ink: #333333;
    --ayu-ink-soft: #4d4d4d;
    --ayu-surface: #ffffff;
    --ayu-surface-soft: #f7f7f7;
    --ayu-surface-warm: #fff1ee;
    --ayu-line: #e2e2e2;
    --ayu-line-strong: #b0b0b0;
    --ayu-success: #333333;
    --ayu-success-soft: #f7f7f7;
    --ayu-danger: #FE624C;
    --ayu-danger-soft: #fff1ee;
    --ayu-focus: #FE624C;
    --ayu-radius: 14px;
    --ayu-shadow: 0 16px 44px rgba(51, 51, 51, 0.09);
    color: var(--ayu-ink);
    background: var(--ayu-surface);
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 16px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

.ayu-calc,
.ayu-calc * {
    box-sizing: border-box;
}

.ayu-calc [hidden] {
    display: none !important;
}

.ayu-calc button,
.ayu-calc input,
.ayu-calc select,
.ayu-calc textarea {
    font: inherit;
}

.ayu-calc button,
.ayu-calc summary,
.ayu-calc label {
    -webkit-tap-highlight-color: transparent;
}

.ayu-calc img {
    display: block;
    max-width: 100%;
}

.ayu-calc a {
    color: inherit;
}

.ayu-calc h1,
.ayu-calc h2,
.ayu-calc h3,
.ayu-calc h4,
.ayu-calc p,
.ayu-calc dl,
.ayu-calc ol,
.ayu-calc ul,
.ayu-calc figure {
    margin-top: 0;
}

.ayu-calc__container {
    width: min(1564px, calc(100% - 48px));
    margin-inline: auto;
}

.ayu-calc__result-label {
    margin-bottom: 14px;
    color: var(--ayu-accent-strong);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.ayu-calc__result-actions,
.ayu-calc__step-actions,
.ayu-calc__cart-actions,
.ayu-calc__check-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.ayu-calc__button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 12px 20px;
    border: 1px solid transparent;
    border-radius: 10px;
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 14.6px;
    font-weight: 700;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 120ms ease;
}

.ayu-calc__button:active {
    transform: translateY(1px);
}

.ayu-calc__button--primary {
    border-color: var(--theme-base-color, #EB6F52);
    color: #ffffff;
    background: var(--theme-base-color, #EB6F52);
}

.ayu-calc a.ayu-calc__button--primary,
.ayu-calc a.ayu-calc__button--primary:visited {
    color: #ffffff;
}

.ayu-calc__button--primary:hover {
    border-color: hsl(var(--theme-base-color-hue, 11), var(--theme-base-color-saturation, 79%), calc(var(--theme-base-color-lightness, 62%) + var(--theme-lightness-hover-diff, 6%)));
    color: #ffffff;
    background: hsl(var(--theme-base-color-hue, 11), var(--theme-base-color-saturation, 79%), calc(var(--theme-base-color-lightness, 62%) + var(--theme-lightness-hover-diff, 6%)));
}

.ayu-calc__button--secondary {
    border-color: var(--ayu-line-strong);
    color: var(--ayu-ink);
    background: var(--ayu-surface);
}

.ayu-calc__button--secondary:hover {
    border-color: var(--ayu-ink);
    color: var(--ayu-ink);
    background: var(--ayu-surface-soft);
}

.ayu-calc__button:disabled {
    border-color: var(--ayu-line);
    color: var(--ayu-ink-soft);
    background: var(--ayu-surface-soft);
    cursor: not-allowed;
    opacity: 0.72;
}

.ayu-calc__text-button {
    min-height: 44px;
    padding: 10px 2px;
    border: 0;
    color: var(--ayu-accent-strong);
    background: transparent;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: underline;
    text-decoration-color: rgba(254, 98, 76, 0.38);
    text-underline-offset: 4px;
    cursor: pointer;
}

.ayu-calc__text-button:hover {
    color: var(--ayu-ink);
    text-decoration-color: currentColor;
}

.ayu-calc__text-button--danger {
    color: var(--ayu-danger);
}

.ayu-calc :focus-visible {
    outline: 3px solid var(--ayu-focus);
    outline-offset: 3px;
}

.ayu-calc__workspace {
    padding-block: clamp(58px, 8vw, 100px);
    background: var(--ayu-surface-soft);
    scroll-margin-top: 24px;
}

.ayu-calc__section-head {
    max-width: 700px;
    margin-bottom: 32px;
}

.ayu-calc__section-head h2 {
    margin-bottom: 12px;
    color: var(--ayu-ink);
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: clamp(28.8px, 3.4vw, 44.8px);
    letter-spacing: -0.025em;
    line-height: 1.12;
}

.ayu-calc__section-head p {
    max-width: 66ch;
    margin-bottom: 0;
    color: var(--ayu-ink-soft);
}

.ayu-calc__progress {
    margin-bottom: 24px;
    overflow-x: auto;
    scrollbar-width: thin;
}

.ayu-calc__progress ol {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    min-width: 650px;
    margin-bottom: 0;
    padding: 0;
    border: 1px solid var(--ayu-line);
    border-radius: var(--ayu-radius);
    background: var(--ayu-surface);
    list-style: none;
}

.ayu-calc__progress li + li {
    border-left: 1px solid var(--ayu-line);
}

.ayu-calc__progress button {
    display: flex;
    width: 100%;
    min-height: 54px;
    gap: 8px;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    border: 0;
    color: var(--ayu-ink-soft);
    background: transparent;
    font-weight: 700;
    cursor: pointer;
}

.ayu-calc__progress button span {
    display: inline-grid;
    width: 26px;
    height: 26px;
    place-items: center;
    border: 1px solid var(--ayu-line-strong);
    border-radius: 50%;
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 12px;
}

.ayu-calc__progress button[aria-current="step"] {
    color: var(--ayu-ink);
    background: var(--ayu-accent-soft);
}

.ayu-calc__progress button[aria-current="step"] span,
.ayu-calc__progress button[data-complete="true"] span {
    border-color: var(--ayu-accent-strong);
    color: #ffffff;
    background: var(--ayu-accent-strong);
}

.ayu-calc__progress button:disabled {
    cursor: default;
    opacity: 0.58;
}

.ayu-calc__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
    gap: 24px;
    align-items: start;
}

.ayu-calc__main,
.ayu-calc__cart {
    border: 1px solid var(--ayu-line);
    border-radius: var(--ayu-radius);
    background: var(--ayu-surface);
    box-shadow: 0 10px 30px rgba(51, 51, 51, 0.05);
}

.ayu-calc__wizard,
.ayu-calc__result {
    padding: clamp(22px, 4vw, 42px);
}

.ayu-calc__cart {
    position: sticky;
    top: 24px;
    overflow: hidden;
}

.ayu-calc__cart-head {
    display: flex;
    gap: 12px;
    align-items: baseline;
    justify-content: space-between;
    padding: 20px 22px;
    border-bottom: 1px solid var(--ayu-line);
}

.ayu-calc__cart-head h3 {
    margin-bottom: 0;
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 16px;
}

.ayu-calc__cart-head span {
    color: var(--ayu-ink-soft);
    font-size: 13.4px;
}

.ayu-calc__cart-empty {
    min-height: 150px;
    padding: 30px 22px;
    color: var(--ayu-ink-soft);
}

.ayu-calc__cart-list {
    margin-bottom: 0;
    padding: 0;
    list-style: none;
}

.ayu-calc__cart-item {
    padding: 18px 22px;
    border-bottom: 1px solid var(--ayu-line);
}

.ayu-calc__cart-item h4 {
    margin-bottom: 5px;
    color: var(--ayu-ink);
    font-size: 15.2px;
    line-height: 1.35;
}

.ayu-calc__cart-item p {
    margin-bottom: 6px;
    color: var(--ayu-ink-soft);
    font-size: 13.6px;
}

.ayu-calc__cart-item strong {
    display: block;
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 14.4px;
}

.ayu-calc__cart-item-actions {
    display: flex;
    gap: 16px;
    margin-top: 8px;
}

.ayu-calc__cart-item-actions button {
    min-height: 36px;
    padding: 5px 0;
    border: 0;
    color: var(--ayu-accent-strong);
    background: transparent;
    font-size: 13.3px;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
}

.ayu-calc__cart-actions {
    justify-content: space-between;
    padding: 12px 22px;
}

.ayu-calc__step-title {
    margin-bottom: 24px;
}

.ayu-calc__step-title h3,
.ayu-calc__result h3 {
    margin-bottom: 8px;
    color: var(--ayu-ink);
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: clamp(22.4px, 2.6vw, 32px);
    line-height: 1.2;
}

.ayu-calc__step-title p {
    max-width: 65ch;
    margin-bottom: 0;
    color: var(--ayu-ink-soft);
}

.ayu-calc__fieldset {
    min-width: 0;
    margin: 0 0 28px;
    padding: 0;
    border: 0;
}

.ayu-calc__fieldset > legend {
    width: 100%;
    margin-bottom: 14px;
    padding: 0;
    color: var(--ayu-ink);
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 17px;
    font-weight: 700;
}

.ayu-calc__mode-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.ayu-calc__mode-card {
    position: relative;
    display: grid;
    min-height: 146px;
    align-content: start;
    padding: 20px 20px 18px 48px;
    border: 1px solid var(--ayu-line);
    border-radius: var(--ayu-radius);
    color: var(--ayu-ink-soft);
    background: var(--ayu-surface);
    cursor: pointer;
    transition: border-color 150ms ease, background-color 150ms ease, transform 120ms ease;
}

.ayu-calc__mode-card:hover {
    border-color: var(--ayu-line-strong);
    background: var(--ayu-surface-soft);
}

.ayu-calc__mode-card:active {
    transform: translateY(1px);
}

.ayu-calc__mode-card:has(input:checked) {
    border-color: var(--ayu-accent-strong);
    background: var(--ayu-accent-soft);
    box-shadow: inset 0 0 0 1px var(--ayu-accent-strong);
}

.ayu-calc__mode-card input {
    position: absolute;
    top: 22px;
    left: 20px;
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: var(--ayu-accent-strong);
}

.ayu-calc__mode-title {
    margin-bottom: 7px;
    color: var(--ayu-ink);
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-weight: 750;
    line-height: 1.3;
}

.ayu-calc__field-grid {
    display: grid;
    gap: 18px;
}

.ayu-calc__field-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ayu-calc__field {
    margin-bottom: 22px;
}

.ayu-calc__field label {
    display: block;
    margin-bottom: 7px;
    color: var(--ayu-ink);
    font-weight: 700;
}

.ayu-calc__field input,
.ayu-calc__field select,
.ayu-calc__field textarea {
    display: block;
    width: 100%;
    min-height: 48px;
    padding: 11px 13px;
    border: 1px solid var(--ayu-line-strong);
    border-radius: 9px;
    color: var(--ayu-ink);
    background: var(--ayu-surface);
    line-height: 1.35;
    transition: border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}

.ayu-calc__field textarea {
    min-height: 108px;
    resize: vertical;
}

.ayu-calc__field input::placeholder,
.ayu-calc__field textarea::placeholder {
    color: var(--ayu-ink-soft);
    opacity: 1;
}

.ayu-calc__field input:hover,
.ayu-calc__field select:hover,
.ayu-calc__field textarea:hover {
    border-color: var(--ayu-ink-soft);
}

.ayu-calc__field input[aria-invalid="true"],
.ayu-calc__field select[aria-invalid="true"],
.ayu-calc__field textarea[aria-invalid="true"] {
    border-color: var(--ayu-danger);
    box-shadow: 0 0 0 1px var(--ayu-danger);
}

.ayu-calc__hint,
.ayu-calc__service-note {
    margin: 7px 0 0;
    color: var(--ayu-ink-soft);
    font-size: 13.6px;
    line-height: 1.45;
}

.ayu-calc__field-error {
    min-height: 1.25em;
    margin: 5px 0 0;
    color: var(--ayu-danger);
    font-size: 13.6px;
    font-weight: 700;
}

.ayu-calc__field-error:empty {
    min-height: 0;
    margin: 0;
}

.ayu-calc__callout,
.ayu-calc__notice,
.ayu-calc__disclaimer {
    padding: 14px 16px;
    border-left: 4px solid var(--ayu-accent-strong);
    border-radius: 8px;
    color: var(--ayu-ink);
    background: var(--ayu-accent-soft);
    line-height: 1.5;
}

.ayu-calc__callout {
    margin-bottom: 24px;
}

.ayu-calc__notice {
    margin-bottom: 20px;
}

.ayu-calc__notice--error,
.ayu-calc__notice[data-state="error"] {
    border-left-color: var(--ayu-danger);
    color: var(--ayu-danger);
    background: var(--ayu-danger-soft);
}

.ayu-calc__notice[data-state="success"] {
    border-left-color: var(--ayu-success);
    color: var(--ayu-success);
    background: var(--ayu-success-soft);
}

.ayu-calc__check-actions {
    margin: -4px 0 12px;
}

.ayu-calc__check-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    max-height: 390px;
    overflow-y: auto;
    padding: 4px;
    border: 1px solid var(--ayu-line);
    border-radius: var(--ayu-radius);
    scrollbar-width: thin;
}

.ayu-calc__section-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    min-height: 52px;
    padding: 11px 12px;
    border-radius: 9px;
    color: var(--ayu-ink);
    background: var(--ayu-surface-soft);
    cursor: pointer;
}

.ayu-calc__section-option:has(input:checked) {
    background: var(--ayu-accent-soft);
}

.ayu-calc__section-option input,
.ayu-calc__option-list input,
.ayu-calc__consent input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: var(--ayu-accent-strong);
}

.ayu-calc__section-option small {
    display: block;
    margin-top: 3px;
    color: var(--ayu-ink-soft);
}

.ayu-calc__bim-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 9px;
    align-items: start;
}

.ayu-calc__bim-3d {
    display: inline-flex;
    min-height: 36px;
    gap: 5px;
    align-items: center;
    padding-inline: 6px;
    color: var(--ayu-ink-soft);
    font-size: 12.8px;
}

.ayu-calc__option-list {
    display: grid;
    gap: 10px;
}

.ayu-calc__option-list label,
.ayu-calc__consent {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    min-height: 44px;
    color: var(--ayu-ink);
    cursor: pointer;
}

.ayu-calc__segmented {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ayu-calc__segmented label {
    position: relative;
    cursor: pointer;
}

.ayu-calc__segmented input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.ayu-calc__segmented span {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 9px 16px;
    border: 1px solid var(--ayu-line-strong);
    border-radius: 9px;
    color: var(--ayu-ink);
    background: var(--ayu-surface);
    font-weight: 700;
}

.ayu-calc__segmented input:checked + span {
    border-color: var(--ayu-accent-strong);
    color: var(--ayu-accent-strong);
    background: var(--ayu-accent-soft);
    box-shadow: inset 0 0 0 1px var(--ayu-accent-strong);
}

.ayu-calc__segmented input:focus-visible + span {
    outline: 3px solid var(--ayu-focus);
    outline-offset: 3px;
}

.ayu-calc__dynamic-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.ayu-calc__review {
    margin-bottom: 24px;
    padding: 20px;
    border: 1px solid var(--ayu-line);
    border-radius: var(--ayu-radius);
    background: var(--ayu-surface-soft);
}

.ayu-calc__review dl {
    display: grid;
    grid-template-columns: minmax(140px, 0.45fr) 1fr;
    gap: 8px 16px;
    margin-bottom: 0;
}

.ayu-calc__review dt {
    color: var(--ayu-ink-soft);
}

.ayu-calc__review dd {
    margin: 0;
    color: var(--ayu-ink);
    font-weight: 700;
}

.ayu-calc__step-actions {
    justify-content: space-between;
    margin-top: 28px;
}

.ayu-calc__result-loading {
    min-height: 300px;
    padding-top: 40px;
}

.ayu-calc__result-loading p {
    margin-bottom: 22px;
    color: var(--ayu-ink-soft);
}

.ayu-calc__result-loading span {
    display: block;
    height: 18px;
    margin-bottom: 12px;
    border-radius: 6px;
    background: var(--ayu-surface-soft);
}

.ayu-calc__result-loading span:nth-of-type(1) {
    width: 66%;
    height: 44px;
}

.ayu-calc__result-loading span:nth-of-type(2) {
    width: 48%;
}

.ayu-calc__result-loading span:nth-of-type(3) {
    width: 82%;
}

.ayu-calc__result-label {
    margin-bottom: 8px;
}

.ayu-calc__price {
    margin-bottom: 8px;
    color: var(--ayu-ink);
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: clamp(29.6px, 5vw, 56px);
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1.1;
}

.ayu-calc__tax,
.ayu-calc__duration {
    margin-bottom: 7px;
    color: var(--ayu-ink-soft);
    font-size: 16.3px;
}

.ayu-calc__duration {
    margin-bottom: 22px;
}

.ayu-calc__disclaimer {
    margin-bottom: 28px;
    font-size: 15px;
}

.ayu-calc__result-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 22px;
}

.ayu-calc__result-columns section {
    min-height: 150px;
    padding: 18px;
    border: 1px solid var(--ayu-line);
    border-radius: var(--ayu-radius);
    background: var(--ayu-surface-soft);
}

.ayu-calc__result-columns h4 {
    margin-bottom: 10px;
    color: var(--ayu-ink);
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 15.2px;
}

.ayu-calc__result-columns ul {
    margin-bottom: 0;
    padding-left: 18px;
    color: var(--ayu-ink-soft);
    font-size: 14.4px;
}

.ayu-calc__result-columns li + li {
    margin-top: 6px;
}

.ayu-calc__result-actions {
    margin-top: 22px;
}

.ayu-calc__lead {
    margin-top: 32px;
    padding-top: 28px;
    border-top: 1px solid var(--ayu-line);
}

.ayu-calc__honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.ayu-calc__consent {
    margin-bottom: 4px;
}

.ayu-calc__consent a {
    color: var(--ayu-accent-strong);
    text-underline-offset: 3px;
}

@media (prefers-reduced-motion: no-preference) {
.ayu-calc__result-loading span {
        animation: ayu-calc-pulse 1.4s ease-in-out infinite alternate;
    }@keyframes ayu-calc-pulse {
        from { opacity: 0.48; }
        to { opacity: 1; }
    }
}

@media (max-width: 980px) {
.ayu-calc__layout {
        grid-template-columns: 1fr;
    }

.ayu-calc__cart {
        position: static;
    }
}

@media (max-width: 767px) {
.ayu-calc__container {
        width: min(100% - 32px, 680px);
    }

.ayu-calc__mode-grid,
.ayu-calc__field-grid--2,
.ayu-calc__check-grid,
.ayu-calc__dynamic-fields,
.ayu-calc__result-columns {
        grid-template-columns: 1fr;
    }

.ayu-calc__mode-card {
        min-height: 126px;
    }

.ayu-calc__review dl {
        grid-template-columns: 1fr;
        gap: 2px;
    }

.ayu-calc__review dd + dt {
        margin-top: 9px;
    }

.ayu-calc__step-actions,
.ayu-calc__result-actions {
        align-items: stretch;
    }

.ayu-calc__step-actions .ayu-calc__button,
.ayu-calc__result-actions .ayu-calc__button {
        width: 100%;
        white-space: normal;
    }
}

@media (max-width: 390px) {
.ayu-calc__container {
        width: min(100% - 24px, 680px);
    }

.ayu-calc__wizard,
.ayu-calc__result {
        padding: 20px 16px;
    }

.ayu-calc__segmented {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

.ayu-calc__segmented--contact {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

.ayu-calc__segmented span {
        width: 100%;
        padding-inline: 8px;
    }
}

@media (prefers-reduced-motion: reduce) {
.ayu-calc *,
.ayu-calc *::before,
.ayu-calc *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

@media print {
.ayu-calc__section-head,
.ayu-calc__progress,
.ayu-calc__wizard,
.ayu-calc__cart,
.ayu-calc__result-actions,
.ayu-calc__lead {
        display: none !important;
    }

.ayu-calc,
.ayu-calc__workspace,
.ayu-calc__main,
.ayu-calc__result {
        color: #333333 !important;
        background: #ffffff !important;
        box-shadow: none !important;
    }

.ayu-calc__workspace {
        padding: 0 !important;
    }

.ayu-calc__container,
.ayu-calc__layout {
        display: block !important;
        width: 100% !important;
    }

.ayu-calc__main {
        border: 0 !important;
    }

.ayu-calc__result {
        padding: 0 !important;
    }

.ayu-calc__result-columns {
        break-inside: avoid;
    }
}/* Calculator-only presentation: aligned with the internal 1.9.48 HTML */
.ayu-calc,
.theme-dark .ayu-calc,
[data-theme="dark"] .ayu-calc {
    --ayu-accent: #FE624C;
    --ayu-accent-strong: #FE624C;
    --ayu-accent-hover: hsl(11, 79%, 68%);
    --ayu-accent-active: #FE624C;
    --ayu-accent-soft: #fff1ee;
    --ayu-ink: #333333;
    --ayu-ink-deep: #1a1a1a;
    --ayu-ink-soft: #4d4d4d;
    --ayu-muted: #b0b0b0;
    --ayu-surface: #ffffff;
    --ayu-surface-soft: #f7f7f7;
    --ayu-surface-warm: #fff1ee;
    --ayu-line: #e2e2e2;
    --ayu-line-strong: #b0b0b0;
    --ayu-success: #333333;
    --ayu-success-soft: #f7f7f7;
    --ayu-danger: #FE624C;
    --ayu-danger-soft: #fff1ee;
    --ayu-focus: #FE624C;
    --ayu-radius: 14px;
    --ayu-shadow: 0 12px 34px rgba(51, 51, 51, 0.08);
    min-height: 100dvh;
    overflow: visible;
    color: var(--ayu-ink);
    background: transparent;
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
}

.ayu-calc__app-header {
    display: flex;
    width: min(1564px, calc(100% - 48px));
    min-height: 0;
    margin: 26px auto 0;
    gap: 20px;
    align-items: center;
    justify-content: flex-start;
    padding: 0 4px 16px;
    border: 0;
    border-bottom: 1px solid var(--ayu-line-strong);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ayu-calc__brand {
    display: flex;
    min-width: 0;
    gap: 0;
    align-items: center;
}

.ayu-calc__brand h1 {
    margin: 0 0 4px;
    color: var(--ayu-ink);
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: clamp(21px, 1.7vw, 26px);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.12;
    text-wrap: balance;
}

.ayu-calc__brand p {
    margin: 0;
    color: var(--ayu-ink-soft);
    font-size: 14.4px;
    line-height: 1.35;
}

.ayu-calc__workspace {
    padding: 16px 0 48px;
    background: transparent;
    scroll-margin-top: 18px;
}

.ayu-calc__container {
    width: min(1564px, calc(100% - 48px));
}

@media (min-width: 768px) {
    .maxwidth-theme .ayu-calc__app-header,
    .maxwidth-theme .ayu-calc__container {
        width: 100%;
    }
}

.ayu-calc__section-head {
    display: flex;
    gap: 18px;
    align-items: baseline;
    margin: 0 0 12px;
    padding: 0 4px;
}

.ayu-calc__section-head h2 {
    flex: 0 0 auto;
    margin: 0;
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 14.7px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ayu-calc__section-head p {
    margin: 0;
    color: var(--ayu-ink-soft);
    font-size: 14.4px;
}

.ayu-calc__progress {
    margin-bottom: 18px;
    overflow: visible;
}

.ayu-calc__progress ol {
    min-width: 0;
    gap: 6px;
    padding: 7px;
    border: 1px solid var(--ayu-line);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 8px 24px rgba(51, 51, 51, 0.06);
}

.ayu-calc__progress li + li {
    border-left: 0;
}

.ayu-calc__progress button {
    min-height: 46px;
    border-radius: 9px;
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: 0.025em;
}

.ayu-calc__progress button[aria-current="step"] {
    color: #ffffff;
    background: var(--ayu-accent-strong);
    box-shadow: 0 7px 18px rgba(254, 98, 76, 0.24);
}

.ayu-calc__progress button[aria-current="step"]::after {
    display: none;
}

.ayu-calc__progress button span,
.ayu-calc__progress button[aria-current="step"] span,
.ayu-calc__progress button[data-complete="true"] span {
    border-color: currentColor;
    color: inherit;
    background: transparent;
}

.ayu-calc__layout {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
    gap: 20px;
}

.ayu-calc__main,
.ayu-calc__cart {
    border: 1px solid var(--ayu-line);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: var(--ayu-shadow);
}

.ayu-calc__wizard,
.ayu-calc__result {
    padding: 24px;
}

.ayu-calc__cart {
    top: 18px;
}

.ayu-calc__cart-head {
    min-height: 62px;
    padding: 18px 20px;
    border-bottom-color: var(--ayu-line);
}

.ayu-calc__cart-head h3 {
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 13.4px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ayu-calc__cart-head span {
    font-variant-numeric: tabular-nums;
}

.ayu-calc__cart-empty {
    display: grid;
    min-height: 160px;
    align-content: start;
    padding: 24px 22px 26px;
    background:
        linear-gradient(rgba(254, 98, 76, 0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(254, 98, 76, 0.045) 1px, transparent 1px),
        var(--ayu-surface);
    background-size: 24px 24px;
}

.ayu-calc__cart-empty::before {
    margin-bottom: 8px;
    color: var(--ayu-accent-strong);
    content: "Предварительный расчёт";
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 11.2px;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.ayu-calc__cart-empty p {
    max-width: 26ch;
    margin: 0;
    color: var(--ayu-ink);
    font-size: 17px;
    line-height: 1.45;
    text-wrap: pretty;
}

.ayu-calc__fieldset > legend {
    margin-bottom: 12px;
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 12.8px;
    font-weight: 700;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.ayu-calc__mode-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.ayu-calc__mode-card {
    min-height: 112px;
    align-content: start;
    padding: 15px 14px;
    border-radius: 10px;
    color: var(--ayu-ink-soft);
    background: var(--ayu-surface-soft);
}

.ayu-calc__mode-card input {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
}

.ayu-calc__mode-card:hover {
    border-color: var(--ayu-line-strong);
    background: var(--ayu-surface);
    transform: translateY(-1px);
}

.ayu-calc__mode-card:has(input:checked) {
    border-color: var(--ayu-accent-strong);
    color: rgba(255, 255, 255, 0.86);
    background: var(--ayu-accent-strong);
    box-shadow: 0 8px 18px rgba(254, 98, 76, 0.2);
}

.ayu-calc__mode-card:has(input:focus-visible) {
    outline: 3px solid var(--ayu-focus);
    outline-offset: 3px;
}

.ayu-calc__mode-card:has(input:checked) .ayu-calc__mode-title {
    color: #ffffff;
}

.ayu-calc__mode-title {
    margin-bottom: 5px;
    font-size: 14.4px;
    letter-spacing: -0.01em;
}

.ayu-calc__mode-card > span:last-child {
    font-size: 12.5px;
    line-height: 1.35;
}

.ayu-calc__field {
    margin-bottom: 18px;
}

.ayu-calc__field label,
.ayu-calc__dynamic-fields label {
    margin-bottom: 6px;
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.045em;
}

.ayu-calc__field input,
.ayu-calc__field select,
.ayu-calc__field textarea {
    min-height: 48px;
    border: 1px solid var(--ayu-line-strong);
    border-radius: 10px;
    color: var(--ayu-ink);
    background: var(--ayu-surface);
}

.ayu-calc__field input:focus,
.ayu-calc__field select:focus,
.ayu-calc__field textarea:focus {
    border-color: var(--ayu-accent);
    box-shadow: 0 0 0 3px rgba(254, 98, 76, 0.16);
}

.ayu-calc__hint,
.ayu-calc__service-note {
    color: var(--ayu-ink-soft);
    font-size: 12.5px;
}

.ayu-calc__button {
    min-height: 48px;
    border-radius: 9px;
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.25;
}

.ayu-calc__button--primary {
    border-color: var(--ayu-accent-strong);
    background: var(--ayu-accent-strong);
    box-shadow: 0 7px 16px rgba(235, 111, 82, 0.18);
}

.ayu-calc__button--primary:hover {
    border-color: var(--ayu-accent-hover);
    background: var(--ayu-accent-hover);
}

.ayu-calc__button--secondary {
    border-color: var(--ayu-ink);
    background: var(--ayu-surface);
}/* Final typography normalization: body,
interface controls and numeric display. */
.ayu-calc .ayu-calc__button,
.ayu-calc .ayu-calc__text-button,
.ayu-calc .ayu-calc__cart-item-actions button {
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-weight: 600;
}

.ayu-calc .ayu-calc__button {
    font-size: 14px;
    letter-spacing: 0.01em;
    line-height: 1.25;
}

.ayu-calc .ayu-calc__text-button {
    font-size: 14px;
    line-height: 1.35;
}

.ayu-calc .ayu-calc__cart-item-actions button {
    font-size: 12.5px;
    line-height: 1.35;
}

.ayu-calc__result-label {
    color: var(--ayu-accent-strong);
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.065em;
}

.ayu-calc__cart-item h4 {
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 14.4px;
    font-weight: 600;
    line-height: 1.35;
}

.ayu-calc__progress button span {
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-weight: 700;
}

.ayu-calc__cart-item strong {
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-variant-numeric: tabular-nums;
}

.ayu-calc__field input::placeholder,
.ayu-calc__field textarea::placeholder {
    color: var(--ayu-ink-soft);
}

.ayu-calc__review {
    background: var(--ayu-accent-soft);
}

.ayu-calc__step:focus,
.ayu-calc__result:focus {
    outline: 0;
}

.ayu-calc__callout,
.ayu-calc__notice,
.ayu-calc__disclaimer,
.ayu-calc__review,
.ayu-calc__result-columns section {
    border-radius: 10px;
}

.ayu-calc__price {
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: clamp(28px, 3.2vw, 35.2px);
    font-variant-numeric: tabular-nums;
}

.ayu-calc__result-columns section {
    min-height: 132px;
}

.ayu-calc .ayu-calc__print-hint {
    margin-top: 12px;
}

@media (max-width: 980px) {
.ayu-calc__layout {
        grid-template-columns: 1fr;
    }

.ayu-calc__cart {
        position: static;
    }

.ayu-calc__mode-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
.ayu-calc__app-header,
.ayu-calc__container {
        width: min(100% - 28px, 680px);
    }

.ayu-calc__app-header {
        margin-top: 14px;
        padding: 0 0 14px;
    }

.ayu-calc__brand {
        gap: 13px;
    }

.ayu-calc__brand p,
.ayu-calc__section-head p {
        display: none;
    }

.ayu-calc__section-head {
        margin-bottom: 10px;
    }

.ayu-calc__progress ol {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

.ayu-calc__progress button {
        min-height: 52px;
        flex-direction: column;
        gap: 3px;
        padding: 6px 3px;
        font-size: 10px;
    }

.ayu-calc__progress button span {
        width: 22px;
        height: 22px;
        font-size: 10.6px;
    }

.ayu-calc__mode-card {
        min-height: 98px;
    }

.ayu-calc__step-title {
        margin-bottom: 18px;
    }

.ayu-calc__step[data-step-panel="3"] .ayu-calc__fieldset,
.ayu-calc__step[data-step-panel="3"] .ayu-calc__field {
        margin-bottom: 16px;
    }

.ayu-calc__review {
        margin-bottom: 14px;
        padding: 14px 16px;
    }

.ayu-calc__review dl {
        grid-template-columns: minmax(92px, 0.48fr) minmax(0, 1fr);
        gap: 6px 12px;
    }

.ayu-calc__review dd + dt {
        margin-top: 0;
    }

.ayu-calc__step[data-step-panel="3"] .ayu-calc__callout {
        margin-bottom: 16px;
        padding: 12px 14px;
    }

.ayu-calc__result-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-bottom: 18px;
    }

.ayu-calc__result-columns section {
        min-height: 0;
        padding: 14px;
    }

.ayu-calc__result-columns h4 {
        margin-bottom: 7px;
    }

.ayu-calc__disclaimer {
        margin-bottom: 20px;
        padding: 12px 14px;
    }

.ayu-calc__duration {
        margin-bottom: 16px;
    }
}

@media (max-width: 520px) {
.ayu-calc__app-header {
        min-height: 0;
    }

.ayu-calc__brand h1 {
        font-size: 16.3px;
    }

.ayu-calc__wizard,
.ayu-calc__result {
        padding: 18px 15px;
    }

.ayu-calc__mode-card > span:last-child {
        display: none;
    }

.ayu-calc__mode-card {
        min-height: 54px;
        align-content: center;
        padding: 11px 10px;
        text-align: center;
    }

.ayu-calc__mode-title {
        margin: 0;
        font-size: 12.5px;
    }

.ayu-calc__result-columns {
        grid-template-columns: 1fr;
    }

.ayu-calc__result-columns section {
        padding: 13px 14px;
    }

.ayu-calc__result-actions {
        gap: 9px;
        margin-top: 18px;
    }

.ayu-calc__print-hint {
        text-align: center;
    }
}

/* UX shell v2: stable embedded wizard, compact mobile progress and deliberate actions. */
.ayu-calc,
.theme-dark .ayu-calc,
[data-theme="dark"] .ayu-calc {
    min-height: 0;
    background: transparent;
}

.ayu-calc__app-header {
    margin-top: 28px;
    padding: 0 0 19px;
    border-bottom-color: var(--ayu-line);
}

.ayu-calc__brand h1 {
    font-size: clamp(21px, 1.7vw, 26px);
    letter-spacing: -0.02em;
}

.ayu-calc__brand p {
    max-width: 52ch;
    font-size: 15px;
}

.ayu-calc__workspace {
    padding: 18px 0 56px;
}

.ayu-calc__section-head {
    display: none !important;
    max-width: none;
    box-shadow: none;
}

.ayu-calc__progress-meta {
    display: none;
}

.ayu-calc__progress {
    margin: 0 0 20px;
    overflow: visible;
}

.ayu-calc__progress ol {
    min-width: 0;
    gap: 0;
    padding: 0;
    border: 0;
    border-top: 1px solid var(--ayu-line);
    border-bottom: 1px solid var(--ayu-line);
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.ayu-calc__progress li,
.ayu-calc__progress li + li {
    position: relative;
    border: 0;
}

.ayu-calc__progress button {
    position: relative;
    min-height: 62px;
    gap: 10px;
    justify-content: flex-start;
    padding: 12px 16px;
    border-radius: 0;
    color: var(--ayu-ink-soft);
    background: transparent;
    box-shadow: none;
    font-size: 13px;
    touch-action: manipulation;
}

.ayu-calc__progress button:hover:not(:disabled) {
    color: var(--ayu-ink);
    background: var(--ayu-surface-soft);
}

.ayu-calc__progress button[aria-current="step"] {
    color: var(--ayu-ink);
    background: transparent;
    box-shadow: none;
}

.ayu-calc__progress button[aria-current="step"]::after {
    position: absolute;
    right: 16px;
    bottom: -1px;
    left: 16px;
    display: block;
    height: 2px;
    border-radius: 2px 2px 0 0;
    background: var(--ayu-accent);
    content: "";
}

.ayu-calc__progress button > span:first-child,
.ayu-calc__progress button[aria-current="step"] > span:first-child,
.ayu-calc__progress button[data-complete="true"] > span:first-child {
    display: inline-grid;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    place-items: center;
    border: 1px solid var(--ayu-line-strong);
    border-radius: 50%;
    color: var(--ayu-ink-soft);
    background: var(--ayu-surface);
    font-size: 12px;
}

.ayu-calc__progress button[aria-current="step"] > span:first-child {
    border-color: var(--ayu-accent);
    color: #ffffff;
    background: var(--ayu-accent);
}

.ayu-calc__progress button[data-complete="true"] > span:first-child {
    border-color: var(--ayu-ink);
    color: #ffffff;
    background: var(--ayu-ink);
}

.ayu-calc__progress .ayu-calc__progress-label,
.ayu-calc__progress button[aria-current="step"] .ayu-calc__progress-label,
.ayu-calc__progress button[data-complete="true"] .ayu-calc__progress-label {
    display: inline;
    width: auto;
    height: auto;
    border: 0;
    border-radius: 0;
    color: inherit;
    background: transparent;
    font: inherit;
}

.ayu-calc__layout {
    gap: 24px;
}

.ayu-calc__main,
.ayu-calc__cart {
    border-color: var(--ayu-line);
    border-radius: 12px;
    background: var(--ayu-surface);
    box-shadow: 0 14px 34px rgba(51, 51, 51, 0.065);
}

.ayu-calc__main,
.ayu-calc__wizard {
    overflow-anchor: none;
}

.ayu-calc__wizard,
.ayu-calc__result {
    padding: 30px 32px 32px;
}

.ayu-calc__cart {
    top: 112px;
}

.ayu-calc__fieldset > legend {
    margin-bottom: 16px;
    font-size: 17px;
    letter-spacing: -0.01em;
    line-height: 1.25;
    text-transform: none;
}

.ayu-calc__mode-grid {
    gap: 10px;
}

.ayu-calc__mode-card {
    min-height: 116px;
    padding: 18px 34px 17px 16px;
    border-color: var(--ayu-line);
    border-radius: 8px;
    color: var(--ayu-ink-soft);
    background: var(--ayu-surface);
    box-shadow: none;
}

.ayu-calc__mode-card::after {
    position: absolute;
    top: 18px;
    right: 16px;
    width: 8px;
    height: 8px;
    border: 1px solid var(--ayu-line-strong);
    border-radius: 50%;
    background: var(--ayu-surface);
    content: "";
}

.ayu-calc__mode-card:hover {
    border-color: var(--ayu-ink-soft);
    background: var(--ayu-surface-soft);
    transform: none;
}

.ayu-calc__mode-card:has(input:checked) {
    border-color: var(--ayu-accent);
    color: var(--ayu-ink-soft);
    background: var(--ayu-accent-soft);
    box-shadow: inset 3px 0 0 var(--ayu-accent);
}

.ayu-calc__mode-card:has(input:checked)::after {
    border-color: var(--ayu-accent);
    background: var(--ayu-accent);
    box-shadow: inset 0 0 0 2px var(--ayu-accent-soft);
}

.ayu-calc__mode-card:has(input:checked) .ayu-calc__mode-title {
    color: var(--ayu-ink);
}

.ayu-calc__mode-title {
    font-size: 15px;
    line-height: 1.3;
}

.ayu-calc__mode-card > span:last-child {
    font-size: 13px;
    line-height: 1.4;
}

.ayu-calc__field-grid {
    margin-bottom: 22px;
    gap: 20px;
}

.ayu-calc__field-grid > .ayu-calc__field {
    margin-bottom: 0;
}

.ayu-calc__field {
    margin-bottom: 22px;
}

.ayu-calc__field label,
.ayu-calc__dynamic-fields label {
    margin-bottom: 7px;
    font-size: 13px;
    letter-spacing: 0.02em;
}

.ayu-calc__field input,
.ayu-calc__field select,
.ayu-calc__field textarea {
    min-height: 50px;
    padding: 11px 14px;
    border-color: var(--ayu-line-strong);
    border-radius: 8px;
    font-size: 16px;
}

.ayu-calc__hint,
.ayu-calc__service-note {
    margin-top: 6px;
    font-size: 13px;
    line-height: 1.42;
}

.ayu-calc__step-title {
    margin-bottom: 24px;
}

.ayu-calc__step-title h3,
.ayu-calc__result h3 {
    font-size: clamp(22px, 2.2vw, 29px);
    letter-spacing: -0.025em;
}

.ayu-calc__step-actions {
    margin-top: 28px;
    padding-top: 20px;
    border-top: 1px solid var(--ayu-line);
}

.ayu-calc__step[data-step-panel="1"] .ayu-calc__step-actions {
    justify-content: flex-end;
}

.ayu-calc__step-actions .ayu-calc__button--primary {
    min-width: 180px;
}

.ayu-calc__step-actions .ayu-calc__button--secondary {
    min-width: 112px;
}

.ayu-calc__button {
    min-height: 50px;
    border-radius: 8px;
    box-shadow: none;
}

.ayu-calc__button--primary {
    box-shadow: 0 7px 16px rgba(235, 111, 82, 0.16);
}

.ayu-calc__button:active {
    transform: translateY(1px);
}

@media (prefers-reduced-motion: no-preference) {
    .ayu-calc__step:not([hidden]),
    .ayu-calc__result:not([hidden]) {
        animation: ayu-calc-step-in 150ms ease-out both;
    }

    @keyframes ayu-calc-step-in {
        from { opacity: 0; }
        to { opacity: 1; }
    }
}

@media (max-width: 980px) {
    .ayu-calc__cart {
        top: auto;
    }

    .ayu-calc__cart:has([data-cart-empty]:not([hidden])) {
        display: none;
    }
}

@media (max-width: 767px) {
    .ayu-calc__app-header,
    .ayu-calc__container {
        width: calc(100% - 28px);
    }

    .ayu-calc__app-header {
        margin-top: 18px;
        padding-bottom: 15px;
    }

    .ayu-calc__brand h1 {
        font-size: 20px;
        line-height: 1.18;
    }

    .ayu-calc__brand p {
        display: none;
    }

    .ayu-calc__workspace {
        padding: 12px 0 36px;
    }

    .ayu-calc__progress {
        margin-bottom: 14px;
    }

    .ayu-calc__progress-meta {
        display: flex;
        gap: 12px;
        align-items: baseline;
        justify-content: space-between;
        margin-bottom: 9px;
        padding: 0 2px;
    }

    .ayu-calc__progress-meta span {
        color: var(--ayu-ink-soft);
        font-size: 12px;
        font-variant-numeric: tabular-nums;
    }

    .ayu-calc__progress-meta strong {
        color: var(--ayu-ink);
        font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
        font-size: 14px;
        font-weight: 700;
    }

    .ayu-calc__progress ol {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 6px;
        border: 0;
    }

    .ayu-calc__progress button {
        min-height: 5px;
        height: 5px;
        padding: 0;
        border-radius: 5px;
        background: var(--ayu-line);
        pointer-events: none;
    }

    .ayu-calc__progress button:hover:not(:disabled),
    .ayu-calc__progress button[aria-current="step"],
    .ayu-calc__progress button[data-complete="true"] {
        background: var(--ayu-accent);
        box-shadow: none;
    }

    .ayu-calc__progress button[aria-current="step"]::after {
        display: none;
    }

    .ayu-calc__progress button > span:first-child,
    .ayu-calc__progress .ayu-calc__progress-label {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        clip-path: inset(50%) !important;
        white-space: nowrap !important;
    }

    .ayu-calc__main,
    .ayu-calc__cart {
        border-radius: 11px;
        box-shadow: 0 10px 26px rgba(51, 51, 51, 0.06);
    }

    .ayu-calc__wizard,
    .ayu-calc__result {
        padding: 22px 18px 20px;
    }

    .ayu-calc__fieldset {
        margin-bottom: 24px;
    }

    .ayu-calc__fieldset > legend {
        margin-bottom: 14px;
        font-size: 18px;
    }

    .ayu-calc__mode-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .ayu-calc__mode-card {
        min-height: 72px;
        align-content: center;
        padding: 14px 28px 14px 13px;
        text-align: left;
    }

    .ayu-calc__mode-card::after {
        top: 16px;
        right: 13px;
    }

    .ayu-calc__mode-card > span:last-child {
        display: none;
    }

    .ayu-calc__mode-title {
        margin: 0;
        font-size: 14px;
    }

    .ayu-calc__field-grid,
    .ayu-calc__dynamic-fields {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .ayu-calc__field input,
    .ayu-calc__field select,
    .ayu-calc__field textarea {
        min-height: 52px;
        font-size: 16px;
    }

    .ayu-calc__step-title h3,
    .ayu-calc__result h3 {
        font-size: 22px;
    }

    .ayu-calc__step-actions {
        display: grid;
        grid-template-columns: minmax(104px, auto) minmax(0, 1fr);
        gap: 10px;
        margin-top: 24px;
        padding-top: 17px;
    }

    .ayu-calc__step[data-step-panel="1"] .ayu-calc__step-actions {
        grid-template-columns: 1fr;
    }

    .ayu-calc__step-actions .ayu-calc__button,
    .ayu-calc__step-actions .ayu-calc__button--primary,
    .ayu-calc__step-actions .ayu-calc__button--secondary {
        width: 100%;
        min-width: 0;
        min-height: 52px;
        padding-inline: 14px;
    }

    .ayu-calc__result-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .ayu-calc__result-actions .ayu-calc__button {
        width: 100%;
    }
}

@media (max-width: 420px) {
    .ayu-calc__app-header,
    .ayu-calc__container {
        width: calc(100% - 20px);
    }

    .ayu-calc__wizard,
    .ayu-calc__result {
        padding-inline: 15px;
    }

    .ayu-calc__mode-title {
        font-size: 13px;
    }
}

.ayu-calc__quantity-source {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px 24px;
    align-items: center;
    padding: 16px 18px;
    border: 1px solid var(--ayu-line);
    border-left: 4px solid var(--ayu-accent);
    border-radius: 8px;
    background: var(--ayu-surface-soft);
}

.ayu-calc__quantity-source span {
    display: block;
    margin-bottom: 3px;
    color: var(--ayu-ink-soft);
    font-size: 13px;
    font-weight: 700;
}

.ayu-calc__quantity-source strong {
    display: block;
    color: var(--ayu-ink);
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 22px;
    font-weight: 750;
    font-variant-numeric: tabular-nums;
    line-height: 1.25;
}

.ayu-calc__quantity-source p {
    margin: 5px 0 0;
    color: var(--ayu-ink-soft);
    font-size: 13px;
    line-height: 1.4;
}

.ayu-calc__quantity-source .ayu-calc__text-button {
    max-width: 210px;
    text-align: right;
}

.ayu-calc__quantity-use-project {
    margin-top: 5px;
}

@media (max-width: 767px) {
    .ayu-calc__quantity-source {
        grid-template-columns: 1fr;
        padding: 14px 15px;
    }

    .ayu-calc__quantity-source .ayu-calc__text-button {
        width: fit-content;
        max-width: none;
        min-height: 40px;
        padding-block: 6px;
        text-align: left;
    }
}

@media print {
.ayu-calc__app-header {
        display: none !important;
    }
}/* Dedicated A4 calculation report. Hidden on screen,
shown only for printing/PDF. */
.ayu-calc__print-report {
    display: none;
}

@media print {
    @page {
        size: A4 portrait;
        margin: 10mm 12mm 10mm 20mm;

        @bottom-right {
            content: "Страница " counter(page) " из " counter(pages);
            color: #4d4d4d;
            font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
            font-size: 7pt;
        }
    }

html,
body {
        min-width: 0 !important;
        margin: 0 !important;
        background: #ffffff !important;
    }

body.ayu-calc-printing * {
        visibility: hidden !important;
    }

body.ayu-calc-printing.ayu-calc-print-mounted > :not(.ayu-calc__print-report--mounted) {
        display: none !important;
    }

body.ayu-calc-printing .ayu-calc__print-report,
body.ayu-calc-printing .ayu-calc__print-report * {
        visibility: visible !important;
    }

body.ayu-calc-printing .ayu-calc__print-report {
        position: absolute;
        top: 0;
        left: 0;
        display: block !important;
        width: 100%;
        margin: 0;
        color: #333333;
        background: #ffffff;
        font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
        font-size: 9.5pt;
        line-height: 1.42;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
        zoom: 0.92;
    }

.ayu-calc__print-report h1,
.ayu-calc__print-report h2,
.ayu-calc__print-report p,
.ayu-calc__print-report dl,
.ayu-calc__print-report dd,
.ayu-calc__print-report ul {
        margin-top: 0;
    }

body.ayu-calc-printing .ayu-calc__print-report--mounted {
        position: static;
    }

.ayu-calc__print-head {
        display: grid !important;
        grid-template-columns: 48mm minmax(0, 1fr);
        gap: 10mm;
        align-items: center;
        min-height: 13mm;
        box-shadow: none;
    }

.ayu-calc__print-logo {
        display: block;
        width: 45mm;
        height: 13mm;
        overflow: visible;
    }

.ayu-calc__print-contacts {
        display: grid;
        gap: 1mm;
        justify-items: end;
        color: #4d4d4d;
        font-size: 8.3pt;
        line-height: 1.25;
        text-align: right;
    }

.ayu-calc__print-contacts strong {
        color: #333333;
        font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
        font-size: 8.5pt;
        font-weight: 700;
        letter-spacing: 0.035em;
        text-transform: uppercase;
    }

.ayu-calc__print-accent {
        height: 1.4mm;
        margin: 3mm 0 4.5mm;
        background: linear-gradient(90deg, #FE624C 0 31%, #333333 31% 100%);
    }

.ayu-calc__print-intro {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 47mm;
        gap: 12mm;
        align-items: start;
        margin-bottom: 4.5mm;
    }

.ayu-calc__print-kicker {
        margin-bottom: 2.5mm;
        color: #FE624C;
        font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
        font-size: 8pt;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

.ayu-calc__print-intro h2 {
        max-width: 125mm;
        margin-bottom: 3.5mm;
        color: #1a1a1a;
        font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
        font-size: 19pt;
        font-weight: 800;
        letter-spacing: -0.025em;
        line-height: 1.08;
    }

.ayu-calc__print-intro > div > p:last-child {
        max-width: 118mm;
        margin-bottom: 0;
        color: #4d4d4d;
        font-size: 9.2pt;
    }

.ayu-calc__print-meta {
        border-top: 1.4pt solid #333333;
    }

.ayu-calc__print-meta > div {
        padding: 2.5mm 0 2.3mm;
        border-bottom: 0.5pt solid #e2e2e2;
    }

.ayu-calc__print-meta dt,
.ayu-calc__print-project dt {
        margin-bottom: 0.8mm;
        color: #4d4d4d;
        font-size: 7.5pt;
        letter-spacing: 0.055em;
        text-transform: uppercase;
    }

.ayu-calc__print-meta dd,
.ayu-calc__print-project dd {
        margin-bottom: 0;
        color: #1a1a1a;
        font-weight: 700;
        font-variant-numeric: tabular-nums;
    }

.ayu-calc__print-section {
        margin-bottom: 4mm;
    }

.ayu-calc__print-section > h2,
.ayu-calc__print-details h2 {
        margin-bottom: 3.5mm;
        color: #333333;
        font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
        font-size: 10.5pt;
        font-weight: 700;
        letter-spacing: 0.045em;
        text-transform: uppercase;
        break-after: avoid;
    }

.ayu-calc__print-project {
        padding: 3.5mm 5.5mm;
        background:
            linear-gradient(rgba(254, 98, 76, 0.06) 0.5pt, transparent 0.5pt),
            linear-gradient(90deg, rgba(254, 98, 76, 0.06) 0.5pt, transparent 0.5pt),
            #fff1ee;
        background-size: 7mm 7mm;
        border-left: 1.5mm solid #FE624C;
        break-inside: avoid;
    }

.ayu-calc__print-project dl {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 3mm 8mm;
        margin-bottom: 0;
    }

.ayu-calc__print-table {
        width: 100%;
        border-collapse: collapse;
        table-layout: fixed;
        font-size: 8.7pt;
    }

.ayu-calc__print-table thead {
        display: table-header-group;
    }

.ayu-calc__print-table th {
        padding: 2.3mm 2.4mm;
        border: 0.5pt solid #333333;
        color: #ffffff;
        background: #333333;
        font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
        font-size: 7.4pt;
        font-weight: 700;
        letter-spacing: 0.035em;
        text-align: left;
        text-transform: uppercase;
    }

.ayu-calc__print-table td {
        padding: 2.2mm 2.4mm;
        border: 0.5pt solid #e2e2e2;
        vertical-align: top;
        overflow-wrap: anywhere;
    }

.ayu-calc__print-table th:first-child,
.ayu-calc__print-table td:first-child {
        width: 8mm;
        text-align: center;
    }

.ayu-calc__print-table th:nth-child(2) {
        width: 39%;
    }

.ayu-calc__print-table th:nth-child(4),
.ayu-calc__print-table td:nth-child(4) {
        width: 38mm;
        font-variant-numeric: tabular-nums;
        font-weight: 700;
        white-space: nowrap;
    }

.ayu-calc__print-table tr {
        break-inside: avoid;
    }

.ayu-calc__print-total {
        display: flex;
        gap: 8mm;
        align-items: center;
        justify-content: space-between;
        padding: 2.5mm 4mm 2.3mm;
        border-bottom: 1.5pt solid #FE624C;
        background: #fff1ee;
    }

.ayu-calc__print-total span {
        font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
        font-size: 8pt;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

.ayu-calc__print-total strong {
        color: #FE624C;
        font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
        font-size: 14pt;
        font-weight: 800;
        font-variant-numeric: tabular-nums;
        text-align: right;
        white-space: nowrap;
    }

.ayu-calc__print-summary {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8mm;
        padding: 2.3mm 4mm 0;
        break-inside: avoid;
    }

.ayu-calc__print-summary > div {
        display: grid;
        gap: 0.8mm;
    }

.ayu-calc__print-summary span {
        color: #4d4d4d;
        font-size: 7.6pt;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

.ayu-calc__print-summary strong {
        color: #333333;
        font-size: 9.4pt;
        font-variant-numeric: tabular-nums;
    }

.ayu-calc__print-details {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.8mm 8mm;
    }

.ayu-calc__print-details > .ayu-calc__print-details-title {
        grid-column: 1 / -1;
        margin-bottom: 0;
        font-size: 10.5pt;
    }

.ayu-calc__print-details > div {
        padding-top: 2mm;
        border-top: 0.8pt solid #b0b0b0;
        break-inside: avoid;
    }

.ayu-calc__print-details h2 {
        margin-bottom: 2mm;
        font-size: 8.5pt;
    }

.ayu-calc__print-details ul {
        margin-bottom: 0;
        padding-left: 5mm;
    }

.ayu-calc__print-details li + li {
        margin-top: 1.1mm;
    }

.ayu-calc__print-note {
        padding: 2.5mm 5mm;
        border: 0.7pt solid #e2e2e2;
        border-left: 1.4mm solid #FE624C;
        background: #f7f7f7;
        break-inside: avoid;
    }

.ayu-calc__print-note strong {
        display: block;
        margin-bottom: 1.4mm;
        font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
        font-size: 8pt;
        letter-spacing: 0.045em;
        text-transform: uppercase;
    }

.ayu-calc__print-note p {
        margin-bottom: 0;
        color: #4d4d4d;
        font-size: 8.4pt;
    }

.ayu-calc__print-footer {
        display: flex !important;
        gap: 8mm;
        justify-content: space-between;
        margin-top: 3.5mm;
        padding-top: 2.5mm;
        border-top: 0.8pt solid #333333;
        color: #4d4d4d;
        background: transparent;
        box-shadow: none;
        font-size: 7.5pt;
        break-inside: avoid;
    }

.ayu-calc__print-footer > div {
        display: grid;
        gap: 0.8mm;
    }

.ayu-calc__print-footer > div:last-child {
        justify-items: end;
        text-align: right;
    }

.ayu-calc__print-footer strong {
        color: #333333;
        font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
        font-size: 8.2pt;
        letter-spacing: 0.05em;
        text-transform: uppercase;
    }
}

/* Phase 2 final host-integration overrides. */
.ayu-calc,
.theme-dark .ayu-calc,
[data-theme="dark"] .ayu-calc {
    --ayu-accent: var(--theme-base-color, #FE624C);
    --ayu-accent-strong: var(--ayu-accent);
    --ayu-focus: var(--ayu-accent);
    --ayu-danger: var(--ayu-accent);
    --ayu-content-max: 1500px;
    --ayu-site-gutter: 32px;
    --ayu-site-header-offset: 162px;
    overflow: visible;
}
.ayu-calc__band { width: 100%; margin-left: 0; }
.ayu-calc__container { width: min(var(--ayu-content-max), calc(100% - (2 * var(--ayu-site-gutter)))); margin-inline: auto; }
@media (min-width: 768px) {
    .maxwidth-theme .ayu-calc__app-header,
    .maxwidth-theme .ayu-calc__container {
        width: min(var(--ayu-content-max), calc(100% - (2 * var(--ayu-site-gutter))));
    }
}
.ayu-calc__workspace { scroll-margin-top: var(--ayu-site-header-offset); }
.ayu-calc__cart { top: var(--ayu-site-header-offset); }
@media (max-width: 1023px) { .ayu-calc__cart { position: static; } }
@media (max-width: 767px) {
    .ayu-calc,
    .theme-dark .ayu-calc,
    [data-theme="dark"] .ayu-calc { --ayu-site-gutter: 24px; --ayu-site-header-offset: 78px; }
    .ayu-calc__container { width: calc(100% - (2 * var(--ayu-site-gutter))); padding-inline: 0; }
    .ayu-calc__progress ol { display: grid; grid-template-columns: repeat(4, 1fr); min-width: 0; gap: 6px; border: 0; }
    .ayu-calc__progress button { position: relative; display: block; width: 100%; min-height: 44px; padding: 0; border: 0; background: transparent; font-size: 0; }
    .ayu-calc__progress button::after { position: absolute; right: 0; bottom: 18px; left: 0; height: 8px; border-radius: 99px; background: var(--ayu-line); content: ""; }
    .ayu-calc__progress button[aria-current="step"]::after,
    .ayu-calc__progress button[data-complete="true"]::after { background: var(--ayu-accent); }
    .ayu-calc__progress button > span { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }
}
/* Phase 2 stage polish: Aspro theme contract, brand palette and hero variant 1. */
body.ayu-calculator-page {
    overflow-x: clip;
}

.ayu-calc,
.theme-light .ayu-calc,
.theme-dark .ayu-calc,
.theme-default .ayu-calc {
    --ayu-accent: var(--light, #FE624C) var(--dark, #FF8A74);
    --ayu-accent-strong: var(--light, #E9422C) var(--dark, #FF8A74);
    --ayu-accent-hover: var(--light, #D93824) var(--dark, #FFA08F);
    --ayu-on-accent: #FFFFFF;
    --ayu-accent-soft: var(--light, #FFF0EC) var(--dark, #3D211C);
    --ayu-page: var(--light, #FFFFFF) var(--dark, #121212);
    --ayu-surface: var(--light, #FFFFFF) var(--dark, #232323);
    --ayu-surface-soft: var(--light, #F7F7F7) var(--dark, #1B1B1B);
    --ayu-surface-raised: var(--light, #FFFFFF) var(--dark, #292929);
    --ayu-surface-warm: var(--light, #FFF0EC) var(--dark, #30201D);
    --ayu-ink: var(--light, #262626) var(--dark, #F5F5F5);
    --ayu-ink-strong: var(--light, #171717) var(--dark, #FFFFFF);
    --ayu-ink-soft: var(--light, #555555) var(--dark, #C9C9C9);
    --ayu-line: var(--light, #DEDEDE) var(--dark, #414141);
    --ayu-line-strong: var(--light, #929292) var(--dark, #737373);
    --ayu-success: var(--light, #1D6843) var(--dark, #78D7A6);
    --ayu-success-soft: var(--light, #EAF7F0) var(--dark, #183326);
    --ayu-danger: var(--light, #B92C22) var(--dark, #FF9A8A);
    --ayu-danger-soft: var(--light, #FDECEA) var(--dark, #3E211D);
    --ayu-focus: var(--light, #B92C22) var(--dark, #FFB5A8);
    --ayu-shadow: var(--light, 0 16px 44px rgba(38, 38, 38, .09)) var(--dark, 0 18px 48px rgba(0, 0, 0, .34));
    --ayu-shadow-soft: var(--light, 0 10px 30px rgba(38, 38, 38, .06)) var(--dark, 0 12px 32px rgba(0, 0, 0, .24));
    --ayu-hero-bg: var(--light, #F4F1EF) var(--dark, #171717);
    --ayu-hero-overlay: var(--light, rgba(20, 18, 17, .2)) var(--dark, rgba(0, 0, 0, .38));
    --ayu-hero-caption: var(--light, rgba(255, 255, 255, .94)) var(--dark, rgba(24, 24, 24, .94));
    --ayu-hero-caption-ink: var(--light, #202020) var(--dark, #F5F5F5);
    --ayu-hero-caption-muted: var(--light, #555555) var(--dark, #D0D0D0);
    color: var(--ayu-ink);
    background: var(--ayu-page);
    overflow: visible;
}

/* The host page already clips horizontal full-bleed paint at the viewport.
   Keeping the component root clipped cuts card shadows at the Bitrix content
   boundary and makes the calculator look cropped. */
/* Extend only the painted surface. Unlike 100vw, this does not count the
   classic scrollbar and therefore removes the observed three-pixel shift. */
.ayu-calc__band {
    width: var(--ayu-viewport-width, 100%);
    margin-left: calc((100% - var(--ayu-viewport-width, 100%)) / 2);
    clip-path: inset(0 -100vmax);
}

.ayu-calc__hero {
    --ayu-band-fill: var(--ayu-hero-bg);
    padding: clamp(32px, 4vw, 60px) 0 clamp(36px, 4.5vw, 66px);
    color: var(--ayu-ink);
    background: var(--ayu-band-fill);
    box-shadow: 0 0 0 100vmax var(--ayu-band-fill);
}

.ayu-calc__workspace {
    --ayu-band-fill: var(--ayu-surface-soft);
    background: var(--ayu-band-fill);
    box-shadow: 0 0 0 100vmax var(--ayu-band-fill);
}

.ayu-calc__content-band,
.ayu-calc__legal-band {
    box-shadow: 0 0 0 100vmax currentColor;
}

.ayu-calc__hero-grid {
    grid-template-columns: minmax(0, 7fr) minmax(360px, 5fr);
    gap: clamp(28px, 4vw, 60px);
    align-items: center;
}

.ayu-calc__hero-copy {
    position: relative;
    z-index: 1;
    min-width: 0;
    max-width: 830px;
}

.ayu-calc__hero h1 {
    max-width: 14ch;
    margin-bottom: 22px;
    color: var(--ayu-ink-strong);
    font-size: clamp(38px, 3.95vw, 60px);
    line-height: 1.02;
    letter-spacing: -.035em;
    text-wrap: balance;
}

.ayu-calc__hero-lead {
    max-width: 60ch;
    color: var(--ayu-ink-soft);
    font-size: clamp(18px, 1.45vw, 22px);
    line-height: 1.5;
    text-wrap: pretty;
}

.ayu-calc__hero .ayu-calc__button--primary,
.ayu-calc__button--primary,
.ayu-calc a.ayu-calc__button--primary,
.ayu-calc a.ayu-calc__button--primary:visited {
    border-color: var(--theme-base-color, #EB6F52);
    color: var(--ayu-on-accent);
    background: var(--theme-base-color, #EB6F52);
}

.ayu-calc__hero .ayu-calc__button--primary:hover,
.ayu-calc__button--primary:hover {
    border-color: hsl(var(--theme-base-color-hue, 11), var(--theme-base-color-saturation, 79%), calc(var(--theme-base-color-lightness, 62%) + var(--theme-lightness-hover-diff, 6%)));
    color: var(--ayu-on-accent);
    background: hsl(var(--theme-base-color-hue, 11), var(--theme-base-color-saturation, 79%), calc(var(--theme-base-color-lightness, 62%) + var(--theme-lightness-hover-diff, 6%)));
}

.ayu-calc__hero .ayu-calc__button--secondary {
    border-color: transparent;
    color: var(--ayu-ink);
    background: transparent;
    text-decoration: underline;
    text-decoration-color: var(--ayu-line-strong);
    text-underline-offset: 5px;
}

.ayu-calc__hero .ayu-calc__button--secondary:hover {
    border-color: transparent;
    color: var(--ayu-accent-strong);
    background: transparent;
    text-decoration-color: currentColor;
}

.ayu-calc__micro-note {
    max-width: 66ch;
    color: var(--ayu-ink-soft);
}

.ayu-calc__hero-frame {
    position: relative;
    min-height: clamp(330px, 32vw, 450px);
    margin: 0;
    overflow: hidden;
    border-radius: 8px 28px 8px 8px;
    background-color: var(--ayu-surface-raised);
    background-image:
        linear-gradient(var(--ayu-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--ayu-line) 1px, transparent 1px);
    background-size: 28px 28px;
    box-shadow: var(--ayu-shadow);
}

.ayu-calc__hero-frame picture,
.ayu-calc__hero-frame img {
    width: 100%;
    height: 100%;
}

.ayu-calc__hero-frame picture {
    position: absolute;
    inset: 0;
}

.ayu-calc__hero-frame img {
    object-fit: cover;
    object-position: 62% center;
    filter: saturate(.72) contrast(1.04);
}

.ayu-calc__hero-frame::after {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, var(--ayu-hero-overlay), transparent 58%);
    content: "";
    pointer-events: none;
}

.ayu-calc__hero-frame figcaption {
    position: absolute;
    z-index: 1;
    right: 18px;
    bottom: 18px;
    left: 18px;
    padding: 18px 20px 16px;
    border: 1px solid var(--ayu-line);
    border-radius: 7px 18px 7px 7px;
    color: var(--ayu-hero-caption-ink);
    background: var(--ayu-hero-caption);
    box-shadow: var(--ayu-shadow-soft);
    backdrop-filter: blur(10px);
}

.ayu-calc__hero-frame .ayu-calc__value-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.ayu-calc__hero-frame .ayu-calc__value-list li {
    display: block;
    padding: 0;
    border: 0;
}

.ayu-calc__hero-frame .ayu-calc__value-list strong {
    display: block;
    margin-bottom: 2px;
    color: var(--ayu-hero-caption-ink);
}

.ayu-calc__hero-frame .ayu-calc__value-list span,
.ayu-calc__hero-detail {
    color: var(--ayu-hero-caption-muted);
    font-size: 13px;
    line-height: 1.35;
}

.ayu-calc__hero-detail {
    margin: 13px 0 0;
    padding-top: 12px;
    border-top: 1px solid var(--ayu-line);
}

.ayu-calc__main,
.ayu-calc__cart {
    background: var(--ayu-surface);
    box-shadow: var(--ayu-shadow-soft);
}

.ayu-calc__price-edition,
.ayu-calc__print-edition {
    color: var(--ayu-ink-soft);
    font-size: 13px;
}

.ayu-calc__price-edition {
    margin: -2px 0 18px;
}

@media (max-width: 1023px) {
    .ayu-calc__hero-grid {
        grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
        gap: 28px;
    }

    .ayu-calc__hero h1 {
        font-size: clamp(36px, 4.8vw, 48px);
    }

    .ayu-calc__hero-frame {
        min-height: 340px;
    }

    .ayu-calc__hero-frame .ayu-calc__value-list {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .ayu-calc__hero-frame .ayu-calc__value-list span {
        display: block;
    }
}

@media (max-width: 767px) {
    .ayu-calc__hero {
        padding: 22px 0 30px;
    }

    .ayu-calc__hero-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .ayu-calc__hero h1 {
        max-width: 16ch;
        margin-bottom: 14px;
        font-size: clamp(29px, 8.3vw, 38px);
        line-height: 1.06;
    }

    .ayu-calc__hero-lead {
        margin-bottom: 16px;
        font-size: 16px;
        line-height: 1.42;
    }

    .ayu-calc__hero-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .ayu-calc__hero-actions .ayu-calc__button--primary {
        width: 100%;
        min-height: 52px;
    }

    .ayu-calc__hero-actions .ayu-calc__button--secondary {
        min-height: 42px;
        justify-content: flex-start;
        padding-inline: 0;
    }

    .ayu-calc__micro-note {
        margin-top: 10px;
        font-size: 13px;
    }

    .ayu-calc__hero-frame {
        min-height: 190px;
        max-height: none;
        border-radius: 7px 20px 7px 7px;
    }

    .ayu-calc__hero-frame figcaption {
        right: 10px;
        bottom: 10px;
        left: 10px;
        padding: 10px 12px;
        border-radius: 6px 13px 6px 6px;
    }

    .ayu-calc__hero-frame .ayu-calc__value-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 8px;
    }

    .ayu-calc__hero-frame .ayu-calc__value-list strong {
        font-size: 13px;
    }

    .ayu-calc__hero-frame .ayu-calc__value-list span {
        display: block;
        margin-top: 3px;
        font-size: 11px;
        line-height: 1.3;
    }

    .ayu-calc__hero-detail {
        display: none;
    }

    .ayu-calc__progress ol {
        display: none;
    }

    .ayu-calc__layout,
    .ayu-calc__main,
    .ayu-calc__wizard,
    .ayu-calc__result {
        min-width: 0;
    }

    .ayu-calc__price {
        overflow-wrap: anywhere;
    }
}

@media (max-width: 340px), (max-height: 700px) and (max-width: 767px) {
    .ayu-calc__hero-frame {
        display: none;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .ayu-calc__button,
    .ayu-calc__mode-card,
    .ayu-calc__section-option,
    .ayu-calc__segmented span {
        transition-duration: 180ms;
    }
}

@media print {
    .ayu-calc,
    .ayu-calc__print-report {
        --ayu-accent: #FE624C;
        --ayu-accent-strong: #E9422C;
        --ayu-accent-soft: #FFF0EC;
        --ayu-ink: #262626;
        --ayu-ink-strong: #171717;
        --ayu-ink-soft: #555555;
        --ayu-surface: #FFFFFF;
        --ayu-surface-soft: #F7F7F7;
        --ayu-line: #DEDEDE;
        --ayu-line-strong: #929292;
        color-scheme: light;
    }

    html,
    body,
    body.ayu-calc-printing .ayu-calc__print-report {
        color: var(--ayu-ink) !important;
        background: var(--ayu-surface) !important;
    }
}
/* Theme completion for the explanatory and legal bands. */
.ayu-calc__content-band {
    --ayu-band-fill: var(--ayu-surface);
    color: var(--ayu-ink);
    background: var(--ayu-band-fill);
    box-shadow: 0 0 0 100vmax var(--ayu-band-fill);
}

.ayu-calc__content-band--soft {
    --ayu-band-fill: var(--ayu-surface-soft);
}

.ayu-calc__content-band--dark {
    --ayu-band-fill: var(--ayu-surface-soft);
    color: var(--ayu-ink);
    border-top: 1px solid var(--ayu-line);
    border-bottom: 1px solid var(--ayu-line);
}

.ayu-calc__content-band--dark h2,
.ayu-calc__faq summary {
    color: var(--ayu-ink-strong);
}

.ayu-calc__faq details {
    border-color: var(--ayu-line);
}

.ayu-calc__faq details p {
    color: var(--ayu-ink-soft);
}

.ayu-calc__fact-cards {
    background: var(--ayu-line);
}

.ayu-calc__fact-cards article {
    color: var(--ayu-ink);
    background: var(--ayu-surface);
}

.ayu-calc__legal-band {
    --ayu-band-fill: var(--ayu-surface-warm);
    color: var(--ayu-ink);
    background: var(--ayu-band-fill);
    box-shadow: 0 0 0 100vmax var(--ayu-band-fill);
}

.ayu-calc select {
    color-scheme: light dark;
}

.ayu-calc__about {
    --ayu-band-fill: var(--ayu-surface);
    padding: clamp(38px, 5vw, 64px) 0 max(56px, env(safe-area-inset-bottom));
    border-top: 1px solid var(--ayu-line);
}

.ayu-calc__about-head {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(320px, 1.2fr);
    gap: clamp(28px, 5vw, 72px);
    align-items: end;
    margin-bottom: 28px;
    box-shadow: none;
}

.ayu-calc__about-head h2 {
    margin-bottom: 0;
    font-size: clamp(28px, 3vw, 42px);
}

.ayu-calc__about-head > p {
    max-width: 720px;
    margin-bottom: 2px;
    color: var(--ayu-ink-soft);
    font-size: 17px;
}

.ayu-calc__about-facts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 20px;
    border-top: 1px solid var(--ayu-line);
    border-bottom: 0;
}

.ayu-calc__about-facts p {
    display: grid;
    gap: 5px;
    margin-bottom: 0;
    padding: 18px 24px 19px 0;
}

.ayu-calc__about-facts p + p {
    padding-left: 24px;
    border-left: 1px solid var(--ayu-line);
}

.ayu-calc__about-facts strong,
.ayu-calc__about-legal > strong {
    color: var(--ayu-ink-strong);
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 14px;
}

.ayu-calc__about-facts span {
    color: var(--ayu-ink-soft);
    font-size: 14px;
    line-height: 1.45;
}

.ayu-calc__about-details {
    border-bottom: 1px solid var(--ayu-line);
}

.ayu-calc__about-details > details {
    border-top: 1px solid var(--ayu-line);
}

.ayu-calc__about-details summary {
    min-height: 58px;
    padding: 17px 42px 16px 0;
    color: var(--ayu-ink-strong);
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-weight: 700;
    cursor: pointer;
}

.ayu-calc__about-details summary::marker {
    color: var(--ayu-accent);
}

.ayu-calc__about-copy {
    max-width: 1040px;
    padding: 0 0 24px;
    color: var(--ayu-ink-soft);
}

.ayu-calc__about-copy p:last-child,
.ayu-calc__about-copy ul:last-child,
.ayu-calc__about-questions section:last-child p {
    margin-bottom: 0;
}

.ayu-calc__about-copy li + li {
    margin-top: 8px;
}

.ayu-calc__about-questions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 40px;
    max-width: none;
}

.ayu-calc__about-questions section {
    padding-top: 16px;
    border-top: 1px solid var(--ayu-line);
}

.ayu-calc__about-questions h3 {
    margin-bottom: 7px;
    color: var(--ayu-ink-strong);
    font-size: 15px;
}

.ayu-calc__about-questions p {
    margin-bottom: 0;
    font-size: 14px;
    line-height: 1.5;
}

.ayu-calc__about-legal {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 24px;
    margin-top: 24px;
    padding: 18px 20px;
    border-left: 4px solid var(--ayu-accent);
    background: var(--ayu-surface-warm);
}

.ayu-calc__about-legal p {
    max-width: 1050px;
    margin-bottom: 0;
    color: var(--ayu-ink-soft);
    font-size: 14px;
    line-height: 1.5;
}

@media (max-width: 767px) {
    .ayu-calc__about-head,
    .ayu-calc__about-facts,
    .ayu-calc__about-questions,
    .ayu-calc__about-legal {
        grid-template-columns: 1fr;
    }

    .ayu-calc__about-head {
        gap: 12px;
        margin-bottom: 22px;
    }

    .ayu-calc__about-head > p {
        font-size: 15px;
    }

    .ayu-calc__about-facts p,
    .ayu-calc__about-facts p + p {
        padding: 15px 0;
        border-left: 0;
    }

    .ayu-calc__about-facts p + p {
        border-top: 1px solid var(--ayu-line);
    }

    .ayu-calc__about-legal {
        gap: 7px;
        padding: 16px;
    }
}

@media print {
    .ayu-calc__print-edition {
        margin: 1.8mm 0 0;
        color: var(--ayu-ink-soft);
        font-size: 7.5pt;
    }
}

/* Final calculator-only spacing and progress legibility polish. */
.ayu-calc__progress button:disabled {
    opacity: 0.78;
}

.ayu-calc__about {
    padding-top: 28px;
    padding-bottom: max(36px, env(safe-area-inset-bottom));
}

.ayu-calc__workspace {
    padding-bottom: 28px;
}

@media (max-width: 767px) {
    .ayu-calc__about {
        padding-top: 22px;
        padding-bottom: max(30px, env(safe-area-inset-bottom));
    }

    .ayu-calc__workspace {
        padding-bottom: 22px;
    }

    .ayu-calc__cart-item-actions button {
        min-height: 44px;
    }
}

/* Responsive hero artwork: preserve the architectural focal point and keep
   supporting information outside the image on narrower layouts. */
.ayu-calc,
.theme-light .ayu-calc,
.theme-dark .ayu-calc,
.theme-default .ayu-calc {
    --ayu-site-header-offset: 88px;
}

.ayu-calc__hero-frame img {
    object-position: 54% 43%;
    filter: saturate(.82) contrast(1.025);
}

@media (max-width: 1023px) {
    .ayu-calc__hero-frame {
        display: grid;
        min-height: 0;
        overflow: hidden;
    }

    .ayu-calc__hero-frame picture {
        position: relative;
        inset: auto;
        display: block;
        aspect-ratio: 16 / 10;
        overflow: hidden;
    }

    .ayu-calc__hero-frame img {
        position: absolute;
        inset: 0;
        object-position: 53% 40%;
    }

    .ayu-calc__hero-frame::after {
        display: none;
    }

    .ayu-calc__hero-frame figcaption {
        position: relative;
        inset: auto;
        padding: 15px 17px 16px;
        border: 0;
        border-top: 1px solid var(--ayu-line);
        border-radius: 0;
        background: var(--ayu-surface);
        box-shadow: none;
        backdrop-filter: none;
    }

    .ayu-calc__hero-frame .ayu-calc__value-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
    }
}

@media (max-width: 767px) {
    .ayu-calc,
    .theme-light .ayu-calc,
    .theme-dark .ayu-calc,
    .theme-default .ayu-calc {
        --ayu-site-header-offset: 70px;
    }

    .ayu-calc__hero-frame picture {
        height: clamp(112px, 32vw, 128px);
        aspect-ratio: auto;
    }

    .ayu-calc__hero-frame img {
        object-position: center;
    }

    .ayu-calc__hero-frame figcaption {
        padding: 12px;
    }
}

@media (max-width: 340px), (max-height: 700px) and (max-width: 767px) {
    .ayu-calc__hero-frame {
        display: grid;
    }
}

/* Make long section lists and the calculation sidebar self-explanatory. */
.ayu-calc__check-grid {
    scrollbar-width: auto;
    scrollbar-color: var(--ayu-accent) var(--ayu-surface-soft);
    scrollbar-gutter: stable;
}

.ayu-calc__check-grid::-webkit-scrollbar {
    width: 10px;
}

.ayu-calc__check-grid::-webkit-scrollbar-track {
    border-radius: 10px;
    background: var(--ayu-surface-soft);
}

.ayu-calc__check-grid::-webkit-scrollbar-thumb {
    border: 2px solid var(--ayu-surface-soft);
    border-radius: 10px;
    background: var(--ayu-accent);
}

.ayu-calc__scroll-hint {
    display: flex;
    gap: 12px;
    align-items: baseline;
    justify-content: space-between;
    margin: 8px 0 0;
    padding: 10px 12px;
    border-radius: 7px;
    color: var(--ayu-ink-soft);
    background: var(--ayu-surface-soft);
    font-size: 13px;
    line-height: 1.35;
}

.ayu-calc__scroll-hint strong {
    color: var(--ayu-ink);
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 13px;
}

.ayu-calc__cart-empty {
    gap: 0;
    min-height: 250px;
    padding: 22px;
}

.ayu-calc__cart-empty::before {
    display: none;
}

.ayu-calc__cart-status {
    margin-bottom: 7px;
    color: var(--ayu-accent-strong);
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ayu-calc__cart-empty p {
    margin-bottom: 18px;
    font-size: 16px;
}

.ayu-calc__cart-guide {
    display: grid;
    gap: 11px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.ayu-calc__cart-guide li {
    position: relative;
    padding-left: 26px;
    color: var(--ayu-ink-soft);
    font-size: 14px;
    line-height: 1.35;
}

.ayu-calc__cart-guide li::before {
    position: absolute;
    top: 1px;
    left: 0;
    display: grid;
    width: 18px;
    height: 18px;
    place-items: center;
    border: 1px solid var(--ayu-line-strong);
    border-radius: 50%;
    content: "";
    font-size: 11px;
}

.ayu-calc__cart-guide li[data-state="current"] {
    color: var(--ayu-ink);
    font-weight: 700;
}

.ayu-calc__cart-guide li[data-state="current"]::before {
    border-color: var(--ayu-accent);
    background: var(--ayu-accent);
    box-shadow: inset 0 0 0 4px var(--ayu-surface);
}

.ayu-calc__cart-guide li[data-state="complete"]::before {
    border-color: var(--ayu-ink);
    color: #fff;
    background: var(--ayu-ink);
    content: "✓";
}

.ayu-calc__cart-note {
    margin: 0;
    padding: 15px 20px;
    border-bottom: 1px solid var(--ayu-line);
    color: var(--ayu-ink-soft);
    background: var(--ayu-surface-soft);
    font-size: 13px;
    line-height: 1.4;
}

.ayu-calc__cart-item-index {
    display: block;
    margin-bottom: 5px;
    color: var(--ayu-accent-strong);
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ayu-calc__cart-item-price {
    margin: 8px 0 0;
    color: var(--ayu-ink);
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;
}

@media (max-width: 767px) {
    .ayu-calc__scroll-hint {
        display: grid;
        gap: 3px;
    }
}

/* Unified compact rhythm across the wizard and result. */
.ayu-calc__wizard,
.ayu-calc__result {
    padding: 24px 26px 26px;
}

.ayu-calc__step-title {
    margin-bottom: 18px;
}

.ayu-calc__step-title h3,
.ayu-calc__result h3 {
    margin-bottom: 7px;
}

.ayu-calc__field,
.ayu-calc__fieldset {
    margin-bottom: 16px;
}

.ayu-calc__step-title p {
    margin-bottom: 0;
}

.ayu-calc__field-grid,
.ayu-calc__dynamic-fields {
    gap: 14px 18px;
}

.ayu-calc__callout {
    margin-bottom: 18px;
    padding-block: 12px;
}

.ayu-calc__review {
    margin-bottom: 18px;
    padding: 16px 18px;
}

.ayu-calc__step-actions {
    margin-top: 20px;
    padding-top: 16px;
}

.ayu-calc__result-label {
    margin-bottom: 4px;
}

.ayu-calc__price {
    margin-bottom: 6px;
    font-size: clamp(27px, 3vw, 40px);
    line-height: 1.08;
}

.ayu-calc__tax,
.ayu-calc__duration {
    margin-bottom: 5px;
}

.ayu-calc__duration {
    margin-bottom: 14px;
}

.ayu-calc__price-edition {
    margin: 10px 0 14px;
    line-height: 1.4;
}

.ayu-calc__breakdown {
    margin: 18px 0;
}

.ayu-calc__breakdown > h3 {
    margin: 0 0 6px;
}

.ayu-calc__breakdown > p {
    margin-bottom: 12px;
}

.ayu-calc__breakdown-item summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    min-height: 54px;
    gap: 12px;
    align-items: center;
    padding: 11px 4px;
    color: var(--ayu-ink);
    cursor: pointer;
    list-style: none;
}

.ayu-calc__breakdown-item summary::-webkit-details-marker {
    display: none;
}

.ayu-calc__breakdown-item summary::after {
    width: 9px;
    height: 9px;
    border-right: 2px solid var(--ayu-accent);
    border-bottom: 2px solid var(--ayu-accent);
    content: "";
    transform: rotate(45deg) translateY(-2px);
    transition: transform 160ms ease;
}

.ayu-calc__breakdown-item[open] summary::after {
    transform: rotate(225deg) translate(-2px, -2px);
}

.ayu-calc__breakdown-action {
    color: var(--ayu-accent-strong);
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.ayu-calc__breakdown-action::before {
    content: "Показать расчёт";
}

.ayu-calc__breakdown-item[open] .ayu-calc__breakdown-action::before {
    content: "Скрыть расчёт";
}

.ayu-calc__breakdown-facts {
    gap: 10px 24px;
    margin-bottom: 14px;
    padding: 16px 18px;
}

.ayu-calc__disclaimer {
    margin-bottom: 18px;
    padding: 13px 15px;
}

.ayu-calc__result-columns {
    gap: 10px;
    margin-bottom: 18px;
}

.ayu-calc__result-columns section {
    min-height: 0;
    padding: 15px 16px;
}

.ayu-calc__result-actions {
    margin-top: 18px;
}

.ayu-calc__lead {
    margin-top: 24px;
}

.ayu-calc__breakdown {
    margin-bottom: 0;
}

.ayu-calc .ayu-calc__disclaimer {
    margin: 12px 0;
}

@media (max-width: 767px) {
    .ayu-calc__wizard,
    .ayu-calc__result {
        padding: 18px 15px 20px;
    }

    .ayu-calc__result {
        padding-top: 8px;
    }

    .ayu-calc__result > [data-result-content] {
        margin-top: 0;
        padding-top: 0;
    }

    .ayu-calc__progress {
        margin-bottom: 8px;
    }

    .ayu-calc__result-loading {
        min-height: 0;
        padding: 18px 2px;
    }

    .ayu-calc__result-loading p {
        margin-bottom: 12px;
        color: var(--ayu-ink);
        font-weight: 700;
    }

    .ayu-calc__step-title {
        margin-bottom: 16px;
    }

    .ayu-calc__field,
    .ayu-calc__fieldset {
        margin-bottom: 14px;
    }

    .ayu-calc__step-actions {
        margin-top: 18px;
        padding-top: 14px;
    }

    .ayu-calc__breakdown-item summary {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 7px 10px;
        padding-block: 12px;
    }

    .ayu-calc__breakdown-action {
        grid-column: 1;
        font-size: 12px;
    }

    .ayu-calc__breakdown-item summary::after {
        grid-column: 2;
        grid-row: 1 / span 2;
    }

    .ayu-calc__breakdown {
        margin-bottom: 0;
    }

    .ayu-calc__disclaimer {
        margin: 12px 0;
    }
}

/* The Aspro page shell adds 80px below .main. On the calculator page this
   duplicates the final content band's own bottom spacing. */
body.ayu-calculator-page .main {
    padding-bottom: 24px !important;
}

@media (max-width: 767px) {
    body.ayu-calculator-page .main {
        padding-bottom: 20px !important;
    }
}

/* Match the calculator's mobile bands to the 24px Aspro content gutter.
   The bands break out to the page shell, so their inner container needs
   one explicit 24px inset on each side without a second nested gutter. */
@media (max-width: 767px) {
    .ayu-calc .ayu-calc__container {
        width: calc(100% - 48px);
    }
}

/* Aspro's global lazy-load pass also touches eager images. Keep the hero
   visible while that pass swaps helper classes and the WebP fallback. */
.ayu-calc__hero-frame .ayu-calc__hero-image,
.ayu-calc__hero-frame .ayu-calc__hero-image.lazyload,
.ayu-calc__hero-frame .ayu-calc__hero-image.lazyloading,
.ayu-calc__hero-frame .ayu-calc__hero-image.lazyloaded {
    opacity: 1 !important;
    transition: none !important;
}

/* Use the host Aspro font on the first screen. This prevents the hero from
   reflowing when the calculator's optional local display fonts finish loading. */
.ayu-calc .ayu-calc__hero,
.ayu-calc .ayu-calc__hero h1,
.ayu-calc .ayu-calc__hero .ayu-calc__eyebrow,
.ayu-calc .ayu-calc__hero .ayu-calc__button,
.ayu-calc .ayu-calc__hero .ayu-calc__value-list strong {
    font-family: var(--theme-font-family, Montserrat, Arial, sans-serif);
}
/* AYU native Aspro CTA geometry 2026-08-12 */ .ayu-calc .ayu-calc__button{height:auto;min-height:0;padding:9px 20px 10px;border-radius:4px;font-family:var(--theme-font-family,Montserrat,Arial,sans-serif);font-size:14px;font-weight:700;line-height:20px;letter-spacing:normal}
.ayu-calc .ayu-calc__button{align-items:center;justify-content:center;text-align:center}

/* End */
/* /local/components/ayu/public.calculator/templates/.default/style.css?178651341695042 */
