/* ==========================================
   general-landing-header
   ========================================== */
/* Mobile First */
.general-landing-header {
  background-color: var(--pd-neutral-000);
  padding: var(--pd-spacing-3) var(--pd-spacing-4);
}

.general-landing-header__container {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: var(--pd-container-max-width);
}

.general-landing-header__logo {
  width: 88px;
}

/* Tablet (≥ 768px y ≤ 1023px) */
@media (min-width: 768px) {
  .general-landing-header {
    padding: var(--pd-spacing-4) var(--pd-spacing-6);
  }

  .general-landing-header__logo {
    width: 148px;
  }
}

/* Desktop (≥ 1024px) */
@media (min-width: 1024px) {
  .general-landing-header {
    padding: var(--pd-spacing-4) var(--pd-spacing-5);
  }
}

/* General Landing Header - Logo width and height (mobile: 88px) */
.general-landing-header__logo {
  width: 88px !important;
  height: auto !important;
}

/* General Landing Header - Logo width in tablet and desktop (≥ 768px) */
@media (min-width: 768px) {
  .general-landing-header__logo {
    width: 148px !important;
  }
}

/* General Landing Header - Button padding and width */
.general-landing-header .pd-button.strokeColor {
  padding: 12px 24px !important;
  width: auto !important;
  --pd-button-horizontal-padding: 24px !important;
  --pd-button-horizontal-padding-desktop: 24px !important;
  --pd-button-width: auto !important;
}

/* ==========================================
   general-landing-hero
   ========================================== */
/* Mobile First */
.general-landing-hero {
  background-size: cover;
  position: relative;
}

.general-landing-hero__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

.general-landing-hero__container {
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  max-width: var(--pd-container-max-width);
}

.general-landing-hero__content {
  display: flex;
  flex-direction: column;
  gap: var(--pd-spacing-8);
  padding: var(--pd-spacing-8) var(--pd-spacing-4);
  position: relative;
}

.general-landing-hero__caption {
  display: flex;
  flex-direction: column;
  gap: var(--pd-spacing-2);
}

.general-landing-hero__title {
  color: var(--pd-neutral-000);
  text-align: center;
  font-family: var(--pd-font-primary);
  font-size: var(--pd-font-size-2xl);
  font-weight: var(--pd-font-weight-regular);
  line-height: 38px;
  margin: 0;
}

.general-landing-hero__description {
  color: var(--pd-neutral-000);
  text-align: center;
  font-family: var(--pd-font-secondary);
  font-size: var(--pd-font-size-base);
  font-weight: var(--pd-font-weight-normal);
  line-height: 24px;
  margin: 0;
}

.general-landing-hero__media {
  background-color: var(--pd-primary-500);
  display: block;
}

.general-landing-hero__media-wrapper {
  height: 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
  width: 100%;
}

.general-landing-hero__iframe {
  border: none;
  border-radius: var(--pd-spacing-1);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.general-landing-hero__image-wrapper img {
  width: 100%;
}

.general-landing-hero__image {
  border-radius: var(--pd-spacing-1);
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}

.general-landing-hero__form {
  background-color: var(--pd-container-100);
  padding: var(--pd-spacing-8) var(--pd-spacing-4);
  display: flex;
  flex-direction: column;
  gap: var(--pd-spacing-4);
}

.general-landing-hero__form-container {
  background-color: var(--pd-neutral-000);
  display: flex;
  flex-direction: column;
  gap: var(--pd-spacing-4);
  padding: var(--pd-spacing-4);
  border-radius: var(--pd-spacing-2);
}

.general-landing-hero__form-title {
  color: var(--pd-neutral-900);
  font-family: var(--pd-font-primary);
  font-size: var(--pd-font-size-xl);
  font-weight: var(--pd-font-weight-regular);
  line-height: 26px;
  letter-spacing: 0;
  margin: 0;
}

.general-landing-hero__form-fields {
  display: flex;
  flex-direction: column;
  gap: var(--pd-spacing-4);
  border-bottom: 1px solid var(--pd-container-500);
  padding-bottom: var(--pd-spacing-4);
}

.general-landing-hero__form-fields-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--pd-spacing-4);
}

/* Confirmación (imagen + título + mensaje, como renew) */
.general-landing-hero__confirmation {
  align-items: center;
  background-color: var(--pd-container-100);
  display: flex;
  flex-direction: column;
  padding: var(--pd-spacing-8) var(--pd-spacing-4);
  text-align: center;
}

.general-landing-hero__confirmation--hidden {
  display: none;
}

