@import url("https://fonts.googleapis.com/css2?family=Mulish:wght@400;500;600;700;800&family=Poppins:wght@500;600;700&display=swap");

/* =========================================================
   RESTART METABOLISMU – CESTA PROBLÉMŮ
   Finální verze bez lotosu, s posunutým závěrem a šipkou dolů
   ========================================================= */

.rm-journey {
  position: relative !important;
  left: 50% !important;
  width: 100vw !important;
  margin-left: -50vw !important;
  padding: clamp(54px, 5vw, 76px) 22px clamp(52px, 5vw, 72px) !important;
  overflow: hidden !important;
  background:
    radial-gradient(ellipse at 8% 16%, rgba(239, 91, 69, .065), transparent 23%),
    radial-gradient(ellipse at 92% 84%, rgba(99, 184, 75, .075), transparent 24%),
    linear-gradient(180deg, #fdfaf6 0%, #fbf7f1 100%) !important;
  box-sizing: border-box !important;
}

.rm-journey *,
.rm-journey *::before,
.rm-journey *::after {
  box-sizing: border-box !important;
}

.rm-journey__inner {
  position: relative !important;
  z-index: 1 !important;
  width: min(1080px, 100%) !important;
  margin: 0 auto !important;
}

/* Horní dvě věty vedle sebe */
.rm-journey__header {
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 10px 18px !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.rm-journey__intro,
.rm-journey__headline {
  margin: 0 !important;
  font-family: "Poppins", sans-serif !important;
  font-size: clamp(28px, 2.55vw, 40px) !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: -.032em !important;
}

.rm-journey__intro {
  color: #235b4d !important;
}

.rm-journey__headline {
  color: #e95c4d !important;
}

/* Cesta */
.rm-journey__track {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: 14px !important;
  margin-top: clamp(56px, 5.5vw, 76px) !important;
  padding: 0 !important;
}

.rm-journey__track::before {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  top: 24px !important;
  left: 10% !important;
  right: 10% !important;
  height: 5px !important;
  background-image: radial-gradient(circle, rgba(239, 91, 69, .27) 1.8px, transparent 2.3px) !important;
  background-size: 18px 5px !important;
  background-repeat: repeat-x !important;
  background-position: center !important;
  pointer-events: none !important;
}

/* Boxy */
.rm-journey__step {
  position: relative !important;
  z-index: 1 !important;
  min-width: 0 !important;
  min-height: 148px !important;
  margin: 0 !important;
  padding: 60px 12px 16px !important;
  border: 1px solid rgba(35, 91, 77, .08) !important;
  text-align: center !important;
  box-shadow:
    0 12px 26px rgba(55, 45, 35, .055),
    0 2px 8px rgba(55, 45, 35, .025) !important;
  transition: transform .22s ease, box-shadow .22s ease !important;
}

.rm-journey__step:nth-child(1) {
  transform: translateY(8px) rotate(-.22deg) !important;
  border-radius: 24px 18px 23px 19px !important;
  background: #fdeee8 !important;
}

.rm-journey__step:nth-child(2) {
  transform: translateY(-4px) rotate(.18deg) !important;
  border-radius: 18px 25px 20px 24px !important;
  background: #fff3d9 !important;
}

.rm-journey__step:nth-child(3) {
  transform: translateY(9px) rotate(-.16deg) !important;
  border-radius: 25px 18px 24px 20px !important;
  background: #fcefe7 !important;
}

.rm-journey__step:nth-child(4) {
  transform: translateY(-5px) rotate(.2deg) !important;
  border-radius: 20px 25px 18px 23px !important;
  background: #fbe7e9 !important;
}

.rm-journey__step:nth-child(5) {
  transform: translateY(7px) rotate(-.18deg) !important;
  border-radius: 24px 19px 23px 18px !important;
  background: #eaf5e7 !important;
}

.rm-journey__step:hover {
  transform: translateY(-6px) rotate(0deg) !important;
  box-shadow:
    0 20px 38px rgba(55,45,35,.10),
    0 3px 10px rgba(55,45,35,.04) !important;
}

.rm-journey__icon-wrap {
  position: absolute !important;
  top: -24px !important;
  left: 50% !important;
  display: grid !important;
  place-items: center !important;
  width: 68px !important;
  height: 68px !important;
  transform: translateX(-50%) !important;
  border: 4px solid #fbf7f1 !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow:
    0 10px 22px rgba(55,45,35,.08),
    0 2px 6px rgba(55,45,35,.03) !important;
}

.rm-journey__icon {
  display: block !important;
  width: 38px !important;
  height: 38px !important;
  object-fit: contain !important;
}

.rm-journey__step h3 {
  margin: 0 0 6px !important;
  font-family: "Poppins", sans-serif !important;
  font-size: clamp(15px, 1.05vw, 18px) !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: #171717 !important;
}

.rm-journey__step p {
  max-width: 154px !important;
  margin: 0 auto !important;
  font-family: "Mulish", sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.42 !important;
  color: #4f4b47 !important;
}

/* Závěr blíž k boxům, bez lotosu */
.rm-journey__transition {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  max-width: 720px !important;
  margin: clamp(30px, 3.2vw, 42px) auto 0 !important;
  padding: 0 !important;
  text-align: center !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rm-journey__statement {
  max-width: 680px !important;
  margin: 0 !important;
  font-family: "Poppins", sans-serif !important;
  font-size: clamp(24px, 2.15vw, 32px) !important;
  font-weight: 600 !important;
  line-height: 1.28 !important;
  letter-spacing: -.02em !important;
  color: #171717 !important;
}

.rm-journey__statement strong {
  color: #63b84b !important;
  font-weight: 700 !important;
}

.rm-journey__substatement {
  max-width: 580px !important;
  margin: 9px 0 0 !important;
  font-family: "Mulish", sans-serif !important;
  font-size: clamp(18px, 1.45vw, 22px) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  color: #4f4b47 !important;
}

/* Jemná šipka dolů */
.rm-journey__arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 34px !important;
  height: 34px !important;
  margin-top: 18px !important;
  color: #63b84b !important;
  font-family: Arial, sans-serif !important;
  font-size: 28px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  animation: rmJourneyBounce 1.9s ease-in-out infinite !important;
}

.rm-journey__arrow:hover,
.rm-journey__arrow:focus {
  color: #4e9f3d !important;
  text-decoration: none !important;
}

@keyframes rmJourneyBounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(6px);
  }
}

