:root {
  --quote-ink: #0e2433;
  --quote-purple: #542192;
  --quote-muted: #4d6475;
  --quote-border: #dce4eb;
  --quote-control-border: #7f91a3;
  --quote-bg: #f4f7fa;
  --quote-radius: 28px;
}
.quote-body {
  --hero-c1: #0e2433;
  margin: 0;
  background: var(--quote-bg);
  color: var(--quote-ink);
  font-family: "Instrument Sans", sans-serif;
  line-height: 1.6;
}
.quote-body * {
  box-sizing: border-box;
}
.quote-page button,
.quote-page input,
.quote-page textarea,
.quote-calculator button,
.quote-calculator input {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
.quote-body button {
  cursor: pointer;
}
.quote-body button:disabled {
  cursor: default;
  opacity: 0.6;
}
:where(.quote-page,.quote-calculator) a {
  color: inherit;
}
.quote-page :focus-visible,
.quote-calculator :focus-visible {
  outline: 3px solid #9062c9;
  outline-offset: 4px;
}
.quote-hero :focus-visible {
  outline: 3px solid #fff;
  outline-offset: 4px;
}
.quote-body [hidden] {
  display: none !important;
}
.quote-hero {
  padding: 128px clamp(16px, 4vw, 56px) 64px;
  color: #fff;
  background:
    radial-gradient(80% 130% at 100% 0%, #54219270, transparent 70%),
    linear-gradient(45deg, #0e2433 43%, #542192);
}
.quote-hero-inner {
  max-width: 1280px;
  margin: auto;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 64px;
  align-items: center;
}
.quote-crumb {
  display: flex;
  gap: 12px;
  font-size: 14px;
  margin-bottom: 32px;
  color: #e0d8ee;
}
.quote-crumb a {
  text-decoration: none;
}
.quote-eyebrow,
.quote-kicker {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.quote-eyebrow {
  color: #e5d8f6;
}
.quote-kicker {
  color: var(--quote-purple);
}
.quote-hero h1 {
  max-inline-size: 16ch;
  font:
    800 clamp(38px, 4.5vw, 64px)/1.04 "Bricolage Grotesque",
    sans-serif;
  letter-spacing: -0.04em;
  margin: 16px 0 20px;
  text-wrap: balance;
}
.quote-hero p {
  max-width: 54ch;
  margin: 0;
  color: #e3e7ed;
  font-size: 17px;
}
.quote-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.quote-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  min-height: 52px;
  border: 0;
  border-radius: 99px;
  padding: 12px 24px;
  background: var(--quote-purple);
  color: #fff !important;
  text-decoration: none;
  font-weight: 700;
  transition:
    background 0.2s,
    transform 0.2s;
}
.quote-btn:hover {
  background: #3c166c;
  transform: translateY(-1px);
}
.quote-hero .quote-btn {
  background: #fff;
  color: var(--quote-ink) !important;
}
.quote-btn-outline {
  background: transparent !important;
  border: 1px solid #bfcad6;
}
.quote-hero .quote-btn-outline {
  color: #fff !important;
}
.quote-steps {
  padding: 32px;
  border: 1px solid #ffffff25;
  background: #ffffff09;
  border-radius: var(--quote-radius);
}
.quote-steps ol {
  list-style: none;
  padding: 0;
  margin: 24px 0 0;
  display: grid;
  gap: 24px;
}
.quote-steps li {
  display: flex;
  gap: 18px;
}
.quote-steps li > span {
  flex: none;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #ffffff12;
  color: #eee3fa;
  font-weight: 700;
}
.quote-steps h2 {
  font:
    700 19px "Bricolage Grotesque",
    sans-serif;
  margin: 0 0 6px;
}
.quote-steps p {
  font-size: 14px;
  color: #d0d9e2;
}
.quote-page {
  max-width: 1392px;
  margin: auto;
  padding: 40px clamp(16px, 4vw, 56px) 24px;
}
.quote-section {
  margin-bottom: 40px;
}
.quote-section h2,
.quote-summary h2,
.quote-success h2,
.quote-errors h2 {
  font:
    800 clamp(26px, 3vw, 36px)/1.15 "Bricolage Grotesque",
    sans-serif;
  letter-spacing: -0.025em;
  margin: 10px 0 16px;
}
.quote-section-heading {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
  margin-bottom: 24px;
}
.quote-section-heading p {
  max-width: 36ch;
  color: var(--quote-muted);
  margin: 0 0 16px;
}
.quote-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 20px;
}
.quote-filters button,
.quote-appliance-chips button {
  min-height: 44px;
  padding: 9px 16px;
  border: 1px solid var(--quote-border);
  background: #fff;
  border-radius: 99px;
  color: var(--quote-ink);
}
.quote-filters .active {
  background: var(--quote-ink);
  color: #fff;
  border-color: var(--quote-ink);
}
.quote-package-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.quote-package {
  background: #fff;
  border: 2px solid transparent;
  box-shadow: 0 0 0 1px var(--quote-border);
  border-radius: var(--quote-radius);
  padding: 28px;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.quote-package.selected {
  border-color: var(--quote-purple);
  box-shadow: 0 12px 32px #5421920e;
}
.quote-package-tag {
  font-size: 12px;
  font-weight: 700;
  color: var(--quote-purple);
}
.quote-package h3 {
  font:
    800 24px/1.2 "Bricolage Grotesque",
    sans-serif;
  margin: 14px 0;
}
.quote-package p {
  margin: 0 0 16px;
  color: var(--quote-muted);
}
.quote-package ul {
  padding-left: 20px;
  font-size: 14px;
  margin: 0 0 20px;
}
.quote-package .quote-package-price {
  font-weight: 700;
  font-size: 18px;
  color: var(--quote-ink);
  margin-top: auto;
}
.quote-package-models {
  font-size: 13px;
  overflow-wrap: anywhere;
}
.quote-select {
  display: block;
  width: 100%;
  min-height: 46px;
  border: 1px solid var(--quote-border);
  border-radius: 99px;
  padding: 10px 18px;
  background: #fff;
  color: var(--quote-ink);
  font-weight: 700;
}
.quote-select[aria-pressed="true"] {
  background: #eee6f7;
  border-color: var(--quote-purple);
  color: var(--quote-purple);
}
.quote-products-details {
  background: #fff;
  border: 1px solid var(--quote-border);
  border-radius: var(--quote-radius);
  padding: 24px 28px;
}
.quote-products-details summary {
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  cursor: pointer;
  min-height: 44px;
}
.quote-products-details summary::-webkit-details-marker {
  display: none;
}
.quote-details-title {
  display: block;
  font:
    700 23px "Bricolage Grotesque",
    sans-serif;
  margin-top: 8px;
}
.quote-details-plus {
  font-size: 30px;
}
.quote-products-details[open] .quote-details-plus {
  transform: rotate(45deg);
}
.quote-product-body {
  padding-top: 24px;
}
.quote-product-body > label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 6px;
}
.quote-product-grid {
  border: 0;
  margin: 20px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.quote-product {
  border: 1px solid var(--quote-border);
  border-radius: 18px;
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  min-width: 0;
}
.quote-product:has(input:checked) {
  border-color: var(--quote-purple);
  background: #faf7ff;
}
.quote-product input {
  width: 20px;
  height: 20px;
  flex: none;
  accent-color: var(--quote-purple);
}
.quote-product img {
  object-fit: contain;
  border-radius: 10px;
  background: var(--quote-bg);
}
.quote-product strong {
  display: block;
  font-size: 15px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.quote-product small {
  display: block;
  margin-top: 6px;
  color: var(--quote-muted);
  font-size: 13px;
}
.quote-request-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 24px;
  scroll-margin-top: 110px;
}
.quote-form-card,
.quote-summary {
  padding: 32px;
  background: #fff;
  border: 1px solid var(--quote-border);
  border-radius: var(--quote-radius);
}
.quote-form-card > p {
  color: var(--quote-muted);
  font-size: 14px;
}
.quote-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin: 24px 0;
}
.quote-full {
  grid-column: 1/-1;
}
.quote-field label,
.quote-appliance-entry label {
  display: block;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 7px;
}
.quote-field input,
.quote-field textarea,
#quote-product-search,
.quote-appliance-entry input {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--quote-control-border);
  border-radius: 14px;
  color: var(--quote-ink);
  background: #fff;
  font-size: 16px;
}
.quote-field textarea {
  resize: vertical;
}
.quote-field.has-error input,
.quote-field.has-error textarea {
  border-color: #b42345;
}
.quote-field-error {
  color: #b42345;
  font-size: 14px;
}
.quote-field-error p {
  margin: 6px 0 0;
}
.quote-field-error ul {
  list-style: none;
  padding: 0;
  margin: 6px 0;
}
.quote-text-btn {
  border: 0;
  background: none;
  color: var(--quote-purple);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
  min-height: 44px;
  padding: 8px 0;
  text-align: left;
}
.quote-submit {
  width: 100%;
}
.quote-form-note {
  font-size: 13px;
  color: var(--quote-muted);
  margin-top: 16px;
}
.quote-summary {
  align-self: start;
  position: sticky;
  top: 112px;
}
.quote-summary dl {
  margin: 28px 0;
}
.quote-summary dl > div {
  border-bottom: 1px solid var(--quote-border);
  padding: 14px 0;
}
.quote-summary dt {
  font-size: 13px;
  color: var(--quote-muted);
}
.quote-summary dd {
  margin: 5px 0 0;
  font-weight: 700;
}
.quote-summary-tip {
  padding: 20px;
  background: var(--quote-bg);
  border-radius: 18px;
  margin-bottom: 24px;
}
.quote-summary-tip h3 {
  font:
    700 18px "Bricolage Grotesque",
    sans-serif;
  margin: 0 0 8px;
}
.quote-summary-tip p {
  font-size: 14px;
  color: var(--quote-muted);
  margin: 0;
}
.quote-summary > a {
  font-size: 14px;
  color: var(--quote-purple);
}
.quote-success,
.quote-errors {
  padding: 24px;
  border-radius: 22px;
  margin-bottom: 24px;
}
.quote-success {
  background: #e8f5ef;
  border: 1px solid #99d5b7;
  color: #145d3b;
}
.quote-errors {
  background: #fff1f4;
  border: 1px solid #e7aabc;
  color: #891b36;
}
.quote-success h2,
.quote-errors h2 {
  font-size: 24px;
  margin-top: 0;
}
.quote-calculator {
  width: calc(100% - 32px);
  max-width: 840px;
  max-height: calc(var(--overlay-height,100dvh) - 32px);
  border: 0;
  border-radius: 28px;
  padding: 0;
  color: var(--quote-ink);
  font:
    16px/1.6 "Instrument Sans",
    sans-serif;
  box-shadow: 0 30px 90px #0e243340;
  overflow: hidden;
  top:calc(var(--overlay-top,0px) + var(--overlay-height,100dvh) / 2);
  bottom:auto;
  margin:0 auto;
  transform:translateY(-50%);
}
.quote-calculator[open] {display:flex;flex-direction:column;}
.quote-calculator-head {flex:none;padding:24px 28px 16px;background:#fff;}
.quote-calculator-body {flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:0 28px 20px;scroll-padding-block:16px;}
.quote-calculator-footer {flex:none;padding:16px 28px 24px;border-top:1px solid var(--quote-border);background:#fff;}
.quote-calculator::backdrop {
  background: #0e2433b3;
}
.quote-calculator-head {
  display: flex;
  gap: 16px;
  justify-content: space-between;
  align-items: start;
}
.quote-calculator-head h2 {
  font:
    800 30px/1.2 "Bricolage Grotesque",
    sans-serif;
  margin: 8px 0 0;
}
.quote-calculator-head > button {
  flex: none;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: var(--quote-bg);
  font-size: 26px;
}
.quote-calculator-body > p {
  color: var(--quote-muted);
  font-size: 14px;
}
.quote-appliance-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.quote-calculator-note {
  font-size: 13px !important;
}
.quote-appliance-entry {
  display: grid;
  grid-template-columns: 1.6fr 1fr 0.8fr;
  gap: 12px;
  align-items: end;
}
.quote-appliance-entry > button {
  grid-column: 1/-1;
}
.quote-appliance-rows {
  display: grid;
  gap: 8px;
  margin: 20px 0;
}
.quote-appliance-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 16px;
  align-items: center;
  background: var(--quote-bg);
  padding: 12px 16px;
  border-radius: 14px;
}
.quote-appliance-row button {
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  font-size: 23px;
  color: #9a203d;
}
.quote-appliance-row small {
  display: block;
  color: var(--quote-muted);
}
.quote-load-result {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  background: var(--quote-ink);
  color: #fff;
  padding: 24px;
  border-radius: 20px;
}
.quote-load-result span {
  display: block;
  font-size: 13px;
  color: #d4deea;
}
.quote-load-result strong {
  display: block;
  font:
    800 30px "Bricolage Grotesque",
    sans-serif;
  margin-top: 8px;
}
.quote-calculator-actions {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 20px;
}
.quote-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 1000px) {
  .quote-hero-inner {
    gap: 32px;
  }
  .quote-package-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .quote-request-grid {
    grid-template-columns: 1fr;
  }
  .quote-summary {
    position: static;
  }
}
@media (max-width: 680px) {
  .quote-hero {
    padding-top: 110px;
    padding-bottom: 40px;
  }
  .quote-hero-inner {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .quote-crumb {
    margin-bottom: 20px;
  }
  .quote-steps {
    padding: 24px;
  }
  .quote-section-heading {
    display: block;
  }
  .quote-package-grid,
  .quote-product-grid,
  .quote-fields {
    grid-template-columns: 1fr;
  }
  .quote-package,
  .quote-products-details,
  .quote-form-card,
  .quote-summary {
    padding: 22px;
  }
  .quote-package-grid {
    gap: 16px;
  }
  .quote-product img {
    width: 48px;
    height: 56px;
  }
  .quote-hero-actions .quote-btn {
    flex: 1;
    white-space: nowrap;
    padding: 12px 18px;
    font-size: 14px;
  }
  .quote-calculator {
    padding: 0;
  }
  .quote-calculator-head h2 {
    font-size: 25px;
  }
  .quote-appliance-entry {
    grid-template-columns: 1fr 1fr;
  }
  .quote-appliance-entry > div:first-child {
    grid-column: 1/-1;
  }
  .quote-load-result {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .quote-calculator-actions {
    flex-direction: column;
  }
  .quote-appliance-row {
    gap: 10px;
    padding: 10px;
  }
  .quote-details-title {
    font-size: 20px;
  }
}
.quote-package:only-child {
  grid-column: 1/-1;
}
@media (prefers-reduced-motion: reduce) {
  .quote-body * {
    transition: none !important;
    animation: none !important;
  }
}

/* The three quotation steps share the site's cards, spacing and controls. */
.quote-load-start {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 32px;
  align-items: center;
  padding: 32px;
  background: #fff;
  border: 1px solid var(--quote-border);
  border-radius: var(--quote-radius);
  scroll-margin-top: 110px;
}
.quote-load-start p {
  color: var(--quote-muted);
  max-width: 60ch;
}
.quote-load-summary {
  padding: 24px;
  background: var(--quote-bg);
  border-radius: 22px;
}
.quote-load-summary dl {
  margin: 16px 0;
}
.quote-load-summary dt {
  font-size: 13px;
  color: var(--quote-muted);
}
.quote-load-summary dd {
  margin: 4px 0 18px;
  font:
    800 25px "Bricolage Grotesque",
    sans-serif;
}
#solar-quotations,
#catalog-quotation {
  scroll-margin-top: 110px;
}
.quote-discount {
  display: block;
  font-size: 13px;
  font-weight: 600;
  color: var(--quote-purple) !important;
  margin: 10px 0;
  text-underline-offset: 3px;
}
.quote-cart-link {
  display: block;
  margin-top: 12px;
  color: var(--quote-purple) !important;
  font-weight: 700;
}
.quote-catalog-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 20px;
  padding: 24px;
  background: #fff;
  border: 1px solid var(--quote-border);
  border-radius: 22px;
}
.quote-catalog-total strong {
  display: block;
  font:
    800 28px "Bricolage Grotesque",
    sans-serif;
  margin-top: 8px;
}
.quote-catalog-total p {
  font-size: 13px;
  color: var(--quote-muted);
  margin-bottom: 0;
}
.quote-product {
  display: block;
}
.quote-product-choice {
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  min-height: 72px;
}
.quote-product-quantity {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding-top: 14px;
  border-top: 1px solid var(--quote-border);
  margin-top: 12px;
}
.quote-product-quantity label {
  font-size: 13px;
  font-weight: 700;
}
.quote-product-quantity input {
  width: 76px;
  height: 44px;
  padding: 8px;
  border: 1px solid var(--quote-control-border);
  border-radius: 10px;
  font-size: 16px;
}
.quote-product-quantity input:disabled {
  opacity: 0.5;
}
.quote-product-line-price {
  margin-left: auto;
  font-weight: 700;
  font-size: 14px;
}
.quote-product:has(input[type="checkbox"]:checked) {
  background: #faf7ff;
  border-color: var(--quote-purple);
}
.quote-month-days {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 16px;
  background: var(--quote-bg);
  border-radius: 16px;
  margin: 16px 0;
}
.quote-month-days label {
  font-weight: 700;
  font-size: 14px;
}
.quote-month-days input {
  width: 80px;
  min-height: 44px;
  border: 1px solid var(--quote-control-border);
  padding: 8px;
  border-radius: 10px;
  font-size: 16px;
}
.quote-month-days span {
  font-size: 13px;
  color: var(--quote-muted);
}
.quote-appliance-entry {
  grid-template-columns: 1.5fr 1fr 0.8fr 1fr;
}
.quote-appliance-row {
  grid-template-columns: minmax(0, 1fr) 100px auto auto;
}
.quote-appliance-row label {
  font-size: 12px;
}
.quote-appliance-row input {
  width: 100%;
  min-height: 44px;
  border: 1px solid var(--quote-control-border);
  padding: 8px;
  border-radius: 10px;
  font-size: 16px;
}
.quote-appliance-row strong {
  font-size: 14px;
}
.quote-load-result {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.quote-load-result strong {
  font-size: 26px;
}
.quote-calculator-actions {
  flex-wrap: wrap;
}
@media (max-width: 680px) {
  .quote-load-start {
    grid-template-columns: 1fr;
    padding: 22px;
    gap: 20px;
  }
  .quote-catalog-total {
    flex-direction: column;
    align-items: stretch;
  }
  .quote-appliance-entry {
    grid-template-columns: 1fr 1fr;
  }
  .quote-appliance-entry > div:first-child {
    grid-column: 1/-1;
  }
  .quote-load-result {
    grid-template-columns: 1fr;
  }
  .quote-appliance-row {
    grid-template-columns: minmax(0, 1fr) 80px 44px;
  }
  .quote-appliance-row strong {
    grid-column: 1/3;
    grid-row: 2;
  }
  .quote-appliance-row button {
    grid-column: 3;
    grid-row: 1/3;
  }
  .quote-calculator-actions > * {
    width: 100%;
  }
}

/* Two-step estimator: editable quantities, one system-size result. */
#addAppliance {
  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
#addAppliance:hover, #addAppliance:focus-visible {
  background: #3C166C;
  color: #fff;
  border-color: #3C166C;
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgb(60 22 108 / .2);
}
#addAppliance:active { transform: translateY(0); }
.quote-appliance-row { grid-template-columns: minmax(0, 1fr) 90px 100px 44px; }
.quote-load-result { grid-template-columns: 1fr; }
.quote-package[hidden] { display: none; }
@media (max-width: 680px) {
  .quote-appliance-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 44px; }
  .quote-appliance-row > div { grid-column: 1 / 3; }
  .quote-appliance-row > label { grid-row: 2; }
  .quote-appliance-row button { grid-column: 3; grid-row: 1 / 3; }
}
@media (prefers-reduced-motion: reduce) {
  #addAppliance { transition: none; }
  #addAppliance:hover, #addAppliance:focus-visible { transform: none; }
}

