/* 3E Éditions — feuille de style */
:root{--bg:#f5f8fd;--card:#ffffff;--ink:#0d1c3a;--mut:#5a6a87;--line:#d9e2f1;--c1:#1e438a;--o:#f59d2f;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0d1424;--card:#16203a;--ink:#eef3fc;--mut:#9db0d0;--line:#27355a;--c1:#3e71cd}}
:root[data-theme=dark]{--bg:#0d1424;--card:#16203a;--ink:#eef3fc;--mut:#9db0d0;--line:#27355a;--c1:#3e71cd}
html{scroll-padding-top:env(safe-area-inset-top,0px)}*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 'DM Sans',system-ui,sans-serif}
h1,h2,h3,.logo,.cov b{font-family:Fraunces,Georgia,serif;line-height:1.1;margin:0}
h1{font-size:clamp(2.2rem,6vw,4rem);font-weight:800;letter-spacing:-.02em}h2{font-size:1.8rem;margin:2.5rem 0 1rem}
a{color:inherit}main{max-width:1100px;margin:auto;padding:1rem 1.2rem 4rem}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
nav{max-width:1100px;margin:auto;display:flex;align-items:center;gap:1rem;padding:.7rem 1.2rem}
.logo{display:flex;align-items:center;gap:.65rem;text-decoration:none;white-space:nowrap}.logo img{height:44px;width:auto;background:#fff;border-radius:12px;padding:4px 8px;border:1px solid var(--line)}.lt{font:800 .8rem/1.15 Fraunces,serif;color:#cf7608}@media(max-width:900px){.lt{display:none}}.logo i{color:var(--c1);font-style:normal}
.links{display:flex;gap:.2rem;overflow-x:auto;flex:1;scrollbar-width:none}.links a{padding:.35rem .8rem;border-radius:99px;text-decoration:none;font-size:.92rem;white-space:nowrap}
.links a:hover,.links a.on{background:var(--ink);color:var(--bg)}
.btn,button{font:inherit;font-weight:700;background:var(--c1);color:#fff;border:0;border-radius:99px;padding:.65rem 1.3rem;cursor:pointer;text-decoration:none;display:inline-block}
.btn.ghost,button.ghost{background:transparent;color:var(--ink);border:2px solid var(--ink)}button.sm{padding:.3rem .8rem;font-size:.85rem}button.red{background:#b3261e}
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:2rem;align-items:center;padding:2.5rem 0}.hero p{font-size:1.15rem;color:var(--mut);max-width:34em}
.tag{display:inline-block;background:var(--ink);color:var(--bg);border-radius:99px;padding:.2rem .9rem;font-size:.8rem;margin-bottom:1rem}
.stack{position:relative;height:330px}.stack .cov{position:absolute;width:150px;box-shadow:0 14px 30px #0003}
.stack .cov:nth-child(1){left:0;top:30px;transform:rotate(-8deg)}.stack .cov:nth-child(2){left:28%;top:0;transform:rotate(3deg);z-index:2}.stack .cov:nth-child(3){right:0;top:50px;transform:rotate(11deg)}
.stack img{position:absolute;width:min(175px,40%);height:auto;border-radius:4px 12px 12px 4px;box-shadow:0 16px 32px #0004;border-left:5px solid #0003;transition:.3s}.stack img:hover{transform:scale(1.06) rotate(0);z-index:5}
.stack img:nth-child(1){left:0;top:34px;transform:rotate(-8deg)}.stack img:nth-child(2){left:30%;top:0;transform:rotate(3deg);z-index:2}.stack img:nth-child(3){right:0;top:54px;transform:rotate(10deg)}
.cov{aspect-ratio:2/3;border-radius:6px 14px 14px 6px;padding:1rem .9rem;color:#fff;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(circle at 80% 15%,#ffffff40 0 18%,transparent 19%),linear-gradient(160deg,var(--k),color-mix(in srgb,var(--k) 55%,#000));border-left:6px solid #0003}
.cov small{text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;opacity:.85}.cov b{font-size:1.05rem}.cov i{font-size:.75rem;opacity:.9}
.up{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.pv{width:90px;aspect-ratio:2/3;border:2px dashed var(--line);border-radius:10px;display:grid;place-items:center;overflow:hidden;font-size:.7rem;color:var(--mut);text-align:center}.pv img{width:100%;height:100%;object-fit:cover}
.cimg{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:4px 12px 12px 4px;border-left:5px solid #0003;display:block}.th{width:34px;height:48px;object-fit:cover;border-radius:4px;vertical-align:middle}
body.isadm header,body.isadm footer{display:none}
.adm{display:grid;grid-template-columns:232px 1fr;min-height:100vh}
.side{background:var(--card);border-right:1px solid var(--line);padding:1.1rem .8rem;display:flex;flex-direction:column;gap:.25rem;position:sticky;top:0;height:100vh;overflow:auto}
.sl{margin:0 0 1rem .4rem;display:block}.sl img{height:46px;width:auto;background:#fff;border-radius:12px;padding:4px 8px;border:1px solid var(--line)}
.nv{display:flex;gap:.7rem;align-items:center;width:100%;text-align:left;padding:.6rem .85rem;border-radius:12px;border:0;background:none;color:var(--mut);font:500 .95rem 'DM Sans',sans-serif;cursor:pointer;text-decoration:none}
.nv:hover{background:var(--bg);color:var(--ink)}.nv.on{background:var(--c1);color:#fff;font-weight:700}.sp{flex:1}
.am{padding:1rem 1.5rem 3rem;min-width:0}
.top{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1.2rem}.crumb{color:var(--mut);flex:1}.crumb b{color:var(--ink)}
.sb2{width:260px;max-width:100%}.sb2 input{border-radius:99px;padding:.5rem 1rem}
.who{display:flex;gap:.6rem;align-items:center;line-height:1.2}.who small{display:block;color:var(--mut)}.av{width:38px;height:38px;border-radius:50%;background:var(--o);color:#0d1c3a;font-weight:800;display:grid;place-items:center}
.kg{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}
.kc{display:flex;gap:1rem;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.1rem}.kc b{font:800 1.5rem Fraunces,serif;display:block;line-height:1.1}.kc small{color:var(--mut)}
.ic{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:1.4rem;flex:none}
.pn{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1.1rem;min-width:0}.pn h3{font-size:1.15rem;margin-bottom:.8rem}
.dg{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin-bottom:1rem}.pl{display:grid;grid-template-columns:170px 1fr;gap:1rem;align-items:center}
.lg{display:flex;gap:.5rem;align-items:center;font-size:.85rem;margin:.55rem 0}.lg i{width:10px;height:10px;border-radius:50%;display:inline-block}.lg b{display:block;font-size:1rem}
.bd{display:inline-block;padding:.12rem .7rem;border-radius:99px;font-size:.78rem;font-weight:700}.bd.ok{background:#dff5e6;color:#1e7a3c}.bd.wa{background:#fff0d6;color:#9a5b00}.bd.bl{background:#dfe9fb;color:#1e438a}.bd.rd{background:#fde2e0;color:#b3261e}
.mc{display:inline-block;width:30px;height:40px;border-radius:4px;vertical-align:middle;margin-right:.5rem}.wrap select{width:auto;padding:.25rem .5rem}.wrap .th{margin-right:.5rem}
@media(max-width:860px){.adm{grid-template-columns:1fr}.side{position:static;height:auto;flex-direction:row;align-items:center;overflow-x:auto;padding:.6rem}.sl{display:none}.nv{width:auto;white-space:nowrap}.sp{display:none}.dg,.pl{grid-template-columns:1fr}.am{padding:1rem}}
.det{display:grid;grid-template-columns:minmax(200px,320px) 1fr;gap:2rem;align-items:start;padding:1rem 0}.dc .cov,.dc .cimg{box-shadow:0 18px 40px #0003}.qr{display:flex;gap:.8rem;align-items:center;margin:.8rem 0}.qr b{min-width:2rem;text-align:center;font-size:1.2rem}
.card .au{color:var(--mut);font-size:.8rem}.card:focus-visible{outline:3px solid var(--o)}.stack img{cursor:pointer}
.sgl{position:absolute;top:calc(100% + 8px);right:0;width:340px;max-width:90vw;background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 30px #0003;display:none;overflow:hidden;z-index:20}.sgl.on{display:block}
.sgl a{display:flex;gap:.7rem;align-items:center;padding:.5rem .8rem;text-decoration:none}.sgl a:hover{background:var(--bg)}.sgl small{color:var(--mut);display:block}.sgl .mc,.sgl .th{width:28px;height:38px;margin:0}
footer .soc a{padding:0;opacity:1;width:38px;height:38px;border:1px solid #ffffff40;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.8rem}footer .soc a:hover{background:#f59d2f;border-color:#f59d2f;transform:none;color:#0d1c3a}
@media(max-width:760px){.det{grid-template-columns:1fr}}
.ab{display:grid;grid-template-columns:minmax(200px,320px) 1fr;gap:2.5rem;align-items:start;padding:1.5rem 0}.ms{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center}.lead{font-size:1.1rem}
.abi,.abw,.tmi,.evi{width:100%;object-fit:cover;display:block;border-radius:20px;cursor:zoom-in}.abi{aspect-ratio:4/5}.ab>div:first-child{display:grid;place-items:center;position:sticky;top:90px;align-self:start}.pq{font:600 1.15rem/1.5 Fraunces,serif;border-left:5px solid var(--o);padding-left:1.1rem;margin-top:1.4rem}.fs{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:.7rem;margin:1rem 0 1.4rem}.fs div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:.7rem;text-align:center}.fs b{display:block;font:800 1.5rem Fraunces,serif;color:var(--c1)}.fs small{color:var(--mut)}.abc{width:min(320px,100%);aspect-ratio:1;border-radius:50%;object-fit:cover;object-position:center 15%;display:block;cursor:zoom-in;border:6px solid var(--card);box-shadow:0 0 0 4px var(--o),0 18px 40px #0003}.abc.ph{box-shadow:none;border:2px dashed var(--line)}.abw{aspect-ratio:16/10}.tmi{aspect-ratio:1;border-radius:50%;width:130px;margin:0 auto .6rem}.evi{aspect-ratio:4/3}
.ph{display:grid;place-items:center;align-content:center;background:repeating-linear-gradient(135deg,var(--card) 0 14px,var(--bg) 14px 28px);border:2px dashed var(--line);color:var(--mut);cursor:default!important;text-align:center;font-weight:700;font-size:1.8rem}.ph small{display:block;font-weight:400;font-size:.8rem}
blockquote{font:600 clamp(1.15rem,2.4vw,1.5rem)/1.45 Fraunces,serif;margin:0 0 1rem;padding-left:1.2rem;border-left:5px solid var(--o)}
.team{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1.2rem}.tm{text-align:center;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:1.2rem .8rem}.tm b,.tm small{display:block}.tm small{color:var(--mut)}
.evg{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem}.ev{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden}.ev .evi{border-radius:0}.eb{padding:.9rem 1rem}.eb small{color:var(--mut)}
#lbx{position:fixed;inset:0;background:#000c;display:none;place-items:center;z-index:50;padding:1rem;cursor:zoom-out}#lbx.on{display:grid}#lbx img{max-width:100%;max-height:92vh;border-radius:12px}
.dg2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.cg{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.cb{border:1px solid var(--line);border-radius:14px;padding:.8rem}
@media(max-width:760px){.ab,.ms,.dg2{grid-template-columns:1fr}.ab>div:first-child{position:static}}
.card{position:relative}.nwb{position:absolute;top:1.1rem;left:1.1rem;z-index:2;background:var(--o);color:#0d1c3a;font-weight:800;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;padding:.2rem .65rem;border-radius:99px;box-shadow:0 4px 10px #0003}
.sw{display:flex;align-items:center;gap:.7rem;cursor:pointer;margin:1rem 0;font-size:.95rem;position:relative}.sw input{position:absolute;opacity:0;width:0;height:0;padding:0;border:0}.sw i{width:46px;height:26px;border-radius:99px;background:var(--line);position:relative;transition:.2s;flex:none}.sw i:after{content:'';position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px #0004}.sw input:checked+i{background:var(--o)}.sw input:checked+i:after{left:23px}.sw input:focus-visible+i{outline:3px solid var(--c1)}
#omd{position:fixed;inset:0;background:#000a;display:none;place-items:center;z-index:60;padding:1rem;overflow:auto}#omd.on{display:grid}.omc{background:var(--card);color:var(--ink);border-radius:20px;padding:1.4rem;max-width:660px;width:100%;position:relative;max-height:92vh;overflow:auto}.omx{position:absolute;top:1rem;right:1rem}
.oi{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.9rem;margin:1rem 0}.oi small{display:block;color:var(--mut)}.ot{display:flex;justify-content:space-between;align-items:center;font-size:1.25rem;padding-top:.8rem;border-top:2px solid var(--line);margin-top:.5rem}.or{cursor:pointer}.or:hover td{background:var(--bg)}
.pv.rnd{border-radius:50%;aspect-ratio:1;width:84px}.ck{display:flex;gap:.5rem;align-items:center;font-weight:400;margin:.3rem 0}.ck input{width:auto}
.avb{width:96px;height:96px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--o);color:#0d1c3a;font:800 2.2rem Fraunces,serif;margin-bottom:1rem}
#ac{overflow:hidden}#ac img{width:100%;height:100%;object-fit:cover}#ac b{font:800 .95rem 'DM Sans',sans-serif}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.2rem}.g3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:.8rem;display:flex;flex-direction:column;gap:.5rem;transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0002}
.card h3{font-size:1.05rem}.card p{margin:0;font-size:.85rem;color:var(--mut);flex:1}.meta{display:flex;justify-content:space-between;align-items:center;font-size:.9rem}
.tile{border-radius:22px;padding:1.6rem;background:var(--k);color:#fff;text-decoration:none;display:flex;flex-direction:column;gap:.5rem;min-height:190px;transition:.2s}.tile:hover{transform:rotate(-1.5deg) scale(1.02)}
.tile b{font:800 1.8rem Fraunces,serif}.tile span{flex:1;opacity:.92}
.chips{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.chips button{background:var(--card);color:var(--ink);border:1px solid var(--line)}.chips button.on{background:var(--ink);color:var(--bg)}
input,select,textarea{font:inherit;width:100%;padding:.65rem .9rem;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--ink)}label{display:block;font-size:.85rem;font-weight:700;margin:.8rem 0 .2rem}
.form{max-width:520px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:1.5rem}.row{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem 1.2rem;margin:.6rem 0}summary{font-weight:700;cursor:pointer}
.wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:.92rem}th,td{padding:.55rem .6rem;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin:1rem 0}.kpi{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:1rem}.kpi b{font:800 1.5rem Fraunces,serif;display:block}
.low{color:#b3261e;font-weight:700}.pill{border-radius:99px;padding:.1rem .6rem;background:var(--k);color:#fff;font-size:.75rem}
#t{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%,120px);background:var(--ink);color:var(--bg);padding:.7rem 1.4rem;border-radius:99px;transition:.3s;z-index:9}#t.on{transform:translate(-50%,0)}
.acc{width:42px;height:42px;border-radius:50%;border:2px solid var(--ink);display:grid;place-items:center;flex:none;transition:.2s}.acc:hover,.acc.on{background:var(--ink);color:var(--bg)}.acc{position:relative}.logo{margin-right:auto}
#cn{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;border-radius:99px;background:var(--o);color:#0d1c3a;font:700 .7rem 'DM Sans',sans-serif;place-items:center;padding:0 4px}
.sb{position:relative;width:220px;flex:none}.sb input{padding:.5rem 2.6rem .5rem 1rem;border-radius:99px;font-size:.92rem}.sb button{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;color:var(--ink);padding:.3rem .5rem;display:grid;place-items:center}
@media(max-width:760px){.sb{order:4;flex-basis:100%;width:auto}}
footer{margin-top:3rem;background:#163063;color:#f4f7fd;font-size:.92rem;border-top:6px solid;border-image:linear-gradient(90deg,#f59d2f 33.3%,#6d93e0 33.3% 66.6%,#2e9958 66.6%) 1}
footer .in{max-width:1100px;margin:auto;padding:3rem 1.2rem 1.5rem;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.3fr;gap:2rem}
footer h4{font:700 1.05rem Fraunces,serif;margin:0 0 .8rem}footer p{margin:.4rem 0;opacity:.8}
footer a{display:block;text-decoration:none;opacity:.8;padding:.15rem 0;transition:.2s}footer a:hover{opacity:1;color:#ffc47a;transform:translateX(3px)}footer a.flogo{display:inline-block;opacity:1;background:#fff;border-radius:18px;padding:.5rem 1rem}footer a.flogo:hover{transform:none}footer .flogo img{height:92px;width:auto;display:block}
footer .nl{display:flex;gap:.4rem;margin-top:1rem}footer .nl input{background:#ffffff14;border-color:#ffffff30;color:inherit;border-radius:99px}
footer .soc{display:flex;gap:.5rem;margin-top:1.1rem}footer .soc span{width:38px;height:38px;border:1px solid #ffffff40;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.8rem;cursor:pointer;transition:.2s}footer .soc span:hover{background:#f59d2f;border-color:#f59d2f}
footer .bar{max-width:1100px;margin:auto;padding:1rem 1.2rem calc(1.5rem + env(safe-area-inset-bottom,0px));border-top:1px solid #ffffff22;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;opacity:.7;font-size:.82rem}
@media(max-width:760px){footer .in{grid-template-columns:1fr 1fr}footer .in>div:first-child{grid-column:1/-1}}
svg text{fill:var(--mut);font-size:11px}
@media(max-width:760px){.hero{grid-template-columns:1fr}.stack{height:260px}.row{grid-template-columns:1fr}nav{flex-wrap:wrap}.links{order:3;flex-basis:100%}}

/* ── Cartes produit plus compactes ── */
.grid{grid-template-columns:repeat(auto-fill,minmax(130px,160px));justify-content:start;gap:1rem}
.card{padding:.55rem;gap:.35rem;border-radius:14px}
.card h3{font-size:.92rem;line-height:1.25}
.card p,.card .au{font-size:.75rem}
.card .meta{font-size:.8rem}
.card .meta b{font-size:.85rem}
.card button,.card .sm{padding:.35rem .7rem;font-size:.75rem}
.nwb{top:.7rem;left:.7rem;font-size:.6rem;padding:.12rem .5rem}
@media(max-width:560px){.grid{grid-template-columns:repeat(2,1fr)}}

/* ── Bouton WhatsApp flottant ── */
.wab{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom,0px));width:58px;height:58px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 6px 18px #0004;z-index:40;transition:transform .2s}
.wab[hidden]{display:none}
.wab:hover{transform:scale(1.08)}

/* ── Pied de page : contact + icônes réseaux ── */
footer .soc{flex-wrap:wrap}
footer .soc a svg{display:block}
footer .ci{display:flex;align-items:flex-start;gap:.55rem;margin:.1rem 0;opacity:.9}
footer .ci svg{flex:none;margin-top:.2rem;color:#ffc47a}
footer .ci span{overflow-wrap:anywhere}
/* ── Carte Google Maps (page À propos) ── */
.mapw{border-radius:20px;overflow:hidden;border:1px solid var(--line);box-shadow:0 10px 30px #0002;margin:1rem 0}
.mapw iframe{display:block;width:100%;height:380px;border:0}
.mapl{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:2rem}
@media(max-width:560px){.mapw iframe{height:300px}}
