/* ============================================================

   SECCIÓN SERVICIOS

   ============================================================ */



.srv {

    background: #fff;

    padding: 60px 0px 72px;

    width: 90%;

    margin-left: auto;

    margin-right: auto;

}



.srv__label {

    display: block;

    font-family: 'Geist-Light';

    font-size: 15px;

    letter-spacing: 0.18em;

    text-transform: uppercase;

    color: #DAB56C;

    margin-bottom: 24px;

    max-width: 90%;

}



.srv__list {

  margin: 0 auto;

  display: flex;

  flex-direction: column;

  border-radius: 30px;

  overflow: hidden;

}



/* ---------- Item ---------- */

.srv__item {

  position: relative;

  cursor: pointer;

  background: #f4f4f4;

  overflow: hidden;

}



.srv__item + .srv__item {

  border-top: 1px solid #e2e2e2;

}



/* Relleno rojo que entra de izquierda a derecha */

.srv__item::before {

  content: '';

  position: absolute;

  inset: 0;

  background: #971921;

  transform: scaleX(0);

  transform-origin: left center;

  transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1);

  z-index: 0;

}



.srv__item:hover::before {

  transform: scaleX(1);

}



.srv__item:hover + .srv__item {

  border-top-color: transparent;

}

.srv__item + .srv__item:hover {

  border-top-color: transparent;

}



/* ---------- Inner ---------- */

.srv__item-inner {

  position: relative;

  z-index: 1;

  display: flex;

  align-items: center;

  gap: 100px;

  padding: 40px 28px;

  max-width: 90%;

  margin: 0 auto;

}



/* ---------- Left ---------- */

.srv__left {

  display: flex;

  align-items: center;

  justify-content: space-between;

  flex-shrink: 0;

  width: 550px;

}



.srv__title {

    font-family: 'Geist-Regular';

    font-size: 30px;

    font-weight: 700;

    color: #cecece;

    line-height: 1.2;

    margin: 0;

    transition: color 0.3s ease;

}



.srv__item:hover .srv__title { color: #fff; }



/* Flecha */

.srv__arrow {

  flex-shrink: 0;

}

.srv__arrow img {

  width: 34px;

  height: 34px;

  object-fit: contain;

  display: block;

  transition: filter 0.3s ease;

}

.srv__item:hover .srv__arrow img {

  filter: brightness(0) invert(1);

}



/* ---------- Detail ---------- */

.srv__detail {

  list-style: none;

  padding: 0;

  margin: 0;

  display: flex;

  flex-direction: column;

  gap: 3px;

}



.srv__detail li {

    font-family: 'Geist-Light';

    font-size: 20px;

    line-height: 1;

    color: #cecece;

    transition: color 0.3s ease;

}



.srv__item:hover .srv__detail li { color: rgba(255,255,255,0.85); }



/* ---------- Responsive ---------- */

@media (max-width: 768px) {

  .srv { padding: 48px 20px; }

  .srv__item-inner {

    display: block;

    padding: 28px 24px;

  }

  .srv__left {

    display: block;

    width: auto;

    margin-bottom: 16px;

  }

  .srv__arrow { display: none; }

  .srv__title { font-size: 1.8rem; }

}