/* Unified calculator/PDF table standard v74.
 * These tokens are the visual contract also consumed by cart-pdf.js.
 */
body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons) thead th {
  background: var(--calc-ui-surface-head) !important;
  color: var(--calc-ui-table-head-text) !important;
  border-color: var(--calc-ui-line) !important;
  font-family: var(--calc-ui-font) !important;
  font-weight: 800 !important;
}

body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons) tbody td {
  border-color: var(--calc-ui-line-soft) !important;
  font-family: var(--calc-ui-font) !important;
  font-weight: 400 !important;
}

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

body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons) tfoot td {
  background: var(--calc-ui-table-total) !important;
  border-color: var(--calc-ui-line) !important;
  font-family: var(--calc-ui-font) !important;
}


body.fillru-homepage [data-fillru-calculator] :is(
  .calculator-module__HVrzLW__eyebrow,
  .calculator-module__HVrzLW__title,
  .calculator-module__HVrzLW__subtitle,
  .calculator-reference-head,
  .calculator-product-name-field,
  .calculator-product-upload,
  .calculator-size-text,
  .calculator-services-section-title,
  .calculator-services-table,
  .calculator-reference-summary,
  .calculator-summary-ref-content,
  .calculator-summary-metric,
  .calculator-reference-actions
) {
  font-family: var(--calc-ui-font) !important;
}


/* Typography standard v75.
 * Same semantic level = same type size. Device adaptation changes layout first,
 * not readability. This block intentionally sits last and overrides legacy sizes.
 */
body.fillru-homepage [data-fillru-calculator] {
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-body) !important;
  line-height: 1.35 !important;
}

body.fillru-homepage .calculator-module__HVrzLW__title {
  font-size: var(--calc-type-title) !important;
  line-height: 1.04 !important;
  font-weight: 800 !important;
}

body.fillru-homepage :is(
  .calculator-reference-head h3,
  .calculator-summary-title
) {
  font-size: var(--calc-type-section) !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
}

body.fillru-homepage :is(
  .calculator-services-section-title h4,
  .calculator-product-upload strong,
  .calculator-size-text strong
) {
  font-size: var(--calc-type-subsection) !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

body.fillru-homepage :is(
  .calculator-module__HVrzLW__subtitle,
  .calculator-mode-description,
  .calculator-reference-head p,
  .calculator-product-upload,
  .calculator-product-name-field,
  .calculator-size-text,
  .calculator-dropdown-panel,
  .calculator-packaging-options
) {
  font-size: var(--calc-type-body) !important;
  line-height: 1.35 !important;
}

body.fillru-homepage :is(
  .calculator-module__HVrzLW__eyebrow,
  .calculator-mode-switch-label,
  .calculator-product-name-field > span,
  .calculator-product-upload small,
  .calculator-product-upload-note,
  .calculator-services-section-title h4 span,
  .calculator-summary-ref-label,
  .calculator-summary-ref-content > small
) {
  font-size: var(--calc-type-caption) !important;
  line-height: 1.25 !important;
}

body.fillru-homepage :is(
  .calculator-mode-button,
  .calculator-product-name-field > input,
  .calculator-row-select,
  .calculator-service-select,
  .calculator-table-inline-select > summary,
  .calculator-summary-ref-input input,
  .calculator-summary-ref-input > span
) {
  font-size: var(--calc-type-control) !important;
  line-height: 1.2 !important;
}

body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons) thead th,
body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons) tbody td,
body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons) tfoot td,
body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(.calculator-service-name, [data-base-service-label], .calculator-service-desc),
body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(.calculator-base-service-price, .calculator-base-service-sum, .calculator-base-option-price, .calculator-option-price, [data-calc-service-price], [data-calc-addon-price], [data-base-service-unit], [data-base-service-quantity]) {
  font-size: var(--calc-type-table) !important;
  line-height: 1.28 !important;
}

body.fillru-homepage .calculator-table-total-value {
  font-size: var(--calc-type-value) !important;
  line-height: 1.15 !important;
}

body.fillru-homepage .calculator-summary-ref-content > strong,
body.fillru-homepage .calculator-summary-metric > strong {
  font-size: var(--calc-type-summary-value) !important;
  line-height: 1.05 !important;
}

