/* =====================================================================
   Le Monde du 3D — feuille de style unique
   ===================================================================== */
:root{
  --noir:#141518;--sombre:#25272b;--gris-f:#3b3d42;--gris:#6b7280;--gris-c:#e7e8ea;--fond:#fff;--fond-2:#f5f6f7;
  --vert:#5f8f3e;--vert-f:#4b7530;--rouge:#e2001a;--orange:#e4572e;--lien:#c2410c;
  --rayon:6px;--ombre:0 10px 30px rgba(0,0,0,.12);--larg:1360px;--texte:760px;
  --police:"Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
  --titres:"Avenir Next","Segoe UI",system-ui,-apple-system,Roboto,Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;font-family:var(--police);font-size:17px;line-height:1.65;color:#1f2125;background:var(--fond);text-rendering:optimizeLegibility}
img,svg,video{max-width:100%;height:auto}
img{display:block}
a{color:var(--lien)}
a:hover{color:var(--noir)}
h1,h2,h3,h4{font-family:var(--titres);line-height:1.25;color:var(--noir);margin:1.6em 0 .6em;font-weight:700}
h1{font-size:clamp(1.7rem,3.2vw,2.5rem);margin-top:.4em}
h2{font-size:clamp(1.3rem,2.2vw,1.7rem)}
h3{font-size:1.2rem}
p{margin:0 0 1em}
ul,ol{padding-left:1.3em}
button{font:inherit;cursor:pointer}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.evitement{position:absolute;left:-999px;top:0;background:#fff;padding:8px 12px;z-index:100}
.evitement:focus{left:8px}
:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.centre{text-align:center}
.petit{font-size:.85rem;color:var(--gris)}
.gris{color:var(--gris)}

/* ---------- conteneurs ---------- */
.contenu{max-width:var(--texte);margin:0 auto;padding:0 20px}
.contenu-large{max-width:var(--larg);margin:0 auto;padding:0 20px}
section.contenu-large{margin-top:44px}

/* ---------- boutons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 26px;border:1px solid var(--noir);background:#fff;color:var(--noir);
  font-family:var(--titres);font-size:.95rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-radius:2px;transition:background .2s,color .2s,transform .2s;line-height:1.2;text-align:center}
.btn:hover{background:var(--noir);color:#fff}
.btn-plein{background:var(--orange);border-color:var(--orange);color:#fff}
.btn-plein:hover{background:#c8461f;border-color:#c8461f;color:#fff}
.btn-noir{background:var(--noir);color:#fff}
.btn-noir:hover{background:var(--gris-f)}
.btn-blanc{background:#fff;border-color:#fff;color:var(--noir)}
.btn-vert{background:var(--vert);border-color:var(--vert);color:#fff}
.btn-vert:hover{background:var(--vert-f);border-color:var(--vert-f)}
.lien{background:none;border:0;padding:0;color:var(--lien);text-decoration:underline;font:inherit;cursor:pointer}
p.bouton{margin:1.2em 0}

/* ---------- en-tête ---------- */
.entete{position:sticky;top:0;z-index:50;background:var(--noir);border-bottom:3px solid var(--orange)}
.entete-in{padding:0 clamp(16px,2.5vw,40px);height:66px;display:flex;align-items:center;gap:14px}
.logo{text-decoration:none;color:#fff;flex:none;display:flex;align-items:center;gap:12px}
.logo img{height:50px;width:auto}
.logo-blanc{filter:brightness(0) invert(1)}
.logo span{font-size:1.05rem!important}
@media (max-width:420px){.logo span{display:none}}
.logo span{font-family:var(--titres);font-weight:400;letter-spacing:.14em;font-size:1.25rem;white-space:nowrap}
.menu{margin-left:auto}
.menu ul{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.menu a{display:flex;align-items:center;gap:6px;padding:8px 10px;color:#cfd2d7;text-decoration:none;font-size:.82rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;border-radius:4px;white-space:nowrap}
.menu a:hover,.menu a[aria-current]{color:#fff;background:#2a2c31}
.menu a[href="/impression3d-a-la-demande"]{color:var(--orange)}
.btn-icone{background:none;border:0;padding:8px;color:#fff;border-radius:50%;display:grid;place-items:center}
.btn-icone:hover{background:#2a2c31}
.burger{display:none}
.barre-recherche{padding:0 clamp(16px,2.5vw,40px) 14px;display:flex;gap:8px;max-width:900px;margin-left:auto}
.barre-recherche[hidden]{display:none}
.barre-recherche input,.filtre input,.recherche-page input{flex:1;min-width:0;padding:12px 14px;border:1px solid #c9ccd1;border-radius:2px;font:inherit;font-size:16px}
@media (max-width:1240px){
  .menu{position:fixed;inset:69px 0 auto 0;background:var(--noir);border-bottom:3px solid var(--orange);box-shadow:var(--ombre);display:none;max-height:calc(100vh - 69px);overflow:auto}
  .menu.ouvert{display:block}
  .menu ul{flex-direction:column;padding:8px 12px 16px}
  .menu a{padding:13px 10px;font-size:.95rem}
  .burger{display:grid;margin-left:-6px}
  .btn-icone[data-ouvre]{margin-left:auto}
}

/* ---------- titres de section « avec trait » ---------- */
.titre-ligne{display:flex;align-items:center;gap:16px;margin:0 0 22px}
.titre-ligne h1,.titre-ligne h2,.titre-ligne p{margin:0;font-family:var(--titres);font-weight:400;text-transform:uppercase;letter-spacing:.09em;font-size:clamp(1.05rem,2vw,1.35rem);color:var(--noir);line-height:1.3}
.titre-ligne h1{font-size:clamp(1.2rem,2.4vw,1.55rem)}
.titre-ligne .trait{flex:1;height:1px;background:#8d9096;min-width:30px}
.voir-tout{white-space:nowrap;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--noir);text-decoration:none;font-weight:600}
.voir-tout:hover{color:var(--orange)}
.intro{color:var(--gris-f);max-width:900px}

/* ---------- fil d'Ariane ---------- */
.ariane ol{list-style:none;padding:0;margin:18px 0 14px;display:flex;flex-wrap:wrap;gap:4px;font-size:.82rem;color:var(--gris)}
.ariane li+li::before{content:"›";margin-right:6px}
.ariane a{color:var(--gris);text-decoration:none}
.ariane a:hover{color:var(--noir);text-decoration:underline}

/* ---------- grilles de cartes ---------- */
.grille{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:28px;grid-template-columns:repeat(4,1fr)}
.grille-news{gap:16px}
.grille-3{grid-template-columns:repeat(3,1fr)}
.carte a{display:flex;flex-direction:column;height:100%;text-decoration:none;color:#fff;background:var(--sombre);border:1px solid #2f3136;border-radius:4px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.06);transition:transform .25s,box-shadow .25s}
.carte a:hover{transform:translateY(-3px);box-shadow:var(--ombre)}
.carte-img{display:block;aspect-ratio:1/1;background:var(--fond-2);overflow:hidden}
.carte-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.carte a:hover .carte-img img{transform:scale(1.04)}
.carte-news .carte-img{aspect-ratio:16/9}
.carte-titre{display:block;padding:9px 10px 10px;font-size:.8rem;letter-spacing:.07em;line-height:1.35;border-top:1px solid #3a3c41;position:relative}
.carte-titre::after{content:"";display:block;height:1px;background:#4b4e55;margin-top:6px}
.carte-news .carte-titre{text-transform:capitalize}
.vide{color:var(--gris)}
@media (max-width:1100px){.grille{grid-template-columns:repeat(3,1fr)}}
@media (max-width:760px){.grille{grid-template-columns:repeat(2,1fr);gap:14px}.grille-news,.grille-3{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.grille-news,.grille-3{grid-template-columns:1fr}}

/* ---------- puces de catégories ---------- */
.puces{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px}
.puces a,.puce{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid #c9ccd1;border-radius:30px;text-decoration:none;color:var(--noir);font-size:.88rem;background:#fff}
.puces a small{color:var(--gris);font-size:.78rem}
.puces a:hover{border-color:var(--noir)}
.puces a[aria-current]{background:var(--noir);border-color:var(--noir);color:#fff}
.puces a[aria-current] small{color:#c9ccd1}
.filtre,.recherche-page{display:flex;gap:8px;margin:0 0 26px;max-width:640px}
.filtre .btn{padding:12px 16px}

/* ---------- pagination ---------- */
.pagination{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:10px 0 30px}
.pagination a,.pagination span{min-width:42px;padding:9px 12px;border:1px solid #c9ccd1;text-align:center;text-decoration:none;color:var(--noir);border-radius:2px;font-size:.92rem}
.pagination span[aria-current]{background:var(--noir);border-color:var(--noir);color:#fff}
.pagination .ellipse{border:0;min-width:auto}
.pagination a:hover{border-color:var(--noir)}

/* ---------- accueil ---------- */
.vitrine{margin:22px 0 0;padding:0 clamp(16px,2.5vw,40px);position:relative}
.vitrine .titre-ligne{margin-bottom:8px}
.badge-savoir{position:absolute;left:50%;top:40px;transform:translateX(-50%);z-index:3;display:block;line-height:0}
.badge-savoir img{width:160px;height:auto;transition:transform .2s}
.badge-savoir:hover img{transform:scale(1.05)}
.carrousel{position:relative;padding:40px 46px 18px}
.carrousel-piste{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:calc(100% / 7);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.carrousel-piste::-webkit-scrollbar{display:none}
.carrousel-piste li{scroll-snap-align:start;padding:10px 18px;display:grid;place-items:center;height:240px}
.carrousel-piste img{max-height:210px;width:auto;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.12));transition:transform .35s}
.carrousel-piste li:hover img{transform:scale(1.05) rotate(-2deg)}
.carrousel-fl{position:absolute;top:50%;transform:translateY(-35%);width:30px;height:30px;border:0;background:var(--gris-f);color:#fff;font-size:1.2rem;line-height:1;z-index:2;border-radius:2px}
.carrousel-fl.prec{left:0}.carrousel-fl.suiv{right:0}
@media (max-width:1300px){.carrousel-piste{grid-auto-columns:20%}}
@media (max-width:900px){.carrousel-piste{grid-auto-columns:33.33%}.carrousel-piste li{height:190px}.carrousel-piste img{max-height:160px}}
@media (max-width:560px){.carrousel{padding:46px 34px 10px}.carrousel-piste{grid-auto-columns:50%}.badge-savoir{top:40px}}

.trois-volets{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:24px}
.volet{position:relative;padding:clamp(40px,6vw,86px) clamp(24px,4vw,70px);color:#fff;display:flex;flex-direction:column;overflow:hidden;min-height:560px}
.volet h2{color:inherit;text-transform:uppercase;font-size:clamp(1.4rem,2.3vw,2rem);margin:0 0 28px;padding-bottom:26px;position:relative;line-height:1.15}
.volet h2::after{content:"";position:absolute;left:0;bottom:0;width:70px;height:2px;background:currentColor}
.volet p{font-size:.95rem;line-height:1.75;opacity:.95;position:relative}
.volet .btn{margin-top:auto;position:relative;width:100%}
.volet-vert{background:linear-gradient(rgba(95,143,62,.82),rgba(85,127,55,.86)),var(--fond,none) center/cover,#5f8f3e}
.volet-sombre{background:linear-gradient(rgba(28,29,32,.84),rgba(20,21,24,.9)),var(--fond,none) center/cover,#1c1d20}
.volet-clair{background:linear-gradient(rgba(255,255,255,.86),rgba(255,255,255,.9)),var(--fond,none) center/cover,#fff;color:var(--noir)}
.volet-clair p{color:#2b2d31}
.volet-mosaique{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:6px;opacity:.13;pointer-events:none}
.volet-mosaique img{width:100%;aspect-ratio:1;object-fit:cover}
@media (max-width:980px){.trois-volets{grid-template-columns:1fr}.volet{min-height:0}.volet .btn{margin-top:20px}}

/* ---------- fiche fichier 3D ---------- */
.fiche-grille{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:48px;align-items:start;margin-bottom:34px}
.fiche-image-principale{background:var(--fond-2);border-radius:4px;overflow:hidden}
.fiche-image-principale img{width:100%;aspect-ratio:1;object-fit:cover}
.fiche-vignettes{list-style:none;padding:0;margin:10px 0 0;display:flex;gap:8px;flex-wrap:wrap}
.fiche-vignettes img{width:80px;height:80px;object-fit:cover;border-radius:3px;border:2px solid transparent}
.fiche-vignettes a[aria-current] img{border-color:var(--orange)}
.fiche-infos h1{margin:0 0 12px;font-size:clamp(1.5rem,2.6vw,2.1rem)}
.fiche-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px}
.fiche-meta .ref{color:var(--gris);font-size:.85rem}
.gratuit{background:#dcfce7;color:#166534;font-weight:700;font-size:.8rem;padding:4px 12px;border-radius:30px;text-transform:uppercase;letter-spacing:.05em}
.btn-telecharger{width:100%;padding:18px;font-size:1.05rem;background:var(--noir);color:#fff;border-color:var(--noir)}
.btn-telecharger:hover{background:var(--vert);border-color:var(--vert)}
.fiche-texte{margin:24px 0;font-size:1rem}
.fiche-texte p{margin-bottom:.8em}
.fiche-infos .btn-plein{width:100%}
.partage{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:22px 0;color:var(--gris);font-size:.9rem}
.partage span{display:inline-flex;align-items:center;gap:6px;margin-right:4px}
.partage a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--fond-2);color:var(--noir);text-decoration:none;font-weight:700;font-size:.9rem}
.partage a:hover{background:var(--noir);color:#fff}
.licence{background:#fff5f5;border:1px solid #f3c4c4;border-left:4px solid var(--rouge);padding:16px 20px;font-size:.88rem;color:#4b1d1d;margin:0 0 40px;border-radius:2px}
.licence p{margin:0}
@media (max-width:860px){.fiche-grille{grid-template-columns:1fr;gap:22px}}

/* ---------- articles et pages ---------- */
.article-tete{margin-bottom:18px}
.article-tete h1{margin-bottom:10px}
.article-meta{color:var(--gris);font-size:.9rem;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.article-image{max-width:1000px;margin:0 auto 34px;padding:0 20px}
.article-image img{width:100%;border-radius:4px}
.article-corps,.page-corps{font-size:1.06rem}
.article-corps h2,.page-corps h2{border-bottom:1px solid var(--gris-c);padding-bottom:.3em}
.article-corps a,.page-corps a{text-decoration-thickness:1px;text-underline-offset:2px}
.article-corps li p{margin:0 0 .4em}
.article-corps li{margin-bottom:.3em}
figure.image{margin:1.6em 0}
figure.image img{margin:0 auto;border-radius:4px}
figure.image figcaption{text-align:center;font-size:.85rem;color:var(--gris);margin-top:6px}
.galerie{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin:1.6em 0}
.galerie figure{margin:0}
.galerie img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:3px}
.yt{position:relative;aspect-ratio:16/9;background:#000;margin:1.6em 0;border-radius:4px;overflow:hidden;cursor:pointer}
.yt img{width:100%;height:100%;object-fit:cover;opacity:.85}
.yt button{position:absolute;inset:0;margin:auto;width:74px;height:52px;border:0;border-radius:14px;background:#e62117;box-shadow:0 6px 18px rgba(0,0,0,.4)}
.yt button::after{content:"";position:absolute;left:30px;top:15px;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent #fff}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.viewer3d{margin:1.6em 0;aspect-ratio:4/3;background:linear-gradient(#f7f8fa,#e9ebee);border-radius:4px;display:grid;place-items:center;position:relative;overflow:hidden}
.viewer3d canvas{width:100%!important;height:100%!important;display:block;cursor:grab}
.viewer3d .aide{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:.8rem;color:var(--gris);pointer-events:none}
mark{background:#fff3b0;padding:0 .15em}
table{border-collapse:collapse;width:100%;margin:1.4em 0;font-size:.95rem;display:block;overflow-x:auto}
th,td{border:1px solid var(--gris-c);padding:8px 10px;text-align:left}
blockquote{margin:1.4em 0;padding:4px 18px;border-left:4px solid var(--orange);color:#3b3d42}
.page-corps .rangee{display:flex;flex-wrap:wrap;gap:0 40px}
.page-corps .col{flex:1 1 100%;min-width:0}
.page-corps .col-50{flex:1 1 calc(50% - 40px)}
.page-corps .col-33{flex:1 1 calc(33.33% - 40px)}
.page-corps .col-66,.page-corps .col-67{flex:1 1 calc(66.66% - 40px)}
.page-corps .col-25{flex:1 1 calc(25% - 40px)}
.page-corps .col-75{flex:1 1 calc(75% - 40px)}
.page-corps .col-20{flex:1 1 calc(20% - 40px)}
.page-corps .col-40{flex:1 1 calc(40% - 40px)}
.page-corps .col-60{flex:1 1 calc(60% - 40px)}
@media (max-width:820px){.page-corps .col[class*="col-"]{flex-basis:100%}}
.page-corps .bloc{margin-bottom:10px}
.page-corps .galerie{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.page-corps .galerie img{object-fit:contain;background:#fff}
.page-simple{max-width:var(--larg);margin:40px auto;padding:0 20px}
.page-simple .recherche-page{margin:20px auto 50px}

/* ---------- encarts ---------- */
.carte-assistant{display:flex;gap:20px;align-items:flex-start;background:var(--sombre);color:#fff;padding:28px;border-radius:4px;margin:10px 0 30px}
.carte-assistant .ic{flex:none;color:var(--orange)}
.carte-assistant h2{color:#fff;margin:0 0 8px;border:0!important;font-size:1.35rem}
.carte-assistant p{color:#d7d9dd}
.encart-sur-mesure{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;background:var(--fond-2);border-radius:4px;padding:20px 24px;margin:26px 0}
.encart-sur-mesure p{margin:0;flex:1 1 300px}

/* ---------- commentaires ---------- */
.commentaires{margin-top:50px;padding-top:10px;border-top:1px solid var(--gris-c)}
.commentaire{padding:14px 0;border-bottom:1px solid var(--gris-c)}
.commentaire-auteur{margin:0 0 4px;font-size:.92rem}
.commentaire-auteur time{color:var(--gris);margin-left:6px;font-size:.85rem}
.reponse{margin:10px 0 0 22px;padding-left:14px;border-left:3px solid var(--orange)}
.form-commentaire{margin-top:22px;display:grid;gap:14px}
.form-commentaire label{display:grid;gap:5px;font-size:.9rem;font-weight:600}
.form-commentaire input,.form-commentaire textarea{font:inherit;font-weight:400;padding:11px 12px;border:1px solid #c9ccd1;border-radius:2px;width:100%;font-size:16px}
.form-commentaire .deux{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-commentaire .pot{position:absolute;left:-9999px}
.form-commentaire .btn{justify-self:start}
.form-message:empty{display:none}
.form-message{padding:10px 14px;background:#ecfdf5;border-radius:4px}
.form-message.erreur{background:#fef2f2;color:#991b1b}
@media (max-width:600px){.form-commentaire .deux{grid-template-columns:1fr}}

/* ---------- pied de page ---------- */
.pied{background:#1c1d20;color:#c4c7cc;margin-top:70px;font-size:.92rem}
.pied-in{max-width:var(--larg);margin:0 auto;padding:54px 20px 30px;display:grid;grid-template-columns:1.4fr 1fr 1.2fr 1fr;gap:34px}
.pied a,.pied .lien{color:#c4c7cc;text-decoration:none}
.pied a:hover,.pied .lien:hover{color:#fff;text-decoration:underline}
.pied ul{list-style:none;padding:0;margin:0}
.pied li{margin:0 0 7px}
.logo-pied{font-family:var(--titres);letter-spacing:.14em;color:#fff;font-size:1.15rem}
.pied-titre{color:#fff;text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:.82rem;margin-bottom:14px}
.reseaux{display:flex!important;flex-wrap:wrap;gap:6px;list-style:none;padding:0;margin:14px 0}
.reseaux a{width:34px;height:34px;border-radius:4px;display:grid;place-items:center;color:#fff!important;background:#33363c}
.r-facebook{background:#3b5998!important}.r-x{background:#000!important}.r-instagram{background:#c13584!important}.r-youtube{background:#e62117!important}
.r-tiktok{background:#111!important}.r-pinterest{background:#bd081c!important}.r-tumblr{background:#35465c!important}
.copyright{border-top:1px solid #2e3035;text-align:center;padding:18px 20px;margin:0;font-size:.82rem;color:#8b8f96}
@media (max-width:900px){.pied-in{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.pied-in{grid-template-columns:1fr}}

/* ---------- bandeau cookies ---------- */
.bandeau-cookies{position:fixed;left:16px;right:16px;bottom:16px;z-index:100;max-width:760px;margin:0 auto;background:#fff;color:#1f2125;border-radius:6px;box-shadow:0 12px 40px rgba(0,0,0,.25);padding:18px 20px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;font-size:.92rem}
.bandeau-cookies[hidden]{display:none}
.bandeau-cookies p{margin:0;flex:1 1 360px}
.bandeau-actions{display:flex;gap:8px}
.bandeau-actions .btn{padding:10px 18px}

/* ---------- langues (traduction Google) ---------- */
.langues{position:fixed;right:22px;bottom:84px;z-index:60}
.langue-btn{width:46px;height:46px;border-radius:50%;border:0;background:#fff;box-shadow:0 4px 14px rgba(0,0,0,.2);display:grid;place-items:center;padding:0}
.drapeau{display:block;width:30px;height:20px;border-radius:3px;background-size:cover;background-position:center;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.langue-liste{position:absolute;right:0;bottom:56px;list-style:none;margin:0;padding:6px;background:#fff;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.18);min-width:190px}
.langue-liste[hidden]{display:none}
.langue-liste li button{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;padding:8px 10px;border-radius:8px;text-align:left;font-size:.92rem;color:#1f2125}
.langue-liste li button:hover,.langue-liste li button[aria-selected=true]{background:var(--fond-2)}
.langue-liste li button[aria-selected=true]{box-shadow:inset 0 0 0 2px var(--orange)}
.langue-liste small{color:var(--gris);font-weight:600;min-width:26px}
.drapeau[data-l=fr]{background-image:linear-gradient(90deg,#002395 33.3%,#fff 33.3% 66.6%,#ed2939 66.6%)}
.drapeau[data-l=de]{background-image:linear-gradient(#000 33.3%,#dd0000 33.3% 66.6%,#ffce00 66.6%)}
.drapeau[data-l=it]{background-image:linear-gradient(90deg,#009246 33.3%,#fff 33.3% 66.6%,#ce2b37 66.6%)}
.drapeau[data-l=es]{background-image:linear-gradient(#aa151b 25%,#f1bf00 25% 75%,#aa151b 75%)}
.drapeau[data-l=pt]{background-image:radial-gradient(circle at 40% 50%,#ffe000 14%,transparent 15%),linear-gradient(90deg,#006600 40%,#ff0000 40%)}
.drapeau[data-l=zh]{background-image:radial-gradient(circle at 22% 30%,#ffde00 9%,transparent 10%),linear-gradient(#de2910,#de2910)}
.drapeau[data-l=en]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 30'%3E%3CclipPath id='a'%3E%3Cpath d='M30 15h30v15zv15H0zH0V0zV0h30z'/%3E%3C/clipPath%3E%3Cpath d='M0 0v30h60V0z' fill='%23012169'/%3E%3Cpath d='M0 0l60 30m0-30L0 30' stroke='%23fff' stroke-width='6'/%3E%3Cpath d='M0 0l60 30m0-30L0 30' clip-path='url(%23a)' stroke='%23C8102E' stroke-width='4'/%3E%3Cpath d='M30 0v30M0 15h60' stroke='%23fff' stroke-width='10'/%3E%3Cpath d='M30 0v30M0 15h60' stroke='%23C8102E' stroke-width='6'/%3E%3C/svg%3E")}
/* masque la barre de Google Traduction */
.goog-te-banner-frame,.skiptranslate>iframe,#goog-gt-tt,.goog-te-balloon-frame,.VIpgJd-ZVi9od-ORHb-OEVmcd,.VIpgJd-ZVi9od-aZ2wEe-wOHMyf{display:none!important}
body{top:0!important}
font[style]{background:none!important;box-shadow:none!important}
#google_translate_element{display:none}

/* ---------- bulle de l'assistant ---------- */
.bulle-assistant{position:fixed;right:18px;bottom:20px;z-index:60;display:flex;align-items:center;gap:8px;padding:12px 18px;border:0;border-radius:30px;background:var(--orange);color:#fff;font-weight:600;font-size:.92rem;box-shadow:0 8px 24px rgba(228,87,46,.4)}
.bulle-assistant:hover{background:#c8461f}
.assistant-cadre{position:fixed;right:18px;bottom:20px;z-index:70;width:400px;height:min(680px,calc(100vh - 40px));border:0;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);background:#fff;overflow:hidden;display:none}
.assistant-cadre.ouvert{display:block}
.assistant-cadre iframe{width:100%;height:100%;border:0;display:block}
body.asst-ouvert .langues,body.asst-ouvert .bulle-assistant{display:none}
@media (max-width:600px){.assistant-cadre{right:0;bottom:0;width:100%;height:100%;border-radius:0}.langues{right:14px;bottom:78px}.bulle-assistant{right:12px;bottom:14px}}
body.cookies-visibles .bulle-assistant,body.cookies-visibles .langues{display:none}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.entete,.pied,.bulle-assistant,.langues,.bandeau-cookies,.partage,.commentaires form{display:none!important}}

/* ---------- carrousels dans les pages (réalisations) ---------- */
.carrousel-plein{width:100vw;margin:30px 0 30px calc(50% - 50vw);background:var(--fond-2);padding:30px 50px}
.carrousel-plein .carrousel-piste li{height:220px}
.carrousel-plein .carrousel-fl.prec{left:10px}.carrousel-plein .carrousel-fl.suiv{right:10px}

/* ---------- page « Le Monde du 3D » ---------- */
.apropos-tete{background:radial-gradient(circle at 85% 20%,#33363b,var(--noir) 65%);color:#d7d9dd;padding:10px 0 56px}
.apropos-tete .ariane a,.apropos-tete .ariane ol{color:#9a9ea5}
.surtitre{text-transform:uppercase;letter-spacing:.14em;font-size:.85rem;color:var(--orange);margin:30px 0 10px}
.apropos-tete h1{color:#fff;font-size:clamp(2rem,4.6vw,3.6rem);max-width:1000px;margin:0 0 26px;line-height:1.1}
.apropos-tete mark{background:none;color:var(--orange);padding:0}
.apropos-intro{max-width:820px;font-size:1.1rem}
.apropos-intro strong{color:#fff}
.apropos-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.chiffres-cles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:-34px!important;position:relative}
.chiffres-cles div{background:#fff;border-radius:6px;box-shadow:var(--ombre);padding:22px 20px;text-align:center}
.chiffres-cles b{display:block;font-family:var(--titres);font-size:2.2rem;color:var(--noir);line-height:1.1}
.chiffres-cles span{color:var(--gris);font-size:.92rem}
.apropos-realisations{margin:56px 0 0;padding:0 clamp(16px,2.5vw,40px)}
.page-apropos .trois-volets{margin-top:40px}
.etapes{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;counter-reset:e}
.etapes li{border-top:3px solid var(--orange);background:var(--fond-2);padding:20px;border-radius:0 0 6px 6px}
.etapes b{display:block;font-family:var(--titres);font-size:1.1rem;margin-bottom:8px;color:var(--noir)}
.etapes span{font-size:.95rem;color:var(--gris-f)}
.apropos-etapes{margin-top:56px}
.droits{margin-top:50px}
@media (max-width:900px){.chiffres-cles,.etapes{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.chiffres-cles,.etapes{grid-template-columns:1fr}}

/* ---------- page « Marques d'imprimantes 3D » ---------- */
.page-marques .intro-marques{max-width:900px;font-size:1.08rem}
.page-marques .intro-marques h3{font-size:1.4rem;margin-top:0}
.page-marques .marque{position:relative;background:#fff;border:1px solid var(--gris-c);border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.04);padding:26px 28px;margin:0 0 26px}
.page-marques .marque .rangee{display:grid;grid-template-columns:260px 1fr;gap:10px 36px;align-items:start}
.page-marques .marque .col{min-width:0}
.page-marques .marque .col:first-child figure{margin:0;background:#fff;border:1px solid var(--gris-c);border-radius:6px;height:160px;display:grid;place-items:center;padding:16px}
.page-marques .marque .col:first-child img{max-height:126px;width:auto;object-fit:contain}
.page-marques .marque .col:nth-child(3){grid-column:1/-1}
.page-marques .marque .col:nth-child(3) figure{margin:10px 0 0}
.page-marques .marque p{margin-bottom:.7em}
.page-marques .marque:has(.coup-coeur) .col:nth-child(2){padding-right:70px}
.page-marques .coup-coeur{position:absolute;top:-16px;right:14px;width:84px;transform:rotate(8deg);filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}
.page-marques .coup-coeur img{width:100%;height:auto}
@media (max-width:760px){.page-marques .marque .rangee{grid-template-columns:1fr}.page-marques .marque{padding:20px}}

.menu a .ic{flex:none;opacity:.85;color:var(--orange)}
.menu a:hover .ic,.menu a[aria-current] .ic{opacity:1}

/* ---------- page « Impression 3D à la demande » ---------- */
.atouts{list-style:none;padding:0;margin:34px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.atouts li{border-left:3px solid var(--orange);padding:4px 0 4px 12px;font-size:.92rem;color:#c4c7cc}
.atouts b{display:block;color:#fff;font-size:1rem}
.page-demande section.contenu-large{margin-top:56px}
.offres{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.offre{background:#fff;border:1px solid var(--gris-c);border-radius:8px;overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.offre:hover{transform:translateY(-3px);box-shadow:var(--ombre)}
.offre-img{aspect-ratio:16/10;background:var(--fond-2);overflow:hidden}
.offre-img img{width:100%;height:100%;object-fit:cover}
.offre-txt{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.offre-txt h3{margin:0 0 8px;font-size:1.2rem}
.offre-txt p{font-size:.95rem;color:var(--gris-f);flex:1}
.lien-fleche{background:none;border:0;padding:0;color:var(--orange);font-weight:700;text-align:left;font-size:.95rem}
.lien-fleche:hover{text-decoration:underline}
.offre-cta{background:var(--sombre);border-color:var(--sombre);color:#d7d9dd}
.offre-cta h3{color:#fff;font-size:1.4rem}
.offre-cta p{color:#c4c7cc}
.offre-cta .offre-txt{justify-content:center;padding:30px}
.demande-savoir{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start}
.demande-col h2{margin-top:0}
.demande-encart{background:var(--fond-2);border-top:3px solid var(--orange);border-radius:0 0 8px 8px;padding:28px}
.demande-encart .reseaux a{color:#fff!important}
@media (max-width:980px){.offres{grid-template-columns:1fr 1fr}.atouts{grid-template-columns:1fr 1fr}.demande-savoir{grid-template-columns:1fr}}
@media (max-width:620px){.offres,.atouts{grid-template-columns:1fr}}
