/* ==========================================================
   LAUXANE HOME — SYSTÈME TYPOGRAPHIQUE GLOBAL
   Référence visuelle : page d'accueil Moments

   Cormorant Garamond : titres / émotion / hiérarchie
   Spectral           : lecture / éditorial / descriptif
   Inter              : navigation / boutons / prix / UI

   Principe :
   - l'italique est volontairement rare ;
   - il reste réservé aux zones émotionnelles et aux accroches ;
   - catalogue, juridique et navigation restent en romain.
   ========================================================== */

:root{
  --heading-font:"Cormorant Garamond", Georgia, "Times New Roman", serif;
  --body-font:"Spectral", Georgia, "Times New Roman", serif;
  --ui-font:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ----------------------------------------------------------
   TEXTE COURANT
   ---------------------------------------------------------- */
body,
.site-content,
.entry-content,
.elementor-widget-text-editor,
.woocommerce,
.woocommerce-page{
  font-family:var(--body-font);
  font-weight:400;
}

/* ----------------------------------------------------------
   TITRES GÉNÉRAUX — ROMAIN PAR DÉFAUT
   L'italique ne doit pas devenir le style automatique du site.
   ---------------------------------------------------------- */
h1,h2,h3,h4,h5,h6,
.entry-title,
.page-title,
.elementor-heading-title,
.woocommerce div.product .product_title,
.woocommerce-products-header__title,
.related.products > h2,
.upsells.products > h2{
  font-family:var(--heading-font) !important;
  font-style:normal !important;
  text-transform:none !important;
  letter-spacing:-.008em;
}

h1,
.page-title,
.entry-title,
.elementor-widget-heading h1.elementor-heading-title{
  font-weight:400 !important;
  line-height:1.06;
}

h2,
.elementor-widget-heading h2.elementor-heading-title,
.related.products > h2,
.upsells.products > h2{
  font-weight:400 !important;
  line-height:1.10;
}

h3,h4,h5,h6,
.elementor-widget-heading h3.elementor-heading-title,
.elementor-widget-heading h4.elementor-heading-title{
  font-weight:500 !important;
  line-height:1.15;
}

/* ----------------------------------------------------------
   INTERFACE
   ---------------------------------------------------------- */
.main-navigation,
.main-navigation a.menu-link,
.lh-mobile-header,
button,
.button,
.btn,
.btn-strong,
.btn-stroke,
input[type="submit"],
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce .price,
.woocommerce-Price-amount,
.lh-priceRow,
.lh-chip,
.lh-pill small{
  font-family:var(--ui-font) !important;
  font-style:normal !important;
}

.main-navigation a.menu-link{
  font-weight:500;
  letter-spacing:.02em;
  text-transform:none;
}

/* ----------------------------------------------------------
   BOUTIQUE / CATALOGUE
   Titres produits lisibles, non italiques.
   ---------------------------------------------------------- */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce-page ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce-page ul.products li.product h2,
.woocommerce ul.products li.product h3,
.lh-product-card__title,
.product-card__title{
  font-family:var(--heading-font) !important;
  font-style:normal !important;
  font-weight:500 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  font-family:var(--ui-font) !important;
  font-style:normal !important;
  font-weight:600;
}

/* Titres de sections commerce : élégants mais fonctionnels. */
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2,
.woocommerce .cross-sells > h2,
.woocommerce-cart h2,
.woocommerce-checkout h2,
.woocommerce-account h2{
  font-style:normal !important;
  font-weight:500 !important;
}

/* ----------------------------------------------------------
   PAGES LÉGALES / ACCORDÉONS / DETAILS
   Pas d'italique répétitif ni de très grosses capitales.
   ---------------------------------------------------------- */
.entry-content details > summary,
.entry-content details > summary *,
.elementor-accordion .elementor-tab-title,
.elementor-accordion .elementor-tab-title *,
.elementor-accordion .elementor-accordion-title{
  font-family:var(--heading-font) !important;
  font-style:normal !important;
  font-weight:500 !important;
  text-transform:none !important;
  letter-spacing:-.005em !important;
}

.entry-content details > summary{
  line-height:1.16;
}

/* ----------------------------------------------------------
   JOURNAL
   Titres en romain ; sous-titres / accroches peuvent rester italiques.
   ---------------------------------------------------------- */
.journal-title,
.journal-page h1,
.journal-page h2,
.journal-page h3,
.journal-archive h1,
.journal-archive h2,
.journal-archive h3,
.post-type-archive-post .entry-title,
.single-post .entry-title{
  font-family:var(--heading-font) !important;
  font-style:normal !important;
  font-weight:500 !important;
  text-transform:none !important;
  letter-spacing:-.008em !important;
}

.journal-subtitle,
.journal-page .subtitle,
.journal-archive .excerpt{
  font-family:var(--body-font);
}

.journal-subtitle{
  font-style:italic;
  font-weight:400;
}

.journal-page p,
.journal-page .excerpt,
.journal-archive p,
.single-post .entry-content{
  font-family:var(--body-font);
  font-style:normal;
}

/* ----------------------------------------------------------
   FOURNISSEURS
   Les noms de marque peuvent rester légèrement éditoriaux ;
   données, fiches et CTA restent fonctionnels.
   ---------------------------------------------------------- */
.lauxane-doc,
.lh-supplier,
.supplier-page,
.lh-suppliers-archive{
  font-family:var(--body-font);
}

.lauxane-doc h2,.lauxane-doc h3,.lauxane-doc h4,
.lh-supplier h1,.lh-supplier h2,.lh-supplier h3,
.supplier-page h1,.supplier-page h2,.supplier-page h3,
.lh-suppliers-archive h1,.lh-suppliers-archive h2,.lh-suppliers-archive h3{
  font-family:var(--heading-font) !important;
  font-variant:normal !important;
  text-transform:none !important;
}

.lh-suppliers-archive .supplier-card .title{
  font-family:var(--heading-font) !important;
  font-style:italic !important;
  font-weight:400 !important;
  letter-spacing:-.006em !important;
}

.lh-supplier .btn,
.lh-supplier .button,
.supplier-page .btn,
.supplier-page .button,
.lh-suppliers-archive .btn,
.lh-suppliers-archive .button,
.kpi-label,
.kpi-value{
  font-family:var(--ui-font) !important;
  font-style:normal !important;
}

/* ----------------------------------------------------------
   FOOTER
   ---------------------------------------------------------- */
.footer-lauxane{
  font-family:var(--body-font) !important;
}

.footer-lauxane h4{
  font-family:var(--heading-font) !important;
  font-style:normal !important;
  font-weight:500 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}

.footer-lauxane .footer-bottom{
  font-family:var(--ui-font);
  font-style:normal;
  font-weight:400;
}

/* ----------------------------------------------------------
   ACCROCHES ÉDITORIALES — ITALIQUE VOLONTAIRE
   ---------------------------------------------------------- */
.lh-kicker,
.lh-heroV7__kicker{
  font-family:var(--body-font) !important;
  font-style:italic !important;
  font-weight:400 !important;
  text-transform:none !important;
}

/* ==========================================================
   HOME — HIÉRARCHIE SPÉCIFIQUE CONSERVÉE
   ========================================================== */

/* H1 : très léger et émotionnel. */
body .lh-home .lh-heroV7__h1{
  font-family:var(--heading-font) !important;
  font-weight:300 !important;
  font-style:italic !important;
  letter-spacing:-.014em !important;
}

body .lh-home .lh-heroV7__h1 em{
  font-weight:500 !important;
  font-style:normal !important;
}

/* Ponctuation du hero : volontairement discrète. */
body .lh-home .lh-heroV7__period{
  font-size:.58em !important;
  font-weight:400 !important;
  font-style:normal !important;
}

/* Titres émotionnels de la galerie / cartes. */
body .lh-home .lh-moment-gallery__title,
body .lh-home .lh-moment-card__name,
body .lh-home .lh-result__title{
  font-family:var(--heading-font) !important;
  font-weight:300 !important;
  font-style:italic !important;
  text-transform:none !important;
  letter-spacing:-.010em !important;
}

body .lh-home .lh-moment-card__eyebrow{
  font-family:var(--body-font) !important;
  font-weight:400 !important;
  font-style:italic !important;
  text-transform:none !important;
}

body .lh-home .lh-moment-card__desc,
body .lh-home .lh-moment-gallery__text{
  font-family:var(--body-font) !important;
  font-weight:400 !important;
  font-style:normal !important;
}

/* Titres du simulateur : éditoriaux, mais un peu plus structurants. */
body .lh-home .lh-h2{
  font-family:var(--heading-font) !important;
  font-weight:400 !important;
  font-style:italic !important;
  text-transform:none !important;
}

/* ----------------------------------------------------------
   MENU LATÉRAL « NOS PRODUITS »
   Cohérence avec la navigation principale :
   Inter = navigation / interface.
   ---------------------------------------------------------- */
.nos-produits-sidebar,
.nos-produits-sidebar nav,
.nos-produits-sidebar a,
.nos-produits-sidebar button,
.nos-produits-sidebar .menu-header h2,
.nos-produits-sidebar .category-row a,
.nos-produits-sidebar .subcategory a{
  font-family:var(--ui-font) !important;
  font-style:normal !important;
  text-transform:none !important;
}

/* Titre du panneau : distinct mais cohérent avec le header. */
.nos-produits-sidebar .menu-header h2{
  font-size:1rem !important;
  font-weight:600 !important;
  line-height:1.35 !important;
  letter-spacing:.01em !important;
}

/* Catégories principales */
.nos-produits-sidebar .category-row > a{
  font-size:.95rem !important;
  font-weight:500 !important;
  line-height:1.4 !important;
  letter-spacing:.02em !important;
}

/* Sous-catégories : légèrement secondaires */
.nos-produits-sidebar .subcategory a{
  font-size:.88rem !important;
  font-weight:400 !important;
  line-height:1.4 !important;
  letter-spacing:.01em !important;
}

/* Contrôles */
.nos-produits-sidebar .toggle-sub,
.nos-produits-sidebar .close-menu-btn{
  font-family:var(--ui-font) !important;
  font-style:normal !important;
  font-weight:500 !important;
}


/* ==========================================================
   PAGES STANDARD / FONCTIONNELLES
   L'italique reste un accent éditorial, jamais le style
   automatique des titres de contenu.
   ========================================================== */

/* Pages WordPress classiques : Nos fondements, Contact,
   pages institutionnelles, pages légales, etc.
   La home conserve ses règles spécifiques plus haut. */
body:not(.home) .site-content .entry-content h1,
body:not(.home) .site-content .entry-content h2,
body:not(.home) .site-content .entry-content h3,
body:not(.home) .site-content .entry-content h4,
body:not(.home) .site-content .entry-title,
body:not(.home) .site-content .page-title{
  font-family:var(--heading-font) !important;
  font-style:normal !important;
  text-transform:none !important;
}

/* Hiérarchie douce : élégante sans devenir "grasse". */
body:not(.home) .site-content .entry-content h1,
body:not(.home) .site-content .entry-title,
body:not(.home) .site-content .page-title{
  font-weight:400 !important;
}

body:not(.home) .site-content .entry-content h2{
  font-weight:400 !important;
}

body:not(.home) .site-content .entry-content h3,
body:not(.home) .site-content .entry-content h4{
  font-weight:500 !important;
}

/* CGV / accordéons : priorité élevée car plusieurs builders
   ou anciens CSS imposaient encore l'italique. */
body:not(.home) .entry-content details > summary,
body:not(.home) .entry-content details > summary *,
body:not(.home) .entry-content summary,
body:not(.home) .entry-content summary *,
body:not(.home) .elementor-accordion .elementor-tab-title,
body:not(.home) .elementor-accordion .elementor-tab-title *,
body:not(.home) .elementor-accordion .elementor-accordion-title,
body:not(.home) [class*="accordion"] summary,
body:not(.home) [class*="accordion"] summary *{
  font-family:var(--heading-font) !important;
  font-style:normal !important;
  font-weight:500 !important;
  text-transform:none !important;
  letter-spacing:-.005em !important;
}

/* Les paragraphes restent en Spectral romain. */
body:not(.home) .site-content .entry-content p,
body:not(.home) .site-content .entry-content li{
  font-family:var(--body-font);
  font-style:normal;
}