@media (max-width: 768px) {
  body.fillru-homepage [data-fillru-calculator] {
    --calc-type-title: 32px;
    --calc-type-section: 18px;
    --calc-type-subsection: 14px;
    --calc-type-body: 13px;
    --calc-type-table: 11px;
    --calc-type-caption: 11px;
    --calc-type-control: 12px;
    --calc-type-value: 13px;
    --calc-type-summary-value: 18px;
  }

  body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons) thead th,
  body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons) tbody td,
  body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons) tfoot td {
    line-height: 1.22 !important;
  }
}

@media (max-width: 420px) {
  body.fillru-homepage [data-fillru-calculator] {
    --calc-type-title: 30px;
    --calc-type-section: 17px;
    --calc-type-subsection: 14px;
    --calc-type-body: 12px;
    --calc-type-table: 11px;
    --calc-type-caption: 11px;
    --calc-type-control: 12px;
    --calc-type-value: 13px;
    --calc-type-summary-value: 17px;
  }
}

@media (max-width: 768px) and (max-height: 560px) and (orientation: landscape) {
  body.fillru-homepage [data-fillru-calculator] {
    --calc-type-table: 11px;
    --calc-type-caption: 11px;
    --calc-type-summary-value: 16px;
  }
}


/* Service section heading parity v76.
 * Base and additional service headings use exactly the same semantic elements,
 * font, size and weight. Only the explanatory note is visually secondary.
 */
body.fillru-homepage .calculator-services-section-title h4 {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  gap: 0 5px !important;
  margin: 0 !important;
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-subsection) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}

body.fillru-homepage .calculator-services-section-title h4 > .calculator-services-section-heading {
  color: var(--calc-ui-ink) !important;
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-subsection) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}

body.fillru-homepage .calculator-services-section-title h4 > .calculator-services-section-note {
  color: var(--calc-ui-muted) !important;
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-caption) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
}


/* Additional services accounting columns v77.
 * Same accounting model as base services: Name / Description / Quantity /
 * Unit price / Sum. The table remains fixed-layout and responsive.
 */
body.fillru-homepage .calculator-services-table--addons col.col-check { width: 5% !important; }
body.fillru-homepage .calculator-services-table--addons col.col-name { width: 23% !important; }
body.fillru-homepage .calculator-services-table--addons col.col-desc { width: 27% !important; }
body.fillru-homepage .calculator-services-table--addons col.col-quantity { width: 13% !important; }
body.fillru-homepage .calculator-services-table--addons col.col-price { width: 16% !important; }
body.fillru-homepage .calculator-services-table--addons col.col-sum { width: 16% !important; }

body.fillru-homepage .calculator-services-table--addons
  :is(.calculator-service-col-price, .calculator-service-col-sum) {
  text-align: right !important;
  font-variant-numeric: tabular-nums !important;
}

body.fillru-homepage .calculator-services-table--addons
  :is(.calculator-option-price, .calculator-option-sum, [data-calc-service-price], [data-calc-service-sum], [data-calc-addon-price], [data-calc-addon-sum]) {
  color: var(--calc-ui-ink) !important;
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-table) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

body.fillru-homepage .calculator-services-table--addons
  :is(.calculator-service-col-quantity, [data-calc-addon-quantity-display]) {
  text-align: center !important;
  font-variant-numeric: tabular-nums !important;
}

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

body.fillru-homepage .calculator-services-table--addons thead th:nth-child(5),
body.fillru-homepage .calculator-services-table--addons thead th:nth-child(6) {
  text-align: right !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: 23% !important; }
  body.fillru-homepage .calculator-services-table--addons col.col-desc { width: 27% !important; }
  body.fillru-homepage .calculator-services-table--addons col.col-quantity { width: 13% !important; }
  body.fillru-homepage .calculator-services-table--addons col.col-price { width: 16% !important; }
  body.fillru-homepage .calculator-services-table--addons col.col-sum { width: 16% !important; }
}

/* Base-service child rows: complete accounting columns v78.
 * Added options occupy the same accounting columns as the parent table.
 */
body.fillru-homepage .calculator-services-table--included tbody tr.calculator-base-option-row td {
  color: var(--calc-ui-ink) !important;
  background: var(--calc-ui-row-alt) !important;
  border-color: var(--calc-ui-line-soft) !important;
  vertical-align: middle !important;
}

body.fillru-homepage .calculator-services-table--included tbody tr.calculator-base-option-row .calculator-base-option-indicator {
  text-align: center !important;
}

