/* Patch 196: mobilní zjemnění izolované bytové kalkulačky. */

@media (max-width: 760px) {
  html,
  body {
    overflow-x: hidden;
  }

  .ap-container {
    width: min(100% - 24px, 1180px) !important;
  }

  .ap-landing-header-row {
    min-height: 62px !important;
  }

  .ap-landing-logo img {
    width: min(118px, 34vw) !important;
    height: auto !important;
  }

  .ap-landing-availability,
  .ap-landing-phone {
    min-height: 38px !important;
    padding: 5px 8px !important;
    font-size: .78rem !important;
    max-width: calc(100vw - 150px) !important;
  }

  .ap-hero {
    padding-top: 34px !important;
  }

  .ap-hero-grid,
  .ap-geo-grid,
  .ap-ai-answer-grid,
  .ap-service-facts-grid,
  .ap-local-seo-grid {
    grid-template-columns: 1fr !important;
  }

  .ap-hero h1,
  .ap-section-head h2,
  .ap-ai-answer h2,
  .ap-service-facts h2 {
    letter-spacing: -0.035em;
  }

  .ap-hero h1 {
    font-size: clamp(2.05rem, 11vw, 3.15rem) !important;
    line-height: 1.02 !important;
  }

  .ap-hero .ap-hero-lead {
    font-size: 1.05rem !important;
    line-height: 1.55 !important;
  }

  .ap-hero-actions,
  .ap-result-actions,
  .ap-mobile-between-result-compare-actions,
  .ap-mobile-compare-actions,
  .ap-actions-row,
  .ap-address-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .ap-btn,
  .ap-mini-cta {
    width: 100%;
    min-height: 48px;
    justify-content: center;
    text-align: center;
  }

  .ap-stage,
  .ap-email-card,
  .ap-result-shell,
  .ap-refine-card,
  .ap-thanks-card,
  .ap-hero-card,
  .ap-compare {
    border-radius: 22px !important;
  }

  .ap-option-grid,
  .ap-option-grid.compact,
  .ap-field-grid,
  .ap-seo-table,
  .ap-faq-grid,
  .ap-localities,
  .ap-price-facts,
  .ap-summary-strip {
    grid-template-columns: 1fr !important;
  }

  .ap-floor-row,
  .ap-elevator-row,
  .ap-elevator-size-row,
  .ap-elevator-type-row,
  .ap-parking-row,
  .ap-services-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  .ap-email-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .ap-email-row input,
  .ap-refine-card input,
  .ap-refine-card select,
  .ap-refine-card textarea {
    min-height: 48px;
    font-size: 16px !important;
  }

  .ap-comparison-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .ap-comparison-table {
    min-width: 760px;
  }
}

@media (max-width: 420px) {
  .ap-container {
    width: min(100% - 20px, 1180px) !important;
  }

  .ap-landing-logo img {
    width: min(104px, 32vw) !important;
  }

  .ap-landing-availability,
  .ap-landing-phone {
    max-width: calc(100vw - 132px) !important;
    font-size: .72rem !important;
  }

  .ap-floor-row,
  .ap-elevator-row,
  .ap-elevator-size-row,
  .ap-elevator-type-row,
  .ap-parking-row,
  .ap-services-row {
    grid-template-columns: 1fr !important;
  }
}
