:root {
--primary: #92D400;
--primary-dark: #7ab800;
--secondary: #3e3e3e;
--accent: #b8e944;
--magenta: #b50eaf;
--dark: #3e3e3e;
--light: #faf9f6;
--gray: #6b7280;
--white: #ffffff;
--border: #e5e7eb;
--card-shadow: 0 4px 24px rgba(0,0,0,0.07);
--card-shadow-hover: 0 12px 40px rgba(0,0,0,0.13);
}
* { margin: 0; padding: 0; box-sizing: border-box; }

body {
font-family: 'Inter', sans-serif;
color: var(--dark);
background: var(--light);
line-height: 1.6;
overflow-x: hidden;
}

a { text-decoration: none; color: inherit; }

/* General */

.mb1 {margin-bottom: 1rem;}
.center {text-align:center;}
.right {text-align:right;}
.bgDark {
	background: var(--dark) !important;
	color: var(--light)!important;
}

/* Navigation */
nav {
background: var(--white);
padding: 1rem 5%;
position: sticky;
top: 0;
z-index: 1100;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

nav .container {
max-width: 1400px;
margin: 0 auto;
display: flex;
justify-content: space-between;
align-items: center;
}

.nav-links {
display: flex;
align-items: center;
}

.nav-links a {
margin-left: 2rem;
color: var(--dark);
text-decoration: none;
font-weight: 500;
font-size: 0.95rem;
transition: color 0.3s;
}

.nav-links a:hover {
color: var(--primary);
}

.logo {
width: auto;
height: 48px;
vertical-align: middle;
}

/* Burger Menu */
.burger-menu {
display: none;
flex-direction: column;
gap: 5px;
cursor: pointer;
padding: 5px;
z-index: 1101;
position: relative;
}

.burger-menu span {
width: 25px;
height: 3px;
background: var(--dark);
border-radius: 3px;
transition: all 0.3s ease;
}

.burger-menu.active span:nth-child(1) {
transform: rotate(45deg) translate(8px, 8px);
background: var(--primary);
}

.burger-menu.active span:nth-child(2) {
opacity: 0;
}

.burger-menu.active span:nth-child(3) {
transform: rotate(-45deg) translate(7px, -7px);
background: var(--primary);
}

.cta-button {
padding: 0.5rem 1rem;
border-radius: 50px;
box-shadow: 0 0px 2px var(--primary);
}

/* HERO */
.hero {
padding: 8rem 5%;
background: linear-gradient(135deg, var(--light) 0%, #f0ffd4 100%);
position: relative;
overflow: hidden;
text-align: center;
}
.hero::before {
content: '';
position: absolute;
top: -50%;
right: -20%;
width: 800px;
height: 800px;
background: radial-gradient(circle, rgba(146, 212, 0, 0.1) 0%, transparent 70%);
animation: float 20s infinite ease-in-out;
}
.hero .container {
max-width: 1200px;
margin: 0 auto;
position: relative;
z-index: 1;
}

.hero-head {
margin-bottom: 2.8rem;
animation: fadeUp 0.7s ease 0.1s both;
}

.hero-head h1 {
font-family: 'Baloo 2', cursive;
font-size: 4.2rem;
font-weight: 800;
line-height: 1.1;
color: var(--secondary);
margin-bottom: 1.2rem;
}

.hero-head h1 em { font-style: normal; color: var(--primary); }

.hero-tagline {
font-size: 1.15rem;
color: var(--gray);
font-weight: 400;
line-height: 1.6;
max-width: 600px;
margin: 0 auto;
}

.tagline-count {
font-family: 'Baloo 2', cursive;
font-size: 1.3rem;
font-weight: 800;
color: var(--primary-dark);
}

/* SEARCH PILL */
.search-pill-wrap { animation: fadeUp 0.7s ease 0.25s both; }

.search-pill {
display: flex;
align-items: center;
background: white;
border-radius: 60px;
padding: 0.5rem 0.5rem 0.5rem 1.5rem;
box-shadow: 0 8px 40px rgba(0,0,0,0.12);
border: 1.5px solid rgba(146,212,0,0.25);
margin: 0 auto 1.2rem;
max-width:880px;
}

.search-pill-icon {
font-size: 1rem;
flex-shrink: 0;
margin-right: 0.6rem;
opacity: 0.6;
}

.search-pill input {
flex: 1;
min-width: 0;
background: transparent;
border: none;
outline: none;
font-family: 'Inter', sans-serif;
font-size: 1rem;
color: var(--dark);
padding: 0.75rem 0.5rem;
}

.search-pill input::placeholder { color: #b0b5bc; }

.search-pill-btn {
flex-shrink: 0;
background: var(--primary);
color: white;
border: none;
border-radius: 50px;
padding: 0.85rem 2.2rem;
font-family: 'Baloo 2', cursive;
font-size: 1rem;
font-weight: 800;
cursor: pointer;
transition: all 0.3s;
white-space: nowrap;
box-shadow: 0 4px 15px rgba(146,212,0,0.35);
}

.search-pill-btn:hover {
background: var(--magenta);
transform: scale(1.03);
box-shadow: 0 6px 20px rgba(181,14,175,0.35);
}

.search-tags {
display: flex;
align-items: center;
gap: 0.6rem;
flex-wrap: wrap;
justify-content: center;
}

.search-tags > span { font-size: 0.8rem; color: var(--gray); font-weight: 500; }

.search-tag {
display: inline-block;
padding: 0.28rem 0.85rem;
background: #f0ffd4;
color: var(--primary-dark);
border-radius: 50px;
font-size: 0.8rem;
font-weight: 600;
cursor: pointer;
transition: all 0.2s;
border: 1px solid rgba(146,212,0,0.35);
}

.search-tag:hover { background: var(--primary); color: white; border-color: var(--primary); }

/* TRUST PILLS */
.hero-trust-row {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 0.8rem;
margin-top: 1.8rem;
animation: fadeUp 0.7s ease 0.4s both;
}

.trust-pill {
display: inline-flex;
align-items: center;
gap: 0.4rem;
background: white;
border: 1px solid var(--border);
border-radius: 50px;
padding: 0.45rem 1.1rem;
font-size: 0.83rem;
font-weight: 500;
color: var(--dark);
box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

@keyframes fadeUp {
from { opacity: 0; transform: translateY(25px); }
to   { opacity: 1; transform: translateY(0); }
}

/* STATS BAR */
.stats-bar { background: var(--secondary); padding: 2rem 5%; }

.stats-bar .container {
max-width: 1400px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1rem;
}

.stat-item { text-align: center; padding: 1rem; }

.stat-num {
font-family: 'Baloo 2', cursive;
font-size: 2.5rem;
font-weight: 800;
color: var(--primary);
display: block;
}

.stat-lbl { font-size: 0.9rem; color: rgba(255,255,255,0.7); }

/* SECTIONS */
.section { padding: 6rem 5%; }
.section-alt { background: white; }
.section .container { max-width: 1400px; margin: 0 auto; }

.section-head {
display: flex;
justify-content: space-between;
align-items: flex-end;
margin-bottom: 3rem;
}

.section-head-left .tag {
display: inline-block;
color: var(--magenta);
font-weight: 600;
font-size: 0.82rem;
text-transform: uppercase;
letter-spacing: 2px;
margin-bottom: 0.6rem;
}

.section-head-left h2 {
font-family: 'Baloo 2', cursive;
font-size: 2.5rem;
font-weight: 800;
color: var(--secondary);
line-height: 1.2;
}

.section-head-left h2 span { color: var(--primary); }

.section-head .see-all {
color: var(--primary-dark);
font-weight: 600;
font-size: 0.95rem;
display: flex;
align-items: center;
gap: 0.4rem;
transition: color 0.3s;
white-space: nowrap;
}

.section-head .see-all:hover { color: var(--magenta); }
.section-head .see-all::after { content: '→'; }

/* BREADCRUMB */
.breadcrumb {
    background: white;
    border-bottom: 1px solid var(--border);
    padding: .9rem 5%;
}

.breadcrumb .container {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .5rem;
    font-size: .84rem;
    color: var(--gray);
}

.breadcrumb a {
    color: var(--primary-dark);
    font-weight: 600;
    transition: color .2s;
}

.breadcrumb a:hover { color: var(--magenta); }

.breadcrumb .sep { color: var(--border); }

/* OFFRES */
.jobs-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }

.job-card {
background: white;
border-radius: 16px;
padding: 1.8rem;
box-shadow: var(--card-shadow);
border: 1px solid var(--border);
transition: all 0.3s;
cursor: pointer;
display: flex;
flex-direction: column;
gap: 1rem;
}

.job-card:hover { transform: translateY(-5px); box-shadow: var(--card-shadow-hover); border-color: rgba(146,212,0,0.3); }

.job-card-top { display: flex; justify-content: space-between; align-items: flex-start; }

.job-logo {
width: 52px; height: 52px;
border-radius: 12px;
background: var(--light);
display: flex;
align-items: center;
justify-content: center;
font-size: 1.6rem;
border: 1px solid var(--border);
flex-shrink: 0;
}
.job-logo img {
width: 100%;
height: 100%;
object-fit: contain;
border-radius: 12px;
padding: 1px;
}
.job-badge { padding: 0.3rem 0.8rem; border-radius: 50px; font-size: 0.75rem; font-weight: 600; }

.badge-cdi        { background: #f0ffd4; color: #92d400; }
.badge-cdd        { background: #fef9c3; color: #a16207; }
.badge-stage      { background: #ede9fe; color: #7c3aed; }
.badge-alternance { background: #ede9fe; color: #7c3aed; }
.badge-interim	  { background: #CFF2F2; color: #41bbbb; }
.badge-freelance  { background: #dbeafe; color: #1d4ed8; }
		
.badge-new {
background: var(--magenta);
color: white;
padding: 0.2rem 0.6rem;
border-radius: 50px;
font-size: 0.7rem;
font-weight: 700;
margin-left: 0.4rem;
}

.job-card h3 { font-family: 'Baloo 2', cursive; font-size: 1.15rem; font-weight: 700; color: var(--secondary); line-height: 1.3; }

.job-company { font-size: 0.9rem; color: var(--primary-dark); font-weight: 600; }

.job-meta { display: flex; flex-wrap: wrap; gap: 0.8rem; }

.job-meta-item { display: flex; align-items: center; gap: 0.3rem; font-size: 0.82rem; color: var(--gray); }

.job-footer {
display: flex;
justify-content: space-between;
align-items: center;
padding-top: 1rem;
border-top: 1px solid var(--border);
}

.job-salary { font-family: 'Baloo 2', cursive; font-size: 1.05rem; font-weight: 700; color: var(--secondary); }
.job-date   { font-size: 0.8rem; color: var(--gray); }

.job-apply {
background: var(--primary);
color: white;
padding: 0.5rem 1.2rem;
border-radius: 50px;
font-size: 0.85rem;
font-weight: 600;
transition: all 0.25s;
border: none;
cursor: pointer;
font-family: 'Inter', sans-serif;
}

.job-apply:hover { background: var(--magenta); }

/* ENTREPRISES */
.companies-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.5rem; }

.company-card {
background: white;
border-radius: 16px;
padding: 2rem;
box-shadow: var(--card-shadow);
border: 1px solid var(--border);
transition: all 0.3s;
cursor: pointer;
text-align: center;
}

.company-card:hover { transform: translateY(-5px); box-shadow: var(--card-shadow-hover); border-color: rgba(146,212,0,0.4); }

.company-logo {
width: 72px; height: 72px;
border-radius: 12px;
background: var(--light);
border: 1px solid var(--border);
display: flex;
align-items: center;
justify-content: center;
font-size: 2rem;
margin: 0 auto 1.2rem;
}
.company-logo img {
width: 100%;
height: 100%;
object-fit: contain;
border-radius: 12px;
padding: 1px;
}
.company-card h3 { font-family: 'Baloo 2', cursive; font-size: 1.15rem; font-weight: 700; color: var(--secondary); margin-bottom: 0.4rem; }
.company-sector  { font-size: 0.82rem; color: var(--gray); margin-bottom: 0.8rem; }

.company-info { display: flex; justify-content: center; gap: 1rem; margin-bottom: 1rem; }

.company-info-item { display: flex; align-items: center; gap: 0.3rem; font-size: 0.8rem; color: var(--gray); }

.company-jobs-count {
display: inline-block;
background: #f0ffd4;
color: var(--primary-dark);
padding: 0.35rem 1rem;
border-radius: 50px;
font-size: 0.82rem;
font-weight: 600;
border: 1px solid rgba(146,212,0,0.3);
}

/* BLOG */
.blog-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 1.5rem; }

.blog-card {
background: white;
border-radius: 16px;
overflow: hidden;
box-shadow: var(--card-shadow);
border: 1px solid var(--border);
transition: all 0.3s;
cursor: pointer;
}

.blog-card:hover { transform: translateY(-5px); box-shadow: var(--card-shadow-hover); }

.blog-card-img {
width: 100%;
height: 200px;
display: flex;
align-items: center;
justify-content: center;
font-size: 3.5rem;
overflow: hidden;
}

.blog-card-body { padding: 1.5rem; }

.blog-cat { display: inline-block; padding: 0.25rem 0.8rem; border-radius: 50px; font-size: 0.75rem; font-weight: 600; margin-bottom: 0.8rem; }

.cat-conseils  { background: #fef3c7; color: #d97706; }
.cat-marche    { background: #dbeafe; color: #2563eb; }
.cat-cv        { background: #ede9fe; color: #7c3aed; }
.cat-pme       { background: #dcfce7; color: #16a34a; }
.cat-entretien { background: #fce7f3; color: #db2777; }

.blog-card h3 { font-family: 'Baloo 2', cursive; font-size: 1.15rem; font-weight: 700; color: var(--secondary); line-height: 1.35; margin-bottom: 0.6rem; }
.blog-card.featured h3 { font-size: 1.5rem; }
.blog-card p   { font-size: 0.88rem; color: var(--gray); line-height: 1.65; margin-bottom: 1rem; }

.blog-meta { display: flex; align-items: center; gap: 1rem; font-size: 0.8rem; color: var(--gray); }

.blog-meta-author { display: flex; align-items: center; gap: 0.4rem; font-weight: 600; }

.blog-meta-author .avatar {
width: 24px; height: 24px;
border-radius: 50%;
background: linear-gradient(135deg, var(--primary), var(--accent));
display: flex;
align-items: center;
justify-content: center;
font-size: 0.65rem;
color: var(--secondary);
font-weight: 700;
flex-shrink: 0;
}

/* NEWSLETTER */
.newsletter { padding: 5rem 5%; background: linear-gradient(135deg, var(--secondary) 0%, #2a2a2a 100%);  text-align: center;}

.newsletter .container { max-width: 700px; margin: 0 auto; }

.newsletter h2 { font-family: 'Baloo 2', cursive; font-size: 2.5rem; font-weight: 800; color: white; margin-bottom: 1rem; }

.newsletter p { color: rgba(255,255,255,0.7); font-size: 1.05rem; margin-bottom: 2rem; }

.newsletter-form {
display: flex;
gap: 0.8rem;
background: rgba(255,255,255,0.08);
padding: 0.5rem;
border-radius: 60px;
border: 1px solid rgba(255,255,255,0.15);
}

.newsletter-form input {
flex: 1;
background: transparent;
border: none;
padding: 0.8rem 1.5rem;
font-family: 'Inter', sans-serif;
font-size: 0.95rem;
color: white;
outline: none;
}

.newsletter-form input::placeholder { color: rgba(255,255,255,0.4); }

.newsletter-form button {
background: var(--primary);
color: var(--secondary);
border: none;
padding: 0.8rem 2rem;
border-radius: 50px;
font-family: 'Baloo 2', cursive;
font-size: 1rem;
font-weight: 700;
cursor: pointer;
transition: all 0.3s;
}

.newsletter-form button:hover { background: var(--magenta); color: white; }

/* ── SIDEBAR ───────────────────────────────────────── */
.sb       { display: flex; flex-direction: column; gap: 1.3rem; }
.sb-card  { background: white; border: 1px solid var(--border); border-radius: 16px; padding: 1.3rem; box-shadow: var(--card-shadow); }
.sb-title { font-family: 'Baloo 2', cursive; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--gray); margin-bottom: .9rem; }


/* FOOTER */
footer { background: var(--dark); color: white; padding: 4rem 5% 2rem; }
footer .container { max-width: 1400px; margin: 0 auto; }

.footer-content { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 4rem; margin-bottom: 3rem; }

.footer-brand p { color: rgba(255,255,255,0.65); line-height: 1.8; font-size: 0.9rem; margin-top: 1rem; }

.footer-links h4 { font-family: 'Baloo 2', cursive; font-size: 1.1rem; margin-bottom: 1.2rem; font-weight: 700; }
.footer-links ul  { list-style: none; }
.footer-links li  { margin-bottom: 0.7rem; }
.footer-links a   { color: rgba(255,255,255,0.65); font-size: 0.9rem; transition: color 0.3s; }
.footer-links a:hover { color: var(--primary); }

.footer-bottom { padding-top: 2rem; border-top: 1px solid rgba(255,255,255,0.1); text-align: center; color: rgba(255,255,255,0.4); font-size: 0.85rem; }

/* MODAL */
.modal-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 2000; }
.modal-overlay.active { display: flex; align-items: center; justify-content: center; }

.modal-content { background: white; max-width: 800px; width: 90%; padding: 3rem; border-radius: 20px; position: relative; max-height: 90vh; overflow-y: auto; }

.modal-close { position: absolute; top: 1.5rem; right: 1.5rem; font-size: 2rem; cursor: pointer; color: var(--gray); line-height: 1; transition: color 0.3s; background: none; border: none; }
.modal-close:hover { color: var(--magenta); }

.form-title    { font-family: 'Baloo 2', cursive; font-size: 2rem; color: var(--primary); margin-bottom: 0.5rem; }
.form-subtitle { color: var(--gray); margin-bottom: 1.5rem; }
.form-subtitle a { color: var(--primary); font-weight: 600; cursor: pointer; }
.form-row   { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.form-group { margin-bottom: 1.2rem; }
.form-label { display: block; font-size: 0.85rem; font-weight: 600; color: var(--dark); margin-bottom: 0.4rem; }
.required   { color: var(--magenta); }

.form-input { width: 100%; padding: 0.85rem 1rem; border: 2px solid var(--border); border-radius: 10px; font-family: 'Inter', sans-serif; font-size: 0.95rem; outline: none; transition: border-color 0.3s; color: var(--dark); }
.form-input:focus { border-color: var(--primary); }
.input-error {
    border-color: #dc2626 !important;
}
.form-section-title {
	  font-size: .8rem;
	  font-weight: 700;
	  letter-spacing: .15em;
	  text-transform: uppercase;
	  color: var(--gray);
	  margin: 1.8rem 0 .9rem;
	  display: flex;
	  align-items: center;
	  gap: .6rem;
	}
.form-section-title::after { content: ''; flex: 1; height: 1px; background: var(--border); }
.form-section-title:first-child { margin-top: 0; }
	
.btn-submit { width: 100%; padding: 1rem; background: var(--primary); color: white; border: none; border-radius: 50px; font-family: 'Baloo 2', cursive; font-size: 1.2rem; font-weight: 700; cursor: pointer; transition: all 0.3s; margin-top: 0.5rem; }
.btn-submit:hover { background: var(--magenta); transform: translateY(-2px); }

.cgu-wrapper   { margin: 1rem 0; }
.checkbox-wrapper { display: flex; align-items: flex-start; gap: 0.7rem; }
.cgu-text      { font-size: 0.88rem; color: var(--gray); line-height: 1.5; }
.cgu-text a    { color: var(--primary); font-weight: 500; }

.error-message { background: #fef2f2; color: #dc2626; padding: 0.8rem 1rem; border-radius: 8px; font-size: 0.88rem; margin-bottom: 1rem; display: none; }

.menu-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); opacity: 0; visibility: hidden; transition: all 0.3s; z-index: 1040; }
.menu-overlay.active { opacity: 1; visibility: visible; }

/* FAMILLES DE MÉTIER */
.familles-grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 1.2rem;
}

.famille-card {
background: white;
border-radius: 16px;
padding: 1.6rem 1.4rem;
box-shadow: var(--card-shadow);
border: 1px solid var(--border);
transition: all 0.3s;
cursor: pointer;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
gap: 0.5rem;
position: relative;
}

.famille-card:hover {
transform: translateY(-5px);
box-shadow: var(--card-shadow-hover);
border-color: rgba(146,212,0,0.35);
}

.famille-icon {
font-size: 2.2rem;
width: 58px; height: 58px;
background: #f0ffd4;
border-radius: 14px;
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 0.3rem;
transition: background 0.3s;
}

.famille-card:hover .famille-icon { background: #e2faa0; }

.famille-name {
font-family: 'Baloo 2', cursive;
font-size: 1rem;
font-weight: 700;
color: var(--secondary);
line-height: 1.3;
}

.famille-count {
font-size: 0.82rem;
color: var(--gray);
}

.famille-pill {
display: inline-block;
background: var(--magenta);
color: white;
font-size: 0.68rem;
font-weight: 700;
padding: 0.2rem 0.6rem;
border-radius: 50px;
position: absolute;
top: 0.8rem;
right: 0.8rem;
}

/* VILLES — chips */
.villes-chips {
display: flex;
flex-wrap: wrap;
gap: 0.7rem;
}

.ville-chip {
display: inline-flex;
align-items: center;
gap: 0.5rem;
background: white;
border: 1.5px solid var(--border);
border-radius: 50px;
padding: 0.55rem 1.1rem;
text-decoration: none;
transition: all 0.2s;
box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}

.ville-chip:hover {
border-color: var(--primary);
background: #f0ffd4;
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(146,212,0,0.2);
}

.chip-city {
font-family: 'Baloo 2', cursive;
font-size: 0.95rem;
font-weight: 700;
color: var(--secondary);
}

.chip-dep {
font-size: 0.75rem;
color: var(--gray);
font-weight: 400;
}

.chip-count {
background: #f0ffd4;
color: var(--primary-dark);
font-family: 'Baloo 2', cursive;
font-size: 0.82rem;
font-weight: 700;
padding: 0.15rem 0.6rem;
border-radius: 50px;
border: 1px solid rgba(146,212,0,0.3);
}

.ville-chip:hover .chip-count {
background: var(--primary);
color: white;
border-color: var(--primary);
}

/* ===== AGENDA — option H ===== */
.agenda-mag {
display: grid;
grid-template-columns: 1.5fr 1fr;
gap: 1.2rem;
align-items: stretch;
}

/* ── Carte vedette gauche ── */
.agenda-feat {
display: flex;
flex-direction: column;
background: white;
border: 1px solid var(--border);
border-radius: 16px;
padding: 2rem;
text-decoration: none;
transition: border-color 0.25s, transform 0.25s, box-shadow 0.25s;
box-shadow: var(--card-shadow);
}

.agenda-feat:hover {
border-color: rgba(146,212,0,0.5);
transform: translateY(-4px);
box-shadow: var(--card-shadow-hover);
}

.af-date {
margin-bottom: 0.8rem;
}

.af-day {
display: block;
font-family: 'Baloo 2', cursive;
font-size: 3.8rem;
font-weight: 800;
color: var(--primary);
line-height: 1;
letter-spacing: -2px;
}

.af-month {
display: block;
font-size: 0.9rem;
font-weight: 600;
color: var(--gray);
text-transform: uppercase;
letter-spacing: 1px;
margin-top: 0.1rem;
}

.af-year {
font-weight: 400;
color: var(--gray);
font-size: 0.85rem;
text-transform: none;
letter-spacing: 0;
}

.af-nom {
font-family: 'Baloo 2', cursive;
font-size: 1.3rem;
font-weight: 800;
color: var(--secondary);
line-height: 1.3;
margin: 0.6rem 0 0.5rem;
}

.af-desc {
font-size: 0.85rem;
color: var(--gray);
line-height: 1.65;
flex: 1;
margin-bottom: 1rem;
}

.af-meta {
font-size: 0.83rem;
color: var(--gray);
margin-bottom: 1rem;
}

.af-cta {
display: inline-block;
font-size: 0.88rem;
font-weight: 700;
color: var(--primary-dark);
margin-top: auto;
transition: color 0.2s;
}

.agenda-feat:hover .af-cta { color: var(--magenta); }

/* Badges */
.agenda-badge {
display: inline-flex;
align-items: center;
gap: 0.3rem;
font-size: 0.72rem;
font-weight: 700;
padding: 0.25rem 0.75rem;
border-radius: 50px;
}

.agenda-badge-salon { background: #dbeafe; color: #1d4ed8; }
.agenda-badge-forum { background: #ede9fe; color: #7c3aed; }
.agenda-badge-job   { background: #dcfce7; color: #16a34a; }

/* ── Liste 5 compacts droite ── */
.agenda-list {
display: flex;
flex-direction: column;
gap: 0.6rem;
height: 100%;
}

.agenda-item {
display: flex;
align-items: center;
gap: 0.9rem;
background: white;
border: 1px solid var(--border);
border-radius: 12px;
padding: 0.8rem 1rem;
text-decoration: none;
transition: border-color 0.2s, background 0.2s;
flex: 1;
}

.agenda-item:hover {
border-color: rgba(146,212,0,0.5);
background: #f8ffe8;
}

/* Date compacts — encadré rectangulaire */
.ai-date {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
min-width: 46px;
padding: 0.35rem 0.6rem;
background: #f0ffd4;
border: 1px solid rgba(146,212,0,0.35);
border-radius: 8px;
flex-shrink: 0;
}

.ai-day {
font-family: 'Baloo 2', cursive;
font-size: 1.05rem;
font-weight: 800;
color: var(--secondary);
line-height: 1;
}

.ai-month {
font-size: 0.6rem;
font-weight: 700;
color: var(--primary-dark);
text-transform: uppercase;
}

/* Séparateur vertical */
.ai-sep {
width: 1px;
height: 30px;
background: var(--border);
flex-shrink: 0;
}

.ai-info { flex: 1; min-width: 0; }

.ai-nom {
font-size: 0.87rem;
font-weight: 700;
color: var(--secondary);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
margin-bottom: 0.15rem;
}

.ai-meta {
font-size: 0.76rem;
color: var(--gray);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}

/* ── PAGINATION ───────────────────────────────────────────────────────────── */
.pagination{
  display:flex;align-items:center;justify-content:center;
  gap:.4rem;margin-top:2rem;flex-wrap:wrap;
}
.pagination a,.pagination span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 .6rem;border-radius:50px;
  font-family:'Baloo 2',cursive;font-weight:700;font-size:.9rem;
  text-decoration:none;transition:all .2s;
}
.pagination a{
  background:white;border:1.5px solid var(--border);color:var(--dark);
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.pagination a:hover{border-color:var(--primary);color:var(--primary-dark);background:#f0ffd4}
.pagination .cur{background:var(--primary);border:none;color:white;cursor:default;box-shadow:0 4px 12px rgba(146,212,0,.4)}
.pagination .dots{background:none;border:none;color:var(--gray);cursor:default;box-shadow:none}

/* ===== RESPONSIVE ===== */
@media (max-width: 1024px) {
.jobs-grid              { grid-template-columns: repeat(2,1fr); }
.companies-grid         { grid-template-columns: repeat(2,1fr); }
.blog-grid              { grid-template-columns: 1fr 1fr; }
.blog-card.featured     { grid-column: span 2; }
.familles-grid          { grid-template-columns: repeat(4,1fr); }
}

@media (max-width: 860px) {
.familles-grid          { grid-template-columns: repeat(2,1fr); }
.regions-wrapper        { grid-template-columns: 1fr; }
.france-map-wrap        { position: static; max-width: 420px; margin: 0 auto; }
}

@media (max-width: 768px) {
.hero                   { padding: 8rem 5% 3rem; }
.hero-head h1           { font-size: 2.4rem; }
.agenda-mag             { grid-template-columns: minmax(0, 1fr); }
.af-day                 { font-size: 3rem; }

/* ─── FIX PILL MOBILE ─── */
.search-pill {
flex-wrap: wrap;
border-radius: 16px;
padding: 0.8rem 1rem;
gap: 0.5rem;
}
.search-pill-icon       { display: none; }
.search-pill input {
flex: 1 1 100%;
width: 100%;
padding: 0.7rem 0.4rem;
}
.search-pill-btn {
flex: 1 1 100%;
width: 100%;
border-radius: 10px;
text-align: center;
padding: 0.85rem 1rem;
white-space: normal;
}
/* ─── /FIX ─── */

.jobs-grid, .companies-grid, .blog-grid, .familles-grid { grid-template-columns: 1fr; }
.blog-card.featured     { grid-column: span 1; }
.section-head           { flex-direction: column; align-items: flex-start; gap: 0.8rem; }
.stats-bar .container   { grid-template-columns: repeat(2,1fr); }
.footer-content         { grid-template-columns: 1fr 1fr; gap: 2rem; }
.newsletter-form        { flex-direction: column; border-radius: 12px; }
.newsletter-form button { border-radius: 8px; width: 100%; }
.burger-menu            { display: flex; }
/* Mobile Menu */
.burger-menu {
display: flex;
}

.nav-links {
position: fixed;
top: 0;
right: -100%;
width: 280px;
height: 100vh;
background: white;
flex-direction: column;
padding: 5rem 2rem 2rem;
box-shadow: -5px 0 25px rgba(0, 0, 0, 0.2);
transition: right 0.4s ease;
z-index: 1050;
overflow-y: auto;
}

.nav-links.active {
right: 0;
}

.nav-links a {
margin: 0;
padding: 1rem 0;
width: 100%;
border-bottom: 1px solid var(--primary);
font-size: 1.1rem;
}

.nav-links .cta-button {
margin-top: 1rem;
text-align: center;
}

/* Overlay */
.menu-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.5);
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
z-index: 1040;
}

.menu-overlay.active {
opacity: 1;
visibility: visible;
}
.form-row               { grid-template-columns: 1fr; }
.hero-trust-row         { gap: 0.5rem; }
}

@media (max-width: 480px) {
.hero-head h1           { font-size: 2rem; }
.section-head-left h2   { font-size: 2rem; }
.footer-content         { grid-template-columns: 1fr; }
.tagline-count          { font-size: 1.05rem; }
}