/* Mobile homepage orientation + hero v7 */
@media (max-width: 768px) {
  html,
  body,
  body.fillru-homepage,
  .site-page {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  .site-page > section,
  .hero-section,
  .account-section,
  .pricing-section,
  .calculator-section,
  .workflow-section,
  .faq-section,
  .contacts-section,
  .site-footer {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .account-inner,
  .pricing-inner,
  .calculator-inner,
  .workflow-inner,
  .faq-inner,
  .contacts-inner,
  .site-footer-inner {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  /* Hero becomes a portrait-first vertical composition. */
  .hero-section {
    position: relative !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #eef4fb !important;
  }

  .hero-background {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    max-width: none !important;
    height: clamp(310px, 88vw, 420px) !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    object-position: 62% top !important;
    transform: none !important;
  }

  .hero-overlay {
    z-index: 1 !important;
    background:
      linear-gradient(90deg, rgba(247,251,255,.96) 0%, rgba(247,251,255,.82) 46%, rgba(247,251,255,.26) 100%),
      linear-gradient(180deg, rgba(247,251,255,.04) 0%, rgba(242,247,252,.28) 190px, rgba(238,244,251,.90) 330px, #eef4fb 430px, #eef4fb 100%) !important;
  }

  .hero-bottom-blur {
    display: none !important;
  }

  .hero-inner {
    z-index: 3 !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: calc(var(--site-header-live-height, 64px) + 26px) 14px 42px !important;
    box-sizing: border-box !important;
  }

  .hero-content {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .hero-content .hero-title {
    width: min(100%, 560px) !important;
    max-width: 100% !important;
    margin: 0 !important;
    font-size: clamp(32px, 9.2vw, 40px) !important;
    line-height: 1.01 !important;
    letter-spacing: -.04em !important;
    text-wrap: balance !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .hero-content .hero-title br {
    display: none !important;
  }

  .hero-content .hero-description {
    width: min(100%, 560px) !important;
    max-width: 100% !important;
    margin: 14px 0 0 !important;
    color: #52657d !important;
    font-size: 15px !important;
    line-height: 1.48 !important;
  }

  .hero-content .hero-features.hero-tariff-plans-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 28px 0 0 !important;
    padding: 0 !important;
  }

  .hero-tariff-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 15px !important;
    border: 1px solid rgba(19,33,54,.10) !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 12px 32px rgba(18,31,48,.08) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
  }

  .hero-tariff-card .tariff-plan-header {
    align-items: center !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
    padding-bottom: 9px !important;
  }

  .hero-tariff-card h3 {
    font-size: 21px !important;
    line-height: 1.08 !important;
  }

  .hero-tariff-card .tariff-plan-subtitle {
    margin-top: 4px !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .hero-tariff-card .tariff-plan-features {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 6px !important;
    margin: 12px 0 !important;
  }

  .hero-tariff-card .tariff-plan-features li {
    grid-template-columns: 22px minmax(0, 1fr) !important;
    gap: 8px !important;
    padding: 0 !important;
    font-size: 12.5px !important;
    line-height: 1.3 !important;
  }

  .hero-tariff-card .tariff-plan-price {
    margin-top: 12px !important;
  }

  .hero-tariff-card .tariff-plan-price strong {
    font-size: 31px !important;
  }

  .hero-tariff-card .tariff-calculate-button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 46px !important;
    margin-top: 12px !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  /* The main page follows one clear vertical axis on mobile. */
  .trust-bar {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    width: calc(100% - 28px) !important;
    margin: -10px auto 0 !important;
    padding: 0 0 8px !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .trust-card {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 76px !important;
    padding: 12px 14px !important;
    border: 1px solid rgba(19,33,54,.09) !important;
    border-radius: 13px !important;
    background: rgba(255,255,255,.94) !important;
    box-shadow: 0 7px 20px rgba(18,31,48,.045) !important;
    scroll-snap-align: none !important;
  }

  .account-inner,
  .account-feature-grid,
  .tariff-plans-grid,
  .calculator-columns,
  .calculator-columns3,
  .workflow-timeline,
  .contacts-layout,
  .site-footer-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .account-section,
  .pricing-section,
  .faq-section,
  .contacts-section {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }

  .workflow-section {
    padding-left: 14px !important;
    padding-right: 14px !important;
    bottom: 0 !important;
  }

  .account-feature,
  .services-price-row,
  .faq-trigger-meta,
  .contacts-field,
  .workflow-step-card,
  .calculator-reference-column {
    min-width: 0 !important;
  }

  .account-actions,
  .site-footer-top,
  .site-footer-bottom {
    width: 100% !important;
  }

  img,
  video,
  iframe {
    max-width: 100%;
  }
}

@media (max-width: 420px) {
  .hero-inner {
    padding: calc(var(--site-header-live-height, 64px) + 20px) 11px 36px !important;
  }

  .hero-background {
    height: 330px !important;
    object-position: 65% top !important;
  }

  .hero-content .hero-title {
    font-size: clamp(30px, 9.4vw, 36px) !important;
    line-height: 1.03 !important;
  }

  .hero-content .hero-description {
    font-size: 14px !important;
    line-height: 1.45 !important;
  }

  .hero-content .hero-features.hero-tariff-plans-grid {
    margin-top: 22px !important;
    gap: 10px !important;
  }

  .hero-tariff-card {
    padding: 13px !important;
    border-radius: 14px !important;
  }

  .hero-tariff-card .tariff-plan-price strong {
    font-size: 29px !important;
  }

  .trust-bar {
    width: calc(100% - 22px) !important;
  }

  .account-section,
  .pricing-section,
  .faq-section,
  .contacts-section,
  .workflow-section {
    padding-left: 11px !important;
    padding-right: 11px !important;
  }
}

/* Mobile: hide trust bar v8 */
@media (max-width: 768px) {
  .trust-bar {
    display: none !important;
  }
}



/* Cart PDF customer details dialog */
.cart-pdf-customer-dialog{width:min(92vw,520px);max-width:520px;border:0;border-radius:24px;padding:0;overflow:hidden;background:#fff;color:var(--text);box-shadow:0 28px 80px rgba(17,24,39,.24)}
.cart-pdf-customer-dialog::backdrop{background:rgba(15,23,42,.56)}
.cart-pdf-customer-form{padding:24px;display:grid;gap:22px}
.cart-pdf-customer-head{display:flex;align-items:flex-start;gap:14px}.cart-pdf-customer-icon{flex:0 0 44px;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:rgba(255,106,19,.1);color:var(--brand);font-size:20px}
.cart-pdf-customer-head h2{margin:1px 0 5px;font-size:20px;line-height:1.2}.cart-pdf-customer-head p{margin:0;color:var(--muted);font-size:13px;line-height:1.5}
.cart-pdf-customer-fields{display:grid;gap:15px}.cart-pdf-customer-fields label{display:grid;gap:7px;font-size:13px;font-weight:700}.cart-pdf-customer-fields input{width:100%;min-height:46px;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:0 14px;background:#fff;color:var(--text);font:inherit;outline:none}.cart-pdf-customer-fields input:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,106,19,.12)}.cart-pdf-customer-fields small{color:var(--muted);font-size:11.5px;font-weight:400}
.cart-pdf-customer-actions{display:flex;justify-content:flex-end;gap:10px}.cart-pdf-customer-actions button{min-height:44px;border-radius:12px;padding:0 17px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.cart-pdf-customer-cancel{border:1px solid var(--line);background:#fff;color:var(--text)}.cart-pdf-customer-submit{border:1px solid var(--brand);background:var(--brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px}
@media(max-width:560px){.cart-pdf-customer-dialog{width:calc(100vw - 24px);border-radius:18px}.cart-pdf-customer-form{padding:19px;gap:18px}.cart-pdf-customer-actions{display:grid;grid-template-columns:1fr 1fr}.cart-pdf-customer-actions button{width:100%;padding:0 10px}}


/* Cart clear-all action */
.header-cart-clear {
  display: inline-flex;
  width: 100%;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  border: 1px solid rgba(180, 35, 24, .20);
  border-radius: 10px;
  background: rgba(180, 35, 24, .045);
  color: #b42318;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
  box-sizing: border-box;
  transition: border-color .16s ease, background-color .16s ease, color .16s ease, transform .12s ease;
}
.header-cart-clear:hover,
.header-cart-clear:focus-visible {
  border-color: rgba(180, 35, 24, .38);
  background: rgba(180, 35, 24, .08);
  color: #912018;
  outline: none;
}
.header-cart-clear:active { transform: translateY(1px); }
.header-cart-clear[hidden] { display: none !important; }
.header-cart-clear:disabled,
.header-cart-clear[aria-disabled="true"] { cursor: not-allowed; opacity: .46; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .header-cart-clear { transition: none !important; }
}

/* Mobile calculator dropdown stacking fix v9 */
@media (max-width: 768px) {
  /* The floating total uses z-index:180. Any open service/dropdown must establish
     a higher stacking context so its option panel cannot be covered by the total. */
  body.fillru-homepage .calculator-reference-card:has(.calculator-packaging-select[open]),
  body.fillru-homepage .calculator-reference-column.calculator-reference-services:has(.calculator-packaging-select[open]),
  body.fillru-homepage .calculator-reference-services:has(.calculator-packaging-select[open]) {
    position: relative !important;
    z-index: 1200 !important;
    overflow: visible !important;
  }

  body.fillru-homepage .calculator-reference-services .calculator-base-service:has(.calculator-packaging-select[open]),
  body.fillru-homepage .calculator-reference-services .calculator-base-service:has(.calculator-table-inline-select[open]) {
    position: relative !important;
    z-index: 1250 !important;
    overflow: visible !important;
  }

  body.fillru-homepage .calculator-packaging-select[open] {
    position: relative !important;
    z-index: 1275 !important;
    overflow: visible !important;
  }

  body.fillru-homepage .calculator-packaging-select[open] > .calculator-packaging-options,
  body.fillru-homepage .calculator-packaging-select[open] > .calculator-dropdown-panel,
  body.fillru-homepage .calculator-packaging-options.calculator-dropdown-panel {
    z-index: 1300 !important;
  }
}
/* Mobile calculator tables: fit the full accounting table inside the viewport v10 */
@media (max-width: 768px) {
  body.fillru-homepage .calculator-services-section,
  body.fillru-homepage .calculator-services-table-card,
  body.fillru-homepage .calculator-reference-services {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.fillru-homepage .calculator-services-table-card {
    overflow: visible !important;
  }

  body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    table-layout: fixed !important;
    border-collapse: collapse !important;
    font-size: clamp(8.5px, 2.45vw, 10.5px) !important;
    line-height: 1.18 !important;
  }

  /* Base services: 7 columns must total 100% on mobile. */
  body.fillru-homepage .calculator-services-table--included col.col-check { width: 5.5% !important; }
  body.fillru-homepage .calculator-services-table--included col.col-name { width: 21.5% !important; }
  body.fillru-homepage .calculator-services-table--included col.col-desc { width: 27.5% !important; }
  body.fillru-homepage .calculator-services-table--included col.col-unit { width: 8.5% !important; }
  body.fillru-homepage .calculator-services-table--included col.col-quantity { width: 10.5% !important; }
  body.fillru-homepage .calculator-services-table--included col.col-price { width: 13.5% !important; }
  body.fillru-homepage .calculator-services-table--included col.col-sum { width: 13% !important; }

  /* Additional services: preserve description and a usable quantity control. */
  body.fillru-homepage .calculator-services-table--addons col.col-check { width: 6% !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: 34% !important; }
  body.fillru-homepage .calculator-services-table--addons col.col-quantity { width: 20% !important; }
  body.fillru-homepage .calculator-services-table--addons col.col-price { width: 17% !important; }

  body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons) thead th {
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 5px 2.5px !important;
    box-sizing: border-box !important;
    font-size: clamp(7.4px, 2.05vw, 9px) !important;
    font-weight: 700 !important;
    line-height: 1.08 !important;
    white-space: normal !important;
    overflow: hidden !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    text-overflow: clip !important;
    vertical-align: middle !important;
  }

  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 {
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 5px 3px !important;
    box-sizing: border-box !important;
    font-size: clamp(8px, 2.25vw, 9.5px) !important;
    line-height: 1.16 !important;
    vertical-align: middle !important;
  }

  body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
    :is(.calculator-service-name, [data-base-service-label], .calculator-service-desc) {
    display: block !important;
    min-width: 0 !important;
    max-width: 100% !important;
    font-size: inherit !important;
    line-height: 1.16 !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: break-word !important;
    word-break: normal !important;
    text-overflow: clip !important;
  }

  body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
    :is(.calculator-service-col-unit, .calculator-service-col-quantity, .calculator-service-col-price, .calculator-service-col-sum) {
    padding-left: 2px !important;
    padding-right: 2px !important;
  }

  body.fillru-homepage .calculator-services-table--included
    :is(.calculator-base-service-price, .calculator-base-service-sum, .calculator-base-option-price, [data-base-service-unit], [data-base-service-quantity]),
  body.fillru-homepage .calculator-services-table--addons
    :is(.calculator-option-price, [data-calc-service-price], [data-calc-addon-price]) {
    max-width: 100% !important;
    font-size: clamp(7.8px, 2.2vw, 9.4px) !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
    :is(.calculator-row-select, .calculator-service-select, .calculator-table-inline-select, .calculator-packaging-select) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
    :is(.calculator-row-select, .calculator-service-select) {
    height: 23px !important;
    min-height: 23px !important;
    padding: 0 15px 0 4px !important;
    font-size: clamp(7.6px, 2.15vw, 9px) !important;
    background-position: right 4px center !important;
    background-size: 8px 5px !important;
  }

  body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
    .calculator-table-inline-select > summary {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 23px !important;
    height: auto !important;
    padding: 4px 15px 4px 4px !important;
    box-sizing: border-box !important;
    font-size: clamp(7.6px, 2.15vw, 9px) !important;
    line-height: 1.1 !important;
  }

  body.fillru-homepage .calculator-services-table--addons .calculator-service-col-quantity {
    overflow: visible !important;
  }

  body.fillru-homepage .calculator-services-table--addons .calculator-service-col-quantity
    :is(.calculator-addon-counter, .calculator-pickup-quantity-control) {
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) 18px !important;
    gap: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 24px !important;
    min-height: 24px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  body.fillru-homepage .calculator-services-table--addons .calculator-service-col-quantity
    :is(.calculator-addon-count-step, .calculator-pickup-quantity-step) {
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 !important;
    font-size: 12px !important;
    line-height: 1 !important;
  }

  body.fillru-homepage .calculator-services-table--addons .calculator-service-col-quantity
    :is(.calculator-addon-count, .calculator-addon-count-wrap input, .calculator-pickup-quantity-input, .calculator-pickup-quantity-input input) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 22px !important;
    min-height: 22px !important;
    padding-left: 1px !important;
    padding-right: 1px !important;
    box-sizing: border-box !important;
    font-size: 8.5px !important;
  }

  body.fillru-homepage .calculator-services-table--addons
    .calculator-pickup-quantity-input > span {
    display: none !important;
  }

  body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
    .calculator-service-col-check {
    padding-left: 1px !important;
    padding-right: 1px !important;
    text-align: center !important;
  }

  body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
    .calculator-service-col-check :is(input[type="checkbox"], input[type="radio"]) {
    width: 13px !important;
    min-width: 13px !important;
    height: 13px !important;
    margin: 0 !important;
  }

  body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
    .calculator-table-total-label {
    padding-right: 4px !important;
    font-size: clamp(8px, 2.3vw, 9.5px) !important;
    white-space: normal !important;
  }

  body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons)
    .calculator-table-total-value {
    padding-left: 2px !important;
    padding-right: 3px !important;
    font-size: clamp(8.5px, 2.45vw, 10px) !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 420px) {
  body.fillru-homepage :is(.calculator-services-table--included, .calculator-services-table--addons) thead th {
    padding-left: 1.5px !important;
    padding-right: 1.5px !important;
    font-size: 7.2px !important;
  }

  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 {
    padding-left: 2px !important;
    padding-right: 2px !important;
    font-size: 8px !important;
  }

  body.fillru-homepage .calculator-services-table--included col.col-check { width: 5% !important; }
  body.fillru-homepage .calculator-services-table--included col.col-name { width: 21% !important; }
  body.fillru-homepage .calculator-services-table--included col.col-desc { width: 29% !important; }
  body.fillru-homepage .calculator-services-table--included col.col-unit { width: 8% !important; }
  body.fillru-homepage .calculator-services-table--included col.col-quantity { width: 10% !important; }
  body.fillru-homepage .calculator-services-table--included col.col-price { width: 13.5% !important; }
  body.fillru-homepage .calculator-services-table--included col.col-sum { width: 13.5% !important; }

  body.fillru-homepage .calculator-services-table--addons col.col-check { width: 6% !important; }
  body.fillru-homepage .calculator-services-table--addons col.col-name { width: 22% !important; }
  body.fillru-homepage .calculator-services-table--addons col.col-desc { width: 34% !important; }
  body.fillru-homepage .calculator-services-table--addons col.col-quantity { width: 21% !important; }
  body.fillru-homepage .calculator-services-table--addons col.col-price { width: 17% !important; }
}
