/* Calculator heading normalization v83.
 * Let the heading wrap naturally; do not hard-break words/phrases in markup.
 */
body.fillru-homepage .calculator-module__HVrzLW__heading {
  display: grid !important;
  gap: 8px !important;
  width: min(100%, 1580px) !important;
  margin: 0 auto 24px !important;
  padding: 0 !important;
  text-align: left !important;
}

body.fillru-homepage .calculator-module__HVrzLW__eyebrow {
  margin: 0 !important;
  color: var(--calc-ui-brand) !important;
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-caption) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
}

body.fillru-homepage .calculator-module__HVrzLW__title {
  max-width: 980px !important;
  margin: 0 !important;
  color: var(--calc-ui-ink) !important;
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-title) !important;
  font-weight: 800 !important;
  line-height: 1.06 !important;
  letter-spacing: -.025em !important;
  text-wrap: balance !important;
}

body.fillru-homepage .calculator-module__HVrzLW__subtitle {
  max-width: 920px !important;
  margin: 2px 0 0 !important;
  color: var(--calc-ui-muted) !important;
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-body) !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}

@media (max-width: 768px) {
  body.fillru-homepage .calculator-module__HVrzLW__heading {
    gap: 7px !important;
    margin-bottom: 18px !important;
  }

  body.fillru-homepage .calculator-module__HVrzLW__title {
    max-width: 100% !important;
    font-size: 32px !important;
    line-height: 1.08 !important;
    text-wrap: pretty !important;
  }

  body.fillru-homepage .calculator-module__HVrzLW__subtitle {
    max-width: 100% !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
  }
}

@media (max-width: 420px) {
  body.fillru-homepage .calculator-module__HVrzLW__title {
    font-size: 28px !important;
  }
}
/* Compact size cards v84.
 * The image column is content-sized instead of a wide fixed column, so the
 * visual sits close to the text without shrinking typography.
 */
body.fillru-homepage .calculator-reference-sizes .calculator-size-list {
  gap: 5px !important;
}

body.fillru-homepage .calculator-reference-sizes .calculator-size-card {
  display: grid !important;
  grid-template-columns: 18px minmax(0, 1fr) auto !important;
  align-items: center !important;
  column-gap: 8px !important;
  row-gap: 0 !important;
  min-height: 78px !important;
  padding: 8px 10px !important;
  border-radius: 8px !important;
}

body.fillru-homepage .calculator-reference-sizes .calculator-radio {
  width: 18px !important;
  height: 18px !important;
}

body.fillru-homepage .calculator-reference-sizes .calculator-radio span {
  width: 8px !important;
  height: 8px !important;
}