body.fillru-homepage .calculator-services-table--included tbody tr.calculator-base-option-row .calculator-service-col-name,
body.fillru-homepage .calculator-services-table--included tbody tr.calculator-base-option-row .calculator-service-col-name .calculator-service-name {
  color: var(--calc-ui-ink) !important;
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-table) !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

body.fillru-homepage .calculator-services-table--included tbody tr.calculator-base-option-row .calculator-base-option-description {
  position: static !important;
}

body.fillru-homepage .calculator-services-table--included tbody tr.calculator-base-option-row .calculator-base-option-description::before {
  display: none !important;
  content: none !important;
}

body.fillru-homepage .calculator-services-table--included tbody tr.calculator-base-option-row .calculator-base-option-description-text {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--calc-ui-muted) !important;
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-table) !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
}

body.fillru-homepage .calculator-services-table--included tbody tr.calculator-base-option-row
  :is(.calculator-service-col-unit, .calculator-service-col-quantity) {
  color: var(--calc-ui-muted) !important;
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-table) !important;
  font-weight: 400 !important;
  text-align: center !important;
  white-space: nowrap !important;
}

body.fillru-homepage .calculator-services-table--included tbody tr.calculator-base-option-row
  :is(.calculator-service-col-price, .calculator-service-col-sum) {
  color: var(--calc-ui-ink) !important;
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-table) !important;
  font-weight: 800 !important;
  text-align: right !important;
  white-space: nowrap !important;
  font-variant-numeric: tabular-nums !important;
}

body.fillru-homepage .calculator-services-table--included tbody tr.calculator-base-option-row
  :is(.calculator-base-option-price, .calculator-base-option-sum) {
  color: var(--calc-ui-ink) !important;
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-table) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
}
/* Unified service checkbox standard v79.
 * Required base-service checks and interactive add-on checks use one exact visual.
 */
body.fillru-homepage [data-fillru-calculator] {
  --calc-check-size: 15px;
  --calc-check-radius: 4px;
  --calc-check-border: #c6cdd5;
  --calc-check-bg: #ffffff;
  --calc-check-mark:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15'%3E%3Cpath d='M3.4 7.7 6.1 10.2 11.7 4.7' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

body.fillru-homepage .calculator-services-table .calculator-service-col-check {
  text-align: center !important;
  vertical-align: middle !important;
}

body.fillru-homepage .calculator-services-table .calculator-status-check,
body.fillru-homepage .calculator-services-table .calculator-service-col-check input[type="checkbox"]:not(.calculator-base-check),
body.fillru-homepage .calculator-services-table .calculator-service-col-check input[data-calc-service-toggle] {
  display: inline-grid !important;
  place-items: center !important;
  width: var(--calc-check-size) !important;
  min-width: var(--calc-check-size) !important;
  max-width: var(--calc-check-size) !important;
  height: var(--calc-check-size) !important;
  min-height: var(--calc-check-size) !important;
  max-height: var(--calc-check-size) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--calc-check-border) !important;
  border-radius: var(--calc-check-radius) !important;
  background-color: var(--calc-check-bg) !important;
  background-image: none !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 100% 100% !important;
  box-shadow: none !important;
  vertical-align: middle !important;
  box-sizing: border-box !important;
}

body.fillru-homepage .calculator-services-table .calculator-service-col-check input[type="checkbox"]:not(.calculator-base-check),
body.fillru-homepage .calculator-services-table .calculator-service-col-check input[data-calc-service-toggle] {
  -webkit-appearance: none !important;
  appearance: none !important;
  cursor: pointer !important;
}

body.fillru-homepage .calculator-services-table .calculator-status-check,
body.fillru-homepage .calculator-services-table .calculator-service-col-check input[type="checkbox"]:not(.calculator-base-check):checked,
body.fillru-homepage .calculator-services-table .calculator-service-col-check input[data-calc-service-toggle]:checked {
  border-color: var(--calc-ui-brand) !important;
  background-color: var(--calc-ui-brand) !important;
  background-image: var(--calc-check-mark) !important;
}

body.fillru-homepage .calculator-services-table .calculator-status-check > i,
body.fillru-homepage .calculator-services-table .calculator-status-check > .fa-solid,
body.fillru-homepage .calculator-services-table .calculator-status-check > .fas {
  display: none !important;
}

