/*
Theme Name: EH Nova (Divi)
Theme URI: https://www.eh-nova.fr
Author: EH Nova
Description: Thème enfant Divi pour EH Nova — From Vision to Market. Toutes les pages sont construites avec le Divi Builder et restent entièrement modifiables. Ce fichier ne contient que la charte graphique (couleurs, typographies, finitions).
Template: Divi
Version: 1.0.5
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: eh-nova-divi
*/

/* ============================================================
   DESIGN TOKENS — charte EH Nova
   ============================================================ */
:root{
  --navy:#0D1117;
  --navy-2:#1A1F26;
  --gold:#C89D6E;
  --gold-dim:rgba(200,157,110,.45);
  --cream:#F3EFE7;
  --paper:#FFFFFF;
  --mid:#6E6A62;
  --soft:#B9B4A8;
  --hairline:#E4DFD3;
  --hairline-dark:rgba(243,239,231,.14);
  --font-display:'Montserrat',-apple-system,'Helvetica Neue',sans-serif;
  --font-text:'Lora',Georgia,serif;
}

/* Les sélecteurs commencent par .et_pb_section pour passer devant les styles
   par défaut de Divi, sans !important : les réglages faits dans le Builder
   (couleurs, tailles…) restent prioritaires. */

/* ============================================================
   TYPOGRAPHIE
   ============================================================ */
body{font-family:var(--font-text);color:var(--mid);-webkit-font-smoothing:antialiased}
.et_pb_section .et_pb_module h1,.et_pb_section .et_pb_module h2,.et_pb_section .et_pb_module h3{
  font-family:var(--font-display);color:var(--navy);padding-bottom:0}
.et_pb_section .ehn-h1 h1{font-size:clamp(34px,4.6vw,58px);font-weight:300;line-height:1.1;letter-spacing:-.01em}
.et_pb_section .ehn-h1--xl h1{font-size:clamp(38px,6vw,80px);max-width:18ch}
.et_pb_section .ehn-h1 h1 em{font-style:normal;color:var(--gold)}
.et_pb_section .ehn-h2 h2{font-size:clamp(28px,3.4vw,42px);font-weight:300;line-height:1.15;letter-spacing:-.01em}
.et_pb_section .et_pb_module h3{font-size:19px;font-weight:500;line-height:1.3;margin-bottom:10px}
.et_pb_section .ehn-lead p{font-size:clamp(16px,1.4vw,19px);line-height:1.7;max-width:56ch}
.et_pb_section .ehn-desc p{font-size:15px;line-height:1.7;max-width:40ch}
.et_pb_section .ehn-body p{font-size:15.5px;line-height:1.85;padding-bottom:1.1em}
.ehn-center,.ehn-center p,.ehn-center h2,.et_pb_module.ehn-center,.et_pb_module.ehn-center .et_pb_text_inner{text-align:center}
.et_pb_section .ehn-center .et_pb_text_inner p{margin-left:auto;margin-right:auto}
.ehn-align-end{align-self:flex-end}

.et_pb_section .et_pb_row .et_pb_module.ehn-eyebrow{margin-bottom:16px}
.ehn-eyebrow,.ehn-eyebrow p,.ehn-label{
  font-family:var(--font-display);font-size:11.5px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--gold)}
.et_pb_section .ehn-label{padding-bottom:6px;margin-top:18px}
.et_pb_section .ehn-label:first-child{margin-top:0}

/* ============================================================
   SECTIONS SOMBRES (hero, méthode, footer)
   ============================================================ */
.et_pb_section.ehn-dark,.et_pb_section.ehn-dark p{color:var(--soft)}
.et_pb_section.ehn-dark .et_pb_module h1,
.et_pb_section.ehn-dark .et_pb_module h2,
.et_pb_section.ehn-dark .et_pb_module h3{color:var(--cream)}
.et_pb_section.ehn-hero{position:relative;overflow:hidden}
.et_pb_section.ehn-hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 55% at 88% 0%,rgba(200,157,110,.14),transparent 70%)}
.et_pb_section.ehn-hero .et_pb_row{position:relative;z-index:1}

.ehn-badge .et_pb_text_inner{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--gold-dim);
  padding:8px 16px;border-radius:40px;font-family:var(--font-display);font-size:11px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.et_pb_section .et_pb_row .et_pb_module.ehn-badge{margin-bottom:40px}