body.fillru-homepage .calculator-reference-sizes .calculator-size-text {
  display: block !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body.fillru-homepage .calculator-reference-sizes .calculator-size-text strong {
  margin: 0 !important;
  line-height: 1.15 !important;
}

body.fillru-homepage .calculator-reference-sizes .calculator-size-text > span {
  margin-top: 3px !important;
  line-height: 1.25 !important;
}

body.fillru-homepage .calculator-reference-sizes .calculator-size-visual {
  display: grid !important;
  justify-items: start !important;
  align-items: center !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}

body.fillru-homepage .calculator-reference-sizes .calculator-size-image {
  display: block !important;
  height: auto !important;
  max-height: 64px !important;
  margin: 0 !important;
  object-fit: contain !important;
}

body.fillru-homepage .calculator-reference-sizes .calculator-size-card[data-size-id="s"] .calculator-size-image {
  width: 38px !important;
  max-width: 38px !important;
}

body.fillru-homepage .calculator-reference-sizes .calculator-size-card[data-size-id="m"] .calculator-size-image {
  width: 48px !important;
  max-width: 48px !important;
}

body.fillru-homepage .calculator-reference-sizes .calculator-size-card[data-size-id="l"] .calculator-size-image {
  width: 58px !important;
  max-width: 58px !important;
}

body.fillru-homepage .calculator-reference-sizes .calculator-size-card[data-size-id="xlg"] .calculator-size-image {
  width: 72px !important;
  max-width: 72px !important;
}

@media (max-width: 768px) {
  body.fillru-homepage .calculator-reference-sizes .calculator-size-list {
    gap: 4px !important;
  }

  body.fillru-homepage .calculator-reference-sizes .calculator-size-card {
    grid-template-columns: 17px minmax(0, 1fr) auto !important;
    column-gap: 6px !important;
    min-height: 70px !important;
    padding: 7px 8px !important;
  }

  body.fillru-homepage .calculator-reference-sizes .calculator-radio {
    width: 17px !important;
    height: 17px !important;
  }

  body.fillru-homepage .calculator-reference-sizes .calculator-radio span {
    width: 7px !important;
    height: 7px !important;
  }

  body.fillru-homepage .calculator-reference-sizes .calculator-size-card[data-size-id="s"] .calculator-size-image {
    width: 30px !important;
    max-width: 30px !important;
  }

  body.fillru-homepage .calculator-reference-sizes .calculator-size-card[data-size-id="m"] .calculator-size-image {
    width: 38px !important;
    max-width: 38px !important;
  }

  body.fillru-homepage .calculator-reference-sizes .calculator-size-card[data-size-id="l"] .calculator-size-image {
    width: 46px !important;
    max-width: 46px !important;
  }

  body.fillru-homepage .calculator-reference-sizes .calculator-size-card[data-size-id="xlg"] .calculator-size-image {
    width: 56px !important;
    max-width: 56px !important;
  }
}
/* Unified typography contract v85.
 * One typeface throughout the calculator; one table type scale shared by every
 * service table. Hierarchy is expressed by weight/color, not random font sizes.
 */
body.fillru-homepage [data-fillru-calculator] {
  --calc-ui-font: "FSElliotPro", Inter, "Segoe UI", sans-serif;
  --font-text: var(--calc-ui-font);
  --font-display: var(--calc-ui-font);
  --calc-table-font: var(--calc-ui-font);
  --calc-table-font-size: 12px;
  --calc-type-table: 12px;
  font-family: var(--calc-ui-font) !important;
}

body.fillru-homepage [data-fillru-calculator] :is(
  button,
  input,
  select,
  textarea,
  summary,
  label,
  table,
  th,
  td,
  p,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6
) {
  font-family: var(--calc-ui-font) !important;
}

/* Both calculator tables use exactly the same base typography. */
body.fillru-homepage [data-fillru-calculator]
  :is(.calculator-services-table--included, .calculator-services-table--addons) {
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-table) !important;
  line-height: 1.28 !important;
}

body.fillru-homepage [data-fillru-calculator]
  :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(thead th, tbody td, tfoot td) {
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-table) !important;
  line-height: 1.28 !important;
}

/* Text inside every cell inherits the same table size. */
body.fillru-homepage [data-fillru-calculator]
  :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(
    .calculator-service-name,
    .calculator-service-desc,
    .calculator-base-option-name,
    .calculator-base-option-description-text,
    [data-base-service-label],
    [data-base-service-unit],
    [data-base-service-quantity],
    .calculator-base-service-price,
    .calculator-base-service-sum,
    .calculator-base-option-price,
    .calculator-base-option-sum,
    .calculator-option-price,
    .calculator-option-sum,
    [data-calc-service-price],
    [data-calc-service-sum],
    [data-calc-addon-price],
    [data-calc-addon-sum],
    [data-calc-addon-quantity-display],
    .calculator-table-total-label,
    .calculator-table-total-value
  ) {
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-table) !important;
  line-height: 1.28 !important;
}

/* Inline controls belong to the table, therefore they use the table scale too. */
body.fillru-homepage [data-fillru-calculator]
  :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(
    .calculator-row-select,
    .calculator-service-select,
    .calculator-table-inline-select > summary,
    .calculator-table-inline-select > summary > span,
    .calculator-addon-count,
    .calculator-addon-count-wrap input,
    .calculator-pickup-quantity-input,
    .calculator-pickup-quantity-input input,
    .calculator-addon-count-step,
    .calculator-pickup-quantity-step
  ) {
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-table) !important;
  line-height: 1.2 !important;
}

/* Preserve hierarchy with weight only; size stays identical between tables. */
body.fillru-homepage [data-fillru-calculator]
  :is(.calculator-services-table--included, .calculator-services-table--addons)
  thead th {
  font-weight: 700 !important;
}

body.fillru-homepage [data-fillru-calculator]
  :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(.calculator-service-name, [data-base-service-label], .calculator-base-option-name) {
  font-weight: 700 !important;
}

