/* Single Servicio - Contenedor principal */

.servicio-detalle {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;

  .servicio-main-container {
    background-color: #fff;
    color: #000;
    width: 100%;
    max-width: var(--sds-responsive-device-width, 1400px);
    margin: 0 auto;
    padding: 70px 64px;
    align-items: center;

    .servicio-layout {
      display: flex;
      align-items: flex-start;
      gap: var(--spacing-xl);

      .servicio-contenido-izquierda {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-md);
        flex: 1 1 50%;
        min-width: 0;
        max-width: 50%;
        padding-right: var(--spacing-sm);

        .servicio-title {
          font-family: Inter;
          font-size: var(--sds-typography-heading-size-base);
          font-style: normal;
          font-weight: 600;
          line-height: 1.2;
          letter-spacing: -0.48px;
          margin-bottom: 0;
        }

        .servicio-description {
          color: #000;
          margin-bottom: 0;

          p {
            color: var(--sds-color-text-default-default);
            font-family: var(--sds-typography-body-font-family);
            font-size: var(--sds-typography-body-size-medium);
            font-style: normal;
            font-weight: var(--sds-typography-body-font-weight-regular);
            line-height: 1.4;
          }
        }

        .title-list-container {
          h2 {
            color: var(--sds-color-text-default-default);
            font-family: var(--sds-typography-body-font-family);
            font-size: var(--sds-typography-body-size-medium);
            font-style: normal;
            font-weight: 600;
            line-height: 1.4;
          }

          .incluye-content {
            margin: var(--spacing-sm) 0 0 0;
            
            p {
              color: #1E1E1E;
              font-family: var(--sds-typography-body-font-family);
              font-size: var(--sds-typography-body-size-medium);
              font-style: normal;
              font-weight: var(--sds-typography-body-font-weight-regular);
              line-height: 1.2;
              margin: 0 0 var(--spacing-sm) 0;
              
              &:last-child {
                margin-bottom: 0;
              }
            }
            
            ul, ol {
              color: #000;
              list-style: disc;
              padding-left: var(--spacing-md);
              margin: var(--spacing-sm) 0 0 0;

              li {
                color: #1E1E1E;
                font-family: var(--sds-typography-body-font-family);
                font-size: var(--sds-typography-body-size-medium);
                font-style: normal;
                font-weight: var(--sds-typography-body-font-weight-regular);
                line-height: 1.2;
                margin-bottom: var(--spacing-xs, 8px);
                
                &:last-child {
                  margin-bottom: 0;
                }
              }
            }
            
            ol {
              list-style: decimal;
            }
          }

          .title-list-simple {
            color: #000;
            list-style: disc;
            padding-left: var(--spacing-md);
            margin: var(--spacing-sm) 0 0 0;

            li {
              color: #1E1E1E;
              font-family: var(--sds-typography-body-font-family);
              font-size: var(--sds-typography-body-size-medium);
              font-style: normal;
              font-weight: var(--sds-typography-body-font-weight-regular);
              line-height: 1.4;
            }
          }
        }
      }

      .servicio-imagen-derecha {
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        flex: 1 1 50%;
        min-width: 0;
        max-width: 50%;
        width: 100%;
      }

      .servicio-imagen-extra {
        width: 100%;
        max-width: 100%;
        height: 400px;
        max-height: 500px;
        object-fit: cover;
        flex-shrink: 1;
      }
    }
  }

  .servicio-cta-section {
    background: #F5EDE5;
    width: 100%;
    max-width: var(--sds-responsive-device-width, 1400px);
    margin: 0 auto;
    display: flex;
    padding: 5px var(--sds-size-space-1600) 35px var(--sds-size-space-1600);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    border-radius: var(--sds-size-radius-200);

    .servicio-cta-title {
      color: var(--sds-color-text-default-default);
      text-align: center;
      font-family: Inter;
      font-size: var(--sds-typography-heading-size-base);
      font-style: normal;
      font-weight: 600;
      line-height: 1.2;
      letter-spacing: -0.48px;
      margin: 0;
      max-width: 600px;
    }

    .servicio-cta-description {
      max-width: 760px;
      margin: 0;

      p {
        color: var(--sds-color-text-default-secondary);
        text-align: center;
        font-family: var(--sds-typography-subheading-font-family);
        font-size: var(--sds-typography-subheading-size-medium);
        font-style: normal;
        font-weight: var(--sds-typography-subheading-font-weight);
        line-height: 1.2;
        margin: 0;
      }
    }

    .servicio-cta-button {
      display: flex;
      padding: var(--sds-size-space-300);
      justify-content: center;
      align-items: center;
      gap: var(--sds-size-space-100);

      .btn-primary {
        background-color: #FFFFFF;
        border-color: #C7AF97;
        border-width: 1px;
        color: var(--sds-color-text-neutral-default);
        font-family: var(--sds-typography-body-font-family);
        font-size: var(--sds-typography-body-size-medium);
        font-style: normal;
        font-weight: var(--sds-typography-body-font-weight-regular);
        line-height: 1;
      }
    }
  }

  /* Sección de preguntas frecuentes */
  .servicio-preguntas-section {
    background-color: #fff;
    width: 100%;
    max-width: var(--sds-responsive-device-width, 1400px);
    margin: 0 auto;
    padding: 35px 64px 70px 64px;

    .preguntas-title {
      color: var(--sds-color-text-default-default);
      font-family: Inter;
      font-size: var(--sds-typography-heading-size-base);
      font-style: normal;
      font-weight: 600;
      line-height: 1.2;
      letter-spacing: -0.48px;
      margin: 0 0 40px 0;
      text-align: center;
    }

    .preguntas-container {
      max-width: 650px;
      margin: 0 auto;

      .pregunta-item {
        border: 1px solid #E5E5E5;
        border-radius: 8px;
        margin-bottom: 16px;
        background-color: #f5f5f5;
        transition: all 0.3s ease;

        &.active {
          background-color: #fff !important;
        }

        .pregunta-question {
          display: flex;
          justify-content: space-between;
          align-items: center;
          padding: 20px 24px;
          margin: 0;
          cursor: pointer;
          color: #1E1E1E;
          font-family: var(--sds-typography-body-font-family);
          font-size: var(--sds-typography-body-size-medium);
          font-style: normal;
          font-weight: 600;
          line-height: 1.4;
          transition: color 0.3s ease;
          user-select: none;
        }

        .pregunta-question::after {
          content: none !important;
        }

        .pregunta-answer {
          max-height: 0;
          overflow: hidden;
          transition: max-height 0.3s ease, padding 0.3s ease;
          border-top: none !important;

          &.active {
            max-height: 500px;
            border-top-color: #E5E5E5;
          }

          p {
            color: #1E1E1E;
            font-family: var(--sds-typography-body-font-family);
            font-size: var(--sds-typography-body-size-medium);
            font-style: normal;
            font-weight: var(--sds-typography-body-font-weight-regular);
            line-height: 140%;
            margin: 0;
            padding: 0 24px 8px 24px;
            box-sizing: border-box;
          }

          ul,
          ol {
            margin: 0 0 0 24px;
            padding-left: 20px;
            padding-right: 24px;
            list-style-position: outside;
            color: var(--sds-color-text-default-default);
          }
          .servicio-detalle .preguntas-container .pregunta-item .pregunta-answer ul {
            list-style-type: disc;
          }
          .servicio-detalle .preguntas-container .pregunta-item .pregunta-answer ol {
            list-style-type: decimal;
          }
          .servicio-detalle .preguntas-container .pregunta-item .pregunta-answer li {
            color: var(--sds-color-text-default-default);
            font-family: var(--sds-typography-body-font-family);
            font-size: var(--sds-typography-body-size-medium);
            font-style: normal;
            font-weight: var(--sds-typography-body-font-weight-regular);
            line-height: 140%;
            margin-bottom: 0.5em;
            text-indent: 0;
            /* Alinea la segunda línea con la primera, no con el bullet */
          }
        }
      }
    }
  }
}