.general-landing-hero__confirmation--error .general-landing-hero__confirmation-title {
  color: var(--pd-error-600, #c53030);
}

.general-landing-hero__confirmation-image {
  display: flex;
  justify-content: center;
  margin: var(--pd-spacing-4) 0;
  width: 100%;
}

.general-landing-hero__confirmation-image img {
  height: auto;
  max-width: 243px;
  width: 100%;
}

.general-landing-hero__confirmation-title {
  color: var(--pd-neutral-900);
  font-family: var(--pd-font-primary);
  font-size: var(--pd-font-size-md);
  font-weight: 350;
  line-height: 1.4;
  margin: 0;
}

.general-landing-hero__confirmation-message {
  color: var(--pd-neutral-700);
  font-family: var(--pd-font-secondary);
  font-size: var(--pd-font-size-sm);
  font-weight: 400;
  line-height: 1.5;
  margin: var(--pd-spacing-2) 0 var(--pd-spacing-4);
}

.general-landing-hero__confirmation .pd-button {
  width: 100%;
}

/* Tablet (≥ 768px y ≤ 1023px) */
@media (min-width: 768px) {
  .general-landing-hero__content {
    padding: var(--pd-spacing-12) var(--pd-spacing-6);
  }

  .general-landing-hero__title {
    font-size: var(--pd-font-size-8xl);
    line-height: 54px;
  }

  .general-landing-hero__description {
    font-size: var(--pd-font-size-md);
    line-height: 26px;
  }

  .general-landing-hero__form {
    padding: var(--pd-spacing-12) var(--pd-spacing-6);
    gap: var(--pd-spacing-6);
  }

  .general-landing-hero__form-container {
    padding: var(--pd-spacing-6);
    gap: var(--pd-spacing-6);
  }

  .general-landing-hero__form-fields {
    gap: var(--pd-spacing-6);
    padding-bottom: var(--pd-spacing-6);
  }

  .general-landing-hero__form-fields-row {
    gap: var(--pd-spacing-6);
    grid-template-columns: repeat(2, 1fr);
  }

  .general-landing-hero__form-title {
    font-size: var(--pd-font-size-2xl);
    line-height: 38px;
  }

  .general-landing-hero__form-button {
    display: flex;
    justify-content: flex-end;
  }

  .general-landing-hero__confirmation {
    padding: var(--pd-spacing-12) var(--pd-spacing-6);
  }

  .general-landing-hero__confirmation .pd-button {
    width: auto;
  }
}

/* Desktop (≥ 1024px) */
@media (min-width: 1024px) {
  .general-landing-hero {
    padding: var(--pd-spacing-16) 0;
  }

  .general-landing-hero__container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--pd-spacing-16);
    padding: var(--pd-spacing-5);
  }

  .general-landing-hero__content {
    padding: var(--pd-spacing-8) var(--pd-spacing-8) var(--pd-spacing-8) 0;
    gap: var(--pd-spacing-8);
    position: static;
  }

  .general-landing-hero__caption {
    gap: var(--pd-spacing-8);
  }

  .general-landing-hero__title {
    text-align: left;
  }

  .general-landing-hero__description {
    text-align: left;
  }

  .general-landing-hero__form {
    background-color: var(--pd-neutral-000);
    padding: var(--pd-spacing-8) var(--pd-spacing-6);
    border-radius: var(--pd-spacing-2);
  }

  .general-landing-hero__form-container {
    padding: 0;
  }

  .general-landing-hero__confirmation {
    background-color: var(--pd-neutral-000);
    padding: var(--pd-spacing-8) var(--pd-spacing-6);
    border-radius: var(--pd-spacing-2);
  }

  .general-landing-hero__confirmation-title {
    font-size: var(--pd-font-size-2xl);
  }

  .general-landing-hero__confirmation-message {
    font-size: var(--pd-font-size-base);
    margin: var(--pd-spacing-2) 0 var(--pd-spacing-6);
  }

  .general-landing-hero__confirmation .pd-button {
    width: auto;
  }

  .general-landing-hero__confirmation-image {
    margin: var(--pd-spacing-8) 0;
  }
}

/* Mobile First */
.pd-input-checkbox-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--pd-spacing-2);
  width: 100%;
}

.pd-input-checkbox {
  align-items: center;
  background-color: var(--pd-neutral-000);
  border: 1px solid var(--pd-container-700);
  border-radius: var(--pd-spacing-2);
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  gap: var(--pd-spacing-3);
  padding: var(--pd-spacing-3) var(--pd-spacing-4);
  transition: border-color 0.2s ease;
  user-select: none;
  width: 100%;
}

.pd-input-checkbox:hover:not(.pd-input-checkbox--error):not(.pd-input-checkbox--disabled) {
  border-color: var(--pd-success-500);
}

.pd-input-checkbox--checked {
  border-color: var(--pd-success-500);
}

.pd-input-checkbox--disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