body.fillru-homepage [data-fillru-calculator]
  :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(
    .calculator-base-service-price,
    .calculator-base-service-sum,
    .calculator-base-option-price,
    .calculator-base-option-sum,
    .calculator-option-price,
    .calculator-option-sum,
    [data-calc-service-price],
    [data-calc-service-sum],
    [data-calc-addon-price],
    [data-calc-addon-sum],
    .calculator-table-total-label,
    .calculator-table-total-value
  ) {
  font-weight: 700 !important;
}

body.fillru-homepage [data-fillru-calculator]
  :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(.calculator-service-desc, .calculator-base-option-description-text) {
  font-weight: 400 !important;
}

/* Mobile keeps one shared table size as well; no 7-10 px legacy exceptions. */
@media (max-width: 768px) {
  body.fillru-homepage [data-fillru-calculator] {
    --calc-table-font-size: 11px;
    --calc-type-table: 11px;
  }

  body.fillru-homepage [data-fillru-calculator]
    :is(.calculator-services-table--included, .calculator-services-table--addons),
  body.fillru-homepage [data-fillru-calculator]
    :is(.calculator-services-table--included, .calculator-services-table--addons)
    :is(
      thead th,
      tbody td,
      tfoot td,
      .calculator-service-name,
      .calculator-service-desc,
      .calculator-base-option-name,
      .calculator-base-option-description-text,
      [data-base-service-label],
      [data-base-service-unit],
      [data-base-service-quantity],
      .calculator-base-service-price,
      .calculator-base-service-sum,
      .calculator-base-option-price,
      .calculator-base-option-sum,
      .calculator-option-price,
      .calculator-option-sum,
      [data-calc-service-price],
      [data-calc-service-sum],
      [data-calc-addon-price],
      [data-calc-addon-sum],
      [data-calc-addon-quantity-display],
      .calculator-table-total-label,
      .calculator-table-total-value,
      .calculator-row-select,
      .calculator-service-select,
      .calculator-table-inline-select > summary,
      .calculator-table-inline-select > summary > span,
      .calculator-addon-count,
      .calculator-addon-count-wrap input,
      .calculator-pickup-quantity-input,
      .calculator-pickup-quantity-input input,
      .calculator-addon-count-step,
      .calculator-pickup-quantity-step
    ) {
    font-family: var(--calc-ui-font) !important;
    font-size: var(--calc-type-table) !important;
  }
}
/* Size card compact spacing v86.
 * Keep typography unchanged; reduce only internal whitespace and visual spacing.
 */
body.fillru-homepage .calculator-reference-sizes .calculator-size-card {
  grid-template-columns: 18px minmax(0, 1fr) auto !important;
  column-gap: 4px !important;
  row-gap: 0 !important;
  min-height: 66px !important;
  padding: 6px 8px !important;
}

body.fillru-homepage .calculator-reference-sizes .calculator-size-text {
  margin: 0 !important;
  padding: 0 !important;
}

body.fillru-homepage .calculator-reference-sizes .calculator-size-text > span {
  margin-top: 2px !important;
}

body.fillru-homepage .calculator-reference-sizes .calculator-size-visual {
  justify-items: start !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
}

body.fillru-homepage .calculator-reference-sizes .calculator-size-image {
  margin-left: 0 !important;
}

@media (max-width: 768px) {
  body.fillru-homepage .calculator-reference-sizes .calculator-size-card {
    grid-template-columns: 17px minmax(0, 1fr) auto !important;
    column-gap: 3px !important;
    min-height: 62px !important;
    padding: 5px 7px !important;
  }

  body.fillru-homepage .calculator-reference-sizes .calculator-size-text > span {
    margin-top: 1px !important;
  }
}

/* Additional services unit column parity v87.
 * Additional services now use the same seven-column accounting structure as
 * the base-services table: check / name / description / unit / qty / price / sum.
 */
body.fillru-homepage .calculator-services-table--addons col.col-check { width: 5% !important; }
body.fillru-homepage .calculator-services-table--addons col.col-name { width: 21% !important; }
body.fillru-homepage .calculator-services-table--addons col.col-desc { width: 29% !important; }
body.fillru-homepage .calculator-services-table--addons col.col-unit { width: 8% !important; }
body.fillru-homepage .calculator-services-table--addons col.col-quantity { width: 10% !important; }
body.fillru-homepage .calculator-services-table--addons col.col-price { width: 13.5% !important; }
body.fillru-homepage .calculator-services-table--addons col.col-sum { width: 13.5% !important; }

