:root {
  --sf-orange: #ee9128;
  --sf-orange-light: #f5b455;
  --sf-orange-grad: linear-gradient(135deg, #f5b455 0%, #ee9128 100%);
  --sf-purple-grad: linear-gradient(135deg, #c9a8f0 0%, #8aa9e8 100%);
  --sf-text: #2e2e2e;
  --sf-text-muted: #555;
  --sf-bg: #f5f5f5;
}

.sf-section {
  color: var(--sf-text);
}

.sf-page>section {
  width: 100%;
  align-self: stretch;
}

.sf-marker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--sf-orange);
  border-radius: 64px;
  border: 1px solid #ff9100;
  padding: 8px 8px;
}

.sf-marker svg {
  display: block;
  width: 18px;
  height: 18px;
}

.sf-process-title {
  color: var(--Tekst-Gwny, #100707);

  /* Nagłówki/H4 */
  font-family: Poppins;
  font-size: 1.75rem;
  font-style: normal;
  font-weight: 600;
  line-height: 140%;
  /* 39.2px */
}

.sf-title--sm {
  color: var(--Tekst-Gwny, #100707);

  /* Nagłówki/H5 */
  font-family: Poppins;
  font-size: 1.4375rem;
  font-style: normal;
  font-weight: 600;
  line-height: 140%;
  /* 32.2px */
}

.sf-title-group {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 1rem;
}

.sf-title-group .sf-title {
  margin-bottom: 0;
}

/* Tytuły sekcji */
.sf-title {
  font-weight: 600;
  line-height: 1.4;
  color: var(--Tekst-Gwny);
}

.sf-lead {
  font-weight: 400;
  line-height: 1.5;
  color: var(--Tekst-Dodatkowy);
}

.lead-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  align-self: stretch;
}

.sf-gallery-img {
  border-radius: 24px;
  border: 1px solid var(--Pole-Obrys-Jasny, #e3e3e3);
}

.sf-gallery-img img {
  width: 449px;
}

.why-us-img-gallery {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 8px;
}

.sf-card {
  border-radius: 24px;
  border: 1px solid var(--Pole-Obrys-Jasny, #e3e3e3);
  background: var(--Pole-Jasne, rgba(255, 255, 255, 0.75));
  backdrop-filter: blur(12px);
}

.sf-card--benefit {
  display: flex;
  height: 246px;
  padding: 32px 24px;
  align-items: center;
  gap: 24px;
  flex: 1 0 0;
}

.sf-card--benefit .sf-card-title {
  color: var(--Tekst-Gwny, #100707);
  font-family: Poppins;
  font-size: 1.125rem;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
  /* 27px */
  text-transform: uppercase;
  align-self: stretch;
  margin-bottom: 8px !important;
}

.sf-card--benefit p {
  color: var(--Tekst-Dodatkowy, #4c4545);

  font-family: Poppins;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  align-self: stretch;
}

.sf-card--who {
  display: flex;
  padding-right: 40px;
  align-items: flex-start;
  align-self: stretch;
}

.sf-card--step {
  display: flex;
  width: 352px;
  padding: 32px;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  align-self: stretch;
}

.sf-card--testimonial {
  display: flex;
  padding: 48px 32px;
  justify-content: center;
  align-items: center;
  gap: 24px;
  flex: 1 0 0;
}

.sf-icon {
  width: 128px;
  height: 128px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}

.sf-icon img {
  width: 80px;
  height: 80px;
}

.sf-icon--orange {
  background: var(--sf-orange-grad);
  box-shadow: 0 6px 14px rgba(238, 145, 40, 0.25);
}

.sf-icon--purple {
  background: var(--sf-purple-grad);
  box-shadow: 0 6px 14px rgba(140, 130, 220, 0.25);
}

.sf-card-title {
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.4px;
  text-transform: uppercase;
  margin: 0 0 0.5rem;
  color: var(--sf-text);
}

.sf-card-desc {
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--sf-text-muted);
}

.sf-btn-cta {
  display: flex;
  padding: 14px 48px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 64px;
  border: 1px solid #e3e3e3;
  background: var(--Gradient-Pomaraczowy,
      linear-gradient(90deg, #ffaf45 0%, #ff9100 100%));
  color: #fff;
  text-align: center;
  font-family: Poppins;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  /* 19.5px */
}

.sf-btn-cta:hover,
.sf-btn-cta:focus {
  background: var(--Gradient-Pomaranczowy);
  color: #fff;
  transform: translateY(-2px);
}

.sf-who-img {
  min-height: 420px;
  background: #ccc;
}

.sf-bullet {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  margin-top: 1px;
}

.sf-bullet svg {
  width: 24px;
  height: 24px;
}

/* desktop: ikona w karcie ukryta, timeline + łącznik działają jak były */
.sf-step-icon--card {
  display: none !important;
}

.sf-process-swiper .swiper-slide {
  position: relative;
  overflow: visible;
  --sf-gap: 0px;
  /* = spaceBetween Swipera; jak slajdy się stykają, zostaw 0 */
}

.sf-process-swiper .swiper-slide::after {
  content: "";
  position: absolute;
  top: 24px;
  /* środek 48px kulki w pionie */
  transform: translateY(-50%);
  left: calc(50% + 32px);
  /* 24 promień + 8 gap z lewej */
  right: calc(-1 * (var(--sf-gap) + 50% - 12px));
  /* 8 gap z prawej, auto */
  height: 4px;
  border-radius: 4px;
  background: var(--Gradient-Pomaraczowy,
      linear-gradient(90deg, #ffaf45 0%, #ff9100 100%));
  pointer-events: none;
}

.sf-process-swiper .swiper-slide:last-child::after {
  display: none;
}

.sf-process-pagination {
  display: none;
}

@media (max-width: 991.98px) {
  .sf-timeline::before {
    display: none;
  }
}

.sf-step-icon {
  display: flex;
  width: 48px;
  height: 48px;
  padding: 10px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  aspect-ratio: 1/1;
  border-radius: 32px;
  background: var(--Gradient-Pomaraczowy,
      linear-gradient(90deg, #ffaf45 0%, #ff9100 100%));
}

.sf-step-icon svg {
  width: 22px;
  height: 20px;
}

.sf-step-num {
  color: var(--Tekst-Dodatkowy, #4c4545);
  font-family: Poppins;
  font-size: 1.1875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  /* 28.5px */
  display: flex;
  width: 32px;
  height: 32px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 64px;
  border: 1px solid var(--Kolor-Gwny, #ff9100);
}

.sf-step-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--sf-text);
}

.sf-step-desc {
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--sf-text-muted);
}

.sf-step-icon img {
  width: 22px;
  height: 20px;
  display: block;
}

.sf-process-swiper {
  overflow: hidden;
}

.sf-process-swiper .swiper-wrapper {
  align-items: stretch;
}

.sf-process-swiper .swiper-slide {
  height: auto;
  display: flex;
}

.sf-process-swiper .swiper-slide>div {
  width: 100%;
}

.sf-carousel {
  padding: 0 3rem;
}

.sf-carousel-ctrl {
  width: 2.5rem;
  opacity: 1;
}

.sf-carousel-ctrl svg {
  width: 54px;
  height: 54px;
  color: var(--Tekst-Akcent, #aca8a8);
  transition: color 0.2s ease;
}

.sf-carousel-ctrl .carousel-control-prev-icon,
.sf-carousel-ctrl .carousel-control-next-icon {
  display: none;
}

.why-us-wrapper {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 96px;
  --bs-gutter-x: 0;
}

.why-us-wrapper>.col-lg-6 {
  flex: 1 1 0;
  width: auto;
  max-width: none;
  padding: 0;
}

.why-us-wrapper>.col-lg-6:first-child {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

@media (max-width: 991.98px) {
  .why-us-wrapper {
    flex-direction: column;
    gap: 32px;
  }

  .why-us-img-gallery {
    height: auto;
  }
}

.sf-carousel-dots {
  position: static;
  display: flex;
  width: fit-content;
  margin: 1.5rem auto 0;
  padding: 6px 8px;
  justify-content: center;
  align-items: center;
  gap: 12px;
  border-radius: 53px;
  border: 1px solid var(--Pole-Obrys-Jasny, #e3e3e3);
  background: var(--Background-Dodatkowy, #fff);
  backdrop-filter: blur(8px);
}

.sf-carousel-dots [data-bs-target] {
  width: 16px;
  height: 8px;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 20px;
  background: var(--Pole-Obrys-Jasny, #e3e3e3);
  opacity: 1;
  box-sizing: border-box;
  transition:
    width 0.25s ease,
    background 0.25s ease;
}

.sf-carousel-dots [data-bs-target].active {
  width: 48px;
  height: 8px;
  border-radius: 20px;
  background: var(--Gradient-Pomaraczowy,
      linear-gradient(90deg, #ffaf45 0%, #ff9100 100%));
}

.sf-testimonial-name {
  font-style: italic;
  font-weight: 300;
  line-height: 1.4;
  color: var(--Tekst-Gwny);
  font-size: 1.75rem;
}

.sf-testimonial-city {
  color: var(--Kolor-Gwny);
  font-weight: 600;
}

.sf-testimonial-meta {
  color: var(--Tekst-Dodatkowy, #4c4545);
  font-family: Poppins;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  /* 19.5px */
}

.sf-pin {
  color: var(--sf-orange);
  display: inline-flex;
}

.sf-pin svg {
  width: 14px;
  height: 14px;
}

.sf-quote p {
  color: var(--Tekst-Dodatkowy, #4c4545);
  font-family: Poppins;
  font-size: 1.1875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}

.sf-benefit-cta {
  margin-top: 96px;
}

.sf-benefit-cta .btn-main {
  display: inline-flex;
  width: auto;
}

.sf-form-section {
  overflow: hidden;
  padding-bottom: 256px;
  padding-top: 128px;
  margin-bottom: calc(-128px - 62px);
  position: relative;
  z-index: 0;
}

.sf-form-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.sf-form-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.1);
}

.sf-who-head {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 32px;
}

.sf-card--who .sf-title-group {
  margin-bottom: 8px;
}

.sf-form-card {
  display: flex;
  padding: 16px;
  width: 720px;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  align-self: stretch;
  border-radius: 24px;
  border: 1px solid var(--Pole-Obrys-Jasny, #e3e3e3);
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(8px);
}

.sf-form-heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  align-self: stretch;
}

.sf-form-title {
  color: var(--Tekst-Gwny, #100707);
  font-family: Poppins;
  font-size: 1.4375rem;
  font-style: normal;
  font-weight: 600;
  line-height: 140%;
  display: flex;
  padding: 8px;
  justify-content: center;
  align-items: flex-start;
  gap: 10px;
  align-self: stretch;
  border-radius: 16px;
  border: 1px solid var(--Gradient-Pomaraczowy, #ffaf45);
}

.sf-form-subtitle {
  color: var(--Tekst-Dodatkowy, #4c4545);
  text-align: center;
  font-family: Poppins;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
  /* 19.5px */
  padding-bottom: 16px;
}

.sf-form-subtitle span {
  font-weight: 400;
}

.sf-cf7__label {
  color: var(--Tekst-Dodatkowy, #4c4545);
  font-family: Poppins;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  /* 19.5px */
}

.sf-req {
  color: var(--Kolor-Gwny, #ff9100);
  font-family: Poppins;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}

.sf-cf7__input {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  /* gasi size="40" z CF7 */
  height: 48px;
  padding: 12px 16px;
  border-radius: 24px;
  border: 1px solid var(--Pole-Obrys-Jasny, #e3e3e3);
  background: var(--Background-Dodatkowy, #fff);
  font-family: Poppins;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--Tekst-Gwny, #100707);
}

.sf-cf7__input::placeholder {
  color: var(--Tekst-Akcent);
}

.sf-cf7__input:focus {
  border-color: var(--sf-orange);
  box-shadow: 0 0 0 3px rgba(238, 145, 40, 0.15);
}

.sf-cf7 .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.sf-cf7 .wpcf7-not-valid-tip {
  display: block;
  font-size: 0.75rem;
  color: #e74c3c;
  margin-top: 0.375rem;
  padding-left: 1.25rem;
}

.sf-cf7__input.wpcf7-not-valid {
  border-color: #e74c3c;
}

.sf-cf7__acceptance .wpcf7-list-item label {
  display: flex;
  align-items: center;
  gap: 8px;
  align-self: stretch;
}

.sf-cf7__acceptance .wpcf7-list-item {
  margin: 0;
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
}

.sf-cf7__acceptance .wpcf7-list-item-label {
  color: var(--Tekst-Dodatkowy, #4c4545);
  font-family: Poppins;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  /* 19.5px */
}

.sf-cf7__acceptance input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  min-width: 18px;
  border-radius: 4px;
  border: 1px solid #d0d0d0;
  background: #fff;
  cursor: pointer;
  position: relative;
  margin-top: 2px;
  transition:
    background 0.15s ease,
    border-color 0.15s ease;
}

.sf-cf7__acceptance input[type="checkbox"]:checked {
  border-color: transparent;
  background: center / contain no-repeat url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none"><path d="M14.6667 0H1.33333C0.979711 0 0.640573 0.140476 0.390524 0.390524C0.140476 0.640573 0 0.979711 0 1.33333V14.6667C0 15.0203 0.140476 15.3594 0.390524 15.6095C0.640573 15.8595 0.979711 16 1.33333 16H14.6667C15.0203 16 15.3594 15.8595 15.6095 15.6095C15.8595 15.3594 16 15.0203 16 14.6667V1.33333C16 0.979711 15.8595 0.640573 15.6095 0.390524C15.3594 0.140476 15.0203 0 14.6667 0ZM11.805 6.47167L7.13833 11.1383C7.07642 11.2003 7.00289 11.2495 6.92196 11.283C6.84103 11.3166 6.75428 11.3339 6.66667 11.3339C6.57906 11.3339 6.49231 11.3166 6.41137 11.283C6.33044 11.2495 6.25692 11.2003 6.195 11.1383L4.195 9.13833C4.06991 9.01324 3.99963 8.84358 3.99963 8.66667C3.99963 8.48976 4.06991 8.32009 4.195 8.195C4.32009 8.06991 4.48976 7.99963 4.66667 7.99963C4.84358 7.99963 5.01324 8.06991 5.13833 8.195L6.66667 9.72417L10.8617 5.52833C10.9236 5.46639 10.9971 5.41726 11.0781 5.38374C11.159 5.35022 11.2457 5.33296 11.3333 5.33296C11.4209 5.33296 11.5077 5.35022 11.5886 5.38374C11.6695 5.41726 11.7431 5.46639 11.805 5.52833C11.8669 5.59027 11.9161 5.66381 11.9496 5.74474C11.9831 5.82566 12.0004 5.9124 12.0004 6C12.0004 6.0876 11.9831 6.17434 11.9496 6.25526C11.9161 6.33619 11.8669 6.40973 11.805 6.47167Z" fill="%23FF9100"/></svg>');
}

.sf-cf7__acceptance input[type="checkbox"]:checked::after {
  display: none;
}

.sf-cf7__link {
  background: var(--Gradient-Pomaraczowy,
      linear-gradient(90deg, #ffaf45 0%, #ff9100 100%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: Poppins;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: none;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

.sf-cf7__link:hover {
  color: var(--sf-orange-light);
}

.sf-cf7__submit {
  width: 100%;
  background: var(--Gradient-Pomaraczowy, linear-gradient(90deg, #FFAF45 0%, #FF9100 100%));
  color: #fff;
  font-weight: 500;
  line-height: 1.5;
  font-size: 0.8125rem;
  padding: 14px 72px;
  border-radius: 64px;
  border: 1px solid var(--Pole-Obrys-Jasny);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.sf-cf7__submit:hover {
  color: var(--Kolor-White);
  transform: translateY(-2px);
  box-shadow: var(--Boxshadow-Pomaranczowy);
}

.sf-cf7 .wpcf7-spinner {
  display: none;
  margin: 1rem auto 0;
}

.sf-cf7 .wpcf7-response-output {
  border-radius: 0.75rem;
  margin: 1rem 0 0;
  padding: 0.75rem 1rem;
  font-size: 0.85rem;
}

.sf-process-hint {
  display: none;
}

.hero-section.franczyza-section {
  position: relative;
  display: flex;
  align-items: center;
  padding: 3rem 0;
  background: #fff;
  overflow: hidden;
}

.sf-hero-text {
  align-self: stretch;
}

.hero-section.franczyza-section .hero-background {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.hero-section.franczyza-section .sf-hero-container {
  position: relative;
  z-index: 1;
}

.hero-section.franczyza-section .sf-hero-content :is(.breadcrumbs, .breadcrumb, nav, .sf-breadcrumbs) {
  font-size: 0.8125rem;
  color: var(--sf-text-muted);
  margin-bottom: 1.25rem;
}

.hero-section.franczyza-section .sf-hero-title {
  font-style: italic;
  font-weight: 400;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.15;
  color: var(--sf-text);
  margin-bottom: 0.75rem;
}

.hero-section.franczyza-section .sf-hero-title>span:first-child {
  display: block;
  font-style: normal;
  font-weight: 600;
}

.hero-section.franczyza-section .sf-hero-subtitle {
  color: var(--Kolor-Gwny, #ff9100);
  display: block;
  font-family: Poppins;
  font-size: 1.4375rem;
  font-style: italic;
  font-weight: 300;
  line-height: 140%;
  /* 32.2px */
}

.hero-section.franczyza-section .sf-hero-content p {
  color: var(--Tekst-Dodatkowy, #4c4545);
  font-family: Poppins;
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  /* 24px */
}

.hero-section.franczyza-section .btn-actions {
  justify-content: flex-start;
}

.hero-section.franczyza-section .btn-main {
  color: #fff;
  text-align: center;
  font-family: Poppins;
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 500;
  line-height: 150%;
  /* 19.5px */
}

.hero-section.franczyza-section .btn-main:hover,
.hero-section.franczyza-section .btn-main:focus {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(238, 145, 40, 0.45);
  color: #fff;
}

@media (max-width: 991.98px) {
  .hero-section.franczyza-section {
    min-height: auto;
    padding: 2.5rem 0;
  }

  .hero-section.franczyza-section .sf-hero-content p {
    max-width: none;
  }
}

.sf-cf7 p {
  margin: 0;
}

.sf-cf7 br {
  display: none;
}

.sf-cf7 .sf-cf7__label {
  margin-bottom: 0.375rem;
}

.sf-form-title {
  border: 1px solid #ff9100 !important;
}

.sf-cf7__submit:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}

.sf-cf7__submit:disabled:hover {
  transform: none;
  box-shadow: none;
}

/* =========================================================
   SEKCJA 7 – SEO (tekst opisowy pod formularzem)
   Treść w stylu „text-tiny" z makiety: drobny, wyszarzony
   akapit, mocniejsze frazy w <strong>.
   ========================================================= */
.oferta__copy {
  padding-bottom: 80px;
  padding-top: 250px;
}

.oferta__copy .container__copy .oferta__copy-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: start;
  gap: 32px;
  width: 100%;
  overflow: hidden;
  position: relative;
  transition: all 0.8s ease-in-out;
}

.oferta__copy .container__copy .oferta__copy-content::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100px;
  background: linear-gradient(to bottom, rgba(248, 248, 248, 0.5), rgba(248, 248, 248, 1));
  pointer-events: none;
  transition: all 0.6s ease-in-out;
}

.oferta__copy .container__copy .oferta__copy-content.is-expanded::after {
  height: 0;
}

.oferta__copy .container__copy .seo-btn-read-more {
  display: flex;
  align-items: start;
  justify-content: center;
  width: 100%;
}

.oferta__copy .container__copy .seo-btn-read-more .seo-btn-read-more__text {
  display: flex;
  align-items: start;
  justify-content: start;
  width: 100%;
  padding: 24px 0;
  cursor: pointer;
}

.oferta__copy .container__copy .seo-btn-read-more .seo-btn-read-more__text.is-expanded {
  transform: rotate(180deg);
  justify-content: end;
}

.oferta__copy .container__copy .seo-btn-read-more svg {
  fill: var(--Tekst-Gwny);
  transition: var(--transition);
}

.oferta__copy .container__copy .seo-btn-read-more:hover svg {
  fill: var(--Kolor-Gwny);
}

.oferta__copy .container__copy .oferta__copy-content .oferta__copy-block .copy-title {
  color: var(--Tekst-Akcent, #ACA8A8);
  font-size: 0.8125rem;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
}

.oferta__copy .container__copy .oferta__copy-content .oferta__copy-block {
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  gap: 8px;
}

.oferta__copy .container__copy .oferta__copy-content .oferta__copy-block .copy_text-content {
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  gap: 8px;
}

.oferta__copy .container__copy .oferta__copy-content .oferta__copy-block .copy_text-content .copy-text {
  color: var(--Tekst-Akcent, #ACA8A8);
  font-size: 0.6875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
}

@media (min-width: 992px) {
  .sf-section .row.align-items-start.g-5 {
    align-items: stretch !important;
  }

  .sf-section .row.g-5>.col-lg-6:last-child>.d-flex.flex-column {
    height: 100%;
  }

  .sf-gallery-img {
    aspect-ratio: auto;
    min-height: 0;
  }
}

.sf-section:has(.sf-gallery-img) {
  margin-top: 96px;
}

.sf-gallery-img {
  max-width: 480px;
}

.why-us-wrapper .sf-title-group {
  margin-bottom: 48px !important;
}

.sf-section>.container>.sf-title-group {
  margin-bottom: 48px;
}

/* SEKCJA 3 – „Kto może zostać…" – wysokość pola 670px + treść wyśrodkowana względem zdjęcia */
@media (min-width: 992px) {
  .sf-card--who {
    height: 670px;
  }

  .sf-card--who .card-body {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 32px;
    flex: 1 0 0;
    align-self: stretch;
  }
}

.sf-page {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 72px;
  padding: 0px 160px 128px 160px;
  align-self: stretch;
}

.sf-form-card .card-body,
.sf-form-card .card-body>.text-start,
.sf-form-card .wpcf7,
.sf-form-card .wpcf7-form,
.sf-form-card .sf-cf7 {
  width: 100%;
  align-self: stretch;
}

.sf-cf7 {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
  align-self: stretch;
}

.sf-cf7 .sf-cf7__row,
.sf-cf7 .sf-cf7__acceptance,
.sf-cf7>p {
  width: 100%;
  margin: 0 !important;
}

.sf-cf7__input,
.sf-cf7__submit {
  box-sizing: border-box;
}

.sf-form-card .card-body {
  padding: 0;
}

.sf-btn-testimonial {
  text-align: center;
  margin-top: 48px;
}

.sf-btn-testimonial:hover,
.sf-btn-testimonial:focus {
  background: var(--Gradient-Pomaranczowy);
  color: #fff;
  transform: translateY(-2px);
}

.sf-btn-testimonial .btn-main {
  display: inline-flex;
  width: auto;
}

.sf-form-success {
  display: flex;
  padding: 48px 16px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 24px;
  align-self: stretch;
  border-radius: 24px;
}

.sf-form-success[hidden] {
  display: none;
}

.sf-form-success__icon {
  display: inline-flex;
  line-height: 0;
}

.sf-form-success__text {
  margin: 0;
}

.sf-form-success__lead {
  margin: 0;
  color: var(--Tekst-Dodatkowy, #4C4545);
  text-align: center;
  font-family: Poppins, sans-serif;
  font-size: 1.75rem;
  font-style: italic;
  font-weight: 300;
  line-height: 140%;
}

.sf-form-success__title {
  margin: 0;
  color: var(--Kolor-Gwny, #FF9100);
  text-align: center;
  font-family: Poppins, sans-serif;
  font-size: 2.0625rem;
  font-style: normal;
  font-weight: 600;
  line-height: 140%;
}

/* --- suwak procesu – Swiper scrollbar --- */
.sf-process-scrollbar.swiper-scrollbar {
  position: static;
  margin: 24px auto 0;
  width: min(240px, 80%);
  height: 6px;
  background: var(--Pole-Obrys-Jasny, #e3e3e3);
  border-radius: 20px;
  display: none;
}

.sf-process-scrollbar .swiper-scrollbar-drag {
  background: linear-gradient(90deg, #ffaf45 0%, #ff9100 100%);
  border-radius: 20px;
}

/* =========================================================
   WIDOK TABLETOWY (768–991.98px) + fixy do 991.98px
   ========================================================= */

/* --- padding strony: 160px po bokach zabija tablet --- */
@media (max-width: 1199.98px) {
  .sf-page {
    padding-left: 80px;
    padding-right: 80px;
  }
}

@media (max-width: 991.98px) {
  .sf-page {
    gap: 56px;
    padding: 0 40px 96px;
  }

  .sf-process-scrollbar.swiper-scrollbar {
    display: block;
  }

  .sf-process-hint {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin-bottom: 16px;
    color: var(--Tekst-Dodatkowy, #4c4545);
    font-family: Poppins;
    font-size: 0.875rem;
    font-weight: 400;
  }
}

/* =========================================================
   SEKCJA 1 – kolejność: tytuł → zdjęcia (poziomo) → tekst
   ========================================================= */
@media (min-width: 768px) and (max-width: 991.98px) {
  .why-us-wrapper {
    flex-direction: column;
    gap: 24px;
  }

  /* "rozpłaszczamy" pierwszą kolumnę, żeby tytuł i tekst
     stały się osobnymi flexami i dały się przestawić */
  .why-us-wrapper>.col-lg-6:first-child {
    display: contents;
  }

  .why-us-wrapper .sf-title-group {
    order: 1;
    margin-bottom: 0 !important;
  }

  .why-us-img-gallery {
    order: 2;
  }

  .why-us-wrapper .lead-wrapper {
    order: 3;
  }

  /* zdjęcia w rzędzie */
  .why-us-img-gallery>div {
    flex-direction: row !important;
    height: auto !important;
    gap: 12px;
    width: 100%;
  }

  .why-us-img-gallery .sf-gallery-img {
    flex: 1 1 0;
    max-width: none;
    margin: 0;
    aspect-ratio: 3 / 4;
    overflow: hidden;
  }

  .why-us-img-gallery .sf-gallery-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

/* =========================================================
   SEKCJA 2 – karty "Co zyskujesz" pionowo, wyśrodkowane
   ========================================================= */
@media (min-width: 768px) and (max-width: 991.98px) {
  .sf-card--benefit {
    height: auto;
  }

  .sf-card--benefit .card-body {
    flex-direction: column;
    align-items: center !important;
    text-align: center;
    gap: 16px !important;
  }

  .sf-card--benefit .sf-card-title {
    text-align: center;
  }
}

/* =========================================================
   SEKCJA 3 – karta "Kto może zostać..."
   ========================================================= */
@media (max-width: 991.98px) {
  .sf-card--who {
    padding-right: 0;
  }

  .sf-card--who .sf-who-img {
    min-height: 300px;
  }
}

/* =========================================================
   SEKCJA 4 – proces: 2 slajdy + łącznik na tablecie
   WYMAGA w configu Swipera: spaceBetween: 24
   ========================================================= */
@media (min-width: 768px) and (max-width: 991.98px) {
  .sf-card--step {
    width: 100%;
    padding: 24px;
  }

  .sf-process-swiper .swiper-slide::after {
    display: block;
    top: 24px;
    left: calc(50% + 24px);
    right: -50%;
  }

  .sf-process-swiper .swiper-slide:last-child::after {
    display: none;
  }
}

/* =========================================================
   SEKCJA 6 – formularz
   ========================================================= */
@media (max-width: 991.98px) {
  .sf-form-card {
    width: 100%;
    max-width: 720px;
  }
}

/* =========================================================
   TABLET – poprawki (768–991.98px)
   ========================================================= */
@media (min-width: 768px) and (max-width: 991.98px) {

  /* --- cała strona: wymagane właściwości --- */
  .sf-page {
    padding: 32px 32px 128px 32px;
    gap: 128px;
  }

  /* --- SEKCJA 2: równe karty (grid 2 kol., wszystkie tej samej wys.) --- */
  .sf-section .row.gy-3 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 1fr;
    gap: 16px;
  }

  .sf-section .row.gy-3>.col-md-6 {
    width: auto;
    max-width: none;
    padding: 0;
  }

  .sf-card--benefit {
    height: 100%;
  }

  /* --- SEKCJA 3: chowamy zdjęcie, treść na pełną szerokość --- */
  .sf-card--who .col-lg-5 {
    display: none;
  }

  .sf-card--who {
    padding-right: 0;
  }

  /* --- SEKCJA 4: 8px gap między kółkami a łącznikiem --- */
  .sf-process-swiper .swiper-slide::after {
    display: block;
    top: 24px;
    left: calc(50% + 32px);
    /* 24 promień + 8 gap */
    right: calc(-50% + 8px);
    /* 8 gap przed następnym kółkiem */
  }

  .sf-process-swiper .swiper-slide:last-child::after {
    display: none;
  }

  /* --- SEKCJA 5: szersze opinie --- */
  .sf-carousel {
    padding: 0 2.5rem;
  }

  .sf-section .sf-card--testimonial {
    margin-left: 0.5rem !important;
    /* bije Bootstrapowe .mx-md-5 (3rem) */
    margin-right: 0.5rem !important;
    padding: 40px 28px;
    /* trochę luźniej w środku */
  }
}

/* =========================================================
   MOBILE (≤ 767.98px)
   ========================================================= */
@media (max-width: 767.98px) {
  .sf-testimonial-name {
    font-size: 1.4375rem;
  }

  /* --- cała strona --- */
  .sf-page {
    padding: 24px 16px 96px 16px;
    gap: 72px;
  }

  .sf-process-lead {
    text-align: center;
  }

  .sf-page .sf-lead,
  .sf-page .sf-card--benefit p,
  .sf-page .sf-card-desc,
  .sf-page .sf-step-desc,
  .sf-page .sf-quote p,
  .sf-page .sf-testimonial-meta,
  .sf-page .sf-card--who p,
  .sf-page .sf-card--who li,
  .sf-page .sf-card--who li span,
  .sf-page .sf-card--who li small,
  .sf-page .sf-form-subtitle {
    font-size: 0.8125rem;
    line-height: 1.5;
  }

  /* --- CTA na całą szerokość – hero + sekcje --- */
  .hero-section.franczyza-section .btn-main,
  .sf-page .btn-main {
    width: 100%;
    justify-content: center;
  }

  /* --- ikona NAD nagłówkiem, nagłówek do środka --- */
  .sf-page .sf-title-group {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  /* =======================================================
     SEKCJA 1 – przeplot: tytuł → tekst → foto → tekst → foto
     ======================================================= */
  .sf-card--who .list-unstyled>li {
    align-items: center;
  }

  .sf-card--who .sf-bullet {
    margin-top: 0;
  }

  .why-us-wrapper {
    flex-direction: column;
    gap: 24px;
  }
  .sf-lead {
    text-align: justify;
  }
  .why-us-wrapper>.col-lg-6:first-child,
  .why-us-wrapper .lead-wrapper,
  .why-us-wrapper .why-us-img-gallery,
  .why-us-wrapper .why-us-img-gallery>div {
    display: contents !important;
  }

  .why-us-wrapper .sf-title-group {
    order: 0 !important;
    margin-bottom: 0 !important;
  }

  .why-us-wrapper .lead-wrapper .sf-lead:nth-of-type(1) {
    order: 1 !important;
  }

  .why-us-img-gallery .sf-gallery-img:nth-of-type(1) {
    order: 2 !important;
  }

  .why-us-wrapper .lead-wrapper .sf-lead:nth-of-type(2) {
    order: 3 !important;
  }

  .why-us-img-gallery .sf-gallery-img:nth-of-type(2) {
    order: 4 !important;
  }

  .why-us-wrapper .lead-wrapper .sf-lead:nth-of-type(3) {
    order: 5 !important;
  }

  .why-us-img-gallery .sf-gallery-img:nth-of-type(3) {
    order: 6 !important;
  }

  .why-us-wrapper .sf-lead {
    margin: 0 !important;
  }

  .why-us-img-gallery .sf-gallery-img {
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .why-us-img-gallery>div {
    width: 100%;
  }

  .sf-gallery-img {
    max-width: none;
    width: 100%;
  }

  .sf-gallery-img img {
    width: 100%;
    height: auto;
  }

  /* =======================================================
     SEKCJA 2 – karty "Co zyskujesz" w 1 kolumnie
     ======================================================= */
  .sf-card--benefit {
    height: auto;
  }

  .sf-card--benefit .card-body {
    flex-direction: column;
    align-items: center !important;
    text-align: center;
    gap: 16px !important;
  }

  .sf-card--benefit .sf-card-title {
    text-align: center;
  }

  .sf-section .row.gy-3>.col-md-6:nth-child(odd) .sf-icon {
    background: var(--sf-orange-grad);
    box-shadow: 0 6px 14px rgba(238, 145, 40, 0.25);
  }

  .sf-section .row.gy-3>.col-md-6:nth-child(even) .sf-icon {
    background: var(--sf-purple-grad);
    box-shadow: 0 6px 14px rgba(140, 130, 220, 0.25);
  }

  /* =======================================================
     SEKCJA 3 – "Kto może zostać..." zdjęcie POD treścią
     ======================================================= */
  .sf-card--who {
    border: 1px solid var(--Pole-Obrys-Jasny, #e3e3e3) !important;
  }

  .sf-card--who .card-body {
    padding: 16px !important;
    gap: 24px;
    display: flex;
    flex-direction: column;
  }

  .sf-card--who ul {
    padding: 0 !important;
    gap: 20px !important;
  }

  .sf-who-head {
    margin-bottom: 8px;
  }

  .sf-who-head p {
    text-align: center;
  }

  .sf-card--who .row.g-0 {
    flex-direction: column;
  }

  .sf-card--who .col-lg-7 {
    order: 1;
  }

  .sf-card--who .col-lg-5 {
    order: 2;
  }

  .sf-card--who .sf-who-img {
    min-height: 320px;
  }

  /* =======================================================
     SEKCJA 4 – proces: kroki w 1 kolumnie
     ======================================================= */
  .sf-process-swiper .swiper-slide>.d-flex>.sf-step-icon {
    display: none !important;
  }

  .sf-process-swiper .sf-step-num {
    display: none !important;
  }

  .sf-process-swiper .sf-step-icon--card {
    display: flex !important;
  }

  .sf-card--step {
    width: 100%;
    padding: 24px;
    border: 1px solid var(--Pole-Obrys-Jasny, #e3e3e3) !important;
  }

  .sf-process-swiper .swiper-slide::after,
  .sf-process-swiper .swiper-slide::before {
    display: none !important;
    content: none !important;
  }

  /* --- kropki procesu --- */
  .sf-process-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 24px;
  }

  .sf-process-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 !important;
    border-radius: 20px;
    background: var(--Pole-Obrys-Jasny, #e3e3e3);
    opacity: 1;
    transition: width .25s ease, background .25s ease;
  }

  .sf-process-pagination .swiper-pagination-bullet-active {
    width: 24px;
    background: linear-gradient(90deg, #ffaf45 0%, #ff9100 100%);
  }

  /* =======================================================
     SEKCJA 5 – opinie
     ======================================================= */
  .sf-carousel-ctrl {
    display: none;
  }

  .sf-carousel {
    padding: 0;
  }

  .sf-card--testimonial {
    padding: 32px 20px;
  }

  /* =======================================================
     SEKCJA 6 – formularz pełna szerokość
     ======================================================= */
  .sf-form-card {
    padding: 12px;
  }

  .sf-form-title {
    font-size: 1.1875rem;
  }
}

/* =========================================================
   SMALL MOBILE (≤ 575.98px)
   ========================================================= */
@media (max-width: 575.98px) {
  .sf-btn-cta {
    font-size: 0.8125rem;
    padding: 0.875rem 1.5rem;
  }

  .sf-page {
    gap: 48px;
    padding: 0 16px 72px;
  }
  .sf-page .container {
  padding-left: unset;
  padding-right: unset;
  margin-left: unset;
  margin-right: unset;
}
}

.sf-process-scrollbar.swiper-scrollbar {
  position: static !important;
  display: none;
  width: min(240px, 80%);
  height: 6px;
  margin: 24px auto 0;
  background: var(--Pole-Obrys-Jasny, #e3e3e3);
  border-radius: 20px;
}

.sf-process-scrollbar .swiper-scrollbar-drag {
  height: 100%;
  background: linear-gradient(90deg, #ffaf45 0%, #ff9100 100%);
  border-radius: 20px;
}

@media (max-width: 991.98px) {
  .sf-process-scrollbar.swiper-scrollbar {
    display: block !important;
  }
}