/***** Servicios BHI *****/

/* banner título */
.banner-container-servicios {
   position: relative;
   height: 340px;

   .banner-video,
   .banner-img {
      height: 100%;
      width: 100%;
      object-fit: cover;
   }

   .banner-box {
      background: #07272DCC;
      color: var(--blanco);
      padding: 30px;
      height: 100%;
      width: 100%;
      max-width: 1280px;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      position: absolute;
      left: 0;
      bottom: 0;
   }

   .banner-box-content {
      text-align: center;
   }

   .banner-box-content .banner-box-content__title {
      font-family: "DM Serif Display";
      font-size: 40px;
      line-height: 1;
      margin: 1rem 0;
   }

   .banner-box-content .banner-box-content__subtitle {
      font-weight: 600;
   }

   .banner-box-content .banner-box-content__p {
      margin: 2rem 0;
   }

   .banner-box-content .banner-box-content__cta {
      border-radius: 12px;
      display: inline-block;
      line-height: 150%;
      color: inherit;
      font-size: 14px;
      padding: 6px 12px;
      width: auto;
      cursor: pointer;
   }

   .banner-box-content .banner-box-content__cta.primary {
      background: var(--turquesa);
      border: 1px solid var(--turquesa);
      color: var(--blanco);
   }

   .banner-box-content .banner-box-content__cta.outline {
      background: transparent;
      border: 1px solid var(--blanco);
      color: var(--blanco);
   }
}

@media screen and (min-width: 992px) {
   .banner-container-servicios {
      margin-top: -90px;
      height: 575px;

      .banner-box {
         border-radius: 16px;
         height: auto;
         width: 90%;
         left: 50%;
         transform: translateX(-50%);
         bottom: 10%;
      }

      .banner-box-content .banner-box-content__title {
         font-size: 72px;
      }
   }

}

/*--- PLP / PLP ---*/
.servicios-section {
   padding: 1rem 0;
}

.servicios-section h2,
.servicios-section h3 {
   margin-top: 0;
}

.servicios-section h2 {
   margin-top: 0;
   /* margin-bottom: 2rem; */
   text-align: center;
}

.servicios-section .subtitle {
   font-weight: 600;
   text-align: center;
}

.servicios-section .content,
.servicios-section .content-row {
   margin: 0 auto;
   max-width: 1280px;
   padding-left: 1rem;
   padding-right: 1rem;
}

.servicios-section .content p,
.servicios-section .content-row p {
   margin-top: 0;
   margin-bottom: 1rem;
}

.servicios-section .content a,
.servicios-section .content-row a {
   font-weight: 600;
   text-decoration: underline;
}

.servicios-section .content .btn,
.servicios-section .content-row .btn {
   display: inline-block;
   text-decoration: none;
}

.servicios-section .content-row {
   display: flex;
   flex-direction: column;
   gap: 1rem;
}

.servicios-section .content-row .content-col {
   width: 100%;
}


/* tratamientos */
.servicios-tratamientos {
   background-color: var(--turquesa);
   background-image: url("../images/fondo-galeria.webp");
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
   color: var(--blanco);
}

.servicios-tratamientos h2,
.servicios-tratamientos .subtitle {
   color: var(--verde-oscuro);
}

.servicios-tratamientos .tratamientos-grid {
   display: grid;
   grid-template-columns: 1fr;
   gap: 2rem;
}

.servicios-tratamientos .tratamientos-grid .card {
   position: relative;
   background-color: var(--verde-oscuro);
   border-radius: 1rem;
   height: 260px;
   width: 100%;
}

.servicios-tratamientos .tratamientos-grid .card__img {
   border-radius: inherit;
   filter: brightness(0.5);
   height: 100%;
   width: 100%;
   object-fit: cover;
}

.servicios-tratamientos .tratamientos-grid .card-body {
   box-sizing: border-box;
   position: absolute;
   top: 0;
   left: 0;
   height: 100%;
   width: 100%;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: flex-start;
   gap: 1rem;
   padding: 2rem;
}

.servicios-tratamientos .tratamientos-grid .card__title,
.servicios-tratamientos .tratamientos-grid .card__text {
   margin-bottom: 0;
}

.servicios-tratamientos .tratamientos-grid .card__cta {
   position: relative;
   color: var(--blanco);
}

.servicios-tratamientos .tratamientos-grid .card__cta::after {
   content: url(../images/chevron-right_light.webp);
   margin-left: 1rem;
}

/* pasos */
.servicios-pasos {
   background-color: var(--negro);
   background-image: url("../images/fondo-pasos.webp");
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
   color: var(--blanco);
}

