/*
Theme Name: Entrepreneur d'ici
Theme URI: https://agencemi.com
Author: The Ghost Agency
Author URI: https://agencemi.com
Description: Thème sur mesure pour la communauté "Entrepreneur d'ici" — landing page, répertoire et fiches entrepreneurs, harmonisé avec l'extension edi-repertoire.
Version: 1.5.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: edi-theme
*/

@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');

:root{
	--cream:#FBF1E4;
	--cream-2:#F4E6D2;
	--forest:#173B2E;
	--forest-2:#0F2921;
	--orange:#E85A1B;
	--orange-2:#C6480F;
	--olive:#7E9A3D;
	--ink:#1B1B18;
	--paper:#FFFDF9;
	--line: rgba(23,59,46,0.13);
	--shadow-sm: 0 2px 8px rgba(23,59,46,0.06);
	--shadow: 0 12px 30px rgba(23,59,46,0.10);
	--shadow-lift: 0 18px 36px rgba(23,59,46,0.15);
	--ring: 0 0 0 4px rgba(232,90,27,0.14);
}

*{ box-sizing:border-box; }
body{
	font-family:'Manrope', sans-serif;
	background:var(--cream);
	color:var(--ink);
	line-height:1.6;
	margin:0;
	-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{ font-family:'Space Grotesk', sans-serif; letter-spacing:-0.02em; color:var(--forest-2); }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
.site-wrap{ max-width:1160px; margin:0 auto; padding:0 28px; }

/* ---------- HEADER ---------- */
.site-header{
	position:sticky; top:0; z-index:50;
	background:rgba(251,241,228,0.88);
	backdrop-filter:blur(12px);
	border-bottom:1px solid var(--line);
}
.header-inner{
	display:flex; align-items:center; justify-content:space-between; gap:16px;
	padding:14px 28px; max-width:1160px; margin:0 auto;
}
.brand{ display:flex; align-items:center; gap:10px; }
.brand img{ width:36px; height:36px; border-radius:50%; box-shadow:var(--shadow-sm); }
.brand span{ font-weight:700; font-size:1.05rem; color:var(--forest-2); }

.main-nav ul{ display:flex; gap:28px; list-style:none; margin:0; padding:0; }
.main-nav a{ font-weight:600; font-size:0.92rem; color:var(--ink); opacity:0.72; transition:opacity .15s ease; }
.main-nav a:hover{ opacity:1; }

.header-cta{ display:flex; gap:12px; align-items:center; }
.btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	padding:11px 21px; border-radius:100px; font-weight:700; font-size:0.88rem;
	transition:transform .16s ease, box-shadow .16s ease, background-color .16s ease, color .16s ease;
	cursor:pointer; border:none;
}
.btn-primary{ background:var(--orange); color:var(--paper); box-shadow:0 8px 18px rgba(232,90,27,0.32); }
.btn-primary:hover{ transform:translateY(-2px); box-shadow:0 12px 22px rgba(232,90,27,0.4); background:var(--orange-2); }
.btn-primary:active{ transform:translateY(0); }
.btn-outline{ border:1.5px solid var(--forest); color:var(--forest); background:transparent; }
.btn-outline:hover{ background:var(--forest); color:var(--paper); transform:translateY(-1px); }
.btn-text{ font-weight:600; font-size:0.86rem; color:var(--forest-2); opacity:0.72; transition:opacity .15s ease; }
.btn-text:hover{ opacity:1; }

/* ---------- MOBILE MENU ---------- */
.mobile-toggle{
	display:none; flex-direction:column; justify-content:center; gap:5px;
	width:38px; height:38px; background:transparent; border:none; cursor:pointer;
	padding:0; flex-shrink:0;
}
.mobile-toggle span{
	display:block; width:22px; height:2px; background:var(--forest-2);
	border-radius:2px; transition:transform .2s ease, opacity .2s ease; margin:0 auto;
}
.mobile-toggle.is-active span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.mobile-toggle.is-active span:nth-child(2){ opacity:0; }
.mobile-toggle.is-active span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.mobile-panel{
	max-height:0; overflow:hidden; background:var(--paper);
	border-top:1px solid transparent; transition:max-height .25s ease;
}
.mobile-panel.is-open{ max-height:520px; border-top-color:var(--line); }
.mobile-nav ul{ list-style:none; margin:0; padding:16px 20px 6px; display:flex; flex-direction:column; gap:4px; }
.mobile-nav a{ display:block; padding:11px 4px; font-weight:600; font-size:0.98rem; color:var(--forest-2); border-bottom:1px solid var(--line); }
.mobile-cta{ display:flex; flex-direction:column; gap:10px; padding:14px 20px 20px; }
.mobile-cta .btn{ width:100%; padding:13px; }

/* ---------- HERO (front page) ---------- */
.hero{ padding:64px 0 60px; position:relative; overflow:hidden; }
.hero-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center; }
.hero-inner{ position:relative; max-width:560px; }
.eyebrow{
	display:inline-flex; align-items:center; gap:8px; font-size:0.76rem; font-weight:700;
	text-transform:uppercase; letter-spacing:0.1em; color:var(--orange-2);
	background:rgba(232,90,27,0.09); padding:8px 16px; border-radius:100px; margin-bottom:22px;
}
.eyebrow .dot{ width:7px; height:7px; border-radius:50%; background:var(--orange); }
.hero h1{ font-size:clamp(2.1rem, 4.2vw, 3.2rem); font-weight:700; line-height:1.1; }
.hero h1 em{ font-style:normal; color:var(--orange); }
.hero p.lead{ margin-top:20px; font-size:1.08rem; color:rgba(27,27,24,0.72); max-width:480px; line-height:1.6; }
.hero-cta{ display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; }
.hero-cta .btn{ padding:16px 28px; font-size:0.98rem; }
.hero-stats{ display:flex; gap:36px; margin-top:48px; flex-wrap:wrap; }
.stat b{ display:block; font-size:1.7rem; }
.stat span{ font-size:0.8rem; color:rgba(27,27,24,0.6); font-weight:600; }

