/*
Theme Name: Vitamin
Theme URI: https://vitamin.bzh
Author: VITAMIN
Description: Thème WordPress classique pour vitamin.bzh — à l'interface des univers de l'alimentation.
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: vitamin
*/

:root{
  --jaune:#FACB0B; --jaune-doux:#FDE49A;
  --vert:#7ED957; --vert-clair:#EAF7E2; --vert-secu:#1E4A2B;
  --bleu:#0D1C8D; --brun:#4A3820;
  --bleu-tint:#8CA6F5; --bleu-pale:#EAEFFD;
  --brun-tint:#F0A878; --terra-pale:#FBEEE3;
  --sauge-tint:#A9D6AE; --sauge-pale:#EBF6EC;
  --jaune-pale:#FDF6DE;
  --sable:#FAF6EC;
  --encre:#17231B; --gris:#6B7268; --gris-clair:#EDEFEB; --blanc:#FFFFFF;
  --accent: var(--vert);
  --pale: var(--vert-clair);
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  font-family:'Inter','TeX Gyre Heros',sans-serif;
  color:var(--encre);
  line-height:1.6;
  background:var(--blanc);
  -webkit-font-smoothing:antialiased;
}
.hdg{font-family:'Poppins',sans-serif; font-weight:800; letter-spacing:-0.4px;}
a{text-decoration:none; color:inherit;}
img{max-width:100%; display:block;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Poppins',sans-serif; font-weight:700; font-size:14px;
  padding:13px 26px; border-radius:10px; border:none; cursor:pointer;
}
.btn-primary{background:var(--vert-secu); color:var(--blanc);}
.btn-ghost{background:transparent; color:var(--encre); border:1.5px solid rgba(23,35,27,0.25);}

.floating-cta{
  position:fixed; top:50%; right:22px; transform:translateY(-50%); z-index:200;
  background:var(--vert-secu); color:#fff; padding:15px 22px 15px 18px; border-radius:10px;
  font-family:'Poppins',sans-serif; font-weight:700; font-size:14px;
  box-shadow:0 12px 30px rgba(23,35,27,0.28);
  display:flex; align-items:center; gap:10px;
  transition:transform .2s ease, box-shadow .2s ease;
}
.floating-cta:hover{transform:translateY(-50%) translateX(-4px); box-shadow:0 16px 36px rgba(23,35,27,0.34);}
.floating-cta .dot{width:9px; height:9px; border-radius:50%; background:var(--jaune); flex-shrink:0;}
.floating-cta .sub{display:block; font-size:10.5px; font-weight:500; opacity:0.75; margin-top:1px;}
@media (max-width:640px){
  .floating-cta{top:auto; bottom:14px; right:14px; left:14px; transform:none; justify-content:center; padding:14px;}
  .floating-cta:hover{transform:none;}
}
.eyebrow{font-size:13.5px; letter-spacing:2px; text-transform:uppercase; font-weight:700; color:var(--vert-secu);}
.screen-reader-text{position:absolute !important; clip:rect(1px,1px,1px,1px); width:1px; height:1px; overflow:hidden;}

/* ===== TOPBAR / HEADER ===== */
.topbar{background:var(--sable); color:var(--encre); font-size:12.5px; border-bottom:1px solid var(--gris-clair); overflow:hidden; max-height:38px; transition:max-height .25s ease, opacity .2s ease, border-color .25s ease;}
.topbar .wrap{display:flex; justify-content:space-between; align-items:center; height:38px;}
.topbar a{color:var(--vert-secu); font-weight:600;}
body.is-scrolled .topbar{max-height:0; opacity:0; border-color:transparent;}

header.site{position:sticky; top:0; z-index:50; background:var(--blanc); border-bottom:1px solid var(--gris-clair);}
header.site .wrap{display:flex; align-items:center; justify-content:space-between; height:88px;}
.logo{height:42px;}
.logo-wrap{display:flex; align-items:flex-end; gap:5px;}
.logo-wrap .cr{font-size:10px; color:var(--gris); font-weight:600; margin-bottom:2px;}