.servicios-pasos .pasos-grid {
   display: flex;
   flex-direction: column;
   justify-content: center;
}

.servicios-pasos .pasos-grid .card {
   position: relative;
   padding: 1rem 3rem 1.5rem;
}

.servicios-pasos .pasos-grid .card::before {
   content: '';
   background-color: #B4B9C9;
   border-radius: 200px;
   height: auto;
   max-width: 140px;
   width: 80%;
   position: absolute;
   top: 0;
   left: 50%;
   transform: translateX(-50%);
   aspect-ratio: 1/1;
   z-index: 0;
   transition: all 0.3s ease-in-out;
}

.servicios-pasos .pasos-grid .card-body {
   position: relative;
   z-index: 1;
}

.servicios-pasos .pasos-grid .card-body::before {
   content: '';
   background: url(../images/vector-paso.svg) no-repeat center/100%;
   position: absolute;
   height: 120px;
   width: 100%;
   max-width: 215px;
   left: 50%;
   transform: translateX(-50%);
   bottom: -60px;
   z-index: -1;
}

.servicios-pasos .pasos-grid .card__icon {
   display: block;
   margin: 0 auto;
   width: 120px;
   height: 120px;
   object-fit: contain;
   max-width: 100%;
}

.servicios-pasos .pasos-grid .card__number {
   color: var(--blanco);
   display: block;
   font-family: "DM Serif Display";
   font-size: 120px;
   font-weight: 600;
   line-height: 1;
   margin: 0 auto;
   text-align: center;
   transition: font-size 0.3s ease;
}

.servicios-pasos .pasos-grid .card__title {
   font-size: 1.25rem;
   line-height: 1.2;
   margin-bottom: 0;
   text-align: center;
   float: right;
   margin-top: 1rem;
   width: 100%;
}

.servicios-pasos .pasos-grid .card__text {
   color: var(--verde-oscuro);
   float: right;
   overflow: hidden;
   max-height: 0;
   opacity: 0;
   padding-top: 2rem;
   transition: opacity 0.3s 0.5s ease-in-out;
}

.servicios-pasos .pasos-grid .card__text ul {
   list-style: none;
   margin: 0;
   padding: 0;
   max-height: 180px;
   overflow-y: auto;
}

.servicios-pasos .pasos-grid .card__text ul li {
   display: flex;
   gap: 0.5rem;
   align-items: center;
   margin-bottom: 0.5rem;
}

.servicios-pasos .pasos-grid .card__text ul li img {
   height: auto;
   width: 32px;
}

.servicios-pasos .pasos-grid .card:hover::before {
   border-radius: 100px;
   max-width: 100%;
   width: 100%;
   height: 100%;
}

.servicios-pasos .pasos-grid .card:hover .card__title {
   display: none;
}

.servicios-pasos .pasos-grid .card:hover .card__text {
   max-height: 100%;
   opacity: 1;
}

/* protocolos */
.servicios-protocolos {
   background-color: var(--verde-oscuro);
   background-image: url("../images/fondo-servicios-protocolos.webp");
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
   color: var(--blanco);
}

/* resultados */
.servicios-resultados.servicios-section {
   padding: 0;
   overflow: hidden;
}

.servicios-resultados .caso-clinico .titulo {
   padding: 2rem 1rem;
}

.servicios-resultados .caso-clinico .titulo h2 {
   margin-bottom: 0;
   text-align: left;
}

.servicios-resultados .caso-clinico .titulo p {
   color: var(--turquesa);
   margin-bottom: 0;
}

.servicios-resultados .caso-clinico .titulo .content-row {
   align-items: center;
}

.servicios-resultados .caso-clinico .caso {
   background-color: var(--negro);
   background-image: url("../images/fondo-servicios-resultados.webp");
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
   color: var(--blanco);
   padding-top: 2rem;
   padding-bottom: 2rem;
}

@media (min-width: 992px) {
   .servicios-resultados .caso-clinico .caso {
      padding: 40px;
   }
}

.servicios-resultados .caso-clinico .caso .content-row {
   align-items: center;
}

.servicios-resultados .caso-clinico .caso .texto {
   background-color: transparent;
   padding: 0;
}

.servicios-resultados .caso-clinico .caso .parrafo {
   column-count: 1;
}

.servicios-resultados .content p {
   font-size: 16px;
}

.servicios-resultados .content span {
   color: var(--turquesa);
   background: var(--menta);
   border-radius: 8px;
   padding: 2px 4px;
}

