/* V11 — poprawki produkcyjne */

/* Hero: bezpieczny odstęp pomiędzy CTA a kaflami usług na desktopie. */
@media (min-width: 781px) {
  .hk-hero-slider__actions { margin-bottom: 34px; }
  .hk-hero-slider__desktop-services { margin-top: auto; }
}

/* Jeden formularz na stronie głównej pozostaje widoczny w obrębie sekcji Oferta. */
@media (min-width: 961px) {
  .split-offer { align-items: start; overflow: visible; }
  .quote-wizard-box {
    position: sticky !important;
    top: 116px !important;
    align-self: start;
    height: fit-content;
    max-height: calc(100vh - 136px);
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,105,0,.42) transparent;
  }
  .quote-wizard-box::-webkit-scrollbar { width: 6px; }
  .quote-wizard-box::-webkit-scrollbar-thumb { border-radius: 99px; background: rgba(255,105,0,.42); }
}

/* Walidacja przy konkretnym polu, bez komunikatu pod całym formularzem. */
.quote-field-error {
  display: block;
  margin-top: 7px;
  padding: 7px 9px;
  border-radius: 9px;
  background: #fff1ef;
  color: #a42f27;
  font-size: 10.5px;
  font-weight: 750;
  line-height: 1.4;
  animation: v11FieldErrorIn .22s ease both;
}
@keyframes v11FieldErrorIn {
  from { opacity: 0; transform: translateY(-3px); }
  to { opacity: 1; transform: none; }
}
.quote-field.is-invalid,
.quote-floor-field.is-invalid,
.quote-contact-method.is-invalid,
.quote-consent.is-invalid,
.quote-service-options.is-invalid { outline: none !important; }
.quote-field.is-invalid input,
.quote-floor-field.is-invalid .quote-segments,
.quote-contact-method.is-invalid .quote-contact-options,
.quote-consent.is-invalid label,
.quote-service-options.is-invalid .quote-choice-card {
  border-color: rgba(180,48,37,.65) !important;
  box-shadow: 0 0 0 3px rgba(180,48,37,.08) !important;
}
.quote-form-status:empty { display: none; }

/* Ujednolicone ikony kontaktu w formularzu. */
.quote-contact-options i {
  width: 31px;
  height: 31px;
  color: #1c2021;
}
.quote-contact-options svg { width: 29px; height: 29px; display: block; }
.quote-contact-options label:has(input:checked) i { color: #d95800; }

/* Proces realizacji: techniczne, duże SVG bez nachodzenia linii. */
.fhu-about-card {
  min-height: 346px;
  padding: 26px;
}
.fhu-about-card__number { z-index: 2; }
.fhu-about-card__icon {
  position: relative;
  width: 124px;
  height: 124px;
  margin: 2px 0 25px;
  padding: 17px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 28px;
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.018)),
    radial-gradient(circle at 25% 20%, rgba(255,105,0,.22), transparent 55%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 18px 34px rgba(0,0,0,.24);
  filter: none;
}
.fhu-about-card__icon::after {
  content: "";
  position: absolute;
  inset: 9px;
  border-radius: 20px;
  border: 1px solid rgba(255,105,0,.2);
  pointer-events: none;
}
.fhu-about-card__icon svg {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  display: block;
  overflow: hidden !important;
}
.fhu-about-card__icon svg * { vector-effect: non-scaling-stroke; }
.fhu-about-card.is-active .fhu-about-card__icon {
  transform: translateY(-4px) scale(1.025);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 22px 40px rgba(0,0,0,.28), 0 0 30px rgba(255,105,0,.11);
  filter: none;
}

/* Stopka — czytelniejszy tekst w całym obszarze. */
.fhu-footer-brand strong { font-size: 19px; }
.fhu-footer-brand small { font-size: 11px; }
.fhu-footer-company p { font-size: 15px; line-height: 1.72; }
.fhu-footer-column h3 { font-size: 17px; }
.fhu-footer-column li { font-size: 15px; line-height: 1.55; }
.fhu-footer-quote { font-size: 14px; }
.fhu-footer-bottom { font-size: 14px; }

/* Ikona „Bezpłatna wycena” zawsze biała, także po cache starszych styli. */
.fhu-mobile-action--quote,
.fhu-mobile-action--quote span,
.fhu-mobile-action--quote svg,
.fhu-mobile-action--quote svg *,
.fhu-icon-action--quote svg,
.fhu-icon-action--quote svg *,
.fhu-header-button--quote svg,
.fhu-header-button--quote svg *,
.hk-slider-button--quote img {
  color: #fff !important;
  stroke: #fff !important;
  fill: none !important;
  filter: none !important;
}

@media (max-width: 780px) {
  .quote-wizard-box { max-height: none; overflow: hidden; }
  .fhu-about-card { min-height: 326px; }
  .fhu-about-card__icon { width: 112px; height: 112px; padding: 15px; border-radius: 25px; }
  .fhu-footer-mobile-accordion summary { font-size: 15px; }
  .fhu-footer-mobile-accordion p,
  .fhu-footer-mobile-accordion ul { font-size: 14px; }
  .fhu-footer-bottom { font-size: 14px; }
  .fhu-mobile-action--quote svg { width: 24px; height: 24px; }
}
