/* Accueil v2 : épuré, couleurs du logo (vert #3DAA85, jaune #F2B035) */
.h2-page{
  --teal:#3DAA85;--teal-d:#1F7F60;--teal-dd:#145943;--teal-ll:#F3FAF7;
  --sun:#F2B035;--sun-d:#B9770C;--sun-l:#FFF4DC;
  --ink:#0F2A22;--ink-2:#3F574E;--ink-3:#667D74;--line:#E3ECE8;
  font-family:'Plus Jakarta Sans',Inter,system-ui,sans-serif;color:var(--ink);
  max-width:1080px;margin:0 auto;padding:0 20px 120px;position:relative;overflow:hidden;-webkit-font-smoothing:antialiased
}
.h2-page *{box-sizing:border-box}
.h2-hero{position:relative;padding:22px 0 18px}
.h2-hero:before{content:"";position:absolute;right:-110px;top:-140px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(61,170,133,.20),rgba(61,170,133,0) 70%);pointer-events:none}
.h2-hero:after{content:"";position:absolute;left:-90px;top:40px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(242,176,53,.16),rgba(242,176,53,0) 70%);pointer-events:none}
.h2-hello{position:relative;font-size:16px;color:var(--ink-2);font-weight:500;margin:0}
.h2-hello i{color:var(--sun)}
.h2-hero h1{position:relative;font-size:clamp(30px,6vw,46px);line-height:1.15;font-weight:800;letter-spacing:-.5px;margin:6px 0 20px;color:var(--ink)}
.h2-hero h1 em{font-style:normal;color:var(--teal-d);position:relative;white-space:nowrap;z-index:0}
.h2-hero h1 em:after{content:"";position:absolute;left:0;right:0;bottom:3px;height:9px;background:var(--sun);opacity:.35;border-radius:4px;z-index:-1}
.h2-search{position:relative;z-index:1;display:flex;align-items:center;gap:12px;background:#fff;border-radius:18px;padding:8px 8px 8px 18px;box-shadow:0 10px 30px -10px rgba(20,89,67,.25),0 0 0 1px var(--line);max-width:620px;margin:0}
.h2-search>i{color:var(--teal-d);font-size:18px}
.h2-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:inherit;font-size:16px;color:var(--ink);padding:10px 0}
.h2-search input::placeholder{color:var(--ink-3)}
.h2-search button{flex:0 0 48px;height:48px;border:0;border-radius:14px;background:var(--teal-d);color:#fff;font-size:17px;cursor:pointer}
.h2-search:focus-within{box-shadow:0 10px 30px -10px rgba(20,89,67,.35),0 0 0 2px var(--teal)}

.h2-sec{margin-top:22px}
.h2-sec-h{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 14px}
.h2-sec-h h2{font-size:20px;font-weight:700;margin:0;color:var(--ink)}
.h2-sec-h a{font-size:14.5px;color:var(--teal-d);font-weight:700;text-decoration:none}

.h2-fams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(min-width:760px){.h2-fams{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}}
.h2-fam{border-radius:18px;padding:12px;display:flex;align-items:center;gap:12px;min-height:76px;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}
.h2-fam:active{transform:scale(.97)}
.h2-ic{flex:0 0 48px;width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:21px}
.h2-fam-t{min-width:0}
.h2-fam strong{display:block;font-size:15px;line-height:1.25;font-weight:700}
.h2-fam small{display:block;font-size:13px;line-height:1.35;color:var(--ink-2);margin-top:2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.h2-fam.is-open{background:linear-gradient(160deg,#fff 0%,var(--teal-ll) 100%);box-shadow:0 0 0 1.5px var(--teal) inset,0 12px 24px -14px rgba(31,127,96,.55)}
.h2-fam.is-open:hover{box-shadow:0 0 0 2px var(--teal-d) inset,0 14px 28px -14px rgba(31,127,96,.6)}
.h2-fam.is-open .h2-ic{background:var(--teal);color:#fff;box-shadow:0 8px 16px -6px rgba(61,170,133,.7)}
.h2-fam.is-soon{background:#fff;box-shadow:0 0 0 1px var(--line) inset}
.h2-fam.is-soon .h2-ic{background:repeating-linear-gradient(135deg,#F3F6F5 0 6px,#EDF2F0 6px 12px);color:#B5C3BE;font-size:17px}
.h2-fam.is-soon strong{color:var(--ink-3);font-weight:600}
.h2-fam.is-all{background:var(--sun-l);box-shadow:0 0 0 1px #F6DFA9 inset}
.h2-fam.is-all .h2-ic{background:#fff;color:var(--sun-d)}

.h2-pop{display:flex;gap:12px;overflow-x:auto;padding:2px 20px 8px;margin:0 -20px;scrollbar-width:none;scroll-snap-type:x mandatory;scroll-padding:0 20px}
.h2-pop::-webkit-scrollbar{display:none}
.h2-card{flex:0 0 156px;scroll-snap-align:start;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 0 0 1px var(--line);text-decoration:none;color:var(--ink)}
.h2-ph{height:96px;display:flex;align-items:flex-end;justify-content:space-between;padding:10px}
.h2-ph>i{font-size:34px;color:rgba(255,255,255,.95)}
.h2-rt{background:rgba(255,255,255,.95);color:var(--ink);font-size:13px;font-weight:700;border-radius:10px;padding:3px 8px}
.h2-rt i{font-size:11px;color:var(--sun)}
.h2-tx{display:block;padding:10px 12px 12px}
.h2-tx strong{display:block;font-size:15px;font-weight:700;line-height:1.3}
.h2-tx small{font-size:13.5px;color:var(--teal-d);font-weight:600}

.h2-trust{margin-top:24px;border-radius:22px;background:var(--teal-dd);color:#fff;padding:18px 12px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;text-align:center;position:relative;overflow:hidden}
.h2-trust:before{content:"";position:absolute;right:-40px;top:-40px;width:140px;height:140px;border-radius:50%;background:rgba(242,176,53,.18)}
.h2-trust div{position:relative;font-size:13px;line-height:1.35;color:#E8F6F0}
.h2-trust i{display:block;font-size:21px;color:var(--sun);margin-bottom:6px}
.h2-trust b{display:block;color:#fff;font-size:14px;font-weight:700}

.h2-pro{margin-top:14px;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:#fff;box-shadow:0 0 0 1px var(--line);text-decoration:none;color:var(--ink)}
.h2-pro .h2-ic{flex-basis:42px;width:42px;height:42px;background:var(--sun-l);color:var(--sun-d);font-size:18px}
.h2-pro span:nth-child(2){flex:1;font-size:14px;color:var(--ink-2)}
.h2-pro b{display:block;color:var(--ink);font-size:15px}
.h2-pro>.fa-chevron-right{color:var(--ink-3)}

/* Recherche et pages univers */
.sr-form{margin-top:14px}
.sr-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 20px 4px;margin:12px -20px 0}
.sr-row::-webkit-scrollbar{display:none}
.sr-sel{position:relative;flex:0 0 auto}
.sr-sel select{appearance:none;-webkit-appearance:none;font:inherit;font-size:14.5px;font-weight:600;color:#0F2A22;background:#fff;border:1.5px solid #E3ECE8;border-radius:999px;padding:9px 34px 9px 36px;min-height:42px;max-width:220px;cursor:pointer}
.sr-sel select.on{border-color:#3DAA85;background:#F3FAF7;color:#145943}
.sr-sel>i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#1F7F60;font-size:14px;pointer-events:none}
.sr-sel:after{content:"\f078";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;right:13px;top:50%;transform:translateY(-50%);font-size:11px;color:#667D74;pointer-events:none}
.sr-chk{flex:0 0 auto;display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:#0F2A22;background:#fff;border:1.5px solid #E3ECE8;border-radius:999px;padding:9px 14px;min-height:42px;cursor:pointer;white-space:nowrap}
.sr-chk input{accent-color:#1F7F60;width:17px;height:17px}
.sr-chk.on{border-color:#3DAA85;background:#F3FAF7;color:#145943}
.sr-meta{display:flex;justify-content:space-between;align-items:center;margin:16px 0 12px;font-size:14.5px;color:#3F574E}
.sr-meta a{color:#1F7F60;font-weight:700;text-decoration:none}
.sr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(min-width:760px){.sr-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}}
.sr-grid .h2-card{flex:none;width:auto}
.sr-grid .h2-tx small{display:block;color:#667D74;font-weight:500;margin-top:2px}
.sr-grid .h2-tx em{font-style:normal;color:#1F7F60;font-weight:700;font-size:13.5px}
.sr-empty{text-align:center;padding:40px 16px;border:1.5px dashed #D5E1DC;border-radius:20px;color:#3F574E}
.sr-empty i{font-size:30px;color:#3DAA85;margin-bottom:10px}
.sr-empty b{display:block;font-size:17px;color:#0F2A22;margin-bottom:6px}
.sr-empty a{display:inline-block;margin-top:14px;background:#1F7F60;color:#fff;border-radius:14px;padding:12px 18px;font-weight:700;text-decoration:none}
.sr-grid .h2-card[hidden]{display:none}
/* Filtres toujours visibles : rien de caché hors de l'écran */
.sr-row{flex-wrap:wrap;overflow:visible;margin:12px 0 0;padding:0}
.sr-row .sr-sel{flex:1 1 calc(50% - 8px);min-width:0}
.sr-row .sr-sel select{width:100%;max-width:none}
.sr-row .sr-sel.sr-wide{flex-basis:100%}
.sr-row .sr-chk{flex:1 1 calc(50% - 8px);justify-content:center}
@media(min-width:760px){.sr-row .sr-sel,.sr-row .sr-chk{flex:0 1 auto}.sr-row .sr-sel.sr-wide{flex-basis:auto}}
.sr-chips{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 20px 4px;margin:12px -20px 0}
.sr-chips::-webkit-scrollbar{display:none}
/* Page univers */
.fm-head{display:flex;align-items:center;gap:14px;padding:22px 0 14px}
.fm-ic{flex:0 0 56px;width:56px;height:56px;border-radius:18px;background:#3DAA85;color:#fff;font-size:24px;box-shadow:0 8px 16px -6px rgba(61,170,133,.7)}
.fm-head h1{margin:0;font-size:clamp(24px,5vw,34px);font-weight:800;line-height:1.15;color:#0F2A22}
.fm-head p{margin:4px 0 0;font-size:14.5px;color:#3F574E}
.fm-search{max-width:none}
.fm-cats{position:sticky;top:60px;z-index:20;display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:12px 20px;margin:4px -20px 0;background:rgba(250,252,251,.96);backdrop-filter:blur(8px)}
.fm-cats::-webkit-scrollbar{display:none}
.fm-cat{flex:0 0 auto;display:flex;align-items:center;gap:8px;border:1.5px solid #E3ECE8;background:#fff;border-radius:999px;padding:8px 12px 8px 10px;font:inherit;font-size:14.5px;font-weight:600;color:#0F2A22;cursor:pointer;white-space:nowrap}
.fm-cat i{width:26px;height:26px;border-radius:50%;background:#F3FAF7;color:#1F7F60;display:flex;align-items:center;justify-content:center;font-size:12.5px}
.fm-cat b{font-size:12px;font-weight:700;color:#667D74;background:#F1F5F3;border-radius:999px;padding:1px 7px}
.fm-cat.on{background:#1F7F60;border-color:#1F7F60;color:#fff}
.fm-cat.on i{background:rgba(255,255,255,.2);color:#fff}
.fm-cat.on b{background:rgba(255,255,255,.22);color:#fff}
.fm-meta{margin-top:8px}
/* Catégories : toutes visibles d'un coup (retour à la ligne), pastilles compactes */
.fm-cats,.sr-chips{position:static;flex-wrap:wrap;overflow:visible;margin:12px 0 0;padding:0;background:none;backdrop-filter:none;gap:7px}
.fm-cat{padding:6px 11px 6px 7px;font-size:13.5px;gap:6px}
.fm-cat i{width:24px;height:24px;font-size:11.5px}
.fm-cat b{font-size:11.5px;padding:0 6px}
.fm-cats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
@media(min-width:760px){.fm-cats{grid-template-columns:repeat(4,minmax(0,1fr))}}
.fm-cats .fm-cat{border-radius:12px;min-height:44px;white-space:normal;text-align:left;line-height:1.2}
.fm-cats .fm-cat span{flex:1;min-width:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.fm-cats .fm-cat i{flex:0 0 24px}
.sm-more{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;max-width:420px;margin:18px auto 0;min-height:50px;border:1.5px solid #3DAA85;background:#fff;color:#1F7F60;border-radius:16px;font:inherit;font-size:15.5px;font-weight:700;cursor:pointer}
.sm-more:active{transform:scale(.98)}
.sm-more[hidden]{display:none}
