.kalkulator-postep {
  display: none;
}

.pytanie-naglowek:focus,
.form-wyniki-naglowek:focus,
#widok-raportu h1:focus,
#widok-raportu h2:focus {
  outline: none;
}

#icon_content_boxes-1 .box-item {
  position: relative;
}

.kalkulator-obszar-link {
  border-radius: inherit;
  inset: 0;
  position: absolute;
  z-index: 2;
}

.kalkulator-obszar-link:focus-visible {
  outline: 3px solid #333;
  outline-offset: 3px;
}

/* Pole telefonu miało zarezerwowane 90 px na wybór kodu kraju, który się nie wyświetla; wyrównanie jak w pozostałych polach. */
.formularz-w-tle .form-wyniki-container input.wpcf7-phonetext {
  padding-left: 20px !important;
}

@media (prefers-reduced-motion: reduce) {
  .pytanie-wrapper.aktywne,
  .pytanie-wrapper.aktywne-wstecz,
  .pytanie-wrapper.wychodzace-lewo,
  .pytanie-wrapper.wychodzace-prawo {
    animation-duration: 0.01ms !important;
  }
}

@media (max-width: 600px) {
  :root {
    scroll-padding-top: 80px;
  }

  .mobile-sticky-bar {
    display: none !important;
  }

  .kalkulator-layout {
    gap: 0 !important;
    margin-bottom: 0 !important;
  }

  .kalkulator-main {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    width: 100% !important;
  }

  .pytanie-wrapper,
  .pytanie-wrapper.aktywne,
  .pytanie-wrapper.aktywne-start,
  .pytanie-wrapper.aktywne-wstecz {
    animation: none !important;
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 20px 18px !important;
    position: relative !important;
    width: 100% !important;
  }

  .pytanie-wrapper.wychodzace-lewo,
  .pytanie-wrapper.wychodzace-prawo {
    display: none !important;
  }

  .kalkulator-postep {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0 0 18px;
    width: 100%;
  }

  .kalkulator-postep__tekst {
    color: #333;
    font: 700 0.875rem/1.3 'Open Sans', sans-serif;
  }

  .kalkulator-postep__tor {
    background: #e2e4e7;
    border-radius: 999px;
    display: block;
    height: 6px;
    overflow: hidden;
    width: 100%;
  }

  .kalkulator-postep__wartosc {
    background: #fc4c02;
    border-radius: inherit;
    display: block;
    height: 100%;
  }

  .pytanie-naglowek {
    align-items: flex-start !important;
    font-size: 1.05rem !important;
    line-height: 1.45 !important;
  }

  .pytanie-naglowek:focus-visible {
    border-radius: 4px;
    outline: 3px solid #333 !important;
    outline-offset: 5px;
  }

  .numer-krok,
  .krok-info-prawy {
    display: none !important;
  }

  .pytanie-tresc {
    margin-top: 14px !important;
    padding-left: 0 !important;
  }

  .opcje-wyboru .wpcf7-list-item {
    display: block !important;
    margin: 0 0 8px !important;
  }

  .opcje-wyboru label {
    align-items: center !important;
    background: #fff !important;
    border: 1px solid #d5d9df !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
    display: flex !important;
    font-size: 0.95rem !important;
    line-height: 1.35 !important;
    min-height: 48px !important;
    padding: 10px 12px !important;
    width: 100% !important;
  }

  .opcje-wyboru label:has(input:checked) {
    background: #fff3ed !important;
    border-color: #fc4c02 !important;
  }

  .opcje-wyboru input[type='radio'],
  .opcje-wyboru input[type='checkbox'] {
    height: 20px !important;
    margin: 0 12px 0 0 !important;
    width: 20px !important;
  }

  .opcje-wyboru .kalk-input,
  .opcje-wyboru input[type='number'],
  .opcje-wyboru input[type='text'] {
    box-sizing: border-box !important;
    font-size: 1rem !important;
    min-height: 48px !important;
    width: 100% !important;
  }

  .przyciski-nawigacja,
  #pyt-7 .przyciski-nawigacja {
    align-items: stretch !important;
    bottom: auto !important;
    display: grid !important;
    flex-direction: initial !important;
    gap: 10px !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    left: auto !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    position: static !important;
    width: 100% !important;
  }

  #pyt-1 .przyciski-nawigacja {
    grid-template-columns: 1fr !important;
  }

  .btn-nastepne,
  .btn-wstecz,
  .btn-oblicz {
    align-items: center !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    height: auto !important;
    justify-content: center !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    min-height: 48px !important;
    padding: 11px 16px !important;
    text-align: center !important;
    text-decoration: none !important;
    width: 100% !important;
  }

  .btn-nastepne,
  .btn-oblicz {
    background: #c43b00 !important;
    border: 2px solid #c43b00 !important;
    color: #fff !important;
  }

  .btn-wstecz {
    background: #fff !important;
    border: 2px solid #555 !important;
    color: #333 !important;
  }

  .btn-nastepne::after {
    content: '→';
    margin-left: 8px;
  }

  .btn-wstecz::before {
    content: '←';
    margin-right: 8px;
  }

  .btn-nastepne:focus-visible,
  .btn-wstecz:focus-visible,
  .btn-oblicz:focus-visible {
    outline: 3px solid #333 !important;
    outline-offset: 3px;
  }

  #pyt-7 .przyciski-nawigacja {
    grid-template-columns: 1fr !important;
  }

  #pyt-7 .btn-oblicz {
    grid-row: 1;
  }

  #pyt-7 .btn-wstecz {
    grid-row: 2;
  }

  #icon_content_boxes-1 {
    margin-top: 24px !important;
    padding: 22px 0 18px !important;
  }

  #icon_content_boxes-1 .wrapper {
    padding-left: 16px !important;
    padding-right: 0 !important;
    width: 100% !important;
  }

  #icon_content_boxes-1 .heading {
    display: block !important;
    font-size: 1.25rem !important;
    margin: 0 16px 14px 0 !important;
    text-align: left !important;
  }

  #icon_content_boxes-1 .heading p::after {
    left: 0 !important;
    transform: none !important;
  }

  #icon_content_boxes-1 .wrapper__boxes {
    display: flex !important;
    gap: 10px !important;
    grid-template-columns: none !important;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
    padding: 0 16px 12px 0 !important;
    scroll-snap-type: inline proximity;
    scrollbar-width: thin;
  }

  #icon_content_boxes-1 .box-item {
    align-items: center !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex: 0 0 124px !important;
    flex-direction: column !important;
    height: 116px !important;
    justify-content: center !important;
    min-height: 116px !important;
    padding: 12px 8px !important;
    scroll-snap-align: start;
    width: 124px !important;
  }

  #icon_content_boxes-1 .box-item__image,
  #icon_content_boxes-1 .box-item__image figure {
    height: 38px !important;
    margin: 0 0 6px !important;
    width: 42px !important;
  }

  #icon_content_boxes-1 .box-item__image svg {
    height: 38px !important;
    max-height: 38px !important;
    max-width: 42px !important;
    width: 42px !important;
  }

  #icon_content_boxes-1 .box-item .h3,
  #icon_content_boxes-1 .box-item .h3 p {
    font-size: 0.8rem !important;
    line-height: 1.25 !important;
    margin: 0 !important;
    text-align: center !important;
  }

  .form-wyniki-container {
    box-sizing: border-box !important;
    padding: 24px 16px !important;
    width: 100% !important;
  }

  .form-wyniki-naglowek {
    font-size: 1.75rem !important;
    line-height: 1.25 !important;
    margin: 0 0 24px !important;
  }

  .inputs-container {
    gap: 10px !important;
    margin-bottom: 10px !important;
  }

  .form-wyniki-container input[type='text'],
  .form-wyniki-container input[type='email'],
  .form-wyniki-container input[type='tel'] {
    font-size: 1rem !important;
    min-height: 50px !important;
    padding-bottom: 12px !important;
    padding-top: 12px !important;
  }

  .checkbox-wrapper label {
    box-sizing: border-box !important;
    min-height: 44px !important;
  }

  .checkbox-wrapper input[type='checkbox'] {
    height: 20px !important;
    width: 20px !important;
  }

  .consultation-form-button {
    background: #c43b00 !important;
    min-height: 48px !important;
  }

  #widok-raportu .kafelka {
    padding: 22px !important;
  }

  /* Reguły źródłowego kalkulatora są osadzone w treści strony za tym arkuszem.
     Prefiks widoku daje warstwie mobilnej wyższą swoistość bez wpływu na desktop. */
  .header__inner--cta {
    display: none !important;
  }

  #widok-kalkulatora .kalkulator-main {
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  #widok-kalkulatora .pytanie-wrapper,
  #widok-kalkulatora .pytanie-wrapper.aktywne,
  #widok-kalkulatora .pytanie-wrapper.aktywne-start,
  #widok-kalkulatora .pytanie-wrapper.aktywne-wstecz {
    animation: none !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 20px 18px !important;
    transform: none !important;
  }

  #widok-kalkulatora .pytanie-wrapper.wychodzace-lewo,
  #widok-kalkulatora .pytanie-wrapper.wychodzace-prawo {
    display: none !important;
  }

  #widok-kalkulatora .numer-krok,
  #widok-kalkulatora .krok-info-prawy {
    display: none !important;
  }

  #widok-kalkulatora .pytanie-tresc {
    flex: 0 0 auto !important;
    padding-left: 0 !important;
  }

  #widok-kalkulatora .przyciski-nawigacja,
  #widok-kalkulatora #pyt-7 .przyciski-nawigacja {
    bottom: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    left: auto !important;
    margin: 18px 0 0 !important;
    padding: 0 !important;
    position: static !important;
  }

  #widok-kalkulatora #pyt-1 .przyciski-nawigacja,
  #widok-kalkulatora #pyt-7 .przyciski-nawigacja {
    grid-template-columns: 1fr !important;
  }

  #widok-kalkulatora .btn-nastepne,
  #widok-kalkulatora .btn-wstecz,
  #widok-kalkulatora .btn-oblicz {
    border-radius: 6px !important;
    display: inline-flex !important;
    height: auto !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 11px 16px !important;
    width: 100% !important;
  }

  #widok-kalkulatora .btn-nastepne,
  #widok-kalkulatora .btn-oblicz {
    background: #c43b00 !important;
    border: 2px solid #c43b00 !important;
    color: #fff !important;
  }

  #widok-kalkulatora .btn-wstecz {
    background: #fff !important;
    border: 2px solid #555 !important;
    color: #333 !important;
  }

  #sekcja-formularza.form-wyniki-container {
    padding: 24px 16px !important;
  }

  #sekcja-formularza .checkbox-wrapper input[type='checkbox'] {
    height: 20px !important;
    width: 20px !important;
  }

  #sekcja-formularza .consultation-form-button {
    background: #c43b00 !important;
    min-height: 48px !important;
  }
}