nav.main ul{display:flex; align-items:center; gap:34px; list-style:none;}
nav.main a{font-size:14.5px; font-weight:600; color:var(--encre);}
nav.main a.cta, nav.main .cta > a{background:var(--jaune); padding:10px 20px; border-radius:10px; font-weight:700;}
nav.main li.current-menu-item > a,
nav.main li.current-menu-ancestor > a,
nav.main li.current_page_item > a{color:var(--vert-secu);}

nav.main li{position:relative;}
nav.main li.menu-item-has-children > a{display:flex; align-items:center; gap:5px;}
nav.main li.menu-item-has-children > a::after{content:"›"; display:inline-block; transform:rotate(90deg); font-size:12px; transition:transform .2s ease;}
nav.main li.menu-item-has-children:hover > a::after,
nav.main li.menu-item-has-children:focus-within > a::after{transform:rotate(-90deg);}
nav.main .sub-menu{
  list-style:none; position:absolute; top:100%; left:-16px; min-width:230px;
  background:var(--blanc); border:1px solid var(--gris-clair); border-radius:12px;
  box-shadow:0 18px 40px rgba(23,35,27,0.14); padding:8px; display:flex; flex-direction:column; gap:2px;
  opacity:0; pointer-events:none; transform:translateY(6px); transition:opacity .18s ease, transform .18s ease;
}
nav.main li.menu-item-has-children:hover > .sub-menu,
nav.main li.menu-item-has-children:focus-within > .sub-menu{opacity:1; pointer-events:auto; transform:translateY(0);}
nav.main .sub-menu a{display:block; padding:9px 12px; border-radius:8px; font-weight:500;}
nav.main .sub-menu a:hover{background:var(--gris-clair);}

.nav-toggle{display:none; background:none; border:none; cursor:pointer; padding:8px; flex-direction:column; gap:5px;}
.nav-toggle span{display:block; width:24px; height:2px; background:var(--encre);}

