/*
Theme Name: E2S Conseil - Site Stable
Theme URI: https://www.e2s-etudes.fr
Author: E2S Conseil
Author URI: https://www.e2s-etudes.fr
Description: Thème WordPress stable pour E2S Conseil avec image hero appelée par WordPress, boutons cliquables, sous-menus et contenus internes.
Version: 12.1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: e2s-conseil
*/

:root {
  --navy:#061f3f; --navy2:#082c55; --gold:#ffc400; --gold2:#ffd23c;
  --darkgold:#c79b3b; --white:#fff; --light:#f6f8fb; --text:#10213a;
  --muted:#5e6f86; --line:#e6ebf2; --shadow:0 18px 45px rgba(6,31,63,.14);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:#fff;line-height:1.55}
a{text-decoration:none;color:inherit}
.container{width:min(1220px,calc(100% - 42px));margin:0 auto}

.topbar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1000}
.header-inner{min-height:102px;display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:14px;min-width:250px}
.brand-main{display:flex;align-items:baseline;gap:10px;white-space:nowrap}
.brand-e2s{font-size:35px;font-weight:950;letter-spacing:.04em;color:var(--navy);line-height:1}
.brand-conseil{font-size:20px;font-weight:850;letter-spacing:.08em;color:var(--darkgold);line-height:1}
.brand-sub{display:block;margin-top:5px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.17em;color:var(--navy)}
.brand-domain{display:block;margin-top:3px;font-size:11px;color:var(--muted);font-weight:700}
.header-logo{width:74px;height:88px;display:flex;align-items:center;justify-content:center}
.header-logo img{width:74px;height:auto;display:block}

