/*--------------------------------------------------------------
# Homepage mobile-first quote form and contact actions
# Desktop presentation intentionally remains unchanged.
--------------------------------------------------------------*/
.index-page .hero .hero-form-mobile-intro {
  display: none;
}

.index-page .hero .hero-form-desktop-title {
  margin: 0 0 10px;
  color: var(--brand-primary-dark);
  font-size: 26px !important;
  font-weight: 500;
}

@media (max-width: 767px) {
  body {
    padding-bottom: calc(64px + env(safe-area-inset-bottom));
  }

  .index-page .hero,
  .index-page .hero .info {
    min-height: auto;
  }

  .index-page .hero .info {
    padding: 72px 0 28px;
  }

  .index-page .hero .info > .container {
    padding-right: 14px;
    padding-left: 14px;
  }

  .index-page .hero .info .hero-copy {
    display: none;
  }

  .index-page .hero #kontakt-forma {
    order: -1;
  }

  .index-page .hero .hero-contact-form {
    margin-top: 0;
    padding: 16px 14px;
    border-radius: 10px;
    background: var(--color-white-97);
  }

  .index-page .hero .hero-form-mobile-intro {
    display: block;
  }

  .index-page .hero .hero-form-desktop-title {
    display: none !important;
  }

  .index-page .hero .hero-contact-form .hero-form-mobile-intro h2 {
    margin: 0 0 10px;
    color: var(--brand-primary-dark);
    font-size: clamp(1.75rem, 7.4vw, 2.1rem) !important;
    font-weight: 500 !important;
    line-height: 1.08;
    letter-spacing: -0.025em;
  }

  .index-page .hero .hero-contact-form .hero-form-mobile-intro .hero-mobile-highlight {
    color: var(--brand-primary);
    font-weight: 800;
  }

  .index-page .hero .hero-contact-form .hero-form-mobile-intro p {
    margin: 0 0 18px;
    padding: 0;
    border: 0;
    color: var(--brand-muted-strong);
    font-size: 14px;
    line-height: 1.45;
  }

  .index-page .hero .hero-contact-form > p {
    margin-bottom: 14px;
    font-size: 13px;
    line-height: 1.45;
  }

  .index-page .hero .hero-contact-form .form-control {
    min-height: 44px;
    padding: 10px 13px;
  }

  .index-page .hero .hero-contact-form textarea.form-control {
    min-height: 88px;
  }

  .index-page .hero .hero-contact-form .privacy-consent {
    font-size: 12px;
  }

  .index-page .hero .hero-contact-form button {
    width: 100%;
    min-height: 46px;
    border-radius: 7px;
  }

  .mobile-contact-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    padding: 0 0 env(safe-area-inset-bottom);
    border-top: 0;
    background: var(--color-white);
    box-shadow: 0 -10px 28px color-mix(in srgb, var(--brand-primary-dark) 18%, var(--color-transparent));
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .mobile-contact-action {
    min-height: 64px;
    gap: 8px;
    padding: 12px 10px;
    border: 0;
    border-radius: 0;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: 0.035em;
    line-height: 1.15;
    text-transform: uppercase;
  }

  .mobile-contact-quote,
  .mobile-contact-quote:hover,
  .mobile-contact-quote:focus {
    color: var(--button-highlight-text);
    background: var(--button-highlight-background);
  }

  .mobile-contact-call {
    color: var(--button-inverse-text);
    background: var(--button-inverse-background);
  }

  .mobile-contact-call:hover,
  .mobile-contact-call:focus-visible {
    color: var(--button-inverse-text);
    background: var(--button-inverse-background-hover);
  }

  .mobile-contact-action .bi {
    color: inherit !important;
    font-size: 16px;
  }

  .mobile-contact-action:focus-visible {
    position: relative;
    z-index: 1;
    outline: 3px solid var(--button-focus-ring);
    outline-offset: -4px;
  }

  #scroll-top.scroll-top {
    bottom: calc(88px + env(safe-area-inset-bottom)) !important;
  }
}

@media (max-width: 360px) {
  .mobile-contact-action {
    gap: 5px;
    padding-right: 8px;
    padding-left: 8px;
    font-size: 11.5px;
  }
}

/* Compact homepage quote entry: keep the whole card visible above mobile CTA bar */
@media (max-width: 767px) {
  .index-page .hero .info {
    padding-top: 70px;
    padding-bottom: 22px;
  }

  .index-page .hero .hero-contact-form {
    padding: 15px 14px 16px;
  }

  .index-page .hero .hero-contact-form .hero-form-mobile-intro h2 {
    margin-bottom: 8px;
    font-size: clamp(1.72rem, 7vw, 2rem) !important;
  }

  .index-page .hero .hero-contact-form .hero-form-mobile-intro p {
    margin-bottom: 14px;
    font-size: 13.5px;
    line-height: 1.4;
  }

  .index-page .hero .hero-quote-prefill-form .form-control,
  .index-page .hero .hero-quote-prefill-form .form-select {
    min-height: 48px;
    padding: 10px 13px;
    font-size: 16px;
  }

  .index-page .hero .hero-quote-prefill-form .form-submit button {
    min-height: 48px;
  }
}