.hero-visual{ position:relative; display:flex; align-items:center; justify-content:center; }
.hero-visual-blob{
	position:absolute; width:110%; height:110%; border-radius:40% 60% 55% 45% / 45% 40% 60% 55%;
	background:linear-gradient(135deg, var(--cream-2) 0%, rgba(232,90,27,0.16) 100%);
	z-index:0;
}
.hero-photo{
	position:relative; z-index:1; width:100%; max-width:420px; border-radius:24px;
	box-shadow:var(--shadow-lift); object-fit:cover; aspect-ratio:4/5;
}

/* ---------- SECTIONS ---------- */
.section{ padding:74px 0; }
.section-head{ max-width:600px; margin-bottom:42px; }
.kicker{
	font-size:0.76rem; font-weight:700; text-transform:uppercase; letter-spacing:0.12em;
	color:var(--olive); margin-bottom:10px; display:block;
}
.section h2{ font-size:clamp(1.6rem,3vw,2.2rem); }
.section p.sub{ margin-top:12px; color:rgba(27,27,24,0.68); line-height:1.6; }

.how{ background:var(--forest); color:var(--cream); }
.how .kicker{ color:var(--olive); }
.how h2{ color:var(--paper); }
.how p.sub{ color:rgba(251,241,228,0.72); }
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:38px; }
.step{
	background:rgba(251,241,228,0.06); border:1px solid rgba(251,241,228,0.14); border-radius:18px; padding:28px 24px;
	transition:transform .18s ease, background-color .18s ease;
}
.step:hover{ transform:translateY(-4px); background:rgba(251,241,228,0.1); }
.step .num{ font-family:'Space Grotesk'; font-size:0.82rem; font-weight:700; color:var(--orange); letter-spacing:0.08em; }
.step h3{ margin-top:13px; font-size:1.12rem; color:var(--paper); }
.step p{ margin-top:9px; font-size:0.9rem; color:rgba(251,241,228,0.68); line-height:1.55; }

/* ---------- PAGE TEMPLATES (rejoindre / répertoire wrappers) ---------- */
.page-hero{ text-align:center; padding:58px 0 32px; }
.page-hero .eyebrow{ margin-left:auto; margin-right:auto; }
.page-hero h1{ font-size:clamp(1.8rem,3.6vw,2.5rem); }
.page-hero p{ margin-top:10px; color:rgba(27,27,24,0.65); max-width:520px; margin-left:auto; margin-right:auto; }

/* generic page content (page.php) */
.page-content{ padding:64px 0; max-width:760px; margin:0 auto; }
.page-content h1{ font-size:2.1rem; margin-bottom:22px; }
.page-content p{ margin-bottom:16px; color:rgba(27,27,24,0.75); line-height:1.7; }

/* ---------- FOOTER ---------- */
.site-footer{ background:var(--forest-2); color:rgba(251,241,228,0.7); padding:52px 0 28px; margin-top:44px; }
.foot-top{ display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:26px; }
.foot-brand{ display:flex; align-items:center; gap:10px; }
.foot-brand img{ width:32px; height:32px; border-radius:50%; }
.foot-brand span{ color:var(--paper); font-weight:700; }
.foot-nav ul{ display:flex; gap:24px; list-style:none; padding:0; margin:0; flex-wrap:wrap; }
.foot-nav a{ font-size:0.86rem; opacity:0.78; transition:opacity .15s ease; }
.foot-nav a:hover{ opacity:1; }
.foot-bottom{
	margin-top:38px; padding-top:22px; border-top:1px solid rgba(251,241,228,0.12);
	font-size:0.78rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;
}

@media (max-width:860px){
	.main-nav, .header-cta{ display:none; }
	.mobile-toggle{ display:flex; }
	.hero{ padding:44px 0 44px; }
	.hero-grid{ grid-template-columns:1fr; gap:32px; }
	.hero-inner{ max-width:100%; }
	.hero-visual{ order:-1; }
	.hero-photo{ max-width:320px; }
	.steps{ grid-template-columns:1fr; }
	.section{ padding:54px 0; }
}
@media (max-width:560px){
	.site-wrap{ padding:0 18px; }
	.header-inner{ padding:12px 18px; }
	.brand span{ font-size:0.92rem; }
	.hero{ padding:32px 0 32px; }
	.hero-photo{ max-width:220px; border-radius:18px; }
	.eyebrow{ font-size:0.68rem; padding:7px 13px; }
	.hero h1{ font-size:1.9rem; }
	.hero p.lead{ font-size:0.98rem; }
	.hero-cta{ flex-direction:column; }
	.hero-cta .btn{ width:100%; }
	.hero-stats{ gap:20px; margin-top:32px; }
	.stat b{ font-size:1.35rem; }
	.section{ padding:42px 0; }
	.section-head{ margin-bottom:28px; }
	.step{ padding:20px 18px; }
	.foot-top{ flex-direction:column; gap:20px; }
	.foot-nav ul{ gap:16px; }
	.page-hero{ padding:36px 0 20px; }
}