.pd-input-checkbox--error {
  border-color: var(--pd-error-500);
}

.pd-input-checkbox--error:focus-visible {
  border-color: var(--pd-error-500);
  box-shadow: 0 0 0 3px rgba(209, 58, 59, 0.1);
}

.pd-input-checkbox__box {
  align-items: center;
  background-color: var(--pd-neutral-000);
  border: 1px solid var(--pd-container-700);
  border-radius: var(--pd-spacing-1);
  display: flex;
  flex-shrink: 0;
  height: 24px;
  justify-content: center;
  position: relative;
  transition: border-color 0.2s ease, background-color 0.2s ease;
  width: 24px;
}

.pd-input-checkbox--checked .pd-input-checkbox__box {
  border-color: var(--pd-success-500);
}

.pd-input-checkbox:hover:not(.pd-input-checkbox--disabled) .pd-input-checkbox__box {
  border-color: var(--pd-success-500);
}

.pd-input-checkbox:focus-visible .pd-input-checkbox__box {
  outline: 2px solid var(--pd-primary-500);
  outline-offset: 2px;
}

.pd-input-checkbox__icon {
  display: flex;
  flex-shrink: 0;
}

.pd-input-checkbox__label {
  color: var(--pd-neutral-900);
  font-family: var(--pd-font-secondary);
  font-size: var(--pd-font-size-base);
  font-weight: var(--pd-font-weight-normal);
  line-height: 24px;
}

.pd-input-checkbox__label a {
  color: var(--pd-neutral-900);
  text-decoration: underline;
  cursor: pointer;
}

.pd-input-checkbox__label a:hover {
  color: var(--pd-primary-500);
}

.pd-input-checkbox__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 0;
  height: 0;
}

.pd-input-checkbox__error-message {
  color: var(--pd-error-500);
  font-family: var(--pd-font-secondary);
  font-size: var(--pd-font-size-sm);
  font-weight: var(--pd-font-weight-normal);
  line-height: 22px;
  margin: 0;
}

.pd-input-checkbox__error-message--hidden {
  display: none;
}

/* Tablet (≥ 768px y ≤ 1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
  .pd-input-checkbox__box {
    height: 24px;
    width: 24px;
  }
}

/* Desktop (≥ 1024px) */
@media (min-width: 1024px) {
  .pd-input-checkbox__box {
    height: 24px;
    width: 24px;
  }
}

/* General Landing Hero - Container max-width and margin */
.general-landing-hero__container {
  max-width: 1280px !important;
  margin: 0 auto !important;
}

/* General Landing Hero - Background image styles */
.general-landing-hero__background img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* General Landing Hero - Background overlay */
.general-landing-hero__background::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.60) 0%, rgba(0, 0, 0, 0.60) 100%) !important;
}

/* General Landing Hero - Input fields height */
.general-landing-hero .pd-input__field {
  height: 50px !important;
  min-height: 50px !important;
}

/* General Landing Hero - Button height */
.general-landing-hero .pd-button.newCar {
  height: 48px !important;
  min-height: 48px !important;
}

/* General Landing Hero - Color del botón Enviar según plantilla (casa=verde, seminuevo=amarillo, auto=rojo) */
.general-landing-hero--landing-casa .general-landing-hero__form-button .pd-button.newCar {
  background: var(--pd-house-500);
  color: var(--pd-neutral-000);
}
.general-landing-hero--landing-casa .general-landing-hero__form-button .pd-button.newCar:hover {
  background: var(--pd-house-600);
  color: var(--pd-neutral-000);
}

.general-landing-hero--landing-seminuevo .general-landing-hero__form-button .pd-button.newCar {
  background: var(--pd-semi-new-500);
  color: var(--pd-neutral-000);
}
.general-landing-hero--landing-seminuevo .general-landing-hero__form-button .pd-button.newCar:hover {
  background: var(--pd-semi-new-600);
  color: var(--pd-neutral-000);
}

.general-landing-hero--landing-auto .general-landing-hero__form-button .pd-button.newCar {
  background: var(--pd-new-500);
  color: var(--pd-neutral-000);
}
.general-landing-hero--landing-auto .general-landing-hero__form-button .pd-button.newCar:hover {
  background: var(--pd-new-600);
  color: var(--pd-neutral-000);
}

/* General Landing Hero - Botón con loader (bloqueado durante envío) */
.general-landing-hero .pd-button--loading {
  cursor: wait;
  pointer-events: none;
}

.general-landing-hero .pd-button__loader {
  border: 2px solid currentColor;
  border-radius: 50%;
  border-top-color: transparent;
  display: inline-block;
  height: 18px;
  margin-right: var(--pd-spacing-2, 8px);
  vertical-align: middle;
  width: 18px;
  animation: pd-button-loader-spin 0.7s linear infinite;
}