@media (max-width: 1024px) {
  .servicio-detalle .servicio-main-container {
    padding: 40px 16px;
  }
  .servicio-detalle .servicio-preguntas-section {
    padding: 40px 16px;
  }
  .servicio-detalle .servicio-layout {
    flex-direction: column;
    gap: var(--spacing-lg);
  }
  .servicio-detalle .servicio-contenido-izquierda,
  .servicio-detalle .servicio-imagen-derecha {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
    padding-right: 0 !important;
  }
  .servicio-detalle .servicio-imagen-derecha,
  .servicio-detalle .servicio-imagen-derecha .servicio-imagen-extra {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 0 !important;
    display: block;
  }
}

@media (max-width: 600px) {
  html, body {
    width: 100vw;
    overflow-x: hidden;
  }
  .servicio-detalle,
  .servicio-detalle .servicio-main-container,
  .servicio-detalle .servicio-preguntas-section,
  .servicio-detalle .servicio-cta-section {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0;
    box-sizing: border-box;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .servicio-detalle .servicio-title,
  .servicio-detalle .servicio-description,
  .servicio-detalle .servicio-imagen-derecha,
  .servicio-detalle .servicio-imagen-derecha .servicio-imagen-extra,
  .servicio-detalle .title-list-container h2,
  .servicio-detalle .title-list-container .incluye-content,
  .servicio-detalle .title-list-container .title-list-simple {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box;
  }
  .servicio-detalle .servicio-contenido-izquierda,
  .servicio-detalle .servicio-imagen-derecha {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box;
    padding-right: 0 !important;
  }
  .servicio-detalle .servicio-imagen-derecha,
  .servicio-detalle .servicio-imagen-derecha .servicio-imagen-extra {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    height: auto !important;
    margin: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box;
    display: block;
  }
  .servicio-detalle .preguntas-container {
    margin-left: 24px !important;
    margin-right: 24px !important;
  }
  .servicio-detalle .preguntas-container .pregunta-item .pregunta-question {
    padding: 16px 12px;
    font-size: 1rem;
  }
  .servicio-detalle .preguntas-container .pregunta-item .pregunta-answer p {
    color: var(--sds-color-text-default-default);
    font-family: var(--sds-typography-body-font-family);
    font-size: var(--sds-typography-body-size-medium);
    font-style: normal;
    font-weight: var(--sds-typography-body-font-weight-regular);
    line-height: 140%;
    margin: 0;
    padding: 0 24px 0 24px;
    box-sizing: border-box;
  }
}

@media (max-width: 1200px) {
  .servicio-detalle .servicio-main-container {
    padding-left: 40px;
    padding-right: 40px;
  }
  .servicio-detalle .servicio-imagen-derecha,
  .servicio-detalle .servicio-imagen-derecha .servicio-imagen-extra {
    max-width: 420px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
}

/* Compatibilidad para clases duplicadas */
.que-hacemos-list-simple {
  color: #000;
  list-style: disc;
  padding-left: var(--spacing-md);
  margin: var(--spacing-sm) 0 0 0;

  li {
    color: #1E1E1E;
    font-family: var(--sds-typography-body-font-family);
    font-size: var(--sds-typography-body-size-medium);
    font-style: normal;
    font-weight: var(--sds-typography-body-font-weight-regular);
    line-height: 1.4;
  }
}

.servicio-que-hacemos h2 {
  color: var(--sds-color-text-default-default);
  font-family: var(--sds-typography-body-font-family);
  font-size: var(--sds-typography-body-size-medium);
  font-style: normal;
  font-weight: 600;
  line-height: 1.4;
}

.servicio-detalle .preguntas-container .pregunta-item .pregunta-answer ol li::marker {
  font-weight: bold;
}

.pregunta-arrow {
  display: inline-block;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  transform: rotate(90deg);
  margin-left: 16px;
}
.pregunta-arrow.active {
  transform: rotate(-90deg);
}