.ehn-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);animation:ehn-pulse 2.4s ease-in-out infinite}
@keyframes ehn-pulse{0%,100%{opacity:1}50%{opacity:.25}}

.ehn-strip p{display:flex;flex-wrap:wrap;gap:8px 0;padding-top:34px;margin-top:40px;border-top:1px solid var(--hairline-dark)}
.ehn-strip span{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;color:#8B8579}
.ehn-strip span+span::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;
  background:var(--gold);margin:0 14px;vertical-align:middle}

/* ============================================================
   BOUTONS — alignement côte à côte
   ============================================================ */
.ehn-btn-row .et_pb_button_module_wrapper{display:inline-block;margin:0 12px 14px 0}
.ehn-btn-row--center{text-align:center}
.ehn-btn-row--center .et_pb_button_module_wrapper{margin:0 6px 14px}
.et_pb_button_module_wrapper.ehn-center,.ehn-center.et_pb_button_module_wrapper{text-align:center}
.et_pb_section .et_pb_button.ehn-btn{text-transform:uppercase;line-height:1}
.et_pb_section .et_pb_button,.et_pb_section .et_pb_button:hover,.et_pb_contact_submit,.et_pb_contact_submit:hover{text-decoration:none}

/* ============================================================
   CARTES, ÉTAPES, LISTES
   ============================================================ */
.et_pb_equal_columns>.et_pb_column>.et_pb_module:only-child{height:100%}
.ehn-card{background:var(--paper);border:1px solid var(--hairline);padding:clamp(26px,3vw,38px);
  transition:background .4s ease,transform .4s ease}