.nav{display:flex;align-items:center;justify-content:center;gap:0;overflow:visible}
.nav-item{position:relative;display:block}
.nav-link{display:inline-flex;align-items:center;gap:6px;padding:39px 10px 36px;border-bottom:2px solid transparent;white-space:nowrap;font-size:12px;font-weight:850;text-transform:uppercase;letter-spacing:.03em;color:#071c36}
.nav-link:hover,.nav-link.active{border-color:var(--gold);color:var(--darkgold)}
.nav-link.has-sub::after{content:"▾";font-size:10px;color:var(--darkgold)}
.submenu{display:none;position:absolute;top:100%;left:0;min-width:265px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:0 0 10px 10px;padding:10px 0;z-index:9999}
.nav-item:hover>.submenu{display:block}
.submenu a{display:block;padding:11px 18px;color:var(--text);font-size:14px;line-height:1.25;font-weight:700;text-transform:none;letter-spacing:0;white-space:nowrap;background:#fff;border:0}
.submenu a:hover{background:var(--light);color:var(--darkgold)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:7px;padding:15px 22px;font-size:13px;font-weight:900;border:1px solid transparent;transition:.2s}
.btn-primary{background:var(--navy);color:#fff}
.btn-primary:hover{background:var(--gold);color:var(--navy)}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:var(--gold2);color:var(--navy)}
.btn-outline-blue{background:var(--navy);color:#fff}
.btn-outline-blue:hover{background:var(--gold);color:var(--navy)}

.hero{
  min-height:620px;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  color:#fff;
  display:flex;
  align-items:center;
}
.hero::before,.hero::after{display:none!important;content:none!important}
.hero-content{display:block!important;max-width:620px;padding:72px 0;margin-left:0}
.hero h1{margin:0;font-size:clamp(48px,5.5vw,78px);line-height:.95;font-weight:950;letter-spacing:.005em;color:#fff}
.hero h1 span{color:var(--gold)}
.hero p{font-size:18px;max-width:570px;margin:28px 0 34px;color:rgba(255,255,255,.94)}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}

.services{background:#fff;padding:34px 0 36px;border-bottom:1px solid var(--line)}
.section-title{text-align:center;color:var(--navy);font-size:30px;margin:0 0 24px;font-weight:900}
.section-title::after{content:"";display:block;width:48px;height:3px;background:var(--gold);margin:10px auto 0}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.service-item{text-align:center;padding:0 34px;position:relative}
.service-item:not(:last-child)::after{content:"";position:absolute;right:0;top:18px;bottom:18px;width:1px;background:var(--line)}
.round-icon{width:86px;height:86px;border-radius:999px;background:#f4f6fa;margin:0 auto 20px;display:grid;place-items:center;color:var(--navy);font-size:38px}
.service-item h3{font-size:15px;text-transform:uppercase;color:var(--navy);letter-spacing:.02em;margin:0 0 10px}
.service-item p{font-size:14px;color:#233751;margin:0 auto;max-width:245px}
.service-item a{display:inline-flex;margin-top:15px;color:var(--navy);font-size:13px;font-weight:800}
.service-item a::after{content:" →";color:var(--gold);margin-left:6px}

.method-band{background:linear-gradient(135deg,#061f3f,#082c55);color:#fff}
.method-wrap{display:grid;grid-template-columns:.9fr 2fr .95fr;align-items:stretch;min-height:235px}
.method-intro{padding:34px 0}.gold-line{width:44px;height:3px;background:var(--gold);margin-bottom:15px}
.method-intro h2{margin:0 0 8px;text-transform:uppercase;font-size:22px;letter-spacing:.03em;color:#fff}
.method-intro strong{display:block;color:var(--gold);font-size:15px;margin-bottom:18px}
.method-intro p{font-size:13px;color:rgba(255,255,255,.8);max-width:360px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;gap:10px;padding:20px 0}
.step{text-align:center;position:relative;padding:0 8px}
.step:not(:last-child)::after{content:"";position:absolute;top:42px;right:-18px;width:45px;border-top:1px dotted rgba(255,255,255,.35)}
.step-icon{width:60px;height:60px;border-radius:999px;border:1px solid var(--gold);display:grid;place-items:center;margin:0 auto 10px;color:#fff;font-size:25px}
.step-num{color:var(--gold);font-weight:900;font-size:13px}
.step h3{margin:2px 0 6px;text-transform:uppercase;font-size:12px;color:#fff}
.step p{margin:0;color:rgba(255,255,255,.78);font-size:11px;line-height:1.35}
.method-visual{background:url('assets/control-room.svg') center/cover no-repeat;min-height:235px}

.page-hero{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:72px 0}
.page-hero h1{font-size:56px;margin:0;line-height:1}.page-hero p{font-size:19px;color:rgba(255,255,255,.82);max-width:850px}
.content-page{padding:70px 0}.content-page h2{color:var(--navy);font-size:34px;margin:0 0 14px;padding-top:18px;scroll-margin-top:135px}
.content-page p,.content-page li{font-size:17px;color:var(--muted)}.content-page ul{padding-left:20px}
.anchor-section{padding-top:18px;margin-bottom:34px}.anchor-section h2{color:var(--navy);font-size:34px;margin:0 0 14px;scroll-margin-top:135px}.anchor-section p{max-width:980px;font-size:17px;color:var(--muted)}

.footer{background:#041428;color:rgba(255,255,255,.75);padding:36px 0}.footer-inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer strong{color:#fff}

@media(max-width:1180px){.nav{display:none}.header-inner{grid-template-columns:auto auto 1fr}.header-logo{justify-self:center}}
@media(max-width:900px){.service-grid,.method-wrap{grid-template-columns:1fr}.service-item{padding:24px 0}.service-item:not(:last-child)::after{display:none}.method-visual{min-height:210px}.steps{grid-template-columns:1fr}.step:not(:last-child)::after{display:none}}
@media(max-width:640px){.container{width:min(100% - 28px,1220px)}.header-inner{min-height:84px;grid-template-columns:1fr auto}.brand-e2s{font-size:28px}.brand-conseil{font-size:16px}.header-logo{display:none}.topbar .btn{display:none}.hero{min-height:520px;background-position:center center}.hero h1{font-size:44px}.page-hero h1{font-size:42px}}


/* HERO IMAGE VALIDÉE */
.hero{
  min-height:620px !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  display:flex !important;
  align-items:center !important;
}

.hero-content{
  display:block !important;
  max-width:620px !important;
  padding:72px 0 !important;
  margin-left:0 !important;
}

.hero h1{
  color:#ffffff !important;
  font-size:clamp(48px,5.5vw,78px) !important;
  line-height:.95 !important;
  font-weight:950 !important;
}

.hero h1 span{
  color:var(--gold) !important;
}

.hero p{
  color:rgba(255,255,255,.95) !important;
  max-width:570px !important;
}

.hero-actions{
  display:flex !important;
  gap:16px !important;
  flex-wrap:wrap !important;
}
