/**
 * ========================================
 * // hero
 * ========================================
 */

.hero-img {
  background-image: url("https://getfitobite.com/wp-content/themes/fitobite/images/hero/hero-imgv3.png");
  background-size: cover;
  width: 100vw;
  height: 100vh;
  background-position: center;
}

.tagline-box {
  display: flex;
  justify-content: flex-start;
}

.tagline-alltext {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 40%;
  width: 100%;
  position: absolute;
  top: 60%;
  transform: translateY(-50%);
}

.tagline-title {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.tagline-title p {
  margin: 0;
}

.tagline-upper-title {
  font-size: 86px;
  font-weight: 300;
  font-style: italic;
}

.tagline-lower-title {
  font-size: 98px;
  font-weight: 800;
  font-style: italic;
  margin-top: -15px !important;
}

.tagline-text p {
  font-size: 32px;
  font-weight: 600;
  margin: 0;
}

@media screen and (min-width: 1280px) and (max-width: 1441px) {
  .tagline-upper-title {
    font-size: 56px;
  }

  .tagline-lower-title {
    font-size: 68px;
  }

  .tagline-text p {
    font-size: 24px;
  }
}

/**
 * ========================================
 * // claims
 * ========================================
 */

/* .claims-box {
  --s: 150px;
  --d: 8s;
  --n: 4;
  
  display: flex;
  overflow: hidden;
}

img {
  width: var(--s);
  offset: shape(from calc(var(--s)/-2) 50%,hline by calc(sibling-count()*max(100%/var(--n),var(--s))));
  animation: x var(--d) linear infinite calc(-1*sibling-index()*var(--d)/sibling-count());
}

@keyframes x { 
  to { offset-distance: 100%; }
}

.claims-box {
  border: 1px solid;
  padding-block: 5px;
  margin: 20px auto;
} */

.claims-bg {
  background-color: #2c368b;
}

.claims-box {
  --s: 230px;
  --d: 50s;
  --n: 9;

  display: flex;
  overflow: hidden;
  max-width: calc((var(--n) + 1) * var(--s));
  mask: linear-gradient(90deg, #0000, #000 5% 95%, #0000);
  gap: 85px;
}

.claims-unit {
  display: grid;
  width: var(--s);
  height: 85px;
  flex-shrink: 0;
  grid-template-columns: 70px 1fr;
  align-items: center;
  background: #2c368b;
  box-sizing: border-box;

  offset: shape(from calc(var(--s) / -2) 50%, hline by calc(sibling-count() * max(100% / var(--n), var(--s) + 20px)));

  animation: x var(--d) linear infinite calc(-1 * sibling-index() * var(--d) / sibling-count());
}

@keyframes x {
  to {
    offset-distance: 100%;
  }
}

.claims-bg:hover .claims-unit {
  animation-play-state: paused;
}

.claims-unit img {
  width: 50px;
  grid-row: span 2;
}
.claims-unit * {
  margin: 0;
}
.claims-unit p {
  margin-top: auto;
  font-size: 18px;
  font-weight: 500;
  color: #ffffff;
}

/**
 * ========================================
 * // products
 * ========================================
 */

#product {
  padding: 180px 0 100px 0;
}

.product-upper-box {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.product-title p {
  margin: 0;
  font-size: 72px;
  font-weight: 700;
}

.product-nav {
  display: flex;
  flex-direction: row;
  gap: 45px;
  justify-content: flex-end;
}

.button-prev,
.button-next {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.button-prev img,
.button-next img {
  display: block;
  max-width: 45px;
  width: 100%;
}

/* === DISABLED BUTTON STATE (for prev/next buttons) === */
#pro-prev:disabled,
#pro-next:disabled {
  opacity: 0.3;
  cursor: default;
}

.product-lower-box {
  margin-top: 60px;
  padding: 15px 0 30px;
  overflow: visible;
}

/* SLIDER MASK */
.product-lineup-mask {
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.product-lineup-slider-wrapper {
  width: 1400px;
  margin: 0 auto;
  overflow: visible;
  position: relative;
}

/* SLIDER TRACK */
.product-lineup-slider {
  display: flex;
  gap: 100px;

  overflow-x: auto;
  overflow-y: visible;

  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;

  scrollbar-width: none;
  -ms-overflow-style: none;

  padding: 20px 20px 35px 0;
  box-sizing: border-box;
}

.product-lineup-slider::-webkit-scrollbar {
  display: none; /* Chrome */
}

.product-lineup-card {
  flex: 0 0 392px;
  width: 392px;
  min-width: 392px;
  max-width: 392px;
  height: 526px;
  filter: drop-shadow(10px 10px 7px rgba(0, 0, 0, 0.3));
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 28px;
  scroll-snap-align: start;
}

.product-lineup-innercard {
  display: flex;
  flex-direction: column;
  max-width: 356px;
  width: 100%;
  height: 490px;
  justify-content: center;
}

.product-lineup-innercard img {
  height: 45%;
  border-top-left-radius: 22px;
  border-top-right-radius: 22px;
  object-fit: cover;
  object-position: center;
}

.product-lineup-innercard-lower {
  padding: 25px;
  background-color: #ffffff;
  display: flex;
  flex-direction: column;
  height: 55%;
  justify-content: space-between;
}

.lower-row-1 {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 15px;
}

.lower-row-above {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: baseline;
}

.lower-row-above p {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
}

.lower-row-above img {
  height: 30px;
  width: auto;
  border-radius: 0 !important;
}

.lower-row-under {
  width: 100%;
}

.lower-row-under p {
  font-size: 18px;
  font-weight: 400;
  margin: 0;
}

.lower-row-2 {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.lower-row-price {
  max-width: 50%;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.price-text1 {
  font-size: 12px;
  font-weight: 700;
  color: #4d4d4d;
  margin: 0;
}

.price-text2 {
  font-size: 20px;
  font-weight: 700;
  color: #2c368b;
  margin: 0;
}

.lower-row-button-a {
  max-width: 140px;
  width: 100%;
}

.lower-row-button {
  max-width: 140px;
  width: 100%;
  padding: 12px 0;
  text-align: center;
  background: #2c368b;
  border-radius: 50px;
}

.lower-row-button p {
  font-size: 14px;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
}

@media screen and (min-width: 1280px) and (max-width: 1441px) {
  .product-title p {
    font-size: 52px;
  }

  .product-lineup-slider {
    gap: 90px;
  }

  .product-lineup-card {
    flex: 0 0 300px;
    width: 300px;
    min-width: 300px;
    max-width: 300px;

    height: 403px;
  }

  .product-lineup-innercard {
    max-width: 273px;
    width: 100%;

    height: 377px;
  }

  .lower-row-above p {
    font-size: 20px;
  }

  .lower-row-above img {
    height: 28px;
  }

  .lower-row-under p {
    font-size: 18px;
  }

  .lower-row-price {
    max-width: 50%;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 5px;
  }

  .price-text1 {
    font-size: 12px;
  }

  .price-text2 {
    font-size: 20px;
  }

  .lower-row-button-a {
    max-width: 140px;
    width: 100%;
  }

  .lower-row-button {
    max-width: 140px;
    width: 100%;
    padding: 12px 0;
  }

  .lower-row-button p {
    font-size: 14px;
  }
}

/**
 * ========================================
 * // about
 * ========================================
 */

#bgabout {
  background-image: linear-gradient(#ffffff, #d7f3ff);
  padding-top: 80px;
  padding-bottom: 335px;
}

.about-fitobite {
  max-width: 430px;
  width: 100%;
  text-align: center;
  margin: 0 auto 30px auto;
}

.about-fitobite img {
  max-width: 430px;
  width: 100%;
}

.about-flow {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 20px;
  margin-bottom: 110px;
}

.about-flow-bg-1,
.about-flow-bg-2,
.about-flow-bg-3 {
  max-width: 185px;
  width: 100%;
  height: 185px;
  text-align: center;
  border: none;
  border-radius: 185px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.about-flow-bg-1 {
  background-color: #47a9df !important;
}

.about-flow-bg-2 {
  background-color: #2a6fb6 !important;
}

.about-flow-bg-3 {
  background-color: #2c368b !important;
}

.about-flow-text {
  color: #ffffff;
  font-weight: 700;
  font-style: italic;
  font-size: 22px;
}

.about-intro {
  display: flex;
  flex-direction: column;
}

.about-intro-1,
.about-intro-2,
.about-intro-3 {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin: 0;
}

.about-intro-1-img,
.about-intro-2-img,
.about-intro-3-img {
  max-width: 50%;
  width: 100%;
}

.about-intro-1-img img,
.about-intro-3-img img {
  max-width: 710px;
  width: 100%;
  border-radius: 50px 0 0 50px;
}

.about-intro-2-img img {
  max-width: 710px;
  width: 100%;
  border-radius: 0 50px 50px 0;
}

.about-intro-1-alltext,
.about-intro-2-alltext,
.about-intro-3-alltext {
  display: flex;
  flex-direction: column;
  max-width: 480px;
  width: 100%;
  align-items: flex-start;
  margin: auto;
}

.about-intro-1-title,
.about-intro-2-title,
.about-intro-3-title {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 15px;
  margin: 0;
}

.intro-small-title {
  font-size: 28px;
  font-weight: 600;
  margin: 0;
}

.intro-big-title {
  font-size: 46px;
  font-weight: 700;
  font-style: italic;
  margin: 0;
}

.about-intro-1-text,
.about-intro-2-text,
.about-intro-3-text {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
}

/**
 * ========================================
 * // fitomi
 * ========================================
 */

#fitomi {
  margin-top: -185px;
}

.fitomi-find-box {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 30px;
  margin-bottom: 50px;
  justify-content: center;
}

.fitomi-find-text p {
  font-size: 56px;
  font-weight: 700;
  margin: 0;
}

.fitomi-find-logo img {
  max-width: 220px;
  width: 100%;
}

.fitomi-find-arrow {
  margin-bottom: 0;
  position: relative;
  z-index: 20;
  text-align: center;
}

.fitomi-find-arrow img {
  max-width: 70px;
  width: 100%;
  margin-bottom: 0;
  position: relative;
  z-index: 20;
}

.fitomi-rise {
  background-color: #fff2de !important;
  margin-top: -28px;
  position: relative;
}

.fitomi-rise-box {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 150px 0;
}

.fitomi-rise-logo,
.fitomi-rise-claims-box,
.fitomi-rise-text {
  max-width: 50%;
  width: 100%;
  border-bottom: 2px solid #2c368b;
}

.fitomi-rise-logo img {
  max-width: 365px;
  width: 100%;
  padding-bottom: 30px;
}

.fitomi-rise-claims-box {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 30px 0;
}

.fitomi-rise-claims-upper,
.fitomi-rise-claims-lower {
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: center;
}

.fitomi-rise-claims-1,
.fitomi-rise-claims-2,
.fitomi-rise-claims-3,
.fitomi-rise-claims-4 {
  display: flex;
  flex-direction: row;
  gap: 15px;
  align-items: center;
  max-width: 38%;
  width: 100%;
}

.fitomi-rise-claims-1 img,
.fitomi-rise-claims-2 img,
.fitomi-rise-claims-3 img,
.fitomi-rise-claims-4 img {
  max-width: 45px;
  width: 100%;
}

.fitomi-rise-claims-1 p,
.fitomi-rise-claims-2 p,
.fitomi-rise-claims-3 p,
.fitomi-rise-claims-4 p {
  font-size: 28px;
  font-weight: 600;
  margin: 0;
  color: #2c368b;
}

.fitomi-rise-text {
  padding: 30px 0;
}

.fitomi-rise-text p {
  font-size: 22px;
  font-weight: 600;
  margin: 0;
  color: #2c368b;
}

.fitomi-rise-time-box {
  padding-top: 20px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 30px;
}

.fitomi-rise-time-img img {
  max-width: 130px;
  width: 100%;
  border-radius: 130px;
}

.fitomi-rise-time-text {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.time-small-title p {
  font-size: 28px;
  font-weight: 600;
  margin: 0;
}

.time-big-title p {
  font-size: 46px;
  font-weight: 700;
  font-style: italic;
  margin: 0;
}

.fitomi-rise-img img {
  border-radius: 800px 0 0 800px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  max-width: 46%;
}

.fitomi-ease {
  background-color: #f8f3ff !important;
  margin-top: 0;
  position: relative;
}

.fitomi-ease-box {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 150px 0;
  align-items: flex-end;
}

.fitomi-ease-logo,
.fitomi-ease-claims-box,
.fitomi-ease-text {
  max-width: 50%;
  width: 100%;
  border-bottom: 2px solid #2c368b;
}

.fitomi-ease-logo img {
  max-width: 365px;
  width: 100%;
  padding-bottom: 30px;
}

.fitomi-ease-claims-box {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 30px 0;
}

.fitomi-ease-claims-upper,
.fitomi-ease-claims-lower {
  display: flex;
  flex-direction: row;
  gap: 40px;
  align-items: center;
}

.fitomi-ease-claims-1,
.fitomi-ease-claims-2,
.fitomi-ease-claims-3,
.fitomi-ease-claims-4 {
  display: flex;
  flex-direction: row;
  gap: 15px;
  align-items: center;
  max-width: 38%;
  width: 100%;
}

.fitomi-ease-claims-1 img,
.fitomi-ease-claims-2 img,
.fitomi-ease-claims-3 img,
.fitomi-ease-claims-4 img {
  max-width: 45px;
  width: 100%;
}

.fitomi-ease-claims-1 p,
.fitomi-ease-claims-2 p,
.fitomi-ease-claims-3 p,
.fitomi-ease-claims-4 p {
  font-size: 28px;
  font-weight: 600;
  margin: 0;
  color: #2c368b;
}

.fitomi-ease-text {
  padding: 30px 0;
}

.fitomi-ease-text p {
  font-size: 22px;
  font-weight: 600;
  margin: 0;
  color: #2c368b;
}

.fitomi-ease-time-box {
  padding-top: 20px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 30px;
  max-width: 50%;
  width: 100%;
}

.fitomi-ease-time-img img {
  max-width: 130px;
  width: 100%;
  border-radius: 130px;
}

.fitomi-ease-time-text {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.fitomi-ease-img img {
  border-radius: 0 800px 800px 0;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  max-width: 46%;
}

.fitomi-button {
  display: flex;
  flex-direction: row;
  background-color: #2c368b;
  border-radius: 50px;
  max-width: 380px;
  width: 100%;
  padding: 20px 25px;
  justify-content: space-evenly;
  margin-top: 30px;
  align-items: center;
}

#fitomi-button-1,
#fitomi-button-2 {
  max-width: 50%;
  width: 100%;
}

/* .fitomi-button:hover {
  background-color: #47a9df;
  border-radius: 50px;
  transition: background-color 0.3s ease-in;
} */

.purple-button:hover {
  background-color: #7046ab;
  border-radius: 50px;
  transition: background-color 0.3s ease-in;
}

.yellow-button:hover {
  background-color: #eda400;
  border-radius: 50px;
  transition: background-color 0.3s ease-in;
}

.fitomi-button p {
  margin: 0;
  max-width: 80%;
  width: 100%;
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  color: #ffffff;
}

.fitomi-button img {
  margin: 0;
  max-width: 20%;
  height: 17px;
}

/**
 * ========================================
 * // testimony
 * ========================================
 */