.ehn-card.et_clickable:hover{transform:translateY(-4px)}
.ehn-card.et_clickable:hover h3{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.ehn-card p,.ehn-why p,.ehn-forwho p,.ehn-step p{font-size:14.5px;line-height:1.7}
.ehn-ref{display:block;font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.12em;
  color:var(--gold);margin-bottom:30px}
.ehn-sector .ehn-ref{font-size:26px;font-weight:300;letter-spacing:0;margin-bottom:20px}

.ehn-why{border-top:1px solid var(--hairline);padding-top:26px}
.ehn-why h3::before{content:"";display:block;width:26px;height:1px;background:var(--gold);margin-bottom:16px}

.ehn-forwho{border-top:2px solid var(--gold);padding-top:22px}
.et_pb_section .ehn-forwho h3{font-size:16px}

.ehn-step{border-top:1px solid var(--hairline-dark);padding-top:28px}
.ehn-step .ehn-ref{margin-bottom:18px}
.et_pb_section.ehn-dark .ehn-step p{color:#9C9689;font-size:13.5px}

.ehn-tags p{display:flex;flex-wrap:wrap;gap:10px;padding:26px 0}
.ehn-tags span{font-family:var(--font-display);font-size:11.5px;font-weight:500;letter-spacing:.04em;
  border:1px solid var(--hairline);padding:8px 16px;border-radius:40px;color:var(--navy)}
.ehn-chain p{font-family:var(--font-display);font-size:12.5px;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;color:var(--mid);line-height:2}

.ehn-quote blockquote{border:0;border-left:2px solid var(--gold);padding:2px 0 2px 24px;margin:6px 0 26px;
  font-family:var(--font-display);font-weight:300;font-size:clamp(19px,2vw,26px);line-height:1.45;color:var(--navy)}
.ehn-quote.ehn-center blockquote{border-left:0;padding:0;max-width:30ch;margin:0 auto}

/* ============================================================
   PAGE EXPERTISES
   ============================================================ */
.et_pb_row.ehn-expertise{border-bottom:1px solid var(--hairline);padding:52px 0}
.et_pb_row.ehn-expertise:first-child{padding-top:0}
.et_pb_row.ehn-expertise:last-child{border-bottom:0}
.ehn-num span{font-family:var(--font-display);font-size:clamp(32px,3.4vw,46px);font-weight:300;color:var(--gold);line-height:1}
.ehn-expertise-body .ehn-short{font-size:17px;line-height:1.7;padding-bottom:22px}
.et_pb_text.ehn-expertise-body ul{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 30px}
.et_pb_text.ehn-expertise-body li{position:relative;padding-left:20px;font-size:14.5px;line-height:1.6;color:var(--navy)}
.et_pb_text.ehn-expertise-body li::before{content:"";position:absolute;left:0;top:9px;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.ehn-note{margin-top:22px;font-style:italic;font-size:14.5px;padding-left:20px;border-left:2px solid var(--gold-dim)}

/* ============================================================
   À PROPOS
   ============================================================ */
.ehn-portrait img{border-radius:4px;width:100%}
.ehn-signature p{font-size:13px;line-height:1.6}
.ehn-signature strong{font-family:var(--font-display);font-size:15px;font-weight:500;color:var(--navy)}

/* ============================================================
   CONTACT
   ============================================================ */
.et_pb_module.ehn-form .et_pb_contact_field .input{background:var(--paper);border:1px solid var(--hairline);
  border-radius:2px;padding:15px 16px;font-family:var(--font-text);font-size:15px;color:var(--navy)}
.et_pb_module.ehn-form .et_pb_contact_field .input:focus{border-color:var(--gold)}
.et_pb_module.ehn-form .et_contact_bottom_container{float:none;text-align:left}
.et_pb_module.ehn-form .et_pb_contact_submit{margin-left:0;text-transform:uppercase}
.et_pb_module.ehn-form .et_pb_contact_right p{font-family:var(--font-display);font-size:14px;color:var(--navy)}
.et_pb_module.ehn-form input.et_pb_contact_captcha{background:var(--paper);border:1px solid var(--hairline);border-radius:2px;padding:12px;width:64px;color:var(--navy)}
.ehn-contact-card{background:var(--cream);padding:clamp(28px,3vw,38px);border-radius:4px}
.ehn-contact-card a{color:var(--navy)}
.ehn-contact-card a:hover{color:var(--gold)}

/* ============================================================
   PAGES LÉGALES
   ============================================================ */
.ehn-legal{max-width:820px}
.et_pb_section .ehn-legal h2{font-size:21px;font-weight:500;margin:38px 0 12px;padding-top:30px;border-top:1px solid var(--hairline)}
.et_pb_section .ehn-legal h2:first-child{margin-top:0;padding-top:0;border-top:0}
.ehn-legal p{font-size:15px;line-height:1.8}
.ehn-legal a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}

/* ============================================================
   HEADER (en-tête Divi natif)
   ============================================================ */
#main-header{box-shadow:none;border-bottom:1px solid var(--hairline)}
#main-header.et-fixed-header{box-shadow:0 8px 30px -20px rgba(13,17,23,.35)}
#top-menu li a{font-family:var(--font-display);font-size:12.5px;font-weight:500;letter-spacing:.05em;text-transform:uppercase}
#top-menu li.ehn-menu-cta{padding-right:0;margin-left:10px}
#et-top-navigation #top-menu li.ehn-menu-cta>a{background:var(--gold);color:var(--navy);padding:13px 22px;margin-top:-13px;border-radius:2px;
  font-weight:600;transition:background .3s}
#et-top-navigation #top-menu li.ehn-menu-cta>a:hover{background:#D7AC7C;opacity:1}
#mobile_menu li.ehn-menu-cta a{background:var(--gold);color:var(--navy);text-align:center;margin-top:10px;font-weight:600}

/* ============================================================
   FOOTER (Theme Builder)
   ============================================================ */
.et_pb_row.ehn-footer-cta{padding-bottom:64px;border-bottom:1px solid var(--hairline-dark)}
.et_pb_row.ehn-footer-links{padding:56px 0}
.ehn-footer-logo img{max-width:230px}
.ehn-footer-text p{font-size:13.5px;line-height:1.9}
.ehn-footer-text a{color:var(--soft);transition:color .25s}
.ehn-footer-text a:hover{color:var(--cream)}
.ehn-footer-bottom p{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:26px;
  border-top:1px solid var(--hairline-dark);font-family:var(--font-display);font-size:11px;font-weight:500;
  letter-spacing:.05em;color:#7A7568}
.ehn-footer-bottom a{color:#9C9689}
.ehn-footer-bottom a:hover{color:var(--cream)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
  .et_pb_text.ehn-expertise-body ul{grid-template-columns:1fr}
  .et_pb_row.ehn-expertise{padding:40px 0}
  .ehn-footer-bottom p{flex-direction:column;text-align:center;align-items:center}
}
@media (max-width:560px){
  .ehn-btn-row .et_pb_button_module_wrapper{display:block;margin-right:0}
  .ehn-btn-row .et_pb_button{display:block;text-align:center}
}
