/* ================================================
   ÉCOLE MAURICE HEUSE — Feuille de style principale
   ================================================ */

:root {
  --primary:       #1B5E8E;
  --primary-dark:  #0D3F6B;
  --primary-light: #4B89C8;
  --secondary:     #2E7D32;
  --secondary-lt:  #66BB6A;
  --accent:        #FFA000;
  --accent-lt:     #FFD54F;
  --dark:          #1A1A2E;
  --gray:          #6B7280;
  --light:         #F3F4F6;
  --white:         #FFFFFF;
  --shadow:        0 4px 6px -1px rgba(0,0,0,.1);
  --shadow-lg:     0 10px 25px -5px rgba(0,0,0,.15);
  --radius:        8px;
  --radius-lg:     16px;
  --transition:    all .3s ease;
  --nav-h:         72px;
}

/* ── Reset ────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;color:#374151;line-height:1.6;background:#fff}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img{max-width:100%;height:auto;display:block}

/* ── Utilitaires ──────────────────────────────── */
.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}
.section{padding:5rem 0}
.section-alt{background:var(--light)}

.section-title{text-align:center;margin-bottom:3rem}
.section-title h2{font-size:2.25rem;font-weight:700;color:var(--primary);margin-bottom:.5rem}
.section-title .subtitle{font-size:1.05rem;color:var(--gray);max-width:600px;margin:0 auto}
.section-title .divider{width:60px;height:4px;background:linear-gradient(90deg,var(--primary),var(--secondary));margin:.75rem auto;border-radius:2px}