/* ===== HERO ===== */
.hero{background:var(--sable); color:var(--encre); position:relative; overflow:hidden; padding:72px 0 60px 0;}
.hero .glow1{position:absolute; top:-140px; right:-140px; width:480px; height:480px; border-radius:50%; background:radial-gradient(circle, rgba(250,203,11,0.35), transparent 70%);}
.hero .glow2{position:absolute; bottom:-180px; left:-120px; width:480px; height:480px; border-radius:50%; background:radial-gradient(circle, rgba(126,217,87,0.30), transparent 70%);}
.hero .wrap{position:relative; display:flex; align-items:center; gap:56px;}
.hero .coltext{flex:1.05;}
.hero h1{font-size:42px; line-height:1.14; margin:14px 0 18px 0; color:var(--encre);}
.hero p.lede{font-size:16px; color:var(--gris); max-width:480px; margin-bottom:26px;}
.hero .cta-row{display:flex; gap:14px; margin-bottom:28px; flex-wrap:wrap;}
.hero .hint{font-size:13px; color:var(--gris); margin-bottom:12px; font-weight:600;}
.hero .worldstrip{display:flex; gap:8px; flex-wrap:wrap;}
.cartouche{
  font-size:13.5px; font-weight:700; padding:9px 18px; border-radius:10px; color:var(--encre);
  cursor:pointer; border:2px solid transparent; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.cartouche:hover, .cartouche.hover-sync{
  transform:translateY(-2px) scale(1.05);
  box-shadow:0 6px 16px rgba(23,35,27,0.16);
  border-color:rgba(23,35,27,0.35);
}
.hero .colviz{flex:1.1; display:flex; justify-content:center;}
.bento-wrap{width:520px; max-width:100%; height:400px; display:grid; grid-template-columns:1fr 1fr 1fr; grid-template-rows:1fr 1fr 1fr; grid-template-areas:"c c r" "c c i" "m f p"; gap:12px;}
.bento-tile{border-radius:14px; padding:16px; display:flex; flex-direction:column; justify-content:flex-end; cursor:pointer; border:3px solid transparent; transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease; position:relative;}
.bento-tile:hover, .bento-tile.hover-sync{border-color:var(--encre); transform:translateY(-3px); box-shadow:0 10px 22px rgba(23,35,27,0.14);}
@keyframes bentoAutoPulse{
  0%{transform:translateY(0) scale(1); box-shadow:0 0 0 0 rgba(250,203,11,0);}
  45%{transform:translateY(-6px) scale(1.045); box-shadow:0 16px 32px rgba(250,203,11,0.45), 0 0 0 6px rgba(250,203,11,0.35);}
  100%{transform:translateY(0) scale(1); box-shadow:0 0 0 0 rgba(250,203,11,0);}
}
.bento-tile.auto-highlight{border-color:#FFFFFF; animation:bentoAutoPulse 1s ease-in-out;}
.bento-tile .name{font-family:'Poppins',sans-serif; font-weight:700; font-size:13.5px; color:var(--encre); line-height:1.25; padding-left:5px;}
.bento-center{grid-area:c; background:#2F5233; border-radius:14px; color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; cursor:default;}
.bento-center img{width:150px; margin-bottom:10px;}
.bento-center .cap{font-size:11px; letter-spacing:2.5px; font-weight:700; color:#EDEFEB;}

/* ===== SECTION HEAD ===== */
.shead{max-width:640px; margin-bottom:34px;}
.shead h2{font-size:30px; margin:10px 0 12px 0;}
.shead p{color:var(--gris); font-size:15px;}

/* ===== REFERENCES ===== */
.refs{padding:76px 0; background:var(--gris-clair); scroll-margin-top:90px;}
.refs .headrow{display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:34px; flex-wrap:wrap; gap:12px;}
.refs h2{font-size:28px;}
.refs .seeall{font-size:13.5px; font-weight:700; color:var(--vert-secu);}
.refs-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.ref-card{background:var(--blanc); border-radius:12px; overflow:hidden; display:block; transition:transform .18s ease, box-shadow .18s ease;}
.ref-card:hover{transform:translateY(-3px); box-shadow:0 12px 26px rgba(23,35,27,0.12);}
.ref-card .band{padding:8px 20px; font-family:'Poppins',sans-serif; font-size:12px; font-weight:700; color:var(--encre);}
.ref-card .ph{height:140px; position:relative; display:flex; align-items:center; justify-content:center; background-size:cover; background-position:center;}
.ref-card .ph .ph-tag{background:rgba(23,35,27,0.6); color:#fff; font-size:13px; font-weight:700; padding:7px 14px; border-radius:12px; display:flex; align-items:center; gap:6px; letter-spacing:0.3px;}
.ref-card .body{padding:20px;}
.ref-card h4{font-size:14px; font-family:'Poppins',sans-serif; font-weight:700; line-height:1.35; margin-bottom:8px;}
.ref-card p{font-size:12.4px; color:var(--gris);}

/* ===== QUI SOMMES-NOUS ===== */
.apropos{padding:80px 0; scroll-margin-top:90px;}
.apropos .top{display:flex; gap:56px; align-items:center; margin-bottom:60px;}
.apropos .colimg{flex:0.85;}
.quote-block{background:var(--vert-clair); color:var(--encre); border-radius:12px; padding:40px 34px; border-left:5px solid var(--vert-secu); position:relative; overflow:hidden;}
.quote-block::before{content:"\201C"; position:absolute; top:-10px; left:16px; font-family:'Poppins',sans-serif; font-size:110px; color:rgba(30,74,43,0.12); font-weight:800; line-height:1;}
.quote-block p{position:relative; font-family:'Poppins',sans-serif; font-weight:600; font-size:19px; line-height:1.5;}
.quote-block .sig{position:relative; margin-top:18px; font-size:12px; color:var(--vert-secu); font-weight:700;}
.apropos .coltext{flex:1;}
.apropos .coltext p{color:var(--gris); font-size:14.5px; margin-bottom:14px; max-width:480px;}

.stats-row{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-bottom:56px; padding:30px 0; border-top:1px solid var(--gris-clair); border-bottom:1px solid var(--gris-clair);}
.stats-row .stat{text-align:center; padding:0 10px; border-left:1px solid var(--gris-clair);}
.stats-row .stat:first-child{border-left:none;}
.stats-row .stat .n{font-family:'Poppins',sans-serif; font-weight:800; font-size:30px; color:var(--vert-secu);}
.stats-row .stat .l{font-size:13px; color:var(--gris); margin-top:5px;}

.equipe-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
.equipe-card{background:var(--gris-clair); border-radius:14px; padding:26px; display:flex; gap:20px; align-items:center; position:relative; cursor:pointer; transition:box-shadow .2s ease, background .2s ease;}
.equipe-card .avatar{width:104px; height:104px; border-radius:50%; flex-shrink:0; object-fit:cover;}
.equipe-card h3{font-family:'Poppins',sans-serif; font-size:15.5px; font-weight:700; margin-bottom:4px;}
.equipe-card .role{font-size:11.5px; color:var(--vert-secu); font-weight:700; margin-bottom:8px;}
.equipe-card p{font-size:12.6px; color:var(--gris); margin-bottom:10px;}
.equipe-card .tags{display:flex; gap:6px; flex-wrap:wrap;}
.equipe-card .tags span{font-size:12px; font-weight:600; padding:4px 11px; border-radius:12px; background:var(--blanc); color:var(--encre);}
.equipe-card .hint{font-size:11px; font-weight:700; color:var(--vert-secu); display:flex; align-items:center; gap:5px; margin-top:2px;}
.equipe-card .hint .chev{transition:transform .3s ease; display:inline-block;}
.equipe-card:hover, .equipe-card:focus-within{background:var(--blanc); box-shadow:0 22px 46px rgba(23,35,27,0.16); z-index:30;}
.equipe-card:hover .hint .chev, .equipe-card:focus-within .hint .chev{transform:rotate(90deg);}

.equipe-more{
  position:absolute; left:0; right:0; top:calc(100% + 10px);
  background:var(--blanc); border-radius:12px; box-shadow:0 24px 50px rgba(23,35,27,0.18);
  max-height:0; opacity:0; overflow:hidden; pointer-events:none;
  transition:max-height .45s cubic-bezier(.4,0,.2,1), opacity .3s ease;
  z-index:29;
}
.equipe-card:hover .equipe-more, .equipe-card:focus-within .equipe-more{
  max-height:460px; opacity:1; pointer-events:auto;
}
.equipe-more-inner{max-height:460px; overflow-y:auto; padding:22px 26px;}
.equipe-more h5{font-family:'Poppins',sans-serif; font-size:11px; text-transform:uppercase; letter-spacing:1.2px; font-weight:800; color:var(--vert-secu); margin:16px 0 8px 0;}
.equipe-more h5:first-child{margin-top:0;}
.equipe-more ul{list-style:none; padding:0; margin:0;}
.equipe-more li{font-size:12.4px; color:var(--encre); line-height:1.55; margin-bottom:6px; padding-left:14px; position:relative;}
.equipe-more li:before{content:"–"; position:absolute; left:0; color:var(--vert-secu);}
.equipe-more .chip-row{display:flex; flex-wrap:wrap; gap:6px;}
.equipe-more .chip-row span{font-size:11px; font-weight:600; padding:4px 10px; border-radius:12px; background:var(--vert-clair); color:var(--vert-secu);}
.equipe-more .miss-cat{font-weight:700; color:var(--encre); font-size:12.6px; margin-bottom:2px; display:block;}
.equipe-more .miss-block{margin-bottom:12px;}

/* ===== PARTENAIRES ===== */
.partenaires{padding:76px 0 44px 0; border-top:1px solid var(--gris-clair); scroll-margin-top:90px;}
.partenaires-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-bottom:48px;}
.partenaire-card{background:var(--gris-clair); border-radius:14px; padding:26px 22px; display:flex; flex-direction:column; gap:14px; text-decoration:none; color:inherit; transition:transform .18s ease, box-shadow .18s ease, background .18s ease;}
.partenaire-card:hover{transform:translateY(-4px); box-shadow:0 10px 24px rgba(23,35,27,0.12); background:var(--blanc);}
.partenaire-card .plogo{background:var(--blanc); border-radius:12px; height:100px; display:flex; align-items:center; justify-content:center; padding:14px;}
.partenaire-card .plogo.plogo-dark{background:#2F5233;}
.partenaire-card .plogo img{max-height:76px; max-width:100%; object-fit:contain;}
.partenaire-card h4{font-family:'Poppins',sans-serif; font-weight:700; font-size:14.5px; color:var(--encre);}
.partenaire-card p{font-size:12.6px; color:var(--gris); flex:1;}
.partenaire-card .plink{font-size:12.5px; font-weight:700; color:var(--vert-secu);}
.partenaires .eyebrow{display:block; text-align:center; margin-bottom:22px;}

.quali-row{display:flex; justify-content:center; align-items:center; gap:28px; flex-wrap:wrap; margin-bottom:34px; padding-bottom:34px; border-bottom:1px solid var(--gris-clair);}
.quali-item{display:flex; align-items:center; gap:9px; background:var(--gris-clair); border-radius:10px; padding:8px 16px;}
.quali-item img{height:22px; max-width:120px; object-fit:contain;}
.quali-item .badge-circle{width:26px; height:26px; border-radius:50%; background:var(--vert-secu); display:inline-flex; align-items:center; justify-content:center; font-family:'Poppins',sans-serif; font-weight:800; font-size:10px; color:#fff;}
.quali-item span.label{font-family:'Poppins',sans-serif; font-weight:700; font-size:13px; color:var(--encre);}

/* ===== CTA BAND ===== */
.ctaband{background:var(--vert); color:var(--encre); padding:60px 0; text-align:center;}
.ctaband h2{font-size:26px; margin-bottom:8px;}
.ctaband p{color:#2F5233; margin-bottom:24px;}
.ctaband .btn-primary{background:var(--encre); color:var(--blanc);}
.ctaband.ctaband-dark{background:var(--encre); color:var(--blanc);}
.ctaband.ctaband-dark h2{color:var(--blanc);}
.ctaband.ctaband-dark p{color:var(--gris-clair);}
.ctaband.ctaband-dark .btn-primary{background:var(--jaune); color:var(--encre);}

/* ===== CONTACT ===== */
.contact-section{background:var(--encre); color:var(--blanc); padding:70px 0; scroll-margin-top:90px;}
.contact-grid{display:flex; gap:56px; flex-wrap:wrap;}
.contact-grid .colinfo{flex:1; min-width:280px;}
.contact-grid .colinfo h2{font-size:27px; margin:10px 0 14px 0; color:var(--blanc);}
.contact-grid .colinfo p{font-size:14px; color:#C9D0C7; margin-bottom:22px; max-width:440px;}
.contact-grid .colinfo .infoline{display:flex; gap:12px; margin-bottom:14px; font-size:13.5px; color:#E3E7E0;}
.contact-grid .colinfo .infoline b{color:var(--blanc); font-family:'Poppins',sans-serif; font-weight:700; display:block; font-size:12px; text-transform:uppercase; letter-spacing:1px; margin-bottom:2px;}

/* ===== FOOTER ===== */
footer.site{background:var(--gris-clair); color:var(--encre); padding:60px 0 26px 0; font-size:13.5px; border-top:1px solid #e2e5de;}
footer.site .grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:30px; padding-bottom:36px;}
footer.site .logo-f{height:36px; margin-bottom:18px;}
footer.site .logo-wrap .cr{color:rgba(23,35,27,0.55);}
footer.site h5{font-family:'Poppins',sans-serif; font-size:12px; letter-spacing:1px; text-transform:uppercase; color:var(--vert-secu); margin-bottom:14px;}
footer.site ul{list-style:none;}
footer.site li{margin-bottom:9px; opacity:0.85;}
footer.site a{color:var(--encre);}
footer.site .bottom{border-top:1px solid #dfe2dc; padding-top:20px; display:flex; justify-content:space-between; font-size:11.5px; opacity:0.6; flex-wrap:wrap; gap:8px;}

/* ===== PAGES UNIVERS ===== */
.crumb{padding:22px 0 0 0; font-size:13px; color:var(--gris);}
.crumb a{color:var(--vert-secu); font-weight:600;}

/* ===== PAGE CGV / LEGAL ===== */
.legal-hero{padding:34px 0 44px 0;}
.legal-hero h1{font-size:34px; margin:12px 0 10px 0; color:var(--encre);}
.legal-hero .meta{font-size:13px; color:var(--gris);}

.legal-toc{background:var(--gris-clair); border-radius:14px; padding:26px 30px; margin-bottom:50px;}
.legal-toc h2{font-family:'Poppins',sans-serif; font-weight:700; font-size:13px; text-transform:uppercase; letter-spacing:1px; color:var(--vert-secu); margin-bottom:14px;}
.legal-toc ol, .legal-toc ul{columns:2; column-gap:36px; list-style:none; counter-reset:toc; padding:0;}
.legal-toc li{margin-bottom:8px; break-inside:avoid;}
.legal-toc a{font-size:13.5px; color:var(--encre); font-weight:600;}
.legal-toc a:hover{color:var(--vert-secu);}

.legal-ident{background:var(--sable); border:1px solid var(--jaune-doux); border-radius:14px;
  padding:22px 26px; margin-bottom:30px;}
.legal-ident h2{font-family:'Poppins',sans-serif; font-weight:700; font-size:13px; text-transform:uppercase;
  letter-spacing:1px; color:var(--vert-secu); margin-bottom:12px;}
.legal-ident p{font-size:14px; margin-bottom:10px;}
.legal-ident .ei{border-left:3px solid var(--jaune); padding-left:14px; margin:12px 0;}
.ph{background:var(--jaune-doux); padding:1px 4px; border-radius:3px; font-weight:600;}
.legal-doc{max-width:760px; margin:0 auto; padding-bottom:70px;}
.legal-doc section{padding:26px 0; border-bottom:1px solid var(--gris-clair); scroll-margin-top:100px;}
.legal-doc section:last-child{border-bottom:none;}
.legal-doc h2{font-family:'Poppins',sans-serif; font-weight:700; font-size:19px; color:var(--encre); margin-bottom:12px;}
.legal-doc p{font-size:14.5px; color:var(--encre); margin-bottom:12px;}
.legal-doc p:last-child{margin-bottom:0;}
.back-top{display:inline-block; margin-top:44px; font-size:13px; font-weight:700; color:var(--vert-secu);}

@media (max-width:640px){
  .legal-toc ol, .legal-toc ul{columns:1;}
  .legal-hero h1{font-size:27px;}
}

.uhero{position:relative; overflow:hidden; padding:34px 0 56px 0; background:var(--pale);}
.uhero .badge{display:inline-flex; align-items:center; gap:8px; background:var(--blanc); border-radius:12px; padding:7px 16px; font-size:12px; font-weight:700; color:var(--encre); margin-bottom:18px;}
.uhero .badge .dot{width:9px; height:9px; border-radius:50%; background:var(--accent);}
.uhero h1{font-size:38px; line-height:1.12; margin-bottom:16px; color:var(--encre);}
.uhero .lede{font-size:16px; color:var(--encre); opacity:.72; max-width:640px; margin-bottom:26px;}
.uhero .lede p{margin:0 0 12px;}
.uhero .lede p:last-child{margin-bottom:0;}
.uhero .cta-row{display:flex; gap:14px; flex-wrap:wrap;}

.usection{padding:64px 0;}
.usection .shead{max-width:680px; margin-bottom:32px;}
.usection h2{font-size:26px; margin:10px 0 12px 0;}
.usection .shead p{color:var(--gris); font-size:14.5px;}

.offer-grid{display:flex; flex-direction:column; gap:14px;}
.offer-card{display:flex; gap:16px; align-items:flex-start; background:var(--gris-clair); border-radius:12px; padding:22px 24px;}
.offer-card .check{flex-shrink:0; width:30px; height:30px; border-radius:50%; background:var(--accent); color:var(--encre); font-weight:800; display:flex; align-items:center; justify-content:center;}
.offer-card h3{font-family:'Poppins',sans-serif; font-weight:700; font-size:16px; margin-bottom:5px;}
.offer-card p{font-size:13.5px; color:var(--gris);}

.ex-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(260px,1fr)); gap:18px;}
.ex-card{background:var(--blanc); border:1px solid var(--gris-clair); border-radius:12px; padding:22px;}
.ex-card h4{font-family:'Poppins',sans-serif; font-weight:700; font-size:14.5px; margin-bottom:8px; color:var(--vert-secu);}
.ex-card p{font-size:13px; color:var(--gris);}

.team-strip{display:flex; gap:14px; flex-wrap:wrap; margin-top:8px;}
.team-strip span{background:var(--gris-clair); border-radius:12px; padding:8px 16px; font-size:13px; font-weight:600;}

.others{background:var(--gris-clair); padding:56px 0;}
.others h2{font-size:22px; margin-bottom:20px;}
.others-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.other-card{background:var(--blanc); border-radius:14px; padding:18px; font-family:'Poppins',sans-serif; font-weight:700; font-size:13.5px; display:flex; align-items:center; gap:10px;}
.other-card .dot{width:12px; height:12px; border-radius:50%; flex-shrink:0;}

/* ===== ARTICLE / EXEMPLE UNIQUE ===== */
.single-hero{padding:40px 0; background:var(--gris-clair);}
.single-hero .tagrow span{font-size:12.5px; font-weight:700; padding:4px 11px; border-radius:12px; background:var(--vert-clair); color:var(--vert-secu);}
.single-hero h1{font-size:32px; margin:14px 0;}
.single-content{padding:48px 0; max-width:760px; margin:0 auto;}
.single-content img{border-radius:12px; margin-bottom:24px;}
.single-content p{margin-bottom:16px;}
.single-back{padding:0 0 40px 0;}

@media (max-width:640px){
  .bento-wrap{width:100%; max-width:420px; height:auto; display:flex; flex-wrap:wrap; gap:12px;}
  .bento-center{flex:1 0 100%; min-height:130px; padding:22px;}
  .bento-tile{flex:1 0 calc(50% - 6px); min-height:92px; padding:14px;}
}

@media (max-width:960px){
  .hero .wrap{flex-direction:column;}
  .refs-grid{grid-template-columns:1fr;}
  .partenaires-grid{grid-template-columns:1fr 1fr;}
  .apropos .top{flex-direction:column;}
  .contact-grid{flex-direction:column;}
  .form-row{flex-direction:column; gap:14px;}
  .equipe-grid{grid-template-columns:1fr;}
  .stats-row{grid-template-columns:1fr 1fr;}
  footer.site .grid{grid-template-columns:1fr 1fr;}
  .others-grid{grid-template-columns:1fr 1fr;}
}

@media (max-width:900px){
  .nav-toggle{display:flex;}
  nav.main ul{
    display:none; position:absolute; top:100%; left:0; right:0; background:var(--blanc);
    border-bottom:1px solid var(--gris-clair); flex-direction:column; align-items:flex-start; gap:0;
    padding:8px 32px 20px; box-shadow:0 18px 30px rgba(23,35,27,0.1);
  }
  nav.main.is-open > ul{display:flex;}
  nav.main ul > li{width:100%;}
  nav.main ul > li > a{display:block; padding:12px 0;}
  nav.main .sub-menu{
    position:static; opacity:1; pointer-events:auto; transform:none; box-shadow:none; border:none;
    padding:0 0 8px 14px; display:none;
  }
  nav.main li.menu-item-has-children.is-open > .sub-menu{display:flex;}
  nav.main a.cta, nav.main .cta > a{display:inline-flex; margin-top:6px;}
}
