/* =====================================================================
   Página "Reformas Integrales"
   ===================================================================== */

/* ---------- Hero (imagen de fondo, sin degradado) ---------- */
.reformas-hero.fdq-hero-banner {
  background-image: url("../../images/reformas/reformas-integrales-madrid.webp");
  background-size: cover;
  background-position: center;
}
/* El SVG "solicitud" es blanco; en el botón cian lo oscurecemos para que contraste */
.reformas-hero .fdq-btn--fonta-call .fdq-btn-icon { filter: brightness(0); }

/* ---------- Especialidades ---------- */
.reformas-specialties { padding-block: var(--fdq-space-xl); }
.reformas-specialties__inner {
  display: flex;
  flex-direction: column;
  gap: var(--fdq-space-lg);
  max-width: var(--fdq-container-max);
  margin-inline: auto;
  padding-inline: var(--fdq-space-md);
}
.reformas-shead { display: flex; flex-direction: column; align-items: center; gap: var(--fdq-space-xs); text-align: center; }
.reformas-shead__title { margin: 0; color: var(--fdq-on-surface); }
.reformas-shead__bar { width: 80px; height: 3px; min-height: 0; background-color: var(--fdq-secondary-container); }
.reformas-specialties__grid { display: grid; grid-template-columns: 1fr; gap: var(--fdq-space-md); }
.reformas-specialties__grid > * { margin-block: 0; }
.reformas-card {
  display: flex;
  flex-direction: column;
  gap: var(--fdq-space-sm);
  padding: var(--fdq-space-md);
  background-color: var(--fdq-surface-container-lowest);
  border: 1px solid var(--fdq-outline-variant);
  border-left: 4px solid var(--fdq-secondary-container);
  border-radius: var(--fdq-radius-md);
  transition: box-shadow var(--fdq-duration-base) var(--fdq-ease-out);
}
.reformas-card:hover { box-shadow: var(--fdq-shadow-lg); }
.reformas-card__icon { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin: 0; background-color: var(--fdq-primary-container); border-radius: var(--fdq-radius-sm); }
.reformas-card__icon .material-symbols-outlined { color: #fff; font-size: 32px; }
.reformas-card__title { margin: 0; font-size: var(--fdq-fs-h3); font-weight: 600; color: var(--fdq-on-surface); }
.reformas-card__text { margin: 0; color: var(--fdq-on-surface-variant); }

/* ---------- Diferenciador ---------- */
.reformas-difference { padding-block: var(--fdq-space-xl); border-block: 1px solid var(--fdq-outline-variant); }
.reformas-difference__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--fdq-space-lg);
  align-items: center;
  max-width: var(--fdq-container-max);
  margin-inline: auto;
  padding-inline: var(--fdq-space-md);
}
.reformas-difference__content { display: flex; flex-direction: column; gap: var(--fdq-space-md); }
.reformas-difference__title { margin: 0; color: var(--fdq-on-surface); }
.reformas-difference__text { margin: 0; color: var(--fdq-on-surface-variant); line-height: 1.625; }
.reformas-box {
  gap: var(--fdq-space-sm);
  align-items: flex-start;
  margin-top: var(--fdq-space-xs);
  padding: var(--fdq-space-md);
  background-color: var(--fdq-primary-container);
  border-radius: var(--fdq-radius-md);
  box-shadow: var(--fdq-shadow-sm);
}
.reformas-box__icon { margin: 0; }
.reformas-box__icon .material-symbols-outlined { color: var(--fdq-secondary-container); font-size: 28px; }
.reformas-box__body > * { margin: 0; }
.reformas-box__label { margin-bottom: var(--fdq-space-base); font-size: 12px; font-weight: 700; color: var(--fdq-secondary-container); }
.reformas-box__text { font-size: 14px; line-height: 1.6; color: rgba(255, 255, 255, 0.95); }
.reformas-box__text a { color: var(--fdq-secondary-container); font-weight: 700; text-underline-offset: 3px; }
.reformas-difference__media {
  width: 100%;
  min-height: 300px;
  aspect-ratio: 16 / 9;
  background-color: var(--fdq-surface-dim);
  border: 1px solid var(--fdq-outline-variant);
  border-radius: var(--fdq-radius-lg);
}