/* Tablet */
@media (max-width: 820px) {
  .rm-journey {
    padding: 52px 20px 62px !important;
  }

  .rm-journey__header {
    display: block !important;
  }

  .rm-journey__headline {
    margin-top: 6px !important;
  }

  .rm-journey__intro,
  .rm-journey__headline {
    font-size: clamp(29px, 5.4vw, 40px) !important;
  }

  .rm-journey__track {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 40px 16px !important;
    max-width: 640px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .rm-journey__track::before {
    display: none !important;
  }

  .rm-journey__step,
  .rm-journey__step:nth-child(n) {
    min-height: 148px !important;
    transform: none !important;
  }

  .rm-journey__transition {
    margin-top: 34px !important;
  }
}

/* Mobil */
@media (max-width: 540px) {
  .rm-journey {
    padding: 44px 16px 52px !important;
  }

  .rm-journey__intro,
  .rm-journey__headline {
    font-size: clamp(27px, 8vw, 36px) !important;
  }

  .rm-journey__track {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-top: 42px !important;
  }

  .rm-journey__step,
  .rm-journey__step:nth-child(n) {
    display: grid !important;
    grid-template-columns: 56px 1fr !important;
    grid-template-areas:
      "icon title"
      "icon text" !important;
    gap: 3px 12px !important;
    align-items: center !important;
    min-height: 0 !important;
    padding: 13px 14px !important;
    border-radius: 20px !important;
    text-align: left !important;
  }

  .rm-journey__icon-wrap {
    position: static !important;
    grid-area: icon !important;
    width: 54px !important;
    height: 54px !important;
    transform: none !important;
    border-width: 3px !important;
  }

  .rm-journey__icon {
    width: 33px !important;
    height: 33px !important;
  }

  .rm-journey__step h3 {
    grid-area: title !important;
    margin: 0 !important;
    font-size: 17px !important;
  }

  .rm-journey__step p {
    grid-area: text !important;
    max-width: none !important;
    margin: 0 !important;
    font-size: 13.5px !important;
  }

  .rm-journey__transition {
    margin-top: 30px !important;
  }

  .rm-journey__statement {
    font-size: 23px !important;
  }

  .rm-journey__substatement {
    margin-top: 8px !important;
    font-size: 17px !important;
  }

  .rm-journey__arrow {
    margin-top: 14px !important;
  }
}

/* Respektování nastavení omezených animací */
@media (prefers-reduced-motion: reduce) {
  .rm-journey__arrow {
    animation: none !important;
  }
}
