/* Pin the summary to the document scroll, with room for the mobile topbar. */
:root { --calculator-sticky-top: 1rem; }
@media (max-width: 1279.98px) {
  :root { --calculator-sticky-top: calc(var(--mobile-topbar-height, 64px) + 1rem); }
}
.calculator-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; align-items: start; }
.calculator-fields { min-width: 0; }
.calculator-actions { display: flex; flex-wrap: wrap; gap: 8px; }
@media (min-width: 992px) {
  .calculator-summary-column:not(.calculator-summary-xl) {
    position: sticky;
    top: var(--calculator-sticky-top);
    max-height: calc(100dvh - var(--calculator-sticky-top) - 1rem);
    overflow-y: auto;
    align-self: flex-start;
  }
  #notary-calculator-root .up-payment {
    top: var(--calculator-sticky-top);
    max-height: calc(100dvh - var(--calculator-sticky-top) - 1rem);
    overflow-y: auto;
  }
}
@media (min-width: 1200px) {
  .calculator-summary-xl {
    position: sticky;
    top: var(--calculator-sticky-top);
    max-height: calc(100dvh - var(--calculator-sticky-top) - 1rem);
    overflow-y: auto;
    align-self: flex-start;
  }
  .calculator-layout { grid-template-columns: minmax(0, 1fr) 320px; }
  main .calculator-layout > .calculator-summary {
    position: sticky;
    top: var(--calculator-sticky-top);
    max-height: calc(100dvh - var(--calculator-sticky-top) - 1rem);
    overflow-y: auto;
    margin-top: 0;
  }
  .cmc-page .calculator-layout .cmc-total, .uwc-page .uwc-results .uwc-totals, .uwc-page .uwc-results .uwc-details,
  .uc-page .uc-results .uc-total-grid, .uc-page .uc-results .uc-result-columns { grid-template-columns: minmax(0, 1fr); }
  .cmc-page .calculator-fields .cmc-grid, .uwc-page .calculator-fields .uwc-grid { grid-template-columns: minmax(0, 1fr); }
  .cmc-page .calculator-fields .cmc-filters, .uc-page .calculator-fields .uc-fields.six, .uwc-page .calculator-fields .uwc-fields.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .uc-results .uc-result-columns > div:last-child { grid-column: auto; }
  .uwc-results .uwc-details > div { overflow-x: auto; }
}
