/**
 * LV BIENES RAÍCES · TIPOGRAFÍA GLOBAL
 * Aumento moderado de textos y CTA.
 * No modifica títulos, imágenes, layouts, endpoints ni datos de Tokko.
 */

:root {
  --lv-type-body: clamp(15px, 1.08vw, 17px);
  --lv-type-body-mobile: 15px;
  --lv-type-support: 13px;
  --lv-type-button: 13px;
  --lv-type-button-mobile: 14px;
}

/* Texto estándar creado con Elementor. */
body .elementor-widget-text-editor p,
body .elementor-widget-text-editor li {
  font-size: var(--lv-type-body) !important;
  line-height: 1.8 !important;
}

/* HOME */
body .lvStageHero__copy,
body .lvStageProps__head > p,
body .lvStageEmpty {
  font-size: var(--lv-type-body) !important;
}

body .lvStageHero__actions a,
body .lvStageProps__moreButton,
body .lvStageRetry,
body .lvStageCard__link {
  font-size: var(--lv-type-button) !important;
}

/* EMPRESA */
body .lvCompanyHero__copy,
body .lvCompanyStory__body p,
body .lvCompanyPillars article p {
  font-size: var(--lv-type-body) !important;
}

body .lvCompanyCredentials__role {
  font-size: 15px !important;
}

body .lvCompanyCredentials__data p {
  font-size: var(--lv-type-support) !important;
}

body .lvCompanyCta__actions a {
  font-size: var(--lv-type-button) !important;
}

/* CONTACTO */
body .lvContactHero__copy > p:last-of-type,
body .lvContactHero__aside p,
body .lvContactInfo__items p,
body .lvContactForm__head p,
body .lvContactSteps article p {
  font-size: var(--lv-type-body) !important;
}

body .lvContactHero__copy > a,
body .lvContactSubmit,
body .lvContactFooter__grid a {
  font-size: var(--lv-type-button) !important;
}

body .lvContactField > span,
body .lvContactConsent,
body .lvContactResult {
  font-size: 12px !important;
}

/* TASACIÓN */
body .lvValuationHero__copy > p:not(.lvValuationEyebrow),
body .lvValuationHero__note p,
body .lvValuationFormSection__intro > p:not(.lvValuationEyebrow),
body .lvValuationProcess article p {
  font-size: var(--lv-type-body) !important;
}

body .lvValuationHero__copy > a,
body .lvValuationFormSection__contact a,
body .lvValuationSubmit {
  font-size: var(--lv-type-button) !important;
}

body .lvValuationField > span,
body .lvValuationConsent,
body .lvValuationForm__result {
  font-size: 12px !important;
}

/* LISTADOS: /propiedades/, /ventas/ y /alquileres/. */
body .lvPropertiesHero__copy p,
body .lvPropertiesCatalog__head > p,
body .lvPropertiesEmpty > p:not(.lvPropertiesEyebrow) {
  font-size: var(--lv-type-body) !important;
}

body .lvPropertiesHero__copy a,
body .lvPropertiesChips button,
body .lvPropertiesSelect select,
body .lvPropertiesReset,
body .lvPropertiesFilterToggle span,
body .lvPropertiesEmpty button,
body .lvPropertiesMore button span,
body .lvPropertiesCard__link {
  font-size: var(--lv-type-button) !important;
}

/* Las tarjetas crecen solo lo necesario para conservar su composición. */
body .lvPropertiesCard__location,
body .lvStageCard__location {
  font-size: 11px !important;
}

body .lvPropertiesCard__fact,
body .lvStageCard__fact,
body .lvPropertiesCard__facts,
body .lvStageCard__facts {
  font-size: 10px !important;
}

body .lvPropertiesCard h3,
body .lvStageCard h3 {
  font-size: 17px !important;
}

/* DETALLE INDIVIDUAL DE PROPIEDAD */
body .lvPropertyDescription,
body .lvPropertyLocation > p:last-child,
body .lvPropertyLocation > [data-location-note],
body .lvPropertyContact > p:not(.lvPropertyEyebrow) {
  font-size: var(--lv-type-body) !important;
}

body .lvPropertyError > p:not(.lvPropertyEyebrow) {
  font-size: var(--lv-type-body) !important;
}

body .lvPropertyError button,
body .lvPropertyError a,
body .lvPropertyContact a,
body .lvPropertyContact button,
body .lvPropertyGallery__expand,
body .lvPropertyLightbox__top,
body .lvPropertyLightbox__top button {
  font-size: var(--lv-type-button) !important;
}

body .lvPropertyIntro__location,
body .lvPropertyDetails dt,
body .lvPropertyDetails dd,
body .lvPropertyService {
  font-size: var(--lv-type-support) !important;
}

/* Formularios genéricos de Elementor, Forminator y WordPress. */
body .elementor-button,
body .wp-element-button,
body .wp-block-button__link,
body .forminator-button,
body input[type="submit"]:not(.search-submit),
body button[type="submit"]:not([class*="arrow"]):not([class*="hamburger"]) {
  font-size: var(--lv-type-button) !important;
}

@media (max-width: 767px) {
  body .elementor-widget-text-editor p,
  body .elementor-widget-text-editor li,
  body .lvStageHero__copy,
  body .lvStageProps__head > p,
  body .lvCompanyHero__copy,
  body .lvCompanyStory__body p,
  body .lvCompanyPillars article p,
  body .lvContactHero__copy > p:last-of-type,
  body .lvContactHero__aside p,
  body .lvContactInfo__items p,
  body .lvContactForm__head p,
  body .lvContactSteps article p,
  body .lvValuationHero__copy > p:not(.lvValuationEyebrow),
  body .lvValuationHero__note p,
  body .lvValuationFormSection__intro > p:not(.lvValuationEyebrow),
  body .lvValuationProcess article p,
  body .lvPropertiesHero__copy p,
  body .lvPropertiesCatalog__head > p,
  body .lvPropertyDescription,
  body .lvPropertyLocation > p:last-child,
  body .lvPropertyLocation > [data-location-note],
  body .lvPropertyContact > p:not(.lvPropertyEyebrow) {
    font-size: var(--lv-type-body-mobile) !important;
    line-height: 1.8 !important;
  }

  body .lvStageHero__actions a,
  body .lvStageProps__moreButton,
  body .lvCompanyCta__actions a,
  body .lvContactHero__copy > a,
  body .lvContactSubmit,
  body .lvValuationHero__copy > a,
  body .lvValuationFormSection__contact a,
  body .lvValuationSubmit,
  body .lvPropertiesHero__copy a,
  body .lvPropertiesChips button,
  body .lvPropertiesSelect select,
  body .lvPropertiesReset,
  body .lvPropertiesFilterToggle span,
  body .lvPropertiesMore button span,
  body .lvPropertiesCard__link,
  body .lvPropertyContact a,
  body .lvPropertyContact button,
  body .elementor-button,
  body .wp-element-button,
  body .wp-block-button__link,
  body .forminator-button,
  body input[type="submit"]:not(.search-submit),
  body button[type="submit"]:not([class*="arrow"]):not([class*="hamburger"]) {
    font-size: var(--lv-type-button-mobile) !important;
  }
}

