/* ==========================================================================
   REVETEMENT.COM — TYPOGRAPHIE GLOBALE (chargée en dernier sur toutes les pages)
   Titres  : Google Sans (fallbacks Google Sans Text / Product Sans / Noto Sans)
   Sous-titres, chapôs, kickers, méta : Noto Sans
   Texte courant : inchangé (styles existants)
   S'applique aussi aux composants injectés en JS (footer, reco produits,
   fil hot, slider, cartes, portail) car les sélecteurs sont globaux.
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,600&display=swap");

:root {
  --font-title: "Google Sans", "Google Sans Text", "Product Sans", "Noto Sans", "Helvetica Neue", Arial, sans-serif;
  --font-subtitle: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
}

/* ---------- TITRES ---------- */
h1,
h2,
h3,
h4,
h5,
h6,
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a,
.hp-slide h1,
.hp-slide h2,
.hp-slide h3,
.hp-rub-lead h2,
.hp-rub-lead h3,
.hp-card-lead h3,
.hp-section-title,
.hp-rub-head h2,
.hp-webtv-title,
.hp-footer-brand,
.hp-footer-col h4,
.article-title,
.article-page-title,
.modal-article-title,
.card-h3,
.card-title,
.section-title,
.sect-title,
.prod-title,
.product-title,
.product-card-title,
.doc-box-title,
.buy-box-title,
.editorial-subscribe-title,
.quiz-opt-title,
.tv-card-title,
.tv-detail-title,
.tv-hero-title,
.reco-title,
.reco-card-title,
.brand-title,
.cat-title,
.rub-title,
.pf-title,
.sidebar-title,
.widget-title,
[class*="-title"]:not([class*="subtitle"]):not([class*="sous-titre"]),
[class*="-heading"],
[class*="-headline"] {
  font-family: var(--font-title) !important;
  font-style: normal !important;
  letter-spacing: -0.01em;
}
.prod-title {
  font-size: 24px;
}
/* ---------- SOUS-TITRES / CHAPÔS / KICKERS / MÉTA ---------- */
.hp-kicker,
.hp-eyebrow,
.hp-hero-lead,
.hp-webtv-lead,
.hp-rub-lead p,
.hp-rub-head p,
.hp-readtime,
.hp-meta,
.hp-date,
.hp-ticker,
.hp-ticker-item,
.hp-ticker-label,
.hp-footer-col a,
.hp-footer-legal,
.article-excerpt,
.article-page-chapo,
.article-meta,
.article-kicker,
.prod-breadcrumb,
.breadcrumb,
.breadcrumbs,
.editorial-subscribe-lead,
.editorial-signature,
.tv-detail-meta,
.tv-hero-head p,
.tv-card-meta,
.tv-filter,
.reco-lead,
.reco-card-brand,
.reco-badge,
[class*="subtitle"],
[class*="sous-titre"],
[class*="-lead"]:not([class*="-leader"]),
[class*="-dek"],
[class*="-kicker"],
[class*="-chapo"],
[class*="-excerpt"],
[class*="-meta"]:not([class*="-metal"]),
h1 + p.lead,
.lead,
.subtitle,
.chapo {
  font-family: var(--font-subtitle) !important;
}

/* ---------- NAVIGATION & LABELS D'INTERFACE ---------- */
#main-nav-links .nav-item > a,
.nav-item > a,
.nav-link,
.hp-nav a,
.hp-submenu a,
.btn,
.hp-btn,
.btn-submit,
button,
input,
select,
textarea {
  font-family: var(--font-subtitle) !important;
}

/* ---------- PORTAIL DE GESTION ---------- */
.portal-title,
.view-title,
.sidebar .nav-item,
.portal-card h3 {
  font-family: var(--font-title) !important;
}

/* ==========================================================================
   ÉDITEUR & ÉCRANS DE CRÉATION / MODIFICATION (portail de gestion)
   Articles, Produits, Matériaux, WebTV, Brèves, Slider, Sponsors :
   même rendu typographique que le site public.
   ========================================================================== */

/* Titres de vues, cartes, sections et modales d'édition */
.portal-title,
.view-title,
.form-section-title,
.editor-title,
.portal-card-title,
.modal-title,
.panel-title,
.preview-title,
.portal-view h1,
.portal-view h2,
.portal-view h3,
.form-panel h1,
.form-panel h2,
.form-panel h3,
.editor-panel h1,
.editor-panel h2,
.editor-panel h3,
.preview-card h1,
.preview-card h2,
.preview-card h3 {
  font-family: var(--font-title) !important;
  font-style: normal !important;
}

/* Sous-titres, libellés, aides, méta des formulaires */
.portal-subtitle,
.view-subtitle,
.form-label,
.form-hint,
.form-help,
.field-label,
.file-info,
.preview-label,
.preview-excerpt,
.preview-meta,
.badge,
.role-badge,
.status-badge,
.sidebar-section-label,
.portal-card-text,
.table th,
.table td,
.data-table th,
.data-table td {
  font-family: var(--font-subtitle) !important;
}

/* Champs de saisie et éditeur de contenu */
.form-input,
.form-select,
.form-textarea,
.portal-view input,
.portal-view select,
.portal-view textarea,
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="number"],
input[type="date"],
select,
textarea,
[contenteditable="true"],
.editor-content,
.rich-editor {
  font-family: var(--font-subtitle) !important;
}

/* Titres saisis dans l'éditeur : rendu identique au public */
#art-title,
#art-titre,
.editor-title-input,
input.title-input,
[contenteditable="true"] h1,
[contenteditable="true"] h2,
[contenteditable="true"] h3,
.editor-content h1,
.editor-content h2,
.editor-content h3 {
  font-family: var(--font-title) !important;
  font-style: normal !important;
}

/* Boutons du portail */
.btn-submit,
.btn-secondary,
.btn-danger,
.sidebar .nav-item,
.portal-view button,
.portal-view .badge {
  font-family: var(--font-subtitle) !important;
}

/* Footer : typologie identique au menu de navigation */
.hp-footer h5,
.hp-footer .hp-footer-grid li a {
  font-family: "Montserrat", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  letter-spacing: 0.02em !important;
}
