/* =========================
   HERO
========================= */
.pabau-main-hero-section{
  background: linear-gradient(180deg, #FFF 30.4%, #B1C2FF 67.57%, #A5D1FA 74.04%, #FFF 94.66%);
}

.pabau-main-hero-section .pabau-hero-section{
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding: 60px 24px;
  max-width: 1620px;
  margin: auto;
}

.pabau-main-hero-section .pabau-hero-section-title-container{
  max-width: 940px;
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.pabau-main-hero-section .pabau-hero-section-title-container h1{
  color: #1E1B18;
  text-align: center;
  font-size: 64px;
  font-style: normal;
  font-weight: 500;
  line-height: 120%;
  letter-spacing: -2.4px;
  max-width: 840px;
  margin: auto;
}

.pabau-main-hero-section .pabau-hero-section-title-container p{
  color: #4A5565;
  text-align: center;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
}

/* Buttons + reviews */
.pabau-main-hero-section .pabau-hero-section-btns-reviews-container{
  display: flex;
  flex-direction: column;
  gap: 18px;
  justify-content: center;
  align-items: center;
}

.pabau-main-hero-section .pabau-hero-section-btns-container{
  padding: 10px;
  display: flex;
  gap: 16px;
}

.pabau-main-hero-section .pabau-hero-section-reviews-containers{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 16px;
}

.pabau-main-hero-section .pabau-hero-section-reviews-container-1,
.pabau-main-hero-section .pabau-hero-section-reviews-container-2{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.pabau-main-hero-section .pabau-hero-section-reviews-container-1 p{
  margin-bottom: 0;
  color: #1E1B18;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 120%;
}

.pabau-main-hero-section .pabau-hero-section-reviews-container-1 p span{
  color: #2BADD4;
  font-weight: 700;
}

.pabau-main-hero-section .pabau-hero-section-reviews-container-1 img{
  width: 87.075px;
  height: 38.458px;
}

.pabau-main-hero-section .pabau-hero-section-reviews-container-2 p{
  margin-bottom: 0;
  color: #1E1B18;
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 24px;
}

.pabau-main-hero-section .pabau-hero-section-reviews-container-2 img{
  width: 20px;
}

/* =========================
   HERO TABS (Mangomint wipe progress)
========================= */
.pabau-main-hero-section .pabau-hero-tabs-section{
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}

.pabau-main-hero-section .pabau-hero-tabs{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  padding: 0 12px;
}

.pabau-main-hero-section .pabau-hero-tab{
  position: relative;
  overflow: hidden;
  appearance: none;
  border-radius: 30px !important;
  background: rgba(255, 255, 255, 0.30);
  border: none;
  padding: 4px 16px 6px 16px;
  cursor: pointer;
  transition: transform .15s ease, border-color .15s ease;
}

.pabau-main-hero-section .pabau-hero-tab:hover{
  transform: translateY(-1px);
  border-radius: 30px !important;
  background: #fff;
  box-shadow: none;
}

.pabau-main-hero-section .pabau-hero-tab:focus{
  transform: translateY(-1px);
  border-radius: 30px !important;
  background: #fff;
  box-shadow: none;
  border: none !important;
}

/* text sits above the wipe */
.pabau-main-hero-section .pabau-hero-tab-label{
  position: relative;
  z-index: 2;
  font-family: "DM Mono";
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
  color: #1E1B18;
  white-space: nowrap;
}

/* active text slightly darker */
.pabau-main-hero-section .pabau-hero-tab.is-active .pabau-hero-tab-label{
  color: rgba(30,27,24,0.90);
}

/* the wipe layer */
.pabau-main-hero-section .pabau-hero-tab-progress{
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(255,255,255,0.95);
  /* ✅ 0% = hidden, 100% = full pill */
  transform: translateX(calc(var(--tab-progress, 0%) - 100%));
  transition: transform 80ms linear;
  pointer-events: none;
}

/* only show wipe moving on active; keep others empty */
.pabau-main-hero-section .pabau-hero-tab:not(.is-active){
  --tab-progress: 0%;
}

/* Media area */
.pabau-main-hero-section .pabau-hero-tabs-media{
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 16px 24px;
}

/* Stage keeps height stable; slides stacked */
.pabau-main-hero-section .pabau-hero-tabs-stage{
  width: 100%;
  max-width: 1120px;
  position: relative;
}

.pabau-main-hero-section .pabau-hero-tabs-stage::before{
  content: "";
  display: block;
  padding-top: 56%;
}

/* Slide animation */
.pabau-main-hero-section .pabau-hero-slide{
  position: absolute;
  inset: 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(0,0,0,0.10);
  opacity: 0;
  transform: translateY(18px) scale(0.985);
  filter: blur(8px);
  pointer-events: none;
  transition:
    opacity .35s ease,
    transform .55s cubic-bezier(.2,.9,.2,1),
    filter .55s ease;
}

.pabau-main-hero-section .pabau-hero-slide img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pabau-main-hero-section .pabau-hero-slide.is-active{
  opacity: 1;
  transform: translateY(0) scale(1);
  filter: blur(0);
  pointer-events: auto;
}

.pabau-main-hero-section .pabau-hero-slide.is-leaving{
  opacity: 0;
  transform: translateY(-10px) scale(0.99);
  filter: blur(10px);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce){
  .pabau-main-hero-section .pabau-hero-slide{
    transition: none !important;
    transform: none !important;
    filter: none !important;
  }
  .pabau-main-hero-section .pabau-hero-tab{
    transition: none !important;
  }
}

/* =========================
   PROOF SECTION
========================= */
.pabau-proof-section{
  display: flex;
  gap: 20px;
  padding: 60px 24px;
  max-width: 1620px;
  margin: auto;
  width: 100%;
}

.pabau-proof-section .pabau-proof-section-left{ width: 25%; }
.pabau-proof-section .pabau-proof-section-right{ width: 75%; }

.pabau-proof-section .pabau-proof-section-left h5{
  color: #1E1B18;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: -1px;
}

.pabau-proof-section .pabau-proof-section-left-badges{
  display: flex;
  gap: 4px;
}

.pabau-proof-section .pabau-proof-section-left-badges img:first-child{
  max-width: 62px;
}

.pabau-proof-section .pabau-proof-section-left-badges img:nth-child(2){
  max-width: 82px;
}

.pabau-proof-section .pabau-proof-section-left-badges img:last-child{
  max-width: 52px;
}

/* =========================
   LOGOS MARQUEE
========================= */
.logos-root{
  position: relative;
  width: 100%;
  overflow: hidden;
}

.logos-root::before,
.logos-root::after{
  content: "";
  position: absolute;
  top: 0;
  width: 150px;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}

.logos-root::before{
  left: 0;
  /* background: linear-gradient(to right, #EDF6FB 0%, transparent 100%); */
}

.logos-root::after{
  right: 0;
  /* background: linear-gradient(to left, #EDF6FB 0%, transparent 100%); */
}

.logos-rows{ display: block; }

.logos-track{
  display: flex;
  gap: 30px;
  width: max-content;
  padding: 0 20px;
  will-change: transform;
  animation: pabau-scroll 60s linear infinite;
}

.logos-card{
  width: 220px;
  height: 130px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: #fff;
  /* box-shadow: 0 0 24px rgba(0, 0, 0, 0.03); */
  padding: 16px;
}

.logos-card img{
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

@keyframes pabau-scroll{
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes pabau-scroll-reverse{
  0% { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}

.logos-track--row2{ display: none; }

.pabau-scroll-stack-section{
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding: 60px 24px;
    max-width: 1620px;
    margin: auto;
}

.pabau-section-eyebrow-title-description{
    display: flex;
    flex-direction: column;
    gap: 0;
    justify-content: center;
    align-items: center;

    p{
        margin-bottom: 0;
        color: #606060;
        text-align: center;
        font-size: 18px;
        font-style: normal;
        font-weight: 400;
        line-height: 27px; /* 150% */
    }

    .pabau-section-eyebrow{
        color: #6B7280;
        text-align: center;
        font-family: "DM Mono";
        font-size: 14px;
        font-weight: 500;
        line-height: 27px;
        text-transform: uppercase;
    }

    h2{
        color: #1E1B18;
        text-align: center;
        font-size: 48px;
        font-style: normal;
        font-weight: 500;
        line-height: 76.8px; /* 160% */
        letter-spacing: -1.92px;
    }
}



/* =========================
   RESPONSIVE
========================= */
@media (max-width: 1161px){
  .pabau-main-hero-section .pabau-hero-section, .pabau-scroll-stack-section{
    padding: 16px 12px;
  }

  .pabau-proof-section{
    padding: 16px 12px;
    flex-direction: column;
  }

  .pabau-proof-section .pabau-proof-section-left,
  .pabau-proof-section .pabau-proof-section-right{
    width: 100%;
  }
}

@media (max-width: 1024px){
  .logos-root::before,
  .logos-root::after{ width: 100px; }

  .logos-track{ animation-duration: 40s; }
}

@media (max-width: 900px){
  .logos-root::before,
  .logos-root::after{ width: 80px; }

  .logos-card{ padding: 32px 20px 24px; }
}

@media (max-width: 600px){
  .logos-root::before,
  .logos-root::after{ width: 60px; }

  .logos-rows{
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .logos-track{
    gap: 16px;
    padding: 0 16px;
    animation-duration: 35s;
  }

  .logos-card{
    width: 150px;
    height: 90px;
    padding: 14px;
  }

  .logos-track--row2{
    display: flex;
    animation-name: pabau-scroll-reverse;
  }

  .pabau-main-hero-section .pabau-hero-tabs-media{
    padding: 8px 12px;
  }

  .pabau-main-hero-section .pabau-hero-tabs-stage::before{
    padding-top: 62%;
  }
}