body.fillru-homepage .calculator-services-table--addons
  :is(.calculator-service-col-unit, .calculator-service-col-quantity) {
  text-align: center !important;
  white-space: nowrap !important;
}

body.fillru-homepage .calculator-services-table--addons
  :is(.calculator-service-col-price, .calculator-service-col-sum) {
  text-align: right !important;
  white-space: nowrap !important;
}

body.fillru-homepage .calculator-services-table--addons thead th:nth-child(4),
body.fillru-homepage .calculator-services-table--addons thead th:nth-child(5) {
  text-align: center !important;
}

body.fillru-homepage .calculator-services-table--addons thead th:nth-child(6),
body.fillru-homepage .calculator-services-table--addons thead th:nth-child(7) {
  text-align: right !important;
}

body.fillru-homepage .calculator-services-table--addons
  :is([data-calc-service-unit], [data-calc-addon-unit-display]) {
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-table) !important;
  font-weight: 400 !important;
  line-height: 1.28 !important;
  color: var(--calc-ui-muted) !important;
}

@media (max-width: 768px) {
  body.fillru-homepage .calculator-services-table--addons col.col-check { width: 5% !important; }
  body.fillru-homepage .calculator-services-table--addons col.col-name { width: 21% !important; }
  body.fillru-homepage .calculator-services-table--addons col.col-desc { width: 29% !important; }
  body.fillru-homepage .calculator-services-table--addons col.col-unit { width: 8% !important; }
  body.fillru-homepage .calculator-services-table--addons col.col-quantity { width: 10% !important; }
  body.fillru-homepage .calculator-services-table--addons col.col-price { width: 13.5% !important; }
  body.fillru-homepage .calculator-services-table--addons col.col-sum { width: 13.5% !important; }
}


/* Concept layout implementation v88.
 * Composition only: all existing calculator controls, services and calculations
 * remain intact. Desktop groups Product + Dimensions in a left stack and gives
 * Incoming services the full right work area. The summary/actions share one bar.
 */