/* ---------- Cobertura ---------- */
.reformas-coverage { padding-block: var(--fdq-space-xl); }
.reformas-coverage__inner { display: flex; flex-direction: column; align-items: center; gap: var(--fdq-space-md); max-width: 48rem; margin-inline: auto; padding-inline: var(--fdq-space-md); text-align: center; }
.reformas-coverage__icon { margin: 0; }
.reformas-coverage__icon .material-symbols-outlined { color: var(--fdq-primary-container); font-size: 48px; }
.reformas-coverage__title { margin: 0; color: var(--fdq-on-surface); }
.reformas-coverage__text { margin: 0; font-size: var(--fdq-fs-body-lg); color: var(--fdq-on-surface-variant); }

/* ---------- Galería antes/después ---------- */
.reformas-gallery { padding-block: var(--fdq-space-xl); }
.reformas-gallery__inner { display: flex; flex-direction: column; gap: var(--fdq-space-lg); max-width: var(--fdq-container-max); margin-inline: auto; padding-inline: var(--fdq-space-md); }
.reformas-ghead { display: flex; flex-direction: column; gap: var(--fdq-space-xs); text-align: center; }
.reformas-ghead__title { margin: 0; color: var(--fdq-on-surface); }
.reformas-ghead__subtitle { margin: 0; color: var(--fdq-on-surface-variant); }
.reformas-gallery__grid { display: grid; grid-template-columns: 1fr; gap: var(--fdq-space-md); }
.reformas-gallery__grid > * { margin-block: 0; }
.reformas-pair { display: flex; flex-direction: column; gap: var(--fdq-space-md); }
.reformas-pair__frame {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--fdq-space-xs);
}
.reformas-pair__frame > * { margin-block: 0; }
.reformas-shot { position: relative; aspect-ratio: 4 / 3; background-color: var(--fdq-surface-dim); border-radius: var(--fdq-radius-sm); }
.reformas-shot__label {
  position: absolute;
  top: var(--fdq-space-xs);
  left: var(--fdq-space-xs);
  margin: 0;
  padding: 2px var(--fdq-space-xs);
  background-color: rgba(0, 0, 0, 0.8);
  color: #fff;
  border-radius: var(--fdq-radius-sm);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.reformas-shot__label--after { background-color: var(--fdq-secondary-container); color: var(--fdq-primary); }
.reformas-pair__caption { margin: 0; text-align: center; font-weight: 700; color: var(--fdq-on-surface); }

/* ---------- Formulario ----------
   El formulario reutiliza los estilos de la página de Contacto (.cont-form__box,
   definidos en contacto.css), así que aquí solo maquetamos el contenedor y la
   cabecera. Las reglas de campos propias se han eliminado para no competir con
   las de contacto (que deben prevalecer). */
.reformas-form { padding-block: var(--fdq-space-xl); }
.reformas-form__card {
  max-width: 56rem;
  margin-inline: auto;
  padding-inline: var(--fdq-space-md);
}
.reformas-form__head { display: flex; flex-direction: column; gap: var(--fdq-space-xs); margin-bottom: var(--fdq-space-lg); text-align: center; }
.reformas-form__title { margin: 0; color: var(--fdq-primary-container); }
.reformas-form__subtitle { margin: 0; color: var(--fdq-on-surface-variant); }

/* ---------- Responsive ---------- */
@media (min-width: 768px) {
  .reformas-shead { align-items: flex-start; text-align: left; }
  .reformas-specialties__grid { grid-template-columns: repeat(2, 1fr); }
  .reformas-difference__inner { grid-template-columns: repeat(2, 1fr); }
  .reformas-gallery__grid { grid-template-columns: repeat(2, 1fr); }
}

/* =====================================================================
   Iconos SVG (sustituyen a los material symbols) y fotos con <img>
   ===================================================================== */
.reformas-card__icon .fdq-icon-img { width: 32px; height: 32px; }
.reformas-box__icon .fdq-icon-img { width: 28px; height: 28px; }
.reformas-coverage__icon .fdq-icon-img { width: 48px; height: 48px; }

/* Foto del diferenciador */
.reformas-difference__media { overflow: hidden; }
.reformas-difference__img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Galería: cada par es una imagen compuesta (antes/después) que ocupa todo el marco */
.reformas-pair__frame { grid-template-columns: 1fr; }
.reformas-pair__img { display: block; width: 100%; height: auto; border-radius: var(--fdq-radius-sm); }