.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;border-radius:var(--radius);font-weight:600;font-size:1rem;cursor:pointer;border:none;transition:var(--transition)}
.btn-primary{background:var(--primary);color:#fff}
.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn-secondary{background:var(--secondary);color:#fff}
.btn-secondary:hover{background:#1B5E20;transform:translateY(-2px)}
.btn-outline{background:transparent;color:#fff;border:2px solid #fff}
.btn-outline:hover{background:#fff;color:var(--primary)}
.btn-accent{background:var(--accent);color:#fff}
.btn-accent:hover{background:#E65100;transform:translateY(-2px)}

/* ── Navigation ───────────────────────────────── */
.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(27,94,142,.97);backdrop-filter:blur(10px);box-shadow:var(--shadow);transition:var(--transition)}
.navbar.scrolled{background:var(--primary-dark);box-shadow:0 4px 20px rgba(0,0,0,.25)}

.nav-container{max-width:1200px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:var(--nav-h)}

.nav-brand{display:flex;align-items:center;gap:.75rem;color:#fff}
.nav-brand img{height:42px;width:auto;object-fit:contain}
.nav-brand-text .school-name{font-size:1rem;font-weight:700;line-height:1.2;color:#fff}
.nav-brand-text .school-sub{font-size:.68rem;color:rgba(255,255,255,.75)}

.nav-menu{display:flex;align-items:center;gap:.15rem}
.nav-menu a{color:rgba(255,255,255,.88);font-size:.82rem;font-weight:500;padding:.45rem .65rem;border-radius:var(--radius);transition:var(--transition);white-space:nowrap}
.nav-menu a:hover,.nav-menu a.active{color:#fff;background:rgba(255,255,255,.15)}

.btn-erp{background:linear-gradient(135deg,var(--accent),#E65100);color:#fff!important;padding:.55rem 1.2rem!important;border-radius:50px!important;font-weight:700!important;box-shadow:0 4px 15px rgba(255,160,0,.4);white-space:nowrap}
.btn-erp:hover{box-shadow:0 6px 20px rgba(255,160,0,.5)!important;transform:translateY(-2px)!important;background:linear-gradient(135deg,#FFB300,#BF360C)!important}

.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:.5rem;background:none;border:none}
.nav-toggle span{display:block;width:24px;height:2px;background:#fff;transition:var(--transition);border-radius:2px}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--primary-dark);padding:1rem;border-top:1px solid rgba(255,255,255,.1);box-shadow:0 10px 30px rgba(0,0,0,.3)}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;color:rgba(255,255,255,.88);padding:.7rem 1rem;border-radius:var(--radius);font-weight:500;transition:var(--transition);margin-bottom:.15rem}
.mobile-menu a:hover{background:rgba(255,255,255,.1);color:#fff}
.mobile-menu .btn-erp-mobile{display:block;text-align:center;margin-top:.75rem;padding:.75rem;border-radius:var(--radius);background:linear-gradient(135deg,var(--accent),#E65100);color:#fff;font-weight:700}

/* ── Hero ─────────────────────────────────────── */
.hero{position:relative;height:100vh;min-height:600px;overflow:hidden;margin-top:var(--nav-h)}
.hero-slider{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease}
.hero-slide.active{opacity:1}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(105deg,rgba(13,63,107,.88) 0%,rgba(27,94,142,.7) 55%,rgba(27,94,142,.35) 100%)}

.hero-content{position:absolute;inset:0;display:flex;align-items:center;padding:0 1.5rem}
.hero-text{max-width:680px;margin:0 auto;text-align:center;color:#fff}
.hero-badge{display:inline-block;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.35);color:#fff;padding:.35rem 1rem;border-radius:50px;font-size:.82rem;font-weight:500;margin-bottom:1.25rem;backdrop-filter:blur(5px)}
.hero-text h1{font-size:clamp(1.9rem,5vw,3.4rem);font-weight:800;line-height:1.1;margin-bottom:.9rem;text-shadow:0 2px 12px rgba(0,0,0,.3)}
.hero-text h1 span{color:var(--accent-lt)}
.hero-text p{font-size:clamp(.95rem,2vw,1.15rem);opacity:.92;margin-bottom:2rem;line-height:1.75}
.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}

.hero-indicators{position:absolute;bottom:5.5rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem}
.hero-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:var(--transition)}
.hero-dot.active{background:#fff;transform:scale(1.3)}

.hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);color:#fff;opacity:.65;font-size:.8rem;display:flex;flex-direction:column;align-items:center;gap:.35rem;animation:bounce 2s infinite}
@keyframes bounce{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}

/* ── Stats bar ────────────────────────────────── */
.stats-bar{background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;padding:2.25rem 0}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;text-align:center}
.stat-item .number{font-size:2.4rem;font-weight:800;color:var(--accent-lt);line-height:1}
.stat-item .label{font-size:.82rem;opacity:.82;margin-top:.25rem}

/* ── About ────────────────────────────────────── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.about-content h3{font-size:1.65rem;font-weight:700;color:var(--primary);margin-bottom:1rem}
.about-content p{color:var(--gray);margin-bottom:.9rem;line-height:1.8}

.feature-list{margin-top:1.5rem;display:flex;flex-direction:column;gap:.85rem}
.feature-item{display:flex;align-items:flex-start;gap:.75rem}
.feature-icon{width:36px;height:36px;background:var(--primary);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:.875rem}
.feature-text strong{display:block;color:var(--dark);font-weight:600;font-size:.95rem}
.feature-text span{font-size:.85rem;color:var(--gray)}

.about-visual{position:relative}
.about-card{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;padding:2.5rem;border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-lg)}
.about-card .icon-big{font-size:3.5rem;margin-bottom:1rem;opacity:.92}
.about-card h4{font-size:1.3rem;font-weight:700;margin-bottom:.75rem}
.about-card p{opacity:.9;font-size:.93rem;line-height:1.75}
.badge-float{position:absolute;top:-1rem;right:-1rem;background:var(--accent);color:#fff;width:80px;height:80px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;font-size:.7rem;text-align:center;line-height:1.2;box-shadow:var(--shadow)}
.badge-float strong{font-size:1.5rem;line-height:1}

/* ── Implantations ────────────────────────────── */
.implantations-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.implant-card{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);background:#fff;transition:var(--transition)}
.implant-card:hover{transform:translateY(-5px);box-shadow:0 20px 40px rgba(0,0,0,.15)}
.implant-header{padding:1.75rem 2rem;color:#fff;display:flex;align-items:center;gap:1rem}
.implant-card:first-child .implant-header{background:linear-gradient(135deg,var(--primary),var(--primary-light))}
.implant-card:last-child .implant-header{background:linear-gradient(135deg,var(--secondary),var(--secondary-lt))}
.implant-icon{width:56px;height:56px;background:rgba(255,255,255,.2);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}
.implant-header h3{font-size:1.25rem;font-weight:700}
.implant-header p{opacity:.85;font-size:.85rem;margin-top:.2rem}
.implant-body{padding:1.75rem 2rem}
.contact-detail{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;color:var(--gray)}
.contact-detail i{color:var(--primary);width:18px;margin-top:3px;flex-shrink:0}
.implant-card:last-child .contact-detail i{color:var(--secondary)}
.contact-detail strong{display:block;color:var(--dark);font-size:.875rem;font-weight:600}
.contact-detail span,.contact-detail a{font-size:.875rem}

/* ── Projets ──────────────────────────────────── */
.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.75rem}
.project-card{background:#fff;border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);border-top:4px solid;transition:var(--transition)}
.project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.project-card:nth-child(1){border-color:var(--primary)}
.project-card:nth-child(2){border-color:var(--secondary)}
.project-card:nth-child(3){border-color:var(--accent)}
.project-icon{width:54px;height:54px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.35rem;color:#fff;margin-bottom:1.25rem}
.project-card:nth-child(1) .project-icon{background:var(--primary)}
.project-card:nth-child(2) .project-icon{background:var(--secondary)}
.project-card:nth-child(3) .project-icon{background:var(--accent)}
.project-card h3{font-size:1.1rem;font-weight:700;color:var(--dark);margin-bottom:.65rem}
.project-card p{color:var(--gray);font-size:.9rem;line-height:1.7}

/* ── Équipe ───────────────────────────────────── */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.team-card{background:#fff;border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow);display:flex;align-items:flex-start;gap:.9rem;transition:var(--transition)}
.team-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.team-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#fff;flex-shrink:0}
.team-card:nth-child(odd) .team-icon{background:linear-gradient(135deg,var(--primary),var(--primary-light))}
.team-card:nth-child(even) .team-icon{background:linear-gradient(135deg,var(--secondary),var(--secondary-lt))}
.team-info h4{font-size:.95rem;font-weight:700;color:var(--dark);margin-bottom:.25rem}
.team-info p{font-size:.82rem;color:var(--gray);line-height:1.55}

/* ── Activités ────────────────────────────────── */
.activities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.75rem}
.activity-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transition:var(--transition)}
.activity-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.activity-image{height:180px;display:flex;align-items:center;justify-content:center;font-size:3.5rem}
.activity-card:nth-child(1) .activity-image{background:linear-gradient(135deg,#E3F2FD,#BBDEFB)}
.activity-card:nth-child(2) .activity-image{background:linear-gradient(135deg,#E8F5E9,#C8E6C9)}
.activity-card:nth-child(3) .activity-image{background:linear-gradient(135deg,#FFF8E1,#FFECB3)}
.activity-card:nth-child(4) .activity-image{background:linear-gradient(135deg,#F3E5F5,#E1BEE7)}
.activity-content{padding:1.5rem}
.activity-content h3{font-size:1.05rem;font-weight:700;color:var(--dark);margin-bottom:.45rem}
.activity-content p{font-size:.875rem;color:var(--gray);line-height:1.65}

/* ── Infos Parents ────────────────────────────── */
.parents-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}
.parent-card{background:#fff;border-radius:var(--radius-lg);padding:1.75rem 1.25rem;box-shadow:var(--shadow);text-align:center;transition:var(--transition);border-bottom:3px solid transparent}
.parent-card:hover{border-bottom-color:var(--primary);transform:translateY(-2px)}
.parent-card .icon{font-size:2.2rem;margin-bottom:.9rem;display:block}
.parent-card h4{font-size:.95rem;font-weight:700;color:var(--dark);margin-bottom:.4rem}
.parent-card p{font-size:.82rem;color:var(--gray);line-height:1.55}

/* ── Inscription ──────────────────────────────── */
.inscription-box{background:linear-gradient(135deg,var(--primary),var(--secondary));color:#fff;border-radius:var(--radius-lg);padding:3rem 2.5rem;text-align:center;box-shadow:var(--shadow-lg)}
.inscription-box h3{font-size:1.75rem;font-weight:700;margin-bottom:.75rem}
.inscription-box p{opacity:.9;margin-bottom:.4rem;font-size:1rem}
.inscription-box .highlight{font-size:1.35rem;font-weight:700;color:var(--accent-lt)}
.inscription-box .btn-group{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:2rem}

/* ── Contact ──────────────────────────────────── */
.contact-wrapper{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.contact-block h3{font-size:1.3rem;font-weight:700;color:var(--primary);margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--light)}
.contact-block:last-child h3{color:var(--secondary)}
.contact-item{display:flex;align-items:flex-start;gap:.9rem;margin-bottom:1.4rem}
.contact-item-icon{width:42px;height:42px;background:var(--primary);color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0}
.contact-block:last-child .contact-item-icon{background:var(--secondary)}
.contact-item-text strong{display:block;font-weight:600;color:var(--dark);margin-bottom:.1rem;font-size:.9rem}
.contact-item-text a{color:var(--primary);font-size:.875rem}
.contact-item-text a:hover{text-decoration:underline}
.contact-item-text p{color:var(--gray);font-size:.875rem}
.contact-block:last-child .contact-item-text a{color:var(--secondary)}

.contact-emails{margin-top:1.5rem;background:var(--light);border-radius:var(--radius);padding:1.25rem}
.contact-emails h4{font-size:.85rem;font-weight:700;color:var(--dark);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}
.contact-emails a{display:flex;align-items:center;gap:.5rem;color:var(--primary);font-size:.85rem;margin-bottom:.4rem}
.contact-emails a i{font-size:.75rem}

.social-links{display:flex;gap:.65rem;margin-top:1.5rem}
.social-link{width:38px;height:38px;background:var(--primary);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:var(--transition);font-size:.95rem}
.social-link:hover{background:var(--primary-dark);transform:translateY(-2px)}

/* ── Accès ERP ────────────────────────────────── */
.erp-section{background:linear-gradient(135deg,#1A1A2E,#2d3748);color:#fff;padding:4.5rem 0;text-align:center}
.erp-section .erp-icon{font-size:3.5rem;margin-bottom:1.25rem;opacity:.9}
.erp-section h2{font-size:2rem;font-weight:700;margin-bottom:.75rem}
.erp-section p{opacity:.7;margin-bottom:2rem;font-size:1rem;max-width:500px;margin-left:auto;margin-right:auto}
.erp-section p + p{margin-top:-.5rem;margin-bottom:2rem}
.btn-erp-big{display:inline-flex;align-items:center;gap:.75rem;background:linear-gradient(135deg,var(--accent),#E65100);color:#fff;padding:1rem 2.5rem;border-radius:50px;font-size:1.1rem;font-weight:700;box-shadow:0 8px 25px rgba(255,160,0,.4);transition:var(--transition)}
.btn-erp-big:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(255,160,0,.55)}

/* ── Footer ───────────────────────────────────── */
.footer{background:var(--dark);color:rgba(255,255,255,.7);padding:3rem 0 1.5rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2rem}
.footer-brand img{height:42px;margin-bottom:1rem;filter:brightness(2);opacity:.85}
.footer-brand p{font-size:.85rem;line-height:1.7;margin-bottom:1rem}
.footer-col h4{color:#fff;font-weight:700;margin-bottom:1rem;font-size:.875rem;text-transform:uppercase;letter-spacing:.05em}
.footer-col ul li{margin-bottom:.45rem}
.footer-col ul li a{color:rgba(255,255,255,.6);font-size:.85rem;transition:var(--transition)}
.footer-col ul li a:hover{color:#fff}
.footer-col p{font-size:.82rem;line-height:1.65}
.footer-divider{border:none;border-top:1px solid rgba(255,255,255,.1);margin:1.5rem 0}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;color:rgba(255,255,255,.4)}
.footer-bottom a{color:rgba(255,255,255,.55)}
.footer-bottom a:hover{color:#fff}

/* ── Onglets Équipe ───────────────────────────── */
.team-tabs-nav{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;margin-bottom:2.5rem}
.tab-btn{background:#fff;color:var(--gray);border:1.5px solid #e5e7eb;padding:.55rem 1.1rem;border-radius:50px;font-size:.82rem;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap}
.tab-btn:hover{border-color:var(--primary);color:var(--primary)}
.tab-btn.active{background:var(--primary);color:#fff;border-color:var(--primary);box-shadow:0 4px 12px rgba(27,94,142,.3)}

.tab-panel{display:none}
.tab-panel.active{display:block}

.tab-subgroup{margin-bottom:2.5rem}
.tab-subgroup-title{display:flex;align-items:center;gap:.65rem;font-size:.85rem;font-weight:700;color:var(--gray);text-transform:uppercase;letter-spacing:.06em;margin-bottom:1.25rem}
.tab-subgroup-title::before,.tab-subgroup-title::after{content:'';flex:1;height:1px;background:#e5e7eb}
.tab-subgroup-title span{white-space:nowrap}

/* Grille de cartes membres */
.members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:1.25rem}

.member-card{background:#fff;border-radius:var(--radius-lg);padding:1.25rem .75rem;box-shadow:var(--shadow);text-align:center;transition:var(--transition);border:1.5px solid transparent}
.member-card:hover{border-color:var(--primary);transform:translateY(-3px);box-shadow:var(--shadow-lg)}

.member-photo-wrap{width:100px;height:100px;margin:0 auto .85rem;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--light),#dde3ec);border:3px solid #e5e7eb;box-shadow:0 2px 8px rgba(0,0,0,.1)}
.member-card:hover .member-photo-wrap{border-color:var(--primary)}
.member-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:top center}

.no-photo{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.25rem;color:#9ca3af}

.member-card h5{font-size:.82rem;font-weight:700;color:var(--dark);margin-bottom:.2rem;line-height:1.3}
.member-card p{font-size:.75rem;color:var(--gray);line-height:1.4}

/* Onglet direction : carte plus grande */
.members-grid.bureau .member-photo-wrap{width:110px;height:110px}
.members-grid.bureau .member-card h5{font-size:.88rem}

/* ── Responsive ───────────────────────────────── */
@media(max-width:1024px){
  .about-grid{grid-template-columns:1fr;gap:2.5rem}
  .footer-grid{grid-template-columns:1fr 1fr;gap:1.5rem}
  .projects-grid{grid-template-columns:1fr 1fr}
  .team-grid{grid-template-columns:1fr 1fr}
  .parents-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:768px){
  :root{--nav-h:64px}
  .nav-menu,.nav-actions .btn-erp{display:none!important}
  .nav-toggle{display:flex}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .implantations-grid,.contact-wrapper,.activities-grid{grid-template-columns:1fr}
  .projects-grid{grid-template-columns:1fr}
  .team-grid{grid-template-columns:1fr}
  .section{padding:3.5rem 0}
  .section-title h2{font-size:1.75rem}
  .footer-grid{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:.5rem;text-align:center}
  .badge-float{display:none}
  .hero{min-height:100svh}
  .inscription-box{padding:2rem 1.25rem}
}

@media(max-width:480px){
  .hero-buttons{flex-direction:column;align-items:center}
  .hero-buttons .btn{width:100%;justify-content:center;max-width:280px}
  .parents-grid{grid-template-columns:1fr 1fr}
  .stat-item .number{font-size:2rem}
  .inscription-box .btn-group{flex-direction:column;align-items:center}
  .inscription-box .btn-group .btn{width:100%;max-width:260px;justify-content:center}
}