body.fillru-homepage .calculator-reference-card {
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.fillru-homepage .calculator-mode-switch {
  margin: 0 0 10px !important;
  border: 1px solid var(--calc-ui-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(17, 19, 24, .035) !important;
}

body.fillru-homepage .calculator-columns.calculator-columns3.calculator-concept-layout {
  display: grid !important;
  grid-template-columns: minmax(330px, 34%) minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: visible !important;
}

body.fillru-homepage .calculator-config-stack {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(300px, .92fr) auto !important;
  align-content: stretch !important;
  gap: 12px !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

body.fillru-homepage .calculator-concept-layout .calculator-reference-column {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 16px !important;
  border: 1px solid var(--calc-ui-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(17, 19, 24, .035) !important;
  overflow: visible !important;
}

body.fillru-homepage .calculator-concept-layout
  .calculator-reference-column + .calculator-reference-column {
  border-left: 1px solid var(--calc-ui-line) !important;
  border-top: 1px solid var(--calc-ui-line) !important;
}

body.fillru-homepage .calculator-concept-layout .calculator-reference-product {
  display: flex !important;
  flex-direction: column !important;
}

body.fillru-homepage .calculator-concept-layout .calculator-reference-product
  .calculator-product-upload {
  flex: 1 1 auto !important;
  min-height: 220px !important;
}

body.fillru-homepage .calculator-concept-layout .calculator-reference-product
  .calculator-product-upload-note {
  margin-top: 6px !important;
  text-align: center !important;
}

body.fillru-homepage .calculator-concept-layout .calculator-reference-sizes {
  display: flex !important;
  flex-direction: column !important;
}

body.fillru-homepage .calculator-concept-layout .calculator-reference-sizes .calculator-size-list {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 7px !important;
  flex: 1 1 auto !important;
}

body.fillru-homepage .calculator-concept-layout .calculator-reference-sizes .calculator-size-card {
  min-height: 72px !important;
  padding: 7px 10px !important;
}

body.fillru-homepage .calculator-concept-layout .calculator-reference-services {
  align-self: stretch !important;
  padding: 16px 14px !important;
}

body.fillru-homepage .calculator-concept-layout .calculator-reference-head {
  margin-bottom: 10px !important;
  padding-bottom: 8px !important;
}

body.fillru-homepage .calculator-concept-layout .calculator-reference-head h3 {
  font-size: 18px !important;
}

body.fillru-homepage .calculator-bottom-bar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: stretch !important;
  gap: 12px !important;
  width: 100% !important;
  margin-top: 10px !important;
  padding: 10px !important;
  border: 1px solid var(--calc-ui-line) !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(17, 19, 24, .035) !important;
}

body.fillru-homepage .calculator-bottom-bar .calculator-reference-summary:not(.is-floating) {
  display: grid !important;
  grid-template-columns:
    minmax(160px, 1fr) auto
    minmax(160px, 1fr) auto
    minmax(180px, 1.12fr) auto
    minmax(180px, 1.12fr) !important;
  align-items: stretch !important;
  gap: 8px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.fillru-homepage .calculator-bottom-bar .calculator-summary-ref-card {
  min-width: 0 !important;
  min-height: 66px !important;
  padding: 8px 10px !important;
}

body.fillru-homepage .calculator-bottom-bar .calculator-summary-ref-operator {
  align-self: center !important;
  margin: 0 !important;
}

body.fillru-homepage .calculator-bottom-bar .calculator-reference-actions {
  display: flex !important;
  align-items: stretch !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

body.fillru-homepage .calculator-bottom-bar
  .calculator-reference-actions .calculator-reset-button--reference,
body.fillru-homepage .calculator-bottom-bar
  .calculator-reference-actions .calculator-add-cart {
  min-height: 66px !important;
  height: auto !important;
  padding-inline: 16px !important;
}

body.fillru-homepage .calculator-bottom-bar .calculator-cart-feedback {
  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;
}

/* Mid-size desktop: preserve the concept, only narrow the left rail. */
@media (max-width: 1240px) and (min-width: 901px) {
  body.fillru-homepage .calculator-columns.calculator-columns3.calculator-concept-layout {
    grid-template-columns: minmax(300px, 31%) minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  body.fillru-homepage .calculator-concept-layout .calculator-reference-column {
    padding: 13px !important;
  }

  body.fillru-homepage .calculator-bottom-bar {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.fillru-homepage .calculator-bottom-bar .calculator-reference-actions {
    justify-content: flex-end !important;
  }

  body.fillru-homepage .calculator-bottom-bar
    .calculator-reference-actions .calculator-reset-button--reference,
  body.fillru-homepage .calculator-bottom-bar
    .calculator-reference-actions .calculator-add-cart {
    min-height: 42px !important;
  }
}

/* Tablet/mobile: return to a clear vertical flow without changing content. */
@media (max-width: 900px) {
  body.fillru-homepage .calculator-columns.calculator-columns3.calculator-concept-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    gap: 10px !important;
  }

  body.fillru-homepage .calculator-config-stack {
    grid-template-rows: auto !important;
    gap: 10px !important;
  }

  body.fillru-homepage .calculator-concept-layout .calculator-reference-column {
    min-height: 0 !important;
    padding: 12px 10px !important;
  }

  body.fillru-homepage .calculator-concept-layout .calculator-reference-product
    .calculator-product-upload {
    min-height: 220px !important;
  }

  body.fillru-homepage .calculator-bottom-bar {
    display: block !important;
    padding: 8px !important;
  }

  body.fillru-homepage .calculator-bottom-bar .calculator-reference-summary:not(.is-floating) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  body.fillru-homepage .calculator-bottom-bar
    .calculator-reference-summary:not(.is-floating)
    .calculator-summary-ref-operator {
    display: none !important;
  }

  body.fillru-homepage .calculator-bottom-bar .calculator-reference-actions {
    margin-top: 8px !important;
  }

  body.fillru-homepage .calculator-bottom-bar
    .calculator-reference-actions .calculator-reset-button--reference,
  body.fillru-homepage .calculator-bottom-bar
    .calculator-reference-actions .calculator-add-cart {
    flex: 1 1 0 !important;
    min-height: 42px !important;
  }
}

@media (max-width: 520px) {
  body.fillru-homepage .calculator-bottom-bar .calculator-reference-summary:not(.is-floating) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.fillru-homepage .calculator-bottom-bar .calculator-reference-actions {
    flex-direction: column !important;
  }
}