/* The same estimator, with stable controls and one scrolling appliance area. */
.quote-calculator-footer .quote-load-result {padding:14px 18px;}
.quote-calculator-footer .quote-load-result strong {margin-top:4px;}
.quote-calculator-footer .quote-calculator-actions {gap:8px;margin-top:12px;align-items:center;}
.quote-calculator-footer .quote-calculator-actions > * {width:auto;flex:1 1 auto;}
.quote-calculator-footer .quote-btn {padding:10px 18px;min-height:48px;}
.quote-calculator-body .quote-appliance-entry > div {min-width:0;}
.quote-calculator-head > div {min-width:0;}
.quote-calculator.is-short .quote-calculator-head {padding:12px 20px;}
.quote-calculator.is-short .quote-calculator-head h2 {font-size:25px;margin-top:4px;}
.quote-calculator.is-short .quote-calculator-body {padding-inline:20px;}
.quote-calculator.is-short .quote-calculator-footer {padding:10px 20px;}
.quote-calculator.is-short .quote-load-result {padding:10px 14px;}
.quote-calculator.is-short .quote-load-result > div {display:flex;align-items:center;justify-content:space-between;gap:12px;}
.quote-calculator.is-short .quote-load-result strong {margin:0;white-space:nowrap;}
.quote-calculator.is-short .quote-calculator-actions {margin-top:8px;}
.quote-calculator.is-tiny {overflow:auto;scroll-padding-block:90px 12px;}
.quote-calculator.is-tiny .quote-calculator-head {position:sticky;top:0;z-index:2;}
.quote-calculator.is-tiny .quote-calculator-body {flex:1 0 120px;}
@media(max-width:680px) {
  .quote-calculator-head {padding:16px 20px;}
  .quote-calculator-body {padding:0 20px 16px;}
  .quote-calculator-footer {padding:12px 20px;}
  .quote-calculator-footer .quote-calculator-actions {flex-direction:row;}
}