body.fillru-homepage .calculator-services-table .calculator-service-col-check input[type="checkbox"]:not(.calculator-base-check):hover:not(:disabled),
body.fillru-homepage .calculator-services-table .calculator-service-col-check input[data-calc-service-toggle]:hover:not(:disabled) {
  border-color: var(--calc-ui-brand) !important;
}

body.fillru-homepage .calculator-services-table .calculator-service-col-check input[type="checkbox"]:not(.calculator-base-check):focus-visible,
body.fillru-homepage .calculator-services-table .calculator-service-col-check input[data-calc-service-toggle]:focus-visible {
  outline: 2px solid rgba(255, 90, 0, .25) !important;
  outline-offset: 2px !important;
}

body.fillru-homepage .calculator-services-table .calculator-service-col-check input[type="checkbox"]:not(.calculator-base-check):disabled,
body.fillru-homepage .calculator-services-table .calculator-service-col-check input[data-calc-service-toggle]:disabled {
  cursor: default !important;
  opacity: .65 !important;
}
/* Hidden base-service checkbox guard v80.
 * The disabled semantic checkbox belongs to form state only; the visible
 * status indicator is .calculator-status-check. Never render both.
 */
body.fillru-homepage .calculator-services-table .calculator-base-check[hidden],
body.fillru-homepage .calculator-services-table input.calculator-base-check[hidden] {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  min-width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
/* Flat inline table selector standard v81.
 * A table cell is already a visual container; the selector must not look like
 * another card inside that container. Only the dropdown itself is elevated.
 */
body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(
    .calculator-packaging-select.calculator-table-inline-select,
    .calculator-base-service-multiselect.calculator-table-inline-select,
    .calculator-base-service-selector.calculator-table-inline-select
  ) {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

/* The trigger is an integrated text control, not a nested input/card. */
body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(
    .calculator-packaging-select.calculator-table-inline-select,
    .calculator-base-service-multiselect.calculator-table-inline-select,
    .calculator-base-service-selector.calculator-table-inline-select
  ) > summary {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 28px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 4px 22px 4px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #cfd6dd !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--calc-ui-muted) !important;
  box-shadow: none !important;
  outline: 0 !important;
  cursor: pointer !important;
  list-style: none !important;
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-control) !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  transition:
    color .15s ease,
    border-color .15s ease,
    background-color .15s ease !important;
}

body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(
    .calculator-packaging-select.calculator-table-inline-select,
    .calculator-base-service-multiselect.calculator-table-inline-select,
    .calculator-base-service-selector.calculator-table-inline-select
  ) > summary::-webkit-details-marker {
  display: none !important;
}

body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(
    .calculator-packaging-select.calculator-table-inline-select,
    .calculator-base-service-multiselect.calculator-table-inline-select,
    .calculator-base-service-selector.calculator-table-inline-select
  ) > summary::marker {
  content: "" !important;
}

/* The summary text remains readable and can wrap instead of becoming a tiny box. */
body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(
    .calculator-packaging-select.calculator-table-inline-select,
    .calculator-base-service-multiselect.calculator-table-inline-select,
    .calculator-base-service-selector.calculator-table-inline-select
  ) > summary
  :is(
    span,
    small,
    [data-packaging-summary],
    [data-base-service-multiselect-summary],
    [data-base-service-variant-summary]
  ) {
  display: block !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

/* One restrained chevron is enough to communicate "open list". */
body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(
    .calculator-packaging-select.calculator-table-inline-select,
    .calculator-base-service-multiselect.calculator-table-inline-select,
    .calculator-base-service-selector.calculator-table-inline-select
  ) > summary > i.fa-chevron-down {
  position: absolute !important;
  top: 50% !important;
  right: 2px !important;
  display: grid !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  place-items: center !important;
  color: #7c8793 !important;
  font-size: 9px !important;
  line-height: 1 !important;
  transform: translateY(-50%) !important;
  transition: transform .15s ease, color .15s ease !important;
  pointer-events: none !important;
}

body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(
    .calculator-packaging-select.calculator-table-inline-select,
    .calculator-base-service-multiselect.calculator-table-inline-select,
    .calculator-base-service-selector.calculator-table-inline-select
  ) > summary:hover {
  border-bottom-color: #aeb8c2 !important;
  background: linear-gradient(180deg, transparent 0%, rgba(247, 248, 250, .72) 100%) !important;
  color: var(--calc-ui-ink) !important;
}

body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(
    .calculator-packaging-select.calculator-table-inline-select,
    .calculator-base-service-multiselect.calculator-table-inline-select,
    .calculator-base-service-selector.calculator-table-inline-select
  )[open] > summary {
  border-bottom-color: var(--calc-ui-brand) !important;
  background: linear-gradient(180deg, transparent 0%, rgba(255, 243, 235, .72) 100%) !important;
  color: var(--calc-ui-ink) !important;
  box-shadow: none !important;
}

body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(
    .calculator-packaging-select.calculator-table-inline-select,
    .calculator-base-service-multiselect.calculator-table-inline-select,
    .calculator-base-service-selector.calculator-table-inline-select
  )[open] > summary > i.fa-chevron-down {
  color: var(--calc-ui-brand) !important;
  transform: translateY(-50%) rotate(180deg) !important;
}

/* The popover is the only actual "box": visually separate from the table cell. */
body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(
    .calculator-packaging-select.calculator-table-inline-select,
    .calculator-base-service-multiselect.calculator-table-inline-select,
    .calculator-base-service-selector.calculator-table-inline-select
  ) > :is(.calculator-dropdown-panel, .calculator-packaging-options) {
  top: calc(100% + 6px) !important;
  left: 0 !important;
  right: auto !important;
  min-width: min(320px, calc(100vw - 32px)) !important;
  width: max(100%, min(390px, calc(100vw - 32px))) !important;
  max-width: min(390px, calc(100vw - 32px)) !important;
  padding: 6px !important;
  border: 1px solid var(--calc-ui-line) !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 16px 34px rgba(17, 19, 24, .14) !important;
}

/* Options inside the popover are rows, not more boxes. */
body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(
    .calculator-packaging-select.calculator-table-inline-select,
    .calculator-base-service-multiselect.calculator-table-inline-select,
    .calculator-base-service-selector.calculator-table-inline-select
  )
  :is(.calculator-packaging-option, .calculator-dropdown-option, label) {
  border: 0 !important;
  border-radius: 6px !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
  :is(
    .calculator-packaging-select.calculator-table-inline-select,
    .calculator-base-service-multiselect.calculator-table-inline-select,
    .calculator-base-service-selector.calculator-table-inline-select
  )
  :is(.calculator-packaging-option, .calculator-dropdown-option, label):hover {
  background: var(--calc-ui-surface-soft) !important;
}

/* Mobile: keep it flat, but give the trigger a comfortable tap target. */
@media (max-width: 768px) {
  body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
    :is(
      .calculator-packaging-select.calculator-table-inline-select,
      .calculator-base-service-multiselect.calculator-table-inline-select,
      .calculator-base-service-selector.calculator-table-inline-select
    ) > summary {
    min-height: 34px !important;
    padding: 6px 24px 6px 0 !important;
    font-size: var(--calc-type-control) !important;
    line-height: 1.25 !important;
  }

  body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
    :is(
      .calculator-packaging-select.calculator-table-inline-select,
      .calculator-base-service-multiselect.calculator-table-inline-select,
      .calculator-base-service-selector.calculator-table-inline-select
    ) > :is(.calculator-dropdown-panel, .calculator-packaging-options) {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: auto !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: min(55vh, 420px) !important;
    border-radius: 14px !important;
    padding: 8px !important;
  }
}
/* Packaging selector exact parity v82.
 * controls.css has a more-specific legacy packaging selector, so the generic
 * v81 rule could not win even though it was later. This explicit rule gives
 * packaging the exact same flat trigger as the other inline table selectors.
 */
body.fillru-homepage
  .calculator-services-table--included
  .calculator-base-service-packaging
  .calculator-packaging-inline-row
  > .calculator-packaging-select.calculator-table-inline-select {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.fillru-homepage
  .calculator-services-table--included
  .calculator-base-service-packaging
  .calculator-packaging-inline-row
  > .calculator-packaging-select.calculator-table-inline-select
  > summary {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 28px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 4px 22px 4px 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #cfd6dd !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--calc-ui-muted) !important;
  box-shadow: none !important;
  outline: 0 !important;
  cursor: pointer !important;
  list-style: none !important;
  font-family: var(--calc-ui-font) !important;
  font-size: var(--calc-type-control) !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  text-align: left !important;
  overflow: visible !important;
}

body.fillru-homepage
  .calculator-services-table--included
  .calculator-base-service-packaging
  .calculator-packaging-inline-row
  > .calculator-packaging-select.calculator-table-inline-select
  > summary::-webkit-details-marker {
  display: none !important;
}

body.fillru-homepage
  .calculator-services-table--included
  .calculator-base-service-packaging
  .calculator-packaging-inline-row
  > .calculator-packaging-select.calculator-table-inline-select
  > summary::marker {
  content: "" !important;
}

body.fillru-homepage
  .calculator-services-table--included
  .calculator-base-service-packaging
  .calculator-packaging-inline-row
  > .calculator-packaging-select.calculator-table-inline-select
  > summary
  > [data-packaging-summary] {
  display: block !important;
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

body.fillru-homepage
  .calculator-services-table--included
  .calculator-base-service-packaging
  .calculator-packaging-inline-row
  > .calculator-packaging-select.calculator-table-inline-select
  > summary
  > i.fa-chevron-down {
  position: absolute !important;
  top: 50% !important;
  right: 2px !important;
  display: grid !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  place-items: center !important;
  color: #7c8793 !important;
  font-size: 9px !important;
  line-height: 1 !important;
  transform: translateY(-50%) !important;
  pointer-events: none !important;
}

body.fillru-homepage
  .calculator-services-table--included
  .calculator-base-service-packaging
  .calculator-packaging-inline-row
  > .calculator-packaging-select.calculator-table-inline-select
  > summary:hover {
  border-bottom-color: #aeb8c2 !important;
  background: linear-gradient(180deg, transparent 0%, rgba(247, 248, 250, .72) 100%) !important;
  color: var(--calc-ui-ink) !important;
}

body.fillru-homepage
  .calculator-services-table--included
  .calculator-base-service-packaging
  .calculator-packaging-inline-row
  > .calculator-packaging-select.calculator-table-inline-select[open]
  > summary {
  border: 0 !important;
  border-bottom: 1px solid var(--calc-ui-brand) !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, transparent 0%, rgba(255, 243, 235, .72) 100%) !important;
  color: var(--calc-ui-ink) !important;
  box-shadow: none !important;
}

body.fillru-homepage
  .calculator-services-table--included
  .calculator-base-service-packaging
  .calculator-packaging-inline-row
  > .calculator-packaging-select.calculator-table-inline-select[open]
  > summary
  > i.fa-chevron-down {
  color: var(--calc-ui-brand) !important;
  transform: translateY(-50%) rotate(180deg) !important;
}

/* Keep the popover itself boxed; only the trigger is flat. */
body.fillru-homepage
  .calculator-services-table--included
  .calculator-base-service-packaging
  .calculator-packaging-inline-row
  > .calculator-packaging-select.calculator-table-inline-select
  > .calculator-packaging-options.calculator-dropdown-panel {
  top: calc(100% + 6px) !important;
  left: 0 !important;
  right: auto !important;
  width: max(100%, min(390px, calc(100vw - 32px))) !important;
  min-width: min(320px, calc(100vw - 32px)) !important;
  max-width: min(390px, calc(100vw - 32px)) !important;
  padding: 6px !important;
  border: 1px solid var(--calc-ui-line) !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 16px 34px rgba(17, 19, 24, .14) !important;
}

@media (max-width: 768px) {
  body.fillru-homepage
    .calculator-services-table--included
    .calculator-base-service-packaging
    .calculator-packaging-inline-row
    > .calculator-packaging-select.calculator-table-inline-select
    > summary {
    min-height: 34px !important;
    padding: 6px 24px 6px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #cfd6dd !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-size: var(--calc-type-control) !important;
    line-height: 1.25 !important;
  }

  body.fillru-homepage
    .calculator-services-table--included
    .calculator-base-service-packaging
    .calculator-packaging-inline-row
    > .calculator-packaging-select.calculator-table-inline-select[open]
    > summary {
    border: 0 !important;
    border-bottom: 1px solid var(--calc-ui-brand) !important;
    background: linear-gradient(180deg, transparent 0%, rgba(255, 243, 235, .72) 100%) !important;
  }

  body.fillru-homepage
    .calculator-services-table--included
    .calculator-base-service-packaging
    .calculator-packaging-inline-row
    > .calculator-packaging-select.calculator-table-inline-select
    > .calculator-packaging-options.calculator-dropdown-panel {
    position: fixed !important;
    left: 10px !important;
    right: 10px !important;
    top: auto !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    max-height: min(55vh, 420px) !important;
    border-radius: 14px !important;
    padding: 8px !important;
  }
}