@keyframes pd-button-loader-spin {
  to {
    transform: rotate(360deg);
  }
}

/* General Landing Hero - Input actions flex direction */
.general-landing-hero .pd-input__actions {
  flex-direction: row-reverse !important;
}

/* General Landing Hero - Checkbox icon size */
.general-landing-hero .pd-input-checkbox__icon {
  display: flex !important;
  flex-shrink: 0 !important;
}

.general-landing-hero .pd-input-checkbox__icon img {
  width: 30px !important;
  height: 30px !important;
}

/* ==========================================
   General Landing Hero - Gravity Forms (estilos como maqueta pd-input / pd-button)
   ========================================== */
.general-landing-hero .gform_wrapper {
  margin: 0;
  padding: 0;
}

.general-landing-hero .gform_body {
  margin: 0;
}

.general-landing-hero .gform_fields {
  display: flex;
  flex-direction: column;
  gap: var(--pd-spacing-4);
  border-bottom: 1px solid var(--pd-container-500);
  padding-bottom: var(--pd-spacing-4);
  margin: 0 0 var(--pd-spacing-4) 0;
}

.general-landing-hero .gfield {
  display: flex;
  flex-direction: column;
  gap: var(--pd-spacing-2);
  width: 100%;
  margin: 0;
  padding: 0;
  border: none;
}

.general-landing-hero .gfield_label {
  color: var(--pd-neutral-900);
  font-family: var(--pd-font-primary);
  font-size: var(--pd-font-size-base);
  font-weight: var(--pd-font-weight-normal);
  line-height: 24px;
  margin: 0;
}

.general-landing-hero .ginput_container {
  display: flex;
  align-items: center;
  background-color: var(--pd-neutral-000);
  border: 1px solid var(--pd-container-700);
  border-radius: var(--pd-spacing-1);
  box-sizing: border-box;
  padding: 0 var(--pd-spacing-4);
  min-height: 50px;
  height: 50px;
  width: 100%;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.general-landing-hero .ginput_container:focus-within {
  border-color: var(--pd-secondary-500);
  box-shadow: 0 0 0 3px rgba(0, 71, 186, 0.1);
}

.general-landing-hero .ginput_container input[type="text"],
.general-landing-hero .ginput_container input[type="email"],
.general-landing-hero .ginput_container input[type="tel"],
.general-landing-hero .ginput_container input[type="number"],
.general-landing-hero .ginput_container input[type="url"],
.general-landing-hero .ginput_container select,
.general-landing-hero .ginput_container textarea {
  background: transparent;
  border: none;
  color: var(--pd-neutral-900);
  flex: 1;
  font-family: var(--pd-font-secondary);
  font-size: var(--pd-font-size-sm);
  font-weight: var(--pd-font-weight-normal);
  line-height: 24px;
  outline: none;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  height: auto;
  padding: var(--pd-spacing-3) 0;
}

.general-landing-hero .ginput_container input::placeholder,
.general-landing-hero .ginput_container textarea::placeholder {
  color: var(--pd-container-700);
}

.general-landing-hero .ginput_container select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
}

.general-landing-hero .ginput_container textarea {
  min-height: 100px;
  resize: none;
  padding: var(--pd-spacing-4) 0;
}

/* Select con altura fija */
.general-landing-hero .gfield_select .ginput_container {
  position: relative;
}

/* Checkbox / consent (GF checkbox field) */
.general-landing-hero .gfield_checkbox .ginput_container,
.general-landing-hero .gfield_consent .ginput_container {
  min-height: auto;
  height: auto;
  align-items: flex-start;
  padding: var(--pd-spacing-3) var(--pd-spacing-4);
  border: none;
  background: transparent;
}

.general-landing-hero .gfield_checkbox .ginput_container:focus-within,
.general-landing-hero .gfield_consent .ginput_container:focus-within {
  box-shadow: none;
}

.general-landing-hero .gfield_checkbox .gchoice,
.general-landing-hero .gfield_consent .ginput_container {
  display: flex;
  align-items: flex-start;
  gap: var(--pd-spacing-3);
}

.general-landing-hero .gfield_checkbox input[type="checkbox"],
.general-landing-hero .gfield_consent input[type="checkbox"] {
  width: 24px;
  height: 24px;
  min-height: 24px;
  margin: 0;
  flex-shrink: 0;
  accent-color: var(--pd-success-500);
}

.general-landing-hero .gfield_consent .ginput_container label,
.general-landing-hero .gfield_checkbox .ginput_container label {
  color: var(--pd-neutral-900);
  font-family: var(--pd-font-secondary);
  font-size: var(--pd-font-size-base);
  font-weight: var(--pd-font-weight-normal);
  line-height: 24px;
  cursor: pointer;
}

