
    .project-service-details {
      grid-column: 1 / -1;
      margin: 0.35rem 0 0.75rem;
      padding: clamp(1rem, 2.5vw, 1.5rem);
      border: 1px solid rgba(14, 20, 26, 0.14);
      border-radius: 18px;
      background: rgba(255, 255, 255, 0.68);
    }

    .project-service-details[hidden],
    .project-service-details [hidden] {
      display: none !important;
    }

    .project-service-details__header {
      margin-bottom: 1rem;
    }

    .project-service-details__header h3,
    .project-service-details__header p {
      margin: 0;
    }

    .project-service-details__header p {
      margin-top: 0.35rem;
      color: #56606a;
    }

    .project-service-details__grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1rem;
    }

    .project-service-details__field--full,
    .project-service-details__fieldset,
    .project-service-details__info {
      grid-column: 1 / -1;
    }

    .project-service-details__fieldset {
      min-width: 0;
      margin: 0;
      padding: 0;
      border: 0;
    }

    .project-service-details__fieldset legend {
      margin-bottom: 0.55rem;
      font-weight: 700;
    }

    .project-service-details__waste-group {
      grid-column: 1 / -1;
      min-width: 0;
      margin: 0;
      padding: 1rem;
      border: 1px solid rgba(14, 20, 26, 0.14);
      border-radius: 12px;
      background: rgba(255, 255, 255, 0.4);
    }

    .project-service-details__waste-group > legend {
      padding: 0 0.35rem;
      font-weight: 700;
    }

    #projectContactForm .project-service-details__waste-group .form-field {
      min-width: 0;
    }

    #projectContactForm .project-service-details__waste-group input,
    #projectContactForm .project-service-details__waste-group select {
      min-width: 0;
      max-width: 100%;
      box-sizing: border-box;
    }

    .project-service-details__add-option {
      width: 1.8rem;
      height: 1.8rem;
      margin-left: 0.45rem;
      padding: 0;
      border: 1px solid rgba(14, 20, 26, 0.2);
      border-radius: 50%;
      background: #fff;
      color: #0e141a;
      font: inherit;
      font-weight: 800;
      line-height: 1;
      cursor: pointer;
    }

    .project-service-details__custom-option {
      display: flex;
      flex-wrap: wrap;
      align-items: end;
      gap: 0.55rem;
      margin-top: 0.75rem;
      padding: 0.75rem;
      border: 1px solid rgba(14, 20, 26, 0.12);
      border-radius: 12px;
      background: #f5f7f8;
    }

    .project-service-details__custom-option label {
      flex: 1 1 15rem;
    }

    .project-service-details__custom-option input {
      display: block;
      width: 100%;
      margin-top: 0.35rem;
    }

    .project-service-details__custom-option button {
      min-height: 44px;
      padding: 0.65rem 0.9rem;
      border: 1px solid rgba(14, 20, 26, 0.18);
      border-radius: 10px;
      background: #fff;
      cursor: pointer;
    }

    .project-service-details__custom-option-feedback {
      flex: 1 0 100%;
      min-height: 1.2em;
      margin: 0;
      color: #7a2e16;
      font-size: 0.85rem;
    }

   .project-service-details__choices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem;
  align-items: stretch;
}

.project-service-details__choices--two-columns {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.project-service-details__choice {
  display: flex;
  align-items: center;
  gap: 0.55rem;

  width: 100%;
  min-width: 0;
  min-height: 48px;
  height: 100%;

  padding: 0.65rem 0.75rem;

  border: 1px solid rgba(14, 20, 26, 0.14);
  border-radius: 12px;
  background: #fff;

  cursor: pointer;
  box-sizing: border-box;
}

.project-service-details__choice span {
  min-width: 0;
  line-height: 1.3;
  overflow-wrap: break-word;
  font-size: 0.9rem;
}

    .project-contact .project-service-details__choice input {
      width: auto;
      min-height: auto;
      margin: 0;
      accent-color: #e2b900;
    }

  .project-service-details__info {
  padding: 1rem;
  border: 1px solid rgba(14, 20, 26, 0.10);
  border-left: 4px solid #e2b900;
  border-radius: 12px;
  background: #f5f7f8;
}

.project-service-details__info strong {
  display: block;
  margin-bottom: 0.75rem;
  color: #0e141a;
  font-size: 0.95rem;
  font-weight: 700;
}

/* Lista de equipamiento */
.project-service-details__info ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 0.55rem;

  margin: 0;
  padding: 0;
  list-style: none;
}

/* Cada elemento */
.project-service-details__info li {
  display: flex;
  align-items: center;
  gap: 0.55rem;

  min-width: 0;
  padding: 0.65rem 0.75rem;

  border: 1px solid rgba(14, 20, 26, 0.09);
  border-radius: 10px;

  background: #ffffff;

  color: #252b31;
  font-size: 0.9rem;
  line-height: 1.25;
}

/* Check amarillo */
.project-service-details__info li::before {
  content: "✓";

  display: grid;
  place-items: center;

  flex: 0 0 1.35rem;
  width: 1.35rem;
  height: 1.35rem;

  border-radius: 50%;

  background: rgba(226, 185, 0, 0.15);
  color: #9a7d00;

  font-size: 0.75rem;
  font-weight: 800;
}

    .project-service-details__unit {
      display: block;
      margin-top: 0.35rem;
      color: #56606a;
      font-size: 0.88rem;
    }

    @media (max-width: 720px) {
      .project-service-details__grid {
        grid-template-columns: 1fr;
      }

      .project-service-details__field--full,
      .project-service-details__fieldset,
      .project-service-details__info {
        grid-column: auto;
      }

      .project-service-details__choices {
        flex-direction: column;
      }

      .project-service-details__choice {
        width: 100%;
      }
    }

    @media (max-width: 480px) {
      .project-service-details__info ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  .project-service-details__choices,
  .project-service-details__choices--two-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 360px) {
  .project-service-details__choices,
  .project-service-details__choices--two-columns {
    grid-template-columns: 1fr;
  }
}

    /* Alineación de controles pareados; en móvil se conserva la altura natural. */
    @media (min-width: 721px) {
      #projectContactForm .project-service-details:is(
        [data-service-value="Manejo Integrado de plagas"],
        [data-service-value="Residuos de manejo especial"]
      ) .project-service-details__grid {
        align-items: start;
      }

      #projectContactForm :is(
        .project-service-details[data-service-value="Manejo Integrado de plagas"] > .project-service-details__grid,
        .project-service-details[data-service-value="Residuos de manejo especial"] .project-service-details__waste-group > .project-service-details__grid
      ) > .form-field:not(.project-service-details__field--full):not(:only-child) {
        display: flex;
        flex-direction: column;
      }

      #projectContactForm :is(
        .project-service-details[data-service-value="Manejo Integrado de plagas"] > .project-service-details__grid,
        .project-service-details[data-service-value="Residuos de manejo especial"] .project-service-details__waste-group > .project-service-details__grid
      ) > .form-field:not(.project-service-details__field--full):not(:only-child) > label {
        min-height: 2lh;
      }
    }
