/* ==========================================================
   BDH — POLICES LOCALES
   Chargé très tôt pour éviter le flash de police de secours.
   ========================================================== */

@font-face {
  font-family: 'Nexa';
  src: url('../fonts/nexa-light.woff2') format('woff2'),
    url('../fonts/nexa-light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Nexa';
  src: url('../fonts/nexa-regular.woff2') format('woff2'),
    url('../fonts/nexa-regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: block;
}

/* Centrage optique des seuls CTA ciblés ; Nexa reste inchangée ailleurs. */
@font-face {
  font-family: 'BDH Nexa Buttons';
  src: url('../fonts/nexa-regular.woff2') format('woff2'),
    url('../fonts/nexa-regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: block;
  ascent-override: 85%;
  descent-override: 15%;
  line-gap-override: 0%;
}

.bdh-nexa-centered .elementor-button,
.bdh-property-results [data-bdh-more].bdh-nexa-centered,
.bdh-nexa-centered-search .houzez-search-button,
.bdh-nexa-centered-search .reset-search-btn,
.bdh-search.bdh-nexa-centered-search .bootstrap-select > .dropdown-toggle .filter-option-inner-inner,
.item-wrap .item-amenities :is(.h-beds, .h-baths, .h-cars, .h-area) > span:not(.item-amenities-text),
.chercher-form .houzez-submit-button,
.property-contact-agent-wrap .btn.houzez_agent_property_form {
  /* La typographie locale Elementor est plus spécifique. */
  font-family: 'BDH Nexa Buttons', 'Nexa', sans-serif !important;
}

/* Light : métriques mesurées séparément sur les badges, à 10 et 12px. */
@font-face {
  font-family: 'BDH Nexa Badges';
  src: url('../fonts/nexa-light.woff2') format('woff2'),
    url('../fonts/nexa-light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: block;
  ascent-override: 90%;
  descent-override: 10%;
  line-gap-override: 0%;
}

/* Champs Inquiry en Light : mêmes glyphes, métriques corrigées à 16px.
   Alias Light déjà utilisé par les listes ; aucun alias Regular des CTA.
   !important nécessaire face à la typographie locale du widget Elementor. */
.chercher-form input.elementor-field-textual,
.chercher-form textarea.elementor-field-textual,
.chercher-form .bdh-select-trigger,
.chercher-form .elementor-select-wrapper > select.form-control,
.chercher-form .bdh-select-option {
  font-family: 'BDH Nexa Badges', 'Nexa', sans-serif !important;
}

/* RGPD et boutons News : mêmes métriques Bold corrigées.
   Même fichier Nexa ; aucun changement des boîtes ou de l'interligne. */
@font-face {
  font-family: 'BDH Nexa Consent';
  src: url('../fonts/nexa-bold.woff2') format('woff2'),
    url('../fonts/nexa-bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: block;
  ascent-override: 90%;
  descent-override: 10%;
  line-gap-override: 0%;
}

.chercher-form .gdpr-text-wrap,
.bdh-news-cards .blog-post-link a {
  /* Prioritaire sur la typographie locale Elementor de ce libellé. */
  font-family: 'BDH Nexa Consent', 'Nexa', sans-serif !important;
}

@font-face {
  font-family: 'Nexa';
  src: url('../fonts/nexa-bold.woff2') format('woff2'),
    url('../fonts/nexa-bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'The Seasons';
  src: url('../fonts/the-seasons-light.woff2') format('woff2'),
    url('../fonts/the-seasons-light.woff') format('woff');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'The Seasons';
  src: url('../fonts/the-seasons-regular.woff2') format('woff2'),
    url('../fonts/the-seasons-regular.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'The Seasons';
  src: url('../fonts/the-seasons-bold.woff2') format('woff2'),
    url('../fonts/the-seasons-bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: 'Merriweather';
  src: url('../fonts/merriweather-light-italic.woff2') format('woff2'),
    url('../fonts/merriweather-light-italic.woff') format('woff');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

/* ==========================================================
   Titres BDH
   Nexa éditoriale relève des contrôles Elementor et des ciblages BDH.
   Aucun font-family de base sur les champs ou commandes natifs Houzez.
   ========================================================== */

html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6 {
  font-family: 'The Seasons', serif;
}

/* État commun piloté par js/bdh-icons.js, chargé dans le head.
   Masque les glyphes sans retirer leur place ni cacher les boutons.
   Couvre aussi les éléments insérés après le chargement (AJAX).
   Sans JavaScript, cette classe n'est pas ajoutée. */
html.bdh-icons-pending .houzez-icon::before,
html.bdh-icons-pending .property-overview-data ul:has(> .h-c3a9tage-de-l-appartements) > .property-overview-item::before {
  visibility: hidden;
}