.general-landing-hero .gfield_consent .ginput_container a,
.general-landing-hero .gfield_checkbox .ginput_container a {
  color: var(--pd-neutral-900);
  text-decoration: underline;
}

.general-landing-hero .gfield_consent .ginput_container a:hover,
.general-landing-hero .gfield_checkbox .ginput_container a:hover {
  color: var(--pd-primary-500);
}

/* Checkbox/consent: separación como en la referencia (fuera del bloque con borde) */
.general-landing-hero .gform_fields .gfield_checkbox,
.general-landing-hero .gform_fields .gfield_consent {
  border-top: 1px solid var(--pd-container-500);
  margin-top: var(--pd-spacing-4);
  padding-top: var(--pd-spacing-4);
}

/* Ocultar descripción/validación por defecto de GF si no se quiere, o estilizar */
.general-landing-hero .gfield_description {
  font-size: var(--pd-font-size-sm);
  color: var(--pd-neutral-600);
  margin-top: var(--pd-spacing-1);
}

.general-landing-hero .gfield_description.validation_message {
  color: var(--pd-error-500);
}

/* Footer y botón enviar (como .pd-button.newCar) */
.general-landing-hero .gform_footer {
  margin: 0;
  padding: 0;
}

.general-landing-hero .gform_footer input[type="submit"],
.general-landing-hero .gform_footer .gform_button,
.general-landing-hero .gform_footer button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  height: 48px;
  padding: var(--pd-spacing-3) var(--pd-spacing-6);
  border: none;
  border-radius: 12px;
  background: var(--pd-new-600);
  color: var(--pd-neutral-000);
  font-family: var(--pd-font-secondary);
  font-size: var(--pd-font-size-base);
  font-weight: var(--pd-font-weight-semi-bold);
  cursor: pointer;
  transition: background 0.2s ease;
}

/* Botón enviar: ancho completo en móvil (como pd-button--full-width-mobile) */
.general-landing-hero .gform_footer {
  margin-top: var(--pd-spacing-4);
}

.general-landing-hero .gform_footer input[type="submit"]:hover,
.general-landing-hero .gform_footer .gform_button:hover,
.general-landing-hero .gform_footer button[type="submit"]:hover {
  background: var(--pd-new-800);
}

/* Grid 2 columnas en tablet+ para campos half (GF usa gfield--width-half) */
@media (min-width: 768px) {
  .general-landing-hero .gform_fields {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--pd-spacing-6);
    padding-bottom: var(--pd-spacing-6);
  }

  .general-landing-hero .gform_fields .gfield.gfield--width-full {
    grid-column: 1 / -1;
  }

  .general-landing-hero .gform_footer {
    display: flex;
    justify-content: flex-end;
  }

  .general-landing-hero .gform_footer input[type="submit"],
  .general-landing-hero .gform_footer .gform_button,
  .general-landing-hero .gform_footer button[type="submit"] {
    width: auto;
  }
}

/* Desktop: botón ancho auto */
@media (min-width: 1024px) {
  .general-landing-hero .gform_footer input[type="submit"],
  .general-landing-hero .gform_footer .gform_button,
  .general-landing-hero .gform_footer button[type="submit"] {
    width: auto;
  }
}

/* ==========================================
   general-landing-works
   ========================================== */
/* Mobile First */
.general-landing-works {
  display: flex;
  flex-direction: column;
}

.general-landing-works__background {
  height: 240px;
  position: relative;
}

.general-landing-works__background img {
  height: 100%;
  object-fit: cover;
}

.general-landing-works__container {
  max-width: var(--pd-container-max-width);
  padding: var(--pd-spacing-6) var(--pd-spacing-4);
  margin-top: -80px;
}

.general-landing-works__card {
  background-color: var(--pd-neutral-000);
  border-radius: var(--pd-spacing-3);
  display: flex;
  flex-direction: column;
  gap: var(--pd-spacing-6);
  padding: var(--pd-spacing-8) var(--pd-spacing-4);
  position: relative;
  z-index: 1;
  box-shadow: 4px 4px 12px 0 rgba(0, 0, 0, 0.12);
}

.general-landing-works__title {
  color: var(--pd-neutral-900);
  text-align: center;
  font-family: var(--pd-font-primary);
  font-size: var(--pd-font-size-2xl);
  font-weight: var(--pd-font-weight-regular);
  line-height: 38px;
  margin: 0;
}

.general-landing-works__items {
  display: flex;
  flex-direction: column;
  gap: var(--pd-spacing-6);
}

.general-landing-works__item {
  display: flex;
  flex-direction: column;
  gap: var(--pd-spacing-2);
  border-bottom: 1px solid var(--pd-container-500);
  padding-bottom: var(--pd-spacing-6);
}