.servicios-resultados .antes-despues {
   position: relative;
   display: flex;
   justify-content: center;
   width: 400px;
   height: 380px;
   border-radius: 8px;
   overflow: hidden;
   user-select: none;
}

.servicios-resultados .antes-despues .antes {
   position: absolute;
   right: 0;
   height: 100%;
}

.servicios-resultados .antes-despues .despues {
   position: absolute;
   left: -20px;
   bottom: 0;
   height: 110%;
}

.servicios-resultados .img-overlay-container {
   position: absolute;
   top: 0;
   left: 0;
   height: 100%;
   width: 50%;
   overflow: hidden;
}

.servicios-resultados .img-overlay {
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: 0 50%;
   display: block;
}

.servicios-resultados .slider-bar {
   position: absolute;
   top: 0;
   left: 50%;
   width: 6px;
   height: 100%;
   background-color: var(--menta);
   cursor: ew-resize;
   transform: translateX(-50%);
   z-index: 10;
}

.servicios-resultados .slider {
   position: absolute;
   width: 58px;
   height: 58px;
   align-self: anchor-center;
   /* object-fit: contain; */
   cursor: ew-resize;
}

.servicios-resultados .control {
   display: flex;
   background: var(--blanco);
   justify-content: space-between;
   border-radius: 0 0 10px 10px;
   padding: 24px 28px;
}

.servicios-resultados .control p {
   display: flex;
   align-items: center;
   gap: 8px;
   margin: 0;
   cursor: pointer;
}

@media screen and (min-width: 992px) {
   .servicios-section h2 {
      text-align: left;
   }

   .servicios-section .subtitle {
      text-align: left;
   }

   .servicios-section .content-row {
      flex-direction: row;
      gap: 4rem;
   }

   .servicios-section .content-row .content-col {
      width: 50%;
   }

   .servicios-section {
      padding: 6rem 0;
   }

   .servicios-tratamientos .tratamientos-grid {
      grid-template-columns: repeat(2, 1fr);
   }

   .servicios-pasos .pasos-grid {
      position: relative;
      flex-direction: row;
      flex-wrap: wrap;
      gap: 20px;
   }

   .servicios-pasos .pasos-grid .card {
      width: 220px;
      padding: 1rem;
   }

   .servicios-pasos .pasos-grid .card::before {
      top: 0.5rem;
   }

   .servicios-pasos .pasos-grid .card-body {
      padding: 1rem;
   }

   .servicios-pasos .pasos-grid .card-body::before {
      height: 160px;
   }

   .servicios-pasos .pasos-grid .card__title {
      display: block;
   }

   .servicios-pasos .pasos-grid .card__text ul li img {
      width: 48px;
   }

   .servicios-pasos .pasos-grid .card:hover {
      position: absolute;
      left: 0;
      top: 50%;
      transform: translateY(-50%);
      max-width: 100%;
      width: 100%;
      min-height: 90%;
      padding: 0;
      z-index: 2;
   }

   .servicios-pasos .pasos-grid .card:hover::before {
      border-radius: 200px;
      top: 0;
      bottom: 0;
   }

   .servicios-pasos .pasos-grid .card:hover .card-body {
      display: flex;
      align-items: center;
   }

   .servicios-pasos .pasos-grid .card:hover .card-body::before {
      height: 180px;
      max-width: 320px;
      left: 0;
      transform: none;
   }

   .servicios-pasos .pasos-grid .card:hover .card__number {
      font-size: 220px;
      width: 30%;
   }

   .servicios-pasos .pasos-grid .card:hover .card__icon {
      height: 220px;
      width: auto;
   }

   .servicios-pasos .pasos-grid .card:hover .card__text {
      float: none;
      padding-top: 0;
      width: 70%;
      max-height: 270px;
      overflow-y: auto;
      padding-right: 5rem;
   }

   .servicios-pasos .pasos-grid .card:hover .card__text::-webkit-scrollbar-track {
      background-color: transparent;
      height: 4px;
      width: 4px;
   }

   .servicios-pasos .pasos-grid .card:hover .card__text::-webkit-scrollbar-thumb {
      background-color: var(--blanco);
      height: 4px;
      width: 4px;
   }

   .servicios-resultados .caso-clinico .titulo h2 {
      width: 40%;
   }

   .servicios-resultados .caso-clinico .titulo p {
      width: 60%;
   }

   .servicios-resultados .caso-clinico .caso .texto {
      width: 60%;
   }

   .servicios-resultados .caso-clinico .caso .parrafo {
      column-count: 2;
      column-gap: 2rem;
   }
}