.general-landing-works__item-header {
  display: flex;
  align-items: center;
  gap: var(--pd-spacing-2);
}

.general-landing-works__item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--pd-spacing-9);
  height: var(--pd-spacing-9);
  background-color: var(--pd-primary-500);
  border-radius: 50%;
  flex-shrink: 0;
}

.general-landing-works__item-description {
  display: flex;
  flex-direction: column;
  row-gap: var(--pd-spacing-1);
}

.general-landing-works__item-title {
  color: var(--pd-neutral-900);
  font-family: var(--pd-font-secondary);
  font-size: var(--pd-font-size-base);
  font-weight: var(--pd-font-weight-normal);
  line-height: 24px;
  margin: 0;
}

.general-landing-works__item-description-text {
  margin: 0;
}

.general-landing-works__item-description {
  color: var(--pd-neutral-900);
  font-family: var(--pd-font-secondary);
  font-size: var(--pd-font-size-sm);
  font-weight: var(--pd-font-weight-normal);
  line-height: 22px;
  margin: 0;
}

/* Tablet (≥ 768px y ≤ 1023px) */
@media (min-width: 768px) {
  .general-landing-works__container {
    padding: var(--pd-spacing-12) var(--pd-spacing-6);
    margin-top: -120px;
  }

  .general-landing-works__background {
    height: 320px;
  }

  .general-landing-works__card {
    padding: var(--pd-spacing-8) var(--pd-spacing-6);
    gap: var(--pd-spacing-8);
  }

  .general-landing-works__title {
    font-size: var(--pd-font-size-6xl);
    line-height: 42px;
    text-align: left;
  }

  .general-landing-works__item-header {
    gap: var(--pd-spacing-4);
  }

  .general-landing-works__item-icon {
    width: var(--pd-spacing-12);
    height: var(--pd-spacing-12);
  }

  .general-landing-works__item-title {
    font-size: var(--pd-font-size-md);
    line-height: 26px;
  }

  .general-landing-works__item-description {
    font-size: var(--pd-font-size-base);
    line-height: 24px;
  }
}

/* Desktop (≥ 1024px) */
@media (min-width: 1024px) {
  .general-landing-works {
    padding: calc(var(--pd-spacing-16) * 2) 0;
    position: relative;
  }

  .general-landing-works__background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .general-landing-works__container {
    max-width: var(--pd-container-max-width);
    margin: 0 auto;
    object-fit: cover;
    padding: 0 var(--pd-spacing-5);
    width: 100%;
  }

  .general-landing-works__card {
    max-width: 600px;
  }
}

/* General Landing Works - Background image styles */
.general-landing-works__background img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* General Landing Works - Item header styles */
.general-landing-works__item-header {
  display: flex !important;
  align-items: center !important;
  gap: var(--pd-spacing-2) !important;
}

/* General Landing Works - Item padding bottom */
.general-landing-works__item {
  padding-bottom: var(--pd-spacing-6) !important;
}

.general-landing-works__item:last-child {
  padding-bottom: 0 !important;
  border-bottom: none !important;
}

/* General Landing Works - Item icon image size (mobile: 24px, desktop: 30px) */
.general-landing-works__item-icon img {
  width: 24px !important;
  height: 24px !important;
}

/* General Landing Works - Item description row gap */
.general-landing-works__item-description {
  row-gap: var(--pd-spacing-1) !important;
}

/* General Landing Works - Item header gap in desktop (≥ 768px) */
@media (min-width: 768px) {
  .general-landing-works__item-header {
    gap: var(--pd-spacing-4) !important;
  }
  
  /* General Landing Works - Item icon image size in desktop */
  .general-landing-works__item-icon img {
    width: 30px !important;
    height: 30px !important;
  }
}

/* ==========================================
   general-landing-benefits
   ========================================== */
/* Mobile First */
.general-landing-benefits {
  background-color: var(--pd-primary-500);
  padding: var(--pd-spacing-8) var(--pd-spacing-4);
}

.general-landing-benefits__container {
  display: flex;
  flex-direction: column;
  gap: var(--pd-spacing-6);
  margin: 0 auto;
  max-width: var(--pd-container-max-width);
  width: 100%;
}

.general-landing-benefits__cards {
  display: flex;
  flex-direction: column;
  gap: var(--pd-spacing-4);
}

.general-landing-benefits__card {
  background-color: var(--pd-neutral-000);
  border-radius: var(--pd-spacing-6);
  display: flex;
  flex-direction: column;
  gap: var(--pd-spacing-8);
  padding: var(--pd-spacing-8) var(--pd-spacing-4);
}

.general-landing-benefits__card-title {
  color: var(--pd-neutral-900);
  font-family: var(--pd-font-primary);
  font-size: var(--pd-font-size-xl);
  font-weight: var(--pd-font-weight-medium);
  line-height: 36px;
  margin: 0;
  text-transform: uppercase;
  padding-bottom: var(--pd-spacing-4);
  border-bottom: 1px solid var(--pd-new-600);
  text-align: center;
}

.general-landing-benefits__card-content {
  display: flex;
  flex-direction: column;
  gap: var(--pd-spacing-2);
}

.general-landing-benefits__card-content--reverse {
  flex-direction: column-reverse;
}

.general-landing-benefits__card-subtitle {
  color: var(--pd-neutral-900);
  text-align: center;
  font-family: var(--pd-font-primary);
  font-size: var(--pd-font-size-md);
  font-weight: var(--pd-font-weight-regular);
  line-height: 26px;
  margin: 0;
}

.general-landing-benefits__card-value {
  color: var(--pd-new-600);
  font-family: var(--pd-font-primary);
  font-size: var(--pd-font-size-6xl);
  font-weight: var(--pd-font-weight-bold);
  line-height: 64px;
  margin: 0;
  text-align: center;
}

/* Color del valor destacado según producto: Auto = rojo, Casa = verde, Semi nuevo = amarillo/naranja */
.general-landing-benefits[data-product="auto_nuevo"] .general-landing-benefits__card-value {
  color: var(--pd-new-600);
}
.general-landing-benefits[data-product="casa60"] .general-landing-benefits__card-value,
.general-landing-benefits[data-product="casa120"] .general-landing-benefits__card-value {
  color: var(--pd-house-500);
}
.general-landing-benefits[data-product="semi_nuevo"] .general-landing-benefits__card-value {
  color: var(--pd-semi-new-500);
}

/* Border inferior del título de la tarjeta según producto */
.general-landing-benefits[data-product="auto_nuevo"] .general-landing-benefits__card-title {
  border-bottom-color: var(--pd-new-600) !important;
}
.general-landing-benefits[data-product="casa60"] .general-landing-benefits__card-title,
.general-landing-benefits[data-product="casa120"] .general-landing-benefits__card-title {
  border-bottom-color: var(--pd-house-500) !important;
}
.general-landing-benefits[data-product="semi_nuevo"] .general-landing-benefits__card-title {
  border-bottom-color: var(--pd-semi-new-500) !important;
}

.general-landing-benefits__card-description {
  color: var(--pd-neutral-900);
  text-align: center;
  font-family: var(--pd-font-secondary);
  font-size: var(--pd-font-size-xs);
  font-weight: var(--pd-font-weight-normal);
  line-height: 18px;
  margin: 0;
}

/* Tablet (≥ 768px y ≤ 1023px) */
@media (min-width: 768px) {
  .general-landing-benefits {
    padding: var(--pd-spacing-12) var(--pd-spacing-6);
  }

  .general-landing-benefits__container {
    gap: var(--pd-spacing-16);
  }

  .general-landing-benefits__card {
    gap: var(--pd-spacing-12);
  }

  .general-landing-benefits__card-title {
    font-size: var(--pd-font-size-4xl);
    line-height: 48px;
    min-height: 96px;
  }

  .general-landing-benefits__card-subtitle {
    font-size: var(--pd-font-size-2xl);
    line-height: 38px;
  }

  .general-landing-benefits__card-value {
    font-size: 40px;
    line-height: 72px;
  }

  .general-landing-benefits__card-description {
    font-size: var(--pd-font-size-sm);
    line-height: 18px;
  }
}

/* Desktop (≥ 1024px) */
@media (min-width: 1024px) {
  .general-landing-benefits {
    padding: var(--pd-spacing-16) var(--pd-spacing-5);
  }

  .general-landing-benefits__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--pd-spacing-4);
  }
}

/* General Landing Benefits - Section title color */
.general-landing-benefits .pd-section-title__title {
  color: var(--pd-neutral-000) !important;
}

/* General Landing Benefits - Card title styles */
.general-landing-benefits__card-title {
  color: var(--pd-neutral-900) !important;
  font-family: var(--pd-font-primary) !important;
  font-size: var(--pd-font-size-xl) !important;
  font-weight: var(--pd-font-weight-medium) !important;
  line-height: 36px !important;
  margin: 0 !important;
  text-transform: uppercase !important;
  padding-bottom: var(--pd-spacing-4) !important;
  border-bottom: 1px solid var(--pd-new-600) !important;
  text-align: center !important;
}

/* General Landing Benefits - Card title in tablet (≥ 768px) */
@media (min-width: 768px) {
  .general-landing-benefits__card-title {
    font-size: var(--pd-font-size-4xl) !important;
    line-height: 48px !important;
    min-height: 96px !important;
  }
  
  /* General Landing Benefits - Second card title (PLAZO FIJO) specific min-height */
  .general-landing-benefits__card:nth-child(2) .general-landing-benefits__card-title {
    min-height: 114px !important;
  }
}

/* ==========================================
   shared-testimonials
   ========================================== */
/* Shared Testimonials - Padding */
.shared-testimonials {
  padding: var(--pd-spacing-16) var(--pd-spacing-5) !important;
}

/* Shared Testimonials - Card border width */
.pd-card-testimonial {
  border: 2px solid var(--pd-neutral-000) !important;
}

/* ==========================================
   general-landing-faq
   ========================================== */
/* Mobile First */
.general-landing-faq {
  background-color: var(--pd-neutral-000);
  padding: var(--pd-spacing-8) var(--pd-spacing-4);
}

.general-landing-faq__container {
  margin: 0 auto;
  max-width: var(--pd-container-max-width);
  display: flex;
  flex-direction: column;
  gap: var(--pd-spacing-4);
}

.general-landing-faq__caption {
  display: flex;
  flex-direction: column;
  gap: var(--pd-spacing-1);
}

.general-landing-faq__subtitle {
  color: var(--pd-neutral-900);
  font-size: var(--pd-font-size-base);
  line-height: 24px;
  margin: 0;
  text-align: center;
  text-decoration: underline;
}

.general-landing-faq__accordion {
  max-width: 1024px;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .general-landing-faq {
    padding: var(--pd-spacing-12) var(--pd-spacing-6);
  }

  .general-landing-faq__container {
    gap: var(--pd-spacing-6);
  }
}

@media (min-width: 1024px) {
  .general-landing-faq {
    padding: var(--pd-spacing-16) 0;
  }
}

/* General Landing FAQ - Container max-width */
.general-landing-faq__container {
  max-width: 1024px !important;
}

/* General Landing FAQ - Subtitle text decoration */
.general-landing-faq__subtitle {
  text-decoration: none !important;
}

/* ==========================================
   general-landing-footer
   ========================================== */
/* Mobile First */
.general-landing-footer {
  background-color: var(--pd-container-100);
}

.general-landing-footer__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--pd-spacing-6);
  margin: 0 auto;
  max-width: var(--pd-container-max-width);
  padding: var(--pd-spacing-8) var(--pd-spacing-4);
}

.general-landing-footer__logo {
  width: 134px;
}

.general-landing-footer__description {
  color: var(--pd-neutral-900);
  text-align: center;
  font-family: var(--pd-font-secondary);
  font-size: var(--pd-font-size-sm);
  font-weight: var(--pd-font-weight-normal);
  line-height: 22px;
  margin: 0;
}

.general-landing-footer__social {
  display: flex;
  flex-direction: column;
  gap: var(--pd-spacing-4);
}

.general-landing-footer__social-title {
  color: var(--pd-primary-500);
  text-align: center;
  font-family: var(--pd-font-secondary);
  font-size: var(--pd-font-size-base);
  font-weight: var(--pd-font-weight-semi-bold);
  line-height: 24px;
  margin: 0;
}

.general-landing-footer__social-icons {
  display: flex;
  gap: var(--pd-spacing-4);
  justify-content: center;
}

.general-landing-footer__copyright {
  background-color: var(--pd-primary-500);
  padding: var(--pd-spacing-8) var(--pd-spacing-4);
}

.general-landing-footer__copyright-container {
  margin: 0 auto;
  max-width: var(--pd-container-max-width);
}

.general-landing-footer__copyright-text {
  color: var(--pd-neutral-000);
  text-align: center;
  font-family: var(--pd-font-secondary);
  font-size: var(--pd-font-size-sm);
  font-weight: var(--pd-font-weight-normal);
  line-height: 22px;
  margin: 0;
  text-decoration: underline;
}

/* Tablet (≥ 768px y ≤ 1023px) */
@media (min-width: 768px) {
  .general-landing-footer__container {
    padding: var(--pd-spacing-8) var(--pd-spacing-6);
  }

  .general-landing-footer__content {
    gap: var(--pd-spacing-8);
  }

  .general-landing-footer__copyright {
    padding: var(--pd-spacing-8) var(--pd-spacing-6);
  }

  .general-landing-footer__copyright-text {
    font-size: var(--pd-font-size-base);
    line-height: 24px;
  }
}

/* Desktop (≥ 1024px) */
@media (min-width: 1024px) {
  .general-landing-footer__container {
    padding: var(--pd-spacing-8) 0;
  }

  .general-landing-footer__copyright {
    padding: var(--pd-spacing-8) 0;
  }
}