/* La Nouvelle Librairie : feuille de styles du thème (maquette validée, version 83).
   Polices Libre Bodoni et Source Sans 3 auto-hébergées (licence SIL OFL, voir assets/fonts). */
@font-face{font-family:'Libre Bodoni';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/libre-bodoni-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Libre Bodoni';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/libre-bodoni-latin-400-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Libre Bodoni';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/libre-bodoni-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/source-sans-3-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Source Sans 3';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/source-sans-3-latin-400-italic.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/source-sans-3-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Source Sans 3';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/source-sans-3-latin-700-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
/* Catalogue d'éditeur : un présentoir des parutions en tête, puis le catalogue
   en notices (collection, pages, prix), filets fins, chiffres alignés. Le vert
   de la maison porte la devise ; le rouge reste réservé aux boutons d'achat. */
:root{
  color-scheme:light;
  --papier:#f6f6f6;
  --encre:#414141;
  --nuit:#3c3c3c;
  --vert:#759683;
  --vert-texte:#4f6b5b;
  --vert-clair:#eaefec;
  --rouge:#f20519;
  --rouge-fonce:#c4040f;
  --gris:#6a706c;
  --filet:#d9dddb;
  --attente:#e4e6e5;
  --attente-reflet:rgba(255,255,255,.6);
  --titre:'Libre Bodoni','Bodoni 72','Didot',Georgia,'Times New Roman',serif;
  --texte:'Source Sans 3','Source Sans Pro',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --page:1240px;
  --gout:28px;
}
*,*::before,*::after{box-sizing:border-box;}
[hidden]{display:none !important;}
html{-webkit-text-size-adjust:100%;}
body{margin:0;overflow-x:hidden;background:var(--papier);color:var(--encre);font-family:var(--texte);font-size:18px;line-height:1.55;font-feature-settings:"kern" 1;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font:inherit;color:inherit;cursor:pointer;}
h1,h2,h3,h4{margin:0;font-family:var(--titre);font-weight:400;line-height:1.12;text-wrap:balance;}
p{margin:0;}
:focus-visible{outline:2px solid var(--rouge);outline-offset:3px;}
.page{max-width:var(--page);margin:0 auto;padding-left:max(var(--gout),env(safe-area-inset-left,0px));padding-right:max(var(--gout),env(safe-area-inset-right,0px));}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.chiffres{font-variant-numeric:tabular-nums lining-nums;}
.etiquette{font-family:var(--texte);font-size:13.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vert-texte);}

/* ---------- Couvertures : attente grise, reflet et indicateur ---------- */
.couv{position:relative;display:block;aspect-ratio:300/467;width:100%;background:var(--attente);overflow:hidden;--rond:22px;}
.couv::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,var(--attente-reflet) 50%,transparent 70%);transform:translateX(-100%);animation:reflet 1.8s ease-in-out infinite;}
.couv::after{content:"";position:absolute;left:50%;top:50%;width:var(--rond);height:var(--rond);margin:calc(var(--rond) / -2) 0 0 calc(var(--rond) / -2);border:2px solid rgba(65,65,65,.14);border-top-color:rgba(65,65,65,.5);border-radius:50%;animation:tourne .85s linear infinite;}
.couv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease;}
.couv.chargee{background:transparent;}
.couv.chargee img{opacity:1;}
.couv.chargee::before,.couv.chargee::after{display:none;}
.couv--revue{aspect-ratio:210/297;}
.couv--mini{--rond:14px;}
@keyframes reflet{to{transform:translateX(100%);}}
@keyframes tourne{to{transform:rotate(360deg);}}

/* ---------- Barre de service ---------- */
.service{background:var(--vert);color:#fff;font-size:15px;}
.service .page{display:flex;gap:22px;align-items:center;justify-content:space-between;min-height:36px;flex-wrap:wrap;}
.service nav{display:flex;gap:22px;}
.service a:hover{text-decoration:underline;text-underline-offset:3px;}

/* ---------- En-tête ---------- */
.entete{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:var(--papier);border-bottom:1px solid var(--filet);}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:70;background:var(--papier);}
.entete .page{position:relative;display:flex;align-items:center;gap:28px;min-height:84px;}
.logo{display:flex;align-items:center;gap:14px;flex:0 0 auto;}
.logo-img{display:none;}
.logo-img.ok{display:block;}
.logo img{width:67px;height:67px;object-fit:contain;mix-blend-mode:multiply;}
.logo-mot{font-family:var(--titre);font-size:21px;line-height:1.05;}
.logo-img.ok + .logo-mot .nom{display:none;}
.logo-mot small{display:block;font-family:var(--texte);font-size:13px;color:var(--gris);margin-top:3px;letter-spacing:.02em;}
.principale{display:flex;gap:28px;font-size:17px;font-weight:600;margin:0 0 0 6px;padding:0;}
.principale > li{list-style:none;}
.principale > li > a{display:block;padding:30px 0;border-bottom:2px solid transparent;}
.principale > li > a{transition:border-color .2s ease,color .2s ease;}
.principale > li > a:hover,.principale > li:hover > a,.principale > li:focus-within > a{border-bottom-color:var(--rouge);}
.principale > li:hover > a[aria-haspopup],.principale > li:focus-within > a[aria-haspopup]{color:var(--rouge);}
.outils{margin-left:auto;display:flex;align-items:center;gap:12px;}
.recherche{display:flex;align-items:center;border-bottom:1px solid var(--encre);}
.recherche input{border:0;background:transparent;padding:8px 4px;font:inherit;font-size:16px;width:260px;color:var(--encre);}
.recherche input::placeholder{color:var(--gris);}
.recherche input:focus{outline:none;}
.recherche button{border:0;background:transparent;padding:8px 2px 8px 8px;display:flex;}
.recherche svg,.panier svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;}
.panier{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;padding:8px 4px 8px 14px;}
.panier b{background:var(--rouge);color:#fff;border-radius:20px;min-width:20px;height:20px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;}
.burger{display:none;border:1px solid var(--filet);background:var(--papier);padding:9px 14px;font-weight:600;font-size:16px;}

/* Ouverture et fermeture en fondu ; la fermeture attend un instant pour pardonner un écart de souris */
.mega{position:absolute;top:100%;left:var(--gout);right:var(--gout);max-width:960px;background:var(--papier);border:1px solid var(--filet);border-top:2px solid var(--rouge);padding:28px 30px 22px;box-shadow:0 22px 44px rgba(60,60,60,.10);opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity .25s ease .12s,transform .25s ease .12s,visibility 0s linear .37s;}
.principale li:hover > .mega,.principale li:focus-within > .mega{opacity:1;visibility:visible;transform:none;pointer-events:auto;transition:opacity .25s ease .05s,transform .25s ease .05s,visibility 0s linear .05s;}
.mega-grille{display:grid;grid-template-columns:repeat(4,1fr);gap:22px 30px;}
.mega h4{font-size:19px;margin-bottom:8px;padding-bottom:7px;border-bottom:1px solid var(--filet);}
.mega h4::before{content:"";display:inline-block;width:6px;height:6px;background:var(--rouge);margin:0 9px 3px 0;vertical-align:middle;}
.mega ul{list-style:none;margin:0;padding:0;}
.mega li a{display:block;font-size:16px;font-weight:400;color:var(--gris);padding:3px 0;transition:color .15s ease,transform .15s ease;}
.mega li a:hover{color:var(--rouge);transform:translateX(3px);}
.mega-pied{margin-top:20px;padding-top:16px;border-top:1px solid var(--filet);font-size:16px;font-weight:600;}
.mega-pied a{color:var(--rouge);}
.mega-pied a::after{content:" →";}
.mega-pied a:hover{color:var(--rouge-fonce);}

/* ---------- Boutons et liens ---------- */
.cta{display:inline-flex;align-items:center;gap:8px;background:var(--rouge);color:#fff;font-weight:600;font-size:17px;padding:12px 22px;border:0;transition:background .15s;}
.cta:hover{background:var(--rouge-fonce);}
.lien{font-weight:600;font-size:16.5px;border-bottom:1px solid currentColor;padding-bottom:1px;}
.lien:hover{color:var(--rouge);}
.lien-suite{font-weight:600;font-size:16.5px;white-space:nowrap;}
.lien-suite::after{content:" →";}
.lien-suite:hover{color:var(--rouge);}

/* ---------- Présentoir des parutions ---------- */
.presentoir{padding-block:44px 52px;border-bottom:1px solid var(--filet);}
.presentoir-grille{display:grid;grid-template-columns:minmax(0,330px) minmax(0,1fr) minmax(0,280px);gap:0 52px;align-items:start;}
.presentoir-tete{grid-column:1 / -1;display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:26px;}
.compteur{font-size:15px;color:var(--gris);}
.parution{display:none;grid-column:1 / 3;grid-template-columns:subgrid;}
.parution.active{display:grid;}
.parution .couv{box-shadow:0 18px 34px -12px rgba(40,40,40,.28);}
.parution.active .notice-grande{animation:apparait .45s ease;}
@keyframes apparait{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.notice-grande{display:flex;flex-direction:column;min-width:0;padding-top:6px;}
.notice-grande .etiquette{margin-bottom:14px;}
.notice-grande h2{font-size:clamp(2.1rem,3.6vw,3.25rem);line-height:1.04;}
.notice-grande h2 span{display:block;font-style:italic;font-size:.5em;line-height:1.25;margin-top:10px;color:#555;}
.notice-grande .auteur{font-size:19px;margin-top:16px;}
.argument{font-size:17.5px;line-height:1.6;color:#4d524f;max-width:34em;margin-top:22px;}
.fiche-technique{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:5px 22px;margin:24px 0 0;padding:12px 0;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet);font-size:15.5px;}
.fiche-technique div{display:contents;}
.fiche-technique dt{color:var(--gris);}
.fiche-technique dd{margin:0;color:var(--encre);}
.achat{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:26px;}
.achat .prix{font-family:var(--titre);font-size:30px;line-height:1;}

.sommaire{grid-column:3;grid-row:2;list-style:none;margin:0;padding:0;border-top:1px solid var(--filet);}
.sommaire li{position:relative;}
.sommaire button{position:relative;display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:center;width:100%;padding:12px 0;border:0;background:none;text-align:left;opacity:.55;transition:opacity .2s;}
.sommaire button:hover,.sommaire button[aria-current="true"]{opacity:1;}
.sommaire .titre{display:block;font-family:var(--titre);font-size:17.5px;line-height:1.2;}
.sommaire .qui{display:block;font-size:14.5px;color:var(--gris);margin-top:2px;}
/* Chaque séparateur est une jauge : celle du livre affiché se remplit jusqu'au passage au suivant */
.sommaire .jauge{position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--filet);overflow:hidden;}
.sommaire .jauge::after{content:"";position:absolute;inset:0;background:var(--rouge);transform:scaleX(0);transform-origin:left;}
.sommaire button[aria-current="true"] .jauge::after{animation:jauge var(--duree,7s) linear forwards;}
@keyframes jauge{to{transform:scaleX(1);}}

/* ---------- Devise ---------- */
.devise{background:var(--vert);color:#fff;padding-block:clamp(44px,6vw,72px);}
.devise .page{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px 60px;align-items:end;}
.devise blockquote{margin:0;font-family:var(--titre);font-style:italic;font-size:clamp(1.55rem,3.1vw,2.55rem);line-height:1.22;max-width:27em;text-wrap:pretty;}
.devise abbr{text-decoration:none;font-style:normal;letter-spacing:.06em;font-size:.86em;}
.devise p{font-size:16px;}
.devise .lien{color:#fff;}

/* ---------- Sections du catalogue ---------- */
.rubrique{padding-block:clamp(48px,6vw,76px);}
.rubrique-tete{display:flex;align-items:end;justify-content:space-between;gap:12px 28px;flex-wrap:wrap;margin-bottom:30px;}
.rubrique-tete h2{font-size:clamp(1.9rem,3vw,2.5rem);}
.rubrique-tete p{font-size:16.5px;color:var(--gris);margin-top:6px;}

/* Notices des nouveautés */
.catalogue{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:40px 28px;}
.notice{display:flex;flex-direction:column;min-width:0;}
.notice[hidden]{display:none;}
.notice .couv{margin-bottom:14px;box-shadow:0 10px 20px -10px rgba(40,40,40,.3);}
.notice .meta{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--vert-texte);margin-bottom:6px;}
.notice h3{font-size:19px;line-height:1.18;}
.notice h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;}
.notice .auteur{font-size:16px;color:var(--gris);margin-top:4px;}
.notice .ligne{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--filet);}
.notice .auteur{margin-bottom:14px;}
.notice .ligne > span{display:flex;align-items:baseline;gap:8px;}
.notice .prix{font-size:17px;font-weight:600;}
.notice .pages{font-size:14.5px;color:var(--gris);}
.ajout{border:1px solid var(--rouge);background:transparent;color:var(--rouge);font-size:15px;font-weight:600;padding:6px 12px;transition:background .15s,color .15s;}
.ajout:hover{background:var(--rouge);color:#fff;}
.ajout--attente{border-color:var(--filet);color:var(--gris);}
.ajout--attente:hover{background:var(--encre);border-color:var(--encre);color:#fff;}

/* Revues */
.revues{background:var(--vert-clair);}
.grille-revues{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;}
.revue{display:grid;grid-template-columns:minmax(0,180px) minmax(0,1fr);gap:20px;align-items:start;}
.revue .couv{box-shadow:0 12px 22px -12px rgba(40,40,40,.35);}
.revue h3{font-size:28px;line-height:1.05;}
.revue .rythme{margin-top:10px;}
.revue .numero{font-size:16px;font-weight:600;margin-top:8px;}
.revue .theme{font-family:var(--titre);font-style:italic;font-size:17px;line-height:1.3;margin-top:6px;}
.revue .rythme{font-size:15px;color:var(--gris);margin-top:8px;}
.revue .liens{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:14px;font-size:16px;}

/* Table des collections */
/* Chaque collection est une ligne cliquable : nom, devise, trois titres du catalogue */
.table-collections{list-style:none;margin:0 -20px;padding:0;}
.rayons-section{padding-top:clamp(24px,3vw,40px);}
.table-collections li + li{border-top:1px solid var(--filet);}
.collection{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) minmax(0,1.35fr) 20px;gap:6px 40px;align-items:start;padding:22px 20px;
  transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease;transform-origin:center;}
.collection h3{font-size:25px;line-height:1.15;color:var(--encre);transition:color .2s ease;}
.devise-coll{font-size:17.5px;line-height:1.5;color:var(--encre);padding-top:3px;}
.titres{display:flex;flex-direction:column;gap:3px;font-size:16px;line-height:1.4;color:#575d59;padding-top:3px;}
.titres-label{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vert-texte);margin-bottom:3px;}
.titres cite{font-style:italic;}
.collection .fleche{align-self:center;font-size:20px;color:var(--rouge);opacity:0;transform:translateX(-6px);transition:opacity .2s ease,transform .2s ease;}
.collection:focus-visible{outline-offset:-2px;}
@media (hover:hover) and (pointer:fine){
  .collection:hover{background:var(--vert-clair);transform:scale(1.01);box-shadow:0 10px 26px -18px rgba(40,40,40,.35);z-index:1;}
  .collection:hover h3{color:var(--rouge);}
  .collection:hover .fleche{opacity:1;transform:none;}
}
/* Rayons : carrousel à défilement doux, même survol que les collections */
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 3 * 28px) / 4);gap:28px;overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scroll-padding-inline:6px;padding:14px 6px 18px;margin:-14px -6px 0;scrollbar-width:none;}
.rail::-webkit-scrollbar{display:none;}
.rail:focus-visible{outline-offset:2px;}
.rayon{position:relative;display:flex;flex-direction:column;gap:18px;padding:30px 28px 28px;border-top:2px solid var(--encre);scroll-snap-align:start;
  transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease;}
.rayon h3{font-size:30px;line-height:1.1;transition:color .2s ease;}
.rayon h3 a::after{content:"";position:absolute;inset:0;}
.rayon ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;}
.rayon li a{position:relative;z-index:1;font-size:17px;color:#575d59;}
.rayon li a:hover{color:var(--rouge);}
.rayon .fleche{margin-top:auto;padding-top:8px;font-size:20px;color:var(--rouge);opacity:0;transform:translateX(-6px);transition:opacity .2s ease,transform .2s ease;}
@media (hover:hover) and (pointer:fine){
  .rayon:hover{background:var(--vert-clair);transform:scale(1.01);box-shadow:0 10px 26px -18px rgba(40,40,40,.35);}
  .rayon:hover h3{color:var(--rouge);}
  .rayon:hover .fleche{opacity:1;transform:none;}
}
.rail-nav{display:flex;gap:8px;}
.rail-btn{width:46px;height:46px;border:1px solid var(--filet);background:transparent;font-size:18px;line-height:1;transition:border-color .15s,color .15s,opacity .15s;}
.rail-btn:hover:not(:disabled){border-color:var(--rouge);color:var(--rouge);}
.rail-btn:disabled{opacity:.3;cursor:default;}
.rail-jauge{position:relative;height:2px;background:var(--filet);margin-top:26px;overflow:hidden;}
.rail-jauge span{position:absolute;left:0;top:0;bottom:0;background:var(--rouge);transition:transform .15s linear;}

/* Lettre */
.lettre{border-top:1px solid var(--filet);}
.lettre .page{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px 60px;align-items:center;}
.lettre h2{font-size:clamp(1.7rem,2.6vw,2.2rem);margin-bottom:8px;}
.lettre p{color:var(--gris);}
.formulaire{display:flex;}
.formulaire input{flex:1 1 auto;min-width:0;border:1px solid var(--encre);border-right:0;background:#fff;padding:12px 16px;font:inherit;font-size:17px;color:var(--encre);}
.formulaire .cta{flex:0 0 auto;white-space:nowrap;}
.mention{font-size:14.5px;color:var(--gris);margin-top:10px;}

/* ---------- Pied de page ---------- */
footer{background:var(--nuit);color:#d8dbd9;font-size:16px;}
.pied-haut{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;column-gap:56px;row-gap:40px;padding-block:60px 46px;}
.pied-logo{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.pied-logo img{width:64px;}
.pied-logo .logo-mot{color:#fff;}
.pied-haut p{font-family:var(--texte);font-size:16.5px;line-height:1.55;color:#c9cdcb;max-width:28em;}
footer h4{font-family:var(--texte);font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:#fff;margin-bottom:14px;}
footer ul{list-style:none;margin:0;padding:0;}
footer li{margin-bottom:9px;}
footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px;}
.reseaux{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap;}
.reseaux a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:background .15s,border-color .15s;}
.reseaux svg{width:18px;height:18px;fill:currentColor;}
.reseaux a:hover{background:var(--rouge);border-color:var(--rouge);text-decoration:none;}
.pied-bas{border-top:1px solid rgba(255,255,255,.14);padding-block:20px 26px;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:15px;color:#a3a8a6;}
.pied-bas nav{display:flex;gap:18px;flex-wrap:wrap;}
.pied-bas a{color:#a3a8a6;}

/* ---------- Menu mobile ---------- */
.panneau{display:none;position:fixed;inset:0;z-index:80;background:var(--papier);overflow-y:auto;padding:max(22px,env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) 60px max(24px,env(safe-area-inset-left,0px));}
.panneau.ouvert{display:block;}
.panneau-tete{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;}
.panneau-tete strong{font-family:var(--titre);font-weight:500;font-size:22px;}
.panneau-tete button{border:1px solid var(--filet);background:var(--papier);padding:9px 14px;font-weight:600;}
.panneau h4{font-family:var(--texte);font-size:13.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vert-texte);margin:26px 0 8px;}
.panneau ul{list-style:none;margin:0;padding:0;}
.panneau-principal{margin-top:18px !important;}
.panneau .panneau-principal li a{font-family:var(--titre);font-size:24px;padding:12px 0;}
.panneau li a{display:block;padding:11px 0;border-bottom:1px solid var(--filet);font-size:17px;}
.recherche-mobile{display:flex;border:1px solid var(--encre);}
.recherche-mobile input{flex:1;min-width:0;border:0;padding:12px 14px;font:inherit;font-size:17px;background:#fff;}
.recherche-mobile button{border:0;background:var(--encre);color:#fff;padding:12px 18px;font-weight:600;}

/* ---------- Adaptations ---------- */
@media (max-width:1180px){
  .logo-mot small{display:none;}
  .principale{gap:20px;}
  .recherche input{width:200px;}
  .presentoir-grille{grid-template-columns:minmax(0,290px) minmax(0,1fr) minmax(0,250px);gap:0 40px;}
  .catalogue{grid-template-columns:repeat(4,minmax(0,1fr));}
  .grille-revues{gap:26px;}
  .revue{grid-template-columns:minmax(0,140px) minmax(0,1fr);gap:16px;}
}
@media (max-width:1040px){
  .logo-img.ok + .logo-mot{display:none;}
  .logo-mot small{display:none;}
  .presentoir-grille{grid-template-columns:minmax(0,280px) minmax(0,1fr);}
  .sommaire{grid-column:1 / -1;grid-row:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 18px;margin-top:36px;}
  .sommaire li{border-bottom:0;}
  .sommaire button{grid-template-columns:minmax(0,1fr);gap:8px;padding:14px 0 12px;align-items:start;}
  .sommaire .couv{width:52px;}
  .sommaire .jauge{top:0;bottom:auto;}
  .catalogue{grid-template-columns:repeat(3,minmax(0,1fr));}
  .grille-revues{grid-template-columns:minmax(0,1fr);gap:28px;}
  .revue{grid-template-columns:minmax(0,160px) minmax(0,1fr);max-width:640px;}
  .collection{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) 20px;gap:10px 32px;}
  .collection .titres{grid-column:2;}
  .collection .fleche{grid-column:3;grid-row:1 / 3;}
  .rail{grid-auto-columns:calc((100% - 2 * 24px) / 3);gap:24px;}
  .pied-haut{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;}
  .pied-haut > div:first-child{grid-column:1 / -1;}
}
@media (max-width:960px){
  .principale,.recherche{display:none;}
  .burger{display:block;}
  .entete .page{min-height:68px;gap:10px;}
  .logo img{width:56px;height:56px;}
  .service nav{display:none;}
  .service .page{justify-content:center;text-align:center;}
  .devise .page,.lettre .page{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:680px){
  :root{--gout:20px;}
  body{font-size:17.5px;}
  .presentoir{padding-block:28px 36px;}
  .presentoir-grille{grid-template-columns:minmax(0,1fr);}
  .parution{grid-column:1;}
  .parution .couv{width:min(220px,62%);margin:0 auto 26px;}
  .notice-grande h2{font-size:2rem;}
  .argument{font-size:17.5px;}
  .fiche-technique{font-size:14.5px;}
  .sommaire{display:flex;overflow-x:auto;gap:0 16px;scrollbar-width:none;margin-top:30px;}
  .sommaire li{flex:0 0 112px;}
  .catalogue{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px;}
  .notice h3{font-size:17px;}
  .notice .pages{display:none;}
  .notice .auteur{font-size:15px;}
  .rail{grid-auto-columns:78%;gap:16px;}
  .rayon{padding:24px 22px;}
  .rayon h3{font-size:26px;}
  .table-collections{margin:0;}
  .collection{grid-template-columns:minmax(0,1fr);gap:6px;padding:18px 0;}
  .collection .titres{grid-column:auto;margin-top:6px;}
  .collection .fleche{display:none;}
  .revue{grid-template-columns:minmax(0,120px) minmax(0,1fr);}
  .logo-mot{font-size:19px;}
  .revue h3{font-size:24px;}
  .pied-haut{grid-template-columns:minmax(0,1fr);row-gap:28px;padding-block:44px 34px;}
  .pied-bas{flex-direction:column;gap:12px;}
  .formulaire{flex-direction:column;gap:10px;}
  .formulaire input{border-right:1px solid var(--encre);}
}
@media (max-width:400px){
  .catalogue{gap:26px 12px;}
  .ajout{padding:6px 10px;font-size:14.5px;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none !important;animation:none !important;}
  .couv::before{display:none;}
}

/* ---------- Adresse e-mail révélée au clic ---------- */
.courriel{border:0;background:none;padding:0;font:inherit;color:inherit;text-decoration:underline dotted;text-underline-offset:3px;cursor:pointer;}
.courriel:hover{color:#fff;}
.courriel-revele{user-select:all;}

/* ---------- Fiche produit ---------- */
.fiche-page{padding-block:26px 0;}
.ariane{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:14.5px;color:var(--gris);margin-bottom:36px;}
.ariane a:hover{color:var(--rouge);}
.ariane span[aria-hidden]{color:#b9bebb;}
.ariane [aria-current]{color:var(--encre);}
.fiche-grille{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:40px 72px;align-items:start;}
.couv--fiche{--rond:28px;box-shadow:0 26px 46px -20px rgba(40,40,40,.45);}
.partage{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:24px;font-size:15px;}
.partage-titre{color:var(--gris);margin-right:4px;}
.partage a{width:38px;height:38px;border:1px solid var(--filet);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--encre);transition:border-color .15s,color .15s;}
.partage svg{width:16px;height:16px;fill:currentColor;}
.partage a:hover{border-color:var(--rouge);color:var(--rouge);}
.copier{border:0;background:none;font-weight:600;font-size:15px;padding:4px 0;margin-left:6px;border-bottom:1px solid currentColor;max-width:100%;overflow-wrap:anywhere;text-align:left;}
.copier:hover{color:var(--rouge);}
.fiche-texte{min-width:0;padding-top:4px;}
.fiche-texte .etiquette{margin-bottom:16px;}
.fiche-texte h1{font-size:clamp(2.6rem,5vw,4.2rem);line-height:1;}
.fiche-texte h1 span{display:block;font-style:italic;font-size:.46em;line-height:1.25;margin-top:12px;color:#555;}
.auteur-fiche{font-size:21px;margin-top:22px;}
.auteur-fiche a,.prefacier a{border-bottom:1px solid var(--filet);transition:color .15s,border-color .15s;}
.auteur-fiche a:hover,.prefacier a:hover{color:var(--rouge);border-color:var(--rouge);}
.prefacier{font-size:16.5px;color:var(--gris);margin-top:6px;}
.bloc-achat{margin-top:32px;padding-block:24px;border-top:2px solid var(--encre);border-bottom:1px solid var(--filet);display:flex;flex-direction:column;gap:20px;}
.achat-ligne{display:flex;align-items:center;gap:14px 26px;flex-wrap:wrap;}
.prix-fiche{font-family:var(--titre);font-size:46px;line-height:1;}
.dispo{display:flex;align-items:center;gap:9px;font-size:16px;font-weight:600;color:var(--vert-texte);}
.pastille{width:9px;height:9px;border-radius:50%;background:var(--vert);box-shadow:0 0 0 4px rgba(117,150,131,.22);}
.quantite{display:flex;border:1px solid var(--encre);height:52px;}
.quantite button{width:44px;border:0;background:transparent;font-size:20px;line-height:1;}
.quantite button:hover{color:var(--rouge);}
.quantite input{width:46px;border:0;background:transparent;text-align:center;font:inherit;font-size:18px;font-weight:600;color:var(--encre);-moz-appearance:textfield;appearance:textfield;}
.quantite input::-webkit-outer-spin-button,.quantite input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.cta--large{height:52px;padding:0 34px;font-size:17.5px;flex:1 1 220px;justify-content:center;max-width:340px;}
.cta.fait{background:var(--vert-texte);}
.port{font-size:15px;color:var(--gris);}
.fiche-technique--fiche{margin-top:26px;padding-top:0;border-top:0;font-size:16px;gap:10px 28px;}
.fiche-technique--fiche dd a{border-bottom:1px solid var(--filet);}
.fiche-technique--fiche dd a:hover{color:var(--rouge);}
.telecharger-couv{margin:16px 0 0;font-size:15.5px;}
.telecharger-couv a{display:inline-flex;align-items:center;gap:8px;border-bottom:1px solid var(--filet);padding-bottom:2px;}
.telecharger-couv a:hover{color:var(--rouge);border-color:currentColor;}
.telecharger-couv svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.presentation{display:grid;grid-template-columns:minmax(0,400px) minmax(0,1fr);gap:24px 72px;margin-top:clamp(56px,7vw,96px);padding-top:40px;border-top:1px solid var(--filet);}
.presentation h2{font-size:clamp(1.9rem,3vw,2.5rem);}
.presentation-texte{max-width:38em;display:flex;flex-direction:column;gap:18px;}
.presentation-texte p{font-size:18.5px;line-height:1.7;}
.presentation-texte .chapeau{font-family:var(--titre);font-size:clamp(1.35rem,2.2vw,1.7rem);line-height:1.4;}
.suggestions{margin-top:clamp(40px,5vw,64px);border-top:1px solid var(--filet);}
.barre-achat{display:none;}
@media (max-width:1040px){
  .fiche-grille{grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:32px 44px;}
  .presentation{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:680px){
  .ariane{margin-bottom:24px;font-size:14px;}
  .fiche-grille{grid-template-columns:minmax(0,1fr);}
  .fiche-visuel .couv{width:min(250px,68%);margin:0 auto;}
  .partage{justify-content:center;}
  .prix-fiche{font-size:38px;}
  .cta--large{max-width:none;}
  .barre-achat{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:55;align-items:center;justify-content:space-between;gap:14px;background:var(--papier);border-top:1px solid var(--filet);box-shadow:0 -10px 24px -16px rgba(40,40,40,.35);
    padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));transform:translateY(110%);transition:transform .3s ease;}
  .barre-achat.visible{transform:none;}
  .barre-titre{font-family:var(--titre);font-size:19px;line-height:1.1;}
  .barre-prix{font-size:16px;font-weight:600;margin-top:2px;}
}
@media (prefers-reduced-motion:reduce){ .barre-achat{transition:none;} }


/* ---------- Couvertures : léger grossissement au survol ---------- */
.couv{transition:transform .45s cubic-bezier(.22,.61,.36,1),box-shadow .45s cubic-bezier(.22,.61,.36,1);will-change:transform;}
@media (hover:hover) and (pointer:fine){
  .notice:hover .couv,.revue:hover .couv,.sommaire button:hover .couv{transform:scale(1.02);box-shadow:0 18px 30px -14px rgba(40,40,40,.42);}
  .couv-lien:hover .couv{transform:scale(1.015);box-shadow:0 28px 48px -18px rgba(40,40,40,.45);}
}

/* ---------- Méga-menu : arborescence réelle des thématiques ---------- */
.mega-col{display:flex;flex-direction:column;gap:22px;}
.mega-bloc h4 a:hover{color:var(--rouge);}
.mega-seuls{display:flex;flex-direction:column;gap:2px;}
.mega .mega-seuls li a{font-family:var(--titre);font-size:18px;color:var(--encre);padding:4px 0;}
.mega .mega-seuls li a:hover{color:var(--rouge);}
.rayon--autres ul{gap:5px;}
.rayon--autres li a{font-family:var(--titre);font-size:18px;color:var(--encre);}

/* ---------- Page d'une thématique (taxonomie) ---------- */
.rayon-page{padding-block:26px clamp(56px,7vw,88px);}
.rayon-tete{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:20px 64px;align-items:end;padding-bottom:30px;border-bottom:2px solid var(--encre);}
.rayon-tete .etiquette{margin-bottom:10px;}
.rayon-tete h1{font-size:clamp(3rem,7vw,5.6rem);line-height:.95;}
.rayon-intro{font-size:18px;line-height:1.65;color:#4d524f;max-width:36em;}
.cat-pdf{margin-top:14px;font-size:15.5px;}
.cat-pdf a{font-weight:600;color:var(--encre);text-decoration:none;}
.cat-pdf .lib{text-decoration:underline;text-decoration-color:var(--rouge);text-decoration-thickness:1px;text-underline-offset:4px;transition:color .2s ease;}
.cat-pdf a:hover .lib{color:var(--rouge);}
.picto-pdf{font-weight:400;color:#5d625f;white-space:nowrap;}
.picto-pdf svg{display:inline-block;vertical-align:-1px;color:var(--rouge);}
.sous-rayons{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 0;}
.sous-rayons a{display:inline-flex;align-items:baseline;gap:8px;padding:7px 14px;border:1px solid var(--filet);font-size:15.5px;font-weight:600;transition:border-color .15s,color .15s,background-color .15s;}
.sous-rayons a span{font-weight:400;color:var(--gris);font-size:14px;}
.sous-rayons a:hover{border-color:var(--rouge);color:var(--rouge);}
.sous-rayons a[aria-current="page"]{background:var(--encre);border-color:var(--encre);color:#fff;}
.sous-rayons a[aria-current="page"] span{color:#cfd3d1;}
.outils-liste{display:flex;align-items:end;justify-content:space-between;gap:16px 28px;flex-wrap:wrap;margin:40px 0 30px;padding-bottom:16px;border-bottom:1px solid var(--filet);}
.compte{font-size:16px;color:var(--gris);}
.compte b{font-family:var(--titre);font-weight:400;font-size:26px;color:var(--encre);margin-right:4px;}
.filtres-liste{display:flex;gap:12px 18px;flex-wrap:wrap;}
.filtres-liste label{display:flex;flex-direction:column;gap:4px;font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vert-texte);}
.filtres-liste select{min-width:180px;max-width:100%;padding:9px 34px 9px 12px;border:1px solid var(--encre);border-radius:0;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23414141' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center;
  font:inherit;font-size:16px;letter-spacing:0;text-transform:none;font-weight:400;color:var(--encre);-webkit-appearance:none;appearance:none;cursor:pointer;}
.filtres-liste select:focus-visible{outline:2px solid var(--rouge);outline-offset:2px;}
.liste-vide{padding:40px 0;font-size:17px;color:var(--gris);}
.liste-vide button{border:0;background:none;padding:0;font:inherit;font-weight:600;color:var(--rouge);border-bottom:1px solid currentColor;margin-left:6px;}
@media (max-width:1040px){
  .rayon-tete{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:680px){
  .sous-rayons{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--gout));padding-inline:var(--gout);}
  .sous-rayons a{flex:0 0 auto;}
  .filtres-liste{width:100%;}
  .filtres-liste label{flex:1 1 140px;}
  .filtres-liste select{min-width:0;width:100%;}
}
.notice .meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ---------- Suggestions de recherche (en-tête, page de recherche, résultats, 404) ---------- */
.avec-suggestions{position:relative;}
.suggest{position:absolute;top:calc(100% + 8px);left:0;z-index:75;width:100%;min-width:min(440px,calc(100vw - 32px));max-height:min(70vh,560px);overflow-y:auto;overscroll-behavior:contain;
  background:#fff;border:1px solid var(--filet);border-top:2px solid var(--rouge);box-shadow:0 24px 48px -12px rgba(40,40,40,.22);padding:6px 0 0;font-family:var(--texte);}
.suggest--droite{left:auto;right:0;}
.suggest-groupe{padding:12px 18px 6px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vert-texte);}
.suggest-option{display:grid;grid-template-columns:34px minmax(0,1fr);gap:14px;align-items:center;padding:8px 18px;color:var(--encre);text-decoration:none;}
.suggest-option--simple{grid-template-columns:minmax(0,1fr);}
.suggest-option[aria-selected="true"],.suggest-option:hover{background:var(--vert-clair);}
.suggest-texte{display:flex;flex-direction:column;min-width:0;}
.suggest-titre{font-family:var(--titre);font-size:17px;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.suggest-sous{font-size:14px;color:var(--gris);margin-top:1px;}
.suggest mark{background:none;color:var(--rouge);font-weight:600;}
.vignette{display:block;width:34px;aspect-ratio:2/3;background:var(--attente);overflow:hidden;}
.vignette img{width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s;}
.vignette img.ok{opacity:1;}
.suggest-rien{padding:14px 18px;font-size:15.5px;color:var(--gris);}
.suggest-tout{grid-template-columns:minmax(0,1fr);margin-top:6px;padding:13px 18px;border-top:1px solid var(--filet);font-weight:600;font-size:15.5px;color:var(--rouge);}
.recherche-mobile.avec-suggestions .suggest{min-width:0;}

/* ---------- Page de recherche ---------- */
.recherche-page{padding-block:26px clamp(64px,8vw,110px);}
.recherche-titre{font-size:clamp(2.4rem,5vw,4rem);line-height:1;margin:clamp(12px,3vw,40px) 0 30px;}
.grande-recherche{display:flex;align-items:stretch;border-bottom:2px solid var(--encre);}
.grande-recherche input{flex:1 1 auto;min-width:0;border:0;background:transparent;padding:14px 4px;font-family:var(--titre);font-size:clamp(1.5rem,3vw,2.2rem);color:var(--encre);}
.grande-recherche input::placeholder{color:#a3a8a5;}
.grande-recherche input:focus{outline:none;}
.grande-recherche input::-webkit-search-cancel-button{-webkit-appearance:none;}
.grande-recherche .cta{align-self:center;flex:0 0 auto;}
.grande-recherche:focus-within{border-bottom-color:var(--rouge);}
.grande-recherche--compacte input{font-size:22px;padding:10px 4px;}
.recherche-aide{font-size:14.5px;color:var(--gris);margin-top:10px;}
.recherche-pistes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:36px 64px;margin-top:clamp(44px,6vw,72px);}
.recherche-pistes .etiquette{margin-bottom:14px;}
.puces{display:flex;flex-wrap:wrap;gap:8px;}
.puce{display:inline-block;padding:8px 15px;border:1px solid var(--filet);font-size:16px;transition:border-color .15s,color .15s;}
.puce:hover{border-color:var(--rouge);color:var(--rouge);}
.liste-themes{list-style:none;margin:0;padding:0;columns:3 180px;column-gap:28px;}
.liste-themes li{break-inside:avoid;padding:6px 0;border-top:1px solid var(--filet);}
.liste-themes a{font-family:var(--titre);font-size:19px;}
.liste-themes a:hover{color:var(--rouge);}

/* ---------- Résultats ---------- */
.resultats-tete{align-items:end;}
.resultats-tete h1{font-size:clamp(2.4rem,5.4vw,4.4rem);overflow-wrap:anywhere;}
.res-raccourcis{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.raccourci{display:inline-flex;align-items:baseline;gap:10px;padding:10px 16px;background:var(--vert-clair);font-family:var(--titre);font-size:19px;transition:background-color .15s,color .15s;}
.raccourci span{font-family:var(--texte);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vert-texte);}
.raccourci em{font-family:var(--texte);font-style:normal;font-size:14px;color:var(--gris);}
.raccourci:hover{background:#dfe7e2;color:var(--rouge);}
.notice h3 mark,.notice .auteur mark{background:none;color:inherit;box-shadow:inset 0 -.38em 0 rgba(242,5,25,.16);}
.res-vide{padding:36px 0 10px;display:flex;flex-direction:column;gap:14px;}
.res-vide-titre{font-family:var(--titre);font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.25;}
.res-vide p{color:var(--gris);}

/* ---------- Page 404 ---------- */
.page-404{padding-block:clamp(40px,7vw,96px) clamp(64px,8vw,110px);}
.erreur-grille{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px 80px;align-items:start;}
.page-404 .etiquette{margin-bottom:14px;}
.page-404 h1{font-size:clamp(2.6rem,6vw,5rem);line-height:1;}
.erreur-texte{font-size:18.5px;line-height:1.65;color:#4d524f;max-width:34em;margin:24px 0 28px;}
.erreur-liens{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:30px;}
.erreur-parutions{padding-top:6px;}
.mini-livres{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:14px;}
.mini-livre{display:flex;flex-direction:column;gap:8px;--rond:14px;}
.mini-livre .couv{box-shadow:0 10px 18px -10px rgba(40,40,40,.35);}
.mini-livre span:last-child{font-family:var(--titre);font-size:14.5px;line-height:1.2;}
@media (hover:hover) and (pointer:fine){ .mini-livre:hover .couv{transform:scale(1.02);} .mini-livre:hover span:last-child{color:var(--rouge);} }
@media (max-width:1040px){
  .recherche-pistes,.erreur-grille{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:680px){
  .grande-recherche{flex-wrap:wrap;border-bottom:0;gap:10px;}
  .grande-recherche input{flex-basis:100%;border-bottom:2px solid var(--encre);}
  .grande-recherche .cta{width:100%;justify-content:center;}
  .suggest{min-width:0;}
  .mini-livres{grid-template-columns:repeat(3,minmax(0,1fr));}
  .mini-livre:nth-child(n+4){display:none;}
}
.suggest-tout{display:flex;align-items:baseline;gap:6px;}
.suggest--large{top:100%;border-top:0;}

/* ---------- Nouveautés ---------- */
.une{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:32px 64px;align-items:center;margin-top:40px;padding-bottom:44px;border-bottom:1px solid var(--filet);}
.une .couv{box-shadow:0 24px 44px -20px rgba(40,40,40,.45);}
.une-texte .etiquette{margin-bottom:14px;}
.une-texte h2{font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.02;}
.une-texte h2 span{display:block;font-style:italic;font-size:.5em;line-height:1.25;margin-top:10px;color:#555;}
.une-texte .auteur{font-size:20px;margin-top:16px;}
.alerte{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:16px 36px;align-items:center;margin:36px 0 12px;padding:26px 30px;background:var(--vert-clair);}
.alerte h2{font-size:26px;margin-bottom:4px;}
.alerte p{font-size:15.5px;color:#4d524f;}
.rss{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15.5px;white-space:nowrap;}
.rss svg{width:18px;height:18px;fill:#e08a2c;}
.rss:hover{color:var(--rouge);}
.periode{margin-top:clamp(40px,5vw,64px);}
.periode-tete{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:12px;margin-bottom:26px;border-bottom:2px solid var(--encre);}
.periode-tete h2{font-size:clamp(1.7rem,2.8vw,2.3rem);}
.periode-tete span{font-size:15px;color:var(--gris);}

/* ---------- Index des auteurs ---------- */
.auteurs-page{padding-block:26px clamp(64px,8vw,110px);}
.auteurs-filtre{display:flex;flex-direction:column;gap:8px;max-width:520px;}
.auteurs-filtre input{border:0;border-bottom:2px solid var(--encre);background:transparent;padding:10px 2px;font-family:var(--titre);font-size:24px;color:var(--encre);}
.auteurs-filtre input:focus{outline:none;border-bottom-color:var(--rouge);}
.alphabet{position:sticky;top:calc(env(safe-area-inset-top,0px) + 84px);z-index:20;display:flex;flex-wrap:wrap;gap:2px;margin:26px 0 8px;padding:10px 0;background:var(--papier);border-bottom:1px solid var(--filet);}
.alphabet a,.alphabet span{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;font-family:var(--titre);font-size:19px;}
.alphabet a:hover{background:var(--vert-clair);color:var(--rouge);}
.alphabet span{color:#c3c7c5;}
.index-auteurs{columns:3 260px;column-gap:56px;}
.lettre-bloc{break-inside:avoid;padding-top:26px;scroll-margin-top:170px;}
.lettre-bloc h2{font-size:44px;line-height:1;color:var(--rouge);margin-bottom:8px;}
.lettre-bloc ul{list-style:none;margin:0;padding:0;}
.lettre-bloc li a{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--filet);transition:color .15s,padding .2s;}
.nom-auteur{font-family:var(--titre);font-size:19px;}
.nb-titres{font-size:14px;color:var(--gris);white-space:nowrap;}
@media (hover:hover) and (pointer:fine){ .lettre-bloc li a:hover{color:var(--rouge);padding-left:6px;} }

/* ---------- Page d'un auteur ---------- */
.auteur-tete{display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px 52px;align-items:center;padding-bottom:36px;border-bottom:2px solid var(--encre);}
.portrait{position:relative;display:block;width:200px;aspect-ratio:1;border-radius:50%;background:var(--attente);overflow:hidden;}
.portrait::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,var(--attente-reflet) 50%,transparent 70%);transform:translateX(-100%);animation:reflet 1.8s ease-in-out infinite;}
.auteur-texte .etiquette{margin-bottom:10px;}
.auteur-texte h1{font-size:clamp(2.8rem,6vw,4.8rem);line-height:.98;}
.auteur-bio{font-size:18.5px;line-height:1.65;color:#4d524f;max-width:40em;margin-top:18px;}
.auteur-faits{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 28px;font-size:16px;color:var(--gris);}
.auteur-faits b{font-family:var(--titre);font-weight:400;font-size:22px;color:var(--encre);margin-right:4px;}
.auteur-faits a{color:var(--encre);border-bottom:1px solid var(--filet);}
.auteur-faits a:hover{color:var(--rouge);border-color:var(--rouge);}
@media (max-width:1040px){
  .alerte{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:680px){
  .une{grid-template-columns:minmax(0,1fr);}
  .une .couv-lien{width:min(230px,62%);margin:0 auto;}
  .alerte{padding:22px 20px;}
  .alphabet{top:calc(env(safe-area-inset-top,0px) + 68px);flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--gout));padding-inline:var(--gout);}
  .alphabet a,.alphabet span{flex:0 0 auto;}
  .auteur-tete{grid-template-columns:minmax(0,1fr);justify-items:start;}
  .portrait{width:120px;}
}
@media (prefers-reduced-motion:reduce){ .portrait::before{display:none;} }
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease;}
.portrait.chargee{background:transparent;}
.portrait.chargee img{opacity:1;}
.portrait.chargee::before{display:none;}
.auteur-faits .lien-externe{font-weight:600;}

/* ---------- Espace libraires ---------- */
.libraires-page{padding-block:26px clamp(64px,8vw,110px);}
.conditions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:34px;border-top:1px solid var(--filet);border-bottom:1px solid var(--filet);}
.condition{display:flex;flex-direction:column;gap:4px;padding:22px 24px 22px 0;}
.condition + .condition{padding-left:24px;border-left:1px solid var(--filet);}
.condition b{font-family:var(--titre);font-weight:400;font-size:clamp(2rem,3.4vw,2.8rem);line-height:1;color:var(--encre);}
.condition span{font-size:15.5px;color:var(--gris);}
.libraires-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:48px 72px;align-items:start;margin-top:clamp(40px,5vw,64px);}
.etapes h2,.demande h2{font-size:clamp(1.7rem,2.6vw,2.2rem);margin-bottom:20px;}
.etapes ol{list-style:none;margin:0;padding:0;counter-reset:etape;}
.etapes li{counter-increment:etape;display:grid;grid-template-columns:44px minmax(0,1fr);gap:2px 14px;padding:16px 0;border-top:1px solid var(--filet);}
.etapes li::before{content:counter(etape);grid-row:1 / 3;font-family:var(--titre);font-size:34px;line-height:1;color:var(--rouge);}
.etapes li b{font-size:17px;}
.etapes li span{font-size:16px;color:var(--gris);}
.deja-compte{margin-top:22px;font-size:16.5px;}
.note-legale{margin-top:22px;padding-top:16px;border-top:1px solid var(--filet);font-size:14.5px;line-height:1.6;color:var(--gris);}
.demande{background:#fff;border:1px solid var(--filet);border-top:3px solid var(--rouge);padding:30px 32px;}
.champs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px;margin-bottom:24px;}
.champ{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--vert-texte);min-width:0;}
.champ--large{grid-column:1 / -1;}
.champ input,.champ select{width:100%;border:1px solid #c9cecb;background:var(--papier);padding:11px 12px;font:inherit;font-size:16px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--encre);border-radius:0;}
.champ select{-webkit-appearance:none;appearance:none;background:var(--papier) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23414141' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center;padding-right:34px;}
.champ input:focus,.champ select:focus{outline:none;border-color:var(--encre);background-color:#fff;}
.champ.erreur input{border-color:var(--rouge);background:#fff5f5;}
.case{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;line-height:1.45;}
.case input{width:18px;height:18px;margin-top:2px;accent-color:var(--rouge);flex:0 0 auto;}
.case.erreur span{color:var(--rouge);}
.demande .cta--large{max-width:none;width:100%;}
.demande .mention{margin-top:12px;}

/* Vue connectée */
.compte-bandeau{display:flex;align-items:end;justify-content:space-between;gap:20px 40px;flex-wrap:wrap;padding-bottom:26px;border-bottom:2px solid var(--encre);}
.compte-bandeau h1{font-size:clamp(2.4rem,5vw,3.8rem);line-height:1;margin-top:8px;}
.compte-infos{list-style:none;margin:0;padding:0;display:flex;gap:14px 36px;flex-wrap:wrap;align-items:end;}
.compte-infos li{display:flex;flex-direction:column;gap:2px;}
.compte-infos li span{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vert-texte);}
.compte-infos li b{font-family:var(--titre);font-weight:400;font-size:28px;line-height:1.05;}
.compte-infos li em{font-style:normal;font-size:14px;color:var(--gris);}
.compte-infos li:last-child{flex-direction:row;gap:18px;font-size:15.5px;}
.commande-isbn{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:32px 48px;align-items:start;margin-top:40px;}
.isbn-saisie h2,.offices h2{font-size:clamp(1.6rem,2.4vw,2rem);margin-bottom:8px;}
.isbn-saisie p{font-size:15.5px;color:var(--gris);margin-bottom:14px;}
.isbn-saisie textarea{width:100%;border:1px solid var(--encre);background:#fff;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:15px;line-height:1.7;color:var(--encre);resize:vertical;margin-bottom:14px;}
.isbn-saisie textarea:focus{outline:2px solid var(--rouge);outline-offset:1px;}
.tableau-defile{overflow-x:auto;}
.tableau-pro{width:100%;border-collapse:collapse;font-size:15.5px;}
.tableau-pro th{text-align:left;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vert-texte);padding:0 12px 10px 0;border-bottom:2px solid var(--encre);white-space:nowrap;}
.tableau-pro td{padding:10px 12px 10px 0;border-bottom:1px solid var(--filet);vertical-align:middle;}
.tableau-pro td.chiffres,.tableau-pro th:nth-child(n+2){text-align:right;}
.tableau-offices th:nth-child(2),.tableau-offices td.o-isbn,.tableau-offices th:last-child,.tableau-offices td.o-res{text-align:left;}
.o-livre{display:flex;align-items:center;gap:12px;min-width:220px;}
.o-livre b{display:block;font-family:var(--titre);font-weight:500;font-size:16.5px;line-height:1.2;}
.o-livre span span{font-size:14px;color:var(--gris);}
.o-net{font-weight:700;color:var(--encre);}
.o-isbn{white-space:nowrap;color:var(--gris);font-size:14.5px;}
.o-qte{width:70px;border:1px solid #c9cecb;background:#fff;padding:7px 8px;font:inherit;font-size:15.5px;text-align:right;}
.o-res{white-space:nowrap;}
.tableau-pro tr.inconnu td{background:#fff5f5;color:var(--rouge);}
.tableau-pro tr.inconnu b{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:400;margin-right:12px;}
.tableau-pro tr.inconnu span{font-size:14px;}
.totaux{display:flex;flex-direction:column;gap:4px;margin:16px 0 18px auto;max-width:320px;font-size:15.5px;}
.totaux div{display:flex;justify-content:space-between;gap:20px;}
.totaux dt{color:var(--gris);}
.totaux dd{margin:0;}
.totaux .total{padding-top:8px;margin-top:4px;border-top:1px solid var(--encre);font-weight:700;}
.totaux .total dt{color:var(--encre);}
.isbn-resultat .cta--large{margin-left:auto;display:flex;}
.isbn-resultat .cta[disabled]{background:#c9cecb;cursor:default;}
.offices{margin-top:clamp(48px,6vw,80px);}
@media (max-width:1040px){
  .conditions{grid-template-columns:repeat(2,minmax(0,1fr));}
  .condition:nth-child(3){padding-left:0;border-left:0;}
  .condition:nth-child(n+3){border-top:1px solid var(--filet);}
  .libraires-grille,.commande-isbn{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:680px){
  .conditions{grid-template-columns:minmax(0,1fr);}
  .condition,.condition + .condition{padding:16px 0;border-left:0;}
  .condition + .condition{border-top:1px solid var(--filet);}
  .demande{padding:22px 18px;}
  .champs{grid-template-columns:minmax(0,1fr);}
  .isbn-resultat .cta--large{width:100%;justify-content:center;}
}

/* ---------- Espace libraires : bandeau, onglets, commandes, factures ---------- */
.compte-nom{font-family:var(--titre);font-size:clamp(2rem,4vw,3rem);line-height:1;margin-top:8px;}
.compte-infos li.deconnexion{flex-direction:row;font-size:15.5px;}
.onglets{display:flex;gap:4px;margin-top:18px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--filet);}
.onglets a{flex:0 0 auto;padding:12px 16px 14px;font-weight:600;font-size:16px;color:var(--gris);box-shadow:inset 0 -3px 0 transparent;transition:color .15s,box-shadow .15s;}
.onglets a:hover{color:var(--encre);box-shadow:inset 0 -3px 0 var(--filet);}
.onglets a[aria-current="page"]{color:var(--encre);box-shadow:inset 0 -3px 0 var(--rouge);}
.titre-onglet{font-size:clamp(1.7rem,2.6vw,2.2rem);line-height:1.1;}
.titre-onglet--seul{margin:34px 0 22px;}
.isbn-saisie .titre-onglet{margin-bottom:8px;}
.outils-compte{align-items:center;margin-top:34px;}
.cmd-liste{display:flex;flex-direction:column;border-top:1px solid var(--filet);}
.cmd{border-bottom:1px solid var(--filet);}
.cmd summary{display:block;padding:18px 0;cursor:pointer;list-style:none;}
.cmd summary::marker{content:"";}
.cmd-resume{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr) minmax(0,1fr) minmax(0,1fr) 14px;gap:12px 20px;align-items:center;}
.cmd summary::-webkit-details-marker{display:none;}
.cmd summary:hover .cmd-no b{color:var(--rouge);}
.cmd-no{display:flex;flex-direction:column;}
.cmd-no b{font-family:var(--titre);font-weight:400;font-size:21px;transition:color .15s;}
.cmd-no span,.cmd-ex{font-size:15px;color:var(--gris);}
.cmd-montant{font-weight:700;font-size:17px;}
.cmd-montant span{font-weight:400;font-size:13px;color:var(--gris);margin-left:5px;}
.chevron{display:block;width:14px;height:14px;flex:none;justify-self:end;align-self:center;fill:none;stroke:var(--encre);stroke-width:2;stroke-linecap:square;transition:transform .2s ease;}
.cmd[open] .chevron{transform:rotate(180deg);}
.cmd summary:hover .chevron{stroke:var(--rouge);}
.cmd-detail{padding:4px 0 24px;}
.cmd-pied{display:flex;justify-content:space-between;align-items:flex-start;gap:16px 32px;flex-wrap:wrap-reverse;margin-top:14px;}
.cmd-pied .totaux{margin:0 0 0 auto;min-width:260px;}
.cmd-actions{display:flex;align-items:center;gap:12px 24px;flex-wrap:wrap;font-size:15.5px;}
.discret{color:var(--gris);font-size:15px;}
.statut{display:inline-flex;align-items:center;gap:7px;justify-self:start;padding:4px 11px;font-size:13.5px;font-weight:600;border:1px solid currentColor;white-space:nowrap;}
.statut::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;}
.statut--preparation{color:var(--gris);}
.statut--expediee{color:#2f6d8c;}
.statut--livree,.statut--payee{color:var(--vert-texte);}
.statut--a-regler{color:var(--rouge);}
.solde{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr) minmax(0,.8fr);gap:0;margin-bottom:34px;border-top:2px solid var(--encre);border-bottom:1px solid var(--filet);}
.solde > div{padding:22px 26px;}
.solde > div + div{border-left:1px solid var(--filet);}
.solde > div:first-child{padding-left:0;}
.solde-chiffre{display:flex;flex-direction:column;gap:4px;}
.solde-chiffre span{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vert-texte);}
.solde-chiffre b{font-family:var(--titre);font-weight:400;font-size:clamp(2rem,3.4vw,2.8rem);line-height:1;color:var(--rouge);}
.solde-chiffre--discret b{color:var(--encre);}
.solde-chiffre em{font-style:normal;font-size:14.5px;color:var(--gris);}
.solde-virement .etiquette{margin-bottom:10px;}
.solde-virement dl{margin:0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:5px 18px;font-size:15.5px;}
.solde-virement dl div{display:contents;}
.solde-virement dt{color:var(--gris);}
.solde-virement dd{margin:0;}
.a-completer{font-family:var(--texte);font-style:italic;color:var(--gris);}
.tableau-factures th[scope="row"]{text-align:left;font-family:var(--titre);font-weight:500;font-size:17px;letter-spacing:0;text-transform:none;color:var(--encre);padding:12px 12px 12px 0;border-bottom:1px solid var(--filet);}
.tableau-factures th:nth-child(2),.tableau-factures td:nth-child(2),.tableau-factures th:nth-child(3),.tableau-factures td:nth-child(3),.tableau-factures th:nth-child(6),.tableau-factures td:nth-child(6),.tableau-factures th:nth-child(7){text-align:left;}
.pdf{display:inline-flex;align-items:center;gap:6px;font-weight:600;font-size:14.5px;border:1px solid var(--encre);padding:5px 10px;}
.pdf::before{content:"";width:11px;height:13px;background:linear-gradient(135deg,transparent 3px,var(--rouge) 3px);clip-path:polygon(0 0,70% 0,100% 30%,100% 100%,0 100%);}
.pdf:hover{background:var(--encre);color:#fff;}
@media (max-width:1040px){
  .solde{grid-template-columns:repeat(2,minmax(0,1fr));}
  .solde-virement{grid-column:1 / -1;order:3;border-left:0 !important;border-top:1px solid var(--filet);padding-left:0 !important;}
}
@media (max-width:680px){
  .compte-infos li.deconnexion{display:none;}
  .cmd-resume{grid-template-columns:minmax(0,1fr) auto 14px;grid-template-areas:"no montant chev" "statut ex chev";}
  .cmd-no{grid-area:no;}
  .cmd-montant{grid-area:montant;text-align:right;}
  .cmd-ex{grid-area:ex;text-align:right;}
  .cmd .statut{grid-area:statut;}
  .chevron{grid-area:chev;}
  .solde{grid-template-columns:minmax(0,1fr);}
  .solde > div{padding:18px 0 !important;border-left:0 !important;}
  .solde > div + div{border-top:1px solid var(--filet);}
  .cmd-pied .totaux{min-width:0;width:100%;}
}

/* ---------- Espace libraires : mon compte ---------- */
.compte-grille{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px 56px;align-items:start;}
.compte-sections{display:flex;flex-direction:column;gap:22px;}
.section-compte{background:#fff;border:1px solid var(--filet);padding:26px 28px;}
.section-tete{margin-bottom:20px;}
.section-tete h2{font-size:24px;}
.section-tete p{font-size:15px;color:var(--gris);margin-top:6px;max-width:44em;}
.section-compte .champs{margin-bottom:20px;}
.champ--bloque input{background:#eef0ef;color:var(--gris);cursor:not-allowed;}
.section-pied{display:flex;align-items:center;gap:16px;}
.enregistre{font-size:15px;font-weight:600;color:var(--vert-texte);}
.enregistre.erreur{color:var(--rouge);}
.cases{display:flex;flex-direction:column;gap:14px;margin-bottom:22px;}
.cases .case span{display:flex;flex-direction:column;gap:2px;font-size:15px;color:var(--gris);}
.cases .case b{font-size:16px;color:var(--encre);}
.adresses{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;}
.adresse-carte{border:1px solid var(--filet);padding:18px 20px;display:flex;flex-direction:column;gap:10px;}
.adresse-carte address{font-style:normal;font-size:16px;line-height:1.55;}
.adresse-carte .lien{align-self:flex-start;font-size:15px;}
.adresse-ajout{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:150px;border:1px dashed #b9bebb;background:transparent;font-weight:600;font-size:15px;color:var(--gris);transition:border-color .15s,color .15s;}
.adresse-ajout span{font-family:var(--titre);font-size:30px;line-height:1;}
.adresse-ajout:hover{border-color:var(--rouge);color:var(--rouge);}
.compte-resume{position:sticky;top:calc(env(safe-area-inset-top,0px) + 110px);background:var(--vert-clair);padding:24px 24px 22px;display:flex;flex-direction:column;gap:12px;}
.compte-resume .statut{align-self:flex-start;}
.compte-resume dl{margin:4px 0 0;display:flex;flex-direction:column;gap:10px;font-size:15.5px;}
.compte-resume dt{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vert-texte);}
.compte-resume dd{margin:2px 0 0;}
.compte-aide{margin-top:8px;padding-top:14px;border-top:1px solid #d3dcd6;font-size:15.5px;}
.compte-resume .courriel{color:var(--encre);font-weight:600;}
.compte-resume .courriel:hover{color:var(--rouge);}
@media (max-width:1040px){
  .compte-grille{grid-template-columns:minmax(0,1fr);}
  .compte-resume{position:static;order:-1;}
}
@media (max-width:680px){
  .section-compte{padding:20px 18px;}
}

/* ---------- Mobile : corrections d'ensemble (audit 26 oct.) ---------- */
/* Tout bandeau qui défile latéralement ne défile QUE latéralement */
.onglets,.sous-rayons,.alphabet,.sommaire,.rail,.tableau-defile{overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;}
.onglets::-webkit-scrollbar,.sous-rayons::-webkit-scrollbar,.alphabet::-webkit-scrollbar,.sommaire::-webkit-scrollbar{display:none;}
/* Les enfants de grille et de flex qui portent du texte ou un tableau peuvent se resserrer */
.commande-isbn > *,.libraires-grille > *,.compte-grille > *,.compte-sections > *,.cmd-pied > *,.erreur-grille > *,.recherche-pistes > *,.une > *,.fiche-grille > *,.presentation > *{min-width:0;}
@media (max-width:680px){
  /* Onglets du compte libraire : bandeau pleine largeur, fondu à droite pour signaler la suite */
  .onglets{--fg:28px;--fd:36px;margin-inline:calc(-1 * var(--gout));padding-inline:calc(var(--gout) - 12px);
    -webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--fg),#000 calc(100% - var(--fd)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--fg),#000 calc(100% - var(--fd)),transparent 100%);}
  .onglets.au-debut{--fg:0px;}
  .onglets.au-bout{--fd:0px;}
  .onglets a{padding:12px 12px 14px;font-size:15.5px;}
  /* Tableaux libraires : une fiche par ligne, plus de défilement horizontal */
  .tableau-defile{overflow-x:visible;}
  .tableau-pro,.tableau-pro tbody{display:block;width:100%;}
  .tableau-pro thead{display:none;}
  .tableau-pro tr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 10px;padding:16px 0;border-bottom:1px solid var(--filet);}
  .tableau-offices tr{grid-template-columns:repeat(3,minmax(0,1fr));}
  .tableau-factures tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;}
  .tableau-pro td,.tableau-pro th[scope="row"]{display:flex;flex-direction:column;gap:3px;padding:0;border:0;text-align:left !important;min-width:0;}
  .tableau-pro td[data-label]::before{content:attr(data-label);font-family:var(--texte);font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vert-texte);}
  .tableau-pro .o-livre{grid-column:1 / -1;flex-direction:row;align-items:center;gap:12px;min-width:0;}
  .tableau-pro .o-isbn{grid-column:1 / -1;}
  .tableau-pro .o-res{grid-column:1 / -1;}
  .tableau-pro tr.inconnu{grid-template-columns:minmax(0,1fr);padding:12px;}
  .tableau-pro tr.inconnu td{grid-column:1 / -1;}
  .tableau-pro tr.inconnu b{overflow-wrap:anywhere;}
  .tableau-factures th[scope="row"]{grid-column:1 / -1;flex-direction:row;justify-content:space-between;align-items:center;font-size:19px;}
  .tableau-factures td.f-statut,.tableau-factures td.o-res{justify-content:center;}
  .o-qte{width:100%;max-width:90px;text-align:left;}
  .totaux{max-width:none;margin-left:0;}
  .isbn-resultat .cta--large{margin-left:0;}
  .offices .rubrique-tete .cta{width:100%;justify-content:center;}
  .compte-bandeau{gap:16px;}
  .compte-infos{gap:14px 28px;}
}
.statut-mobile{display:none;}
@media (max-width:680px){
  .statut-mobile{display:inline-flex;}
  .tableau-factures td.f-statut{display:none;}
}

.offices-panier--bas{display:none;}
.libraires-acces{display:none;}
@media (max-width:1040px){
  .libraires-acces{display:flex;align-items:center;gap:14px 24px;flex-wrap:wrap;margin-top:22px;}
}
@media (max-width:680px){
  .tableau-pro td{font-size:15.5px;}
  .tableau-pro .o-res a,.tableau-pro .o-res .pdf{align-self:flex-start;}
  .tableau-pro .lien{white-space:nowrap;}
  .statut-mobile{font-family:var(--texte);font-size:13px;letter-spacing:0;text-transform:none;}
  .offices-panier--haut{display:none;}
  .offices-panier--bas{display:flex;width:100%;max-width:none;justify-content:center;margin-top:18px;}
  .cmd-pied{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:16px;}
  .cmd-pied .totaux{margin:0;}
  .cmd-actions{flex-direction:column;align-items:stretch;gap:12px;}
  .cmd-actions .cta{justify-content:center;}
  .cmd-actions .lien{align-self:flex-start;}
  .conditions{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:26px;border-top:0;}
  .condition,.condition + .condition{padding:16px 12px 16px 0;border-left:0;border-top:0;}
  .condition:nth-child(2n){padding-left:14px;border-left:1px solid var(--filet);}
  .condition:nth-child(n+3){border-top:1px solid var(--filet);}
  .condition b{font-size:30px;}
  .condition span{font-size:14.5px;}
  .libraires-acces .cta{flex:1 1 auto;justify-content:center;}
}
#form-demande{scroll-margin-top:calc(env(safe-area-inset-top,0px) + 96px);}
@media (max-width:680px){ .tableau-pro td .lien{align-self:flex-start;} }

/* Champs de recherche : pas de croix native (bleue sur iOS) */
input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;}
/* Boutons des notices : jamais sur deux lignes */
.ajout{white-space:nowrap;}
@media (max-width:680px){
  .notice .ligne{flex-wrap:wrap;gap:8px;}
  /* Bandeaux qui défilent latéralement : fondu à droite pour signaler la suite */
  .alphabet,.sous-rayons{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 32px),transparent);}
  .lettre-bloc{scroll-margin-top:calc(env(safe-area-inset-top,0px) + 140px);}
  /* Barre d'achat de la fiche : réellement masquée tant qu'elle n'a pas lieu d'être */
  .barre-achat{visibility:hidden;transition:transform .3s ease,visibility 0s linear .3s;}
  .barre-achat.visible{visibility:visible;transition:transform .3s ease;}
}

/* ---------- Présentoir : jauges segmentées, entrée animée des livres, gestes ---------- */
.segments{display:none;}
.segments span{position:relative;flex:1 1 0;height:3px;background:var(--filet);overflow:hidden;border-radius:2px;}
.segments span::after{content:"";position:absolute;inset:0;background:var(--rouge);transform:scaleX(0);transform-origin:left;}
.segments span.lu::after{transform:scaleX(1);background:var(--encre);}
.segments span.actif::after{animation:jauge var(--duree,7s) linear forwards;}
.presentoir.pause .sommaire button[aria-current="true"] .jauge::after,.presentoir.pause .segments span.actif::after,
.presentoir.cachee .sommaire button[aria-current="true"] .jauge::after,.presentoir.cachee .segments span.actif::after,
.presentoir.hors-ecran .sommaire button[aria-current="true"] .jauge::after,.presentoir.hors-ecran .segments span.actif::after{animation-play-state:paused;}
.presentoir.figee .sommaire button[aria-current="true"] .jauge::after,.presentoir.figee .segments span.actif::after{animation:none;transform:scaleX(1);}
/* Entrée du livre : la couverture glisse et se pose, le texte suit */
.parution.active .couv-lien{animation:couv-entree .7s cubic-bezier(.22,.61,.36,1) both;}
.presentoir.vers-gauche .parution.active .couv-lien{animation-name:couv-entree-g;}
.parution.active .notice-grande{animation:apparait .55s ease .12s both;}
@keyframes couv-entree{from{opacity:0;transform:translateX(28px) rotate(1.2deg) scale(.97);}to{opacity:1;transform:none;}}
@keyframes couv-entree-g{from{opacity:0;transform:translateX(-28px) rotate(-1.2deg) scale(.97);}to{opacity:1;transform:none;}}
.presentoir-grille{touch-action:pan-y;}
@media (max-width:1040px){
  .presentoir-tete{flex-wrap:wrap;row-gap:12px;}
  .segments{display:flex;gap:5px;flex:1 0 100%;order:3;}
  /* le sommaire garde ses vignettes, mais ses jauges font doublon avec les segments */
  .sommaire .jauge{visibility:hidden;}
}
@media (max-width:680px){
  .presentoir-tete{margin-bottom:20px;}
  .parution .couv{box-shadow:0 22px 36px -18px rgba(40,40,40,.5);}
}
@media (prefers-reduced-motion:reduce){
  .parution.active .couv-lien,.parution.active .notice-grande{animation:none;}
}

/* Libre Bodoni : regular pour les grands titres, 500 pour les petits (lisibilité) */
.notice h3,.sommaire .titre,.suggest-titre,.o-livre b,.mini-livre span:last-child,.tableau-factures th[scope="row"],
.mega h4,.mega .mega-seuls li a,.rayon--autres li a,.liste-themes a,.nom-auteur,.barre-titre,.rayon li a{font-weight:500;}
.rayon li a{font-family:var(--texte);font-weight:400;}

/* ---------- Contact ---------- */
.contact-page{padding-block:26px clamp(64px,8vw,110px);}
.contact-grille{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px 64px;align-items:start;margin-top:clamp(36px,5vw,56px);}
.contact-grille > *{min-width:0;}
.contact-form,.contact-envoye{background:#fff;border:1px solid var(--filet);border-top:3px solid var(--rouge);padding:30px 32px;}
.objets{border:0;margin:0 0 22px;padding:0;min-width:0;}
.objets legend{padding:0;margin-bottom:12px;}
.pastilles-choix{display:flex;flex-wrap:wrap;gap:8px;}
.pastille-choix{position:relative;cursor:pointer;}
.pastille-choix input{position:absolute;opacity:0;width:1px;height:1px;}
.pastille-choix span{display:inline-block;padding:8px 15px;border:1px solid #c9cecb;font-size:15.5px;font-weight:600;color:var(--gris);transition:border-color .15s,color .15s,background-color .15s;}
.pastille-choix:hover span{border-color:var(--encre);color:var(--encre);}
.pastille-choix input:checked + span{background:var(--encre);border-color:var(--encre);color:#fff;}
.pastille-choix input:focus-visible + span{outline:2px solid var(--rouge);outline-offset:2px;}
.champ textarea{width:100%;border:1px solid #c9cecb;background:var(--papier);padding:12px;font:inherit;font-size:16px;font-weight:400;letter-spacing:0;text-transform:none;line-height:1.55;color:var(--encre);resize:vertical;min-height:170px;border-radius:0;}
.champ textarea:focus{outline:none;border-color:var(--encre);background:#fff;}
.champ.erreur textarea{border-color:var(--rouge);background:#fff5f5;}
.champ[hidden]{display:none;}
.compteur-car{align-self:flex-end;font-size:12.5px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--gris);}
.pot{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;}
.mention-contact{margin:4px 0 20px;}
.contact-form .cta--large{width:100%;max-width:none;}
.retour-form{margin-top:10px;font-size:15px;font-weight:600;color:var(--rouge);min-height:1em;}
.contact-envoye{display:flex;flex-direction:column;gap:12px;}
.contact-envoye[hidden]{display:none;}
.contact-envoye h2{font-size:clamp(1.7rem,2.6vw,2.2rem);}
.contact-envoye p{font-size:16.5px;color:#4d524f;}
.contact-envoye .lien{background:none;border:0;border-bottom:1px solid currentColor;padding:0 0 1px;font:inherit;font-weight:600;cursor:pointer;}
.contact-aside{display:flex;flex-direction:column;gap:0;border-top:2px solid var(--encre);}
.contact-aside section{padding:20px 0;border-bottom:1px solid var(--filet);}
.contact-aside h2{font-size:22px;margin-bottom:6px;}
.contact-aside p{font-size:16px;color:#4d524f;}
.adresses-mail{margin:8px 0 0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 18px;font-size:16px;}
.adresses-mail div{display:contents;}
.adresses-mail dt{color:var(--gris);}
.adresses-mail dd{margin:0;min-width:0;overflow-wrap:anywhere;}
.adresses-mail .courriel{color:var(--encre);font-weight:600;}
.adresses-mail .courriel:hover,.adresses-mail .courriel-revele:hover{color:var(--rouge);}
@media (max-width:1040px){
  .contact-grille{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:680px){
  .contact-form,.contact-envoye{padding:22px 18px;}
  .pastille-choix span{padding:7px 12px;font-size:15px;}
}

/* ---------- Qui sommes-nous ---------- */
.qsn-page{padding-top:26px;}
.qsn-tete{grid-template-columns:minmax(0,1fr);align-items:start;gap:18px;}
.qsn-tete h1{font-size:clamp(2.8rem,6vw,4.8rem);}
.qsn-chapeau{font-family:var(--titre);font-size:clamp(1.2rem,1.8vw,1.45rem);line-height:1.55;max-width:38em;color:#4d524f;text-wrap:pretty;}
.qsn-grille{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px 72px;align-items:start;margin-top:clamp(36px,5vw,60px);}
.qsn-grille > *{min-width:0;}
.qsn-texte{display:flex;flex-direction:column;gap:28px;max-width:38em;}
.qsn-texte p{font-size:19px;line-height:1.72;}
.qsn-texte cite{font-style:italic;}
.qsn-manifeste{font-family:var(--titre);font-size:clamp(1.3rem,2vw,1.6rem) !important;line-height:1.45 !important;padding-left:22px;border-left:3px solid var(--rouge);}
.qsn-aside{display:flex;flex-direction:column;gap:34px;}
.qsn-aside .etiquette{margin-bottom:12px;}
.reperes{list-style:none;margin:0;padding:0;border-top:2px solid var(--encre);}
.reperes li{display:grid;grid-template-columns:118px minmax(0,1fr);gap:4px 16px;padding:14px 0;border-bottom:1px solid var(--filet);font-size:16px;}
.reperes b{font-family:var(--titre);font-weight:400;font-size:19px;color:var(--rouge);}
.reperes cite{font-style:italic;}
.partenaires{list-style:none;margin:0;padding:0;border-top:2px solid var(--encre);}
.partenaires li{padding:11px 0;border-bottom:1px solid var(--filet);font-family:var(--titre);font-size:19px;}
.partenaires a:hover{color:var(--rouge);}
.qsn-zar{background:var(--vert);color:#fff;margin-top:clamp(56px,7vw,96px);padding-block:clamp(48px,7vw,88px);}
.qsn-zar .page{display:flex;flex-direction:column;gap:22px;}
.qsn-zar-devise{font-family:var(--titre);font-style:italic;font-size:clamp(1.7rem,3.4vw,2.8rem);line-height:1.22;max-width:24em;text-wrap:pretty;}
.qsn-zar-suite{font-size:18.5px;line-height:1.65;max-width:42em;color:#eef3f0;}
.qsn-suite{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-block:clamp(48px,6vw,80px);}
.qsn-carte{display:flex;flex-direction:column;gap:8px;padding:24px 26px;border:1px solid var(--filet);background:#fff;transition:border-color .2s,transform .25s ease,box-shadow .25s ease;}
.qsn-carte b{font-family:var(--titre);font-weight:400;font-size:26px;line-height:1.1;}
.qsn-carte > span:last-child{font-size:15.5px;color:var(--gris);}
a.qsn-carte:hover{border-color:var(--rouge);}
@media (hover:hover) and (pointer:fine){ a.qsn-carte:hover{transform:scale(1.01);box-shadow:0 12px 26px -18px rgba(40,40,40,.35);} a.qsn-carte:hover b{color:var(--rouge);} }
.qsn-carte--reseaux ul{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:16.5px;font-weight:600;}
.qsn-carte--reseaux a{border-bottom:1px solid var(--filet);}
.qsn-carte--reseaux a:hover{color:var(--rouge);border-color:var(--rouge);}
@media (max-width:1040px){
  .qsn-grille{grid-template-columns:minmax(0,1fr);}
  .qsn-suite{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:680px){
  .qsn-texte p{font-size:17.5px;}
  .qsn-manifeste{padding-left:16px;}
  .reperes li{grid-template-columns:minmax(0,1fr);}
}
.insecable{white-space:nowrap;}

/* ---------- Catalogue ---------- */
.catalogue-page{padding-block:26px clamp(64px,8vw,110px);}
.meilleures{margin-top:clamp(36px,5vw,56px);}
.meilleures .rubrique-tete{margin-bottom:22px;align-items:baseline;}
.meilleures .rubrique-tete h2{font-size:clamp(1.7rem,2.6vw,2.2rem);}
.mv-liste{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;counter-reset:mv;}
.mv{position:relative;display:grid;grid-template-columns:minmax(0,88px) minmax(0,1fr);gap:16px;align-items:start;padding:18px;background:#fff;border:1px solid var(--filet);transition:border-color .2s,box-shadow .25s ease;}
.mv-rang{position:absolute;top:10px;left:10px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--rouge);color:#fff;font-family:var(--titre);font-size:17px;line-height:1;}
.mv-couv .couv{box-shadow:0 12px 22px -12px rgba(40,40,40,.4);}
.mv-texte{display:flex;flex-direction:column;gap:4px;min-width:0;}
.mv-texte h3{font-size:18px;line-height:1.2;font-weight:500;}
.mv-texte h3 a:hover{color:var(--rouge);}
.mv-texte .auteur{font-size:15px;color:var(--gris);}
.mv-achat{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:10px;}
.mv-achat .prix{font-weight:600;}
@media (hover:hover) and (pointer:fine){ .mv:hover{border-color:#c9cecb;box-shadow:0 14px 28px -20px rgba(40,40,40,.35);} .mv:hover .couv{transform:scale(1.02);} }

.cat-zone{margin-top:clamp(44px,6vw,72px);}
.cat-outils{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;padding:22px 24px;background:#fff;border:1px solid var(--filet);border-top:2px solid var(--encre);}
.cat-recherche{display:flex;align-items:center;gap:10px;border-bottom:2px solid var(--encre);}
.cat-recherche:focus-within{border-bottom-color:var(--rouge);}
.cat-recherche svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--encre);stroke-width:1.7;}
.cat-recherche input{flex:1 1 auto;min-width:0;border:0;background:transparent;padding:12px 2px;font-family:var(--titre);font-size:clamp(1.25rem,2vw,1.6rem);color:var(--encre);}
.cat-recherche input:focus{outline:none;}
.cat-recherche input::placeholder{color:#a3a8a5;}
.cat-outils .filtres-liste{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.cat-outils .filtres-liste select{min-width:0;width:100%;}
.cat-options{display:flex;align-items:center;gap:12px 28px;flex-wrap:wrap;}
.interrupteur{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-size:15.5px;font-weight:600;}
.interrupteur input{position:absolute;opacity:0;width:1px;height:1px;}
.interrupteur span::before{content:"";display:inline-block;vertical-align:-5px;width:38px;height:22px;margin-right:10px;border-radius:11px;background:#c9cecb;box-shadow:inset 0 0 0 2px #c9cecb;transition:background-color .2s,box-shadow .2s;
  background-image:radial-gradient(circle at 11px 11px,#fff 8px,transparent 8.5px);background-repeat:no-repeat;}
.interrupteur input:checked + span::before{background-color:var(--encre);box-shadow:inset 0 0 0 2px var(--encre);background-position:16px 0;}
.interrupteur input:focus-visible + span::before{outline:2px solid var(--rouge);outline-offset:2px;}
.vue-choix{display:flex;margin-left:auto;border:1px solid var(--encre);}
.vue-choix button{border:0;background:transparent;padding:8px 14px;font-size:14.5px;font-weight:600;color:var(--encre);}
.vue-choix button[aria-pressed="true"]{background:var(--encre);color:#fff;}
.cat-etat{display:flex;align-items:center;gap:12px 20px;flex-wrap:wrap;margin:22px 0 4px;min-height:36px;}
.puces-actives{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.puce-active{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--encre);background:transparent;font-size:14.5px;font-weight:600;color:var(--encre);}
.puce-active span[aria-hidden]{font-size:17px;line-height:1;color:var(--rouge);}
.puce-active:hover{background:var(--encre);color:#fff;}
.puce-active:hover span[aria-hidden]{color:#fff;}
.puce-tout{background:none;border:0;border-bottom:1px solid currentColor;padding:0 0 1px;font:inherit;font-size:14.5px;font-weight:600;color:var(--gris);}
.puce-tout:hover{color:var(--rouge);}
#cat-alpha[hidden]{display:none;}
.cat-groupe{scroll-margin-top:calc(env(safe-area-inset-top,0px) + 150px);}
.cat-groupe-titre{font-size:40px;line-height:1;color:var(--rouge);padding:26px 0 10px;border-bottom:2px solid var(--encre);}
.vue-grille .cat-groupe-titre{margin-bottom:24px;}
.cat-lignes{display:flex;flex-direction:column;}
.ligne-cat{display:grid;grid-template-columns:46px minmax(0,2.4fr) minmax(0,1.2fr) 70px 84px 112px;gap:6px 20px;align-items:center;padding:12px 0;border-bottom:1px solid var(--filet);transition:background-color .15s;}
.lc-couv .couv{--rond:12px;box-shadow:0 6px 12px -6px rgba(40,40,40,.35);}
.lc-titre h3{font-size:18.5px;line-height:1.2;font-weight:500;}
.lc-titre h3 a:hover{color:var(--rouge);}
.lc-titre .auteur{font-size:15px;color:var(--gris);margin-top:2px;}
.lc-meta{font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--vert-texte);}
.lc-pages{font-size:14.5px;color:var(--gris);text-align:right;}
.lc-prix{font-size:16px;font-weight:600;text-align:right;}
.lc-action{text-align:right;}
.ligne-cat mark,.cat-groupe .notice mark{background:none;color:inherit;box-shadow:inset 0 -.38em 0 rgba(242,5,25,.16);}
@media (hover:hover) and (pointer:fine){ .ligne-cat:hover{background:var(--vert-clair);} .ligne-cat:hover .couv{transform:scale(1.04);} }
.cat-plus{display:flex;justify-content:center;margin-top:32px;}
@media (max-width:1180px){
  .mv-liste{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:1040px){
  .cat-outils .filtres-liste{grid-template-columns:repeat(2,minmax(0,1fr));}
  .ligne-cat{grid-template-columns:46px minmax(0,1fr) 84px 112px;}
  .lc-meta,.lc-pages{display:none;}
}
@media (max-width:680px){
  .mv-liste{grid-template-columns:minmax(0,1fr);gap:14px;}
  .mv{grid-template-columns:84px minmax(0,1fr);padding:14px;}
  .cat-outils{padding:18px 16px;}
  .cat-outils .filtres-liste{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
  .cat-options{gap:12px 18px;}
  .vue-choix{margin-left:0;}
  .ligne-cat{grid-template-columns:42px minmax(0,1fr) auto;grid-template-areas:"couv titre titre" "couv prix action";gap:6px 14px;}
  .lc-couv{grid-area:couv;align-self:start;}
  .lc-titre{grid-area:titre;}
  .lc-prix{grid-area:prix;text-align:left;}
  .lc-action{grid-area:action;}
  .cat-groupe-titre{font-size:32px;padding-top:20px;}
}

.cat-filtres{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;}
.cat-filtres-btn{display:none;}
@media (max-width:680px){
  .cat-recherche input{font-size:1.15rem;}
  .cat-filtres-btn{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid var(--encre);background:transparent;padding:11px 14px;font-size:15.5px;font-weight:600;color:var(--encre);}
  .cat-filtres-btn::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:-4px 2px 0 auto;transition:transform .2s;}
  .cat-filtres-btn span{margin-left:6px;color:var(--rouge);}
  .cat-outils.ouvert .cat-filtres-btn::after{transform:rotate(-135deg);margin-top:4px;}
  .cat-filtres{display:none;}
  .cat-outils.ouvert .cat-filtres{display:grid;}
  /* Meilleures ventes : bande à faire glisser */
  .mv-liste{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;gap:12px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;
    margin-inline:calc(-1 * var(--gout));padding-inline:var(--gout);scroll-padding-inline:var(--gout);}
  .mv-liste::-webkit-scrollbar{display:none;}
  .mv{scroll-snap-align:start;}
}

/* =====================================================================
   Pages légales : onglets entre les trois textes, sommaire fixe à gauche,
   texte composé pour la lecture (40 em), tableaux en fiches sur mobile
   ===================================================================== */
.leg-page{padding-top:26px;padding-bottom:clamp(56px,7vw,96px);}
.leg-tete{border-bottom:0;padding-bottom:0;}
.leg-tete h1{font-size:clamp(2.5rem,4.8vw,4rem);line-height:1.02;}
.leg-maj{margin-top:12px;font-size:15px;color:var(--gris);}
.leg-onglets{margin-top:clamp(26px,3.5vw,40px);}
.leg-grille{display:grid;grid-template-columns:minmax(0,270px) minmax(0,1fr);gap:28px clamp(40px,6vw,88px);align-items:start;margin-top:clamp(32px,4vw,52px);}
.leg-plan{position:sticky;top:calc(var(--entete-h,90px) + 28px);max-height:calc(100vh - var(--entete-h,90px) - 56px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;}
.leg-plan summary{list-style:none;cursor:default;margin-bottom:14px;}
.leg-plan summary::-webkit-details-marker{display:none;}
.leg-chevron{display:none;}
.leg-plan ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--filet);}
.leg-plan a{display:flex;gap:8px;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;font-size:15.5px;line-height:1.35;color:var(--gris);transition:color .15s,border-color .15s;}
.leg-plan a:hover{color:var(--encre);}
.leg-plan a[aria-current="true"]{color:var(--encre);border-left-color:var(--rouge);}
.leg-plan .leg-n{flex:0 0 1.5em;font-variant-numeric:tabular-nums;font-weight:600;color:var(--vert-texte);}
.leg-texte{min-width:0;max-width:40em;}
.leg-section{scroll-margin-top:calc(var(--entete-h,90px) + 24px);padding-top:clamp(30px,3.6vw,44px);margin-top:clamp(30px,3.6vw,44px);border-top:1px solid var(--filet);}
.leg-section:first-child{padding-top:0;margin-top:0;border-top:0;}
.leg-section h2{font-size:clamp(1.55rem,2.3vw,1.95rem);line-height:1.18;margin-bottom:18px;}
.leg-section h2 .leg-n{color:var(--vert-texte);margin-right:.35em;}
.leg-section h3{font-family:var(--texte);font-size:18px;font-weight:600;line-height:1.35;margin:30px 0 10px;}
.leg-section p,.leg-section li{font-size:17.5px;line-height:1.7;text-wrap:pretty;}
.leg-section p{margin:0 0 1em;}
.leg-section ul{margin:0 0 1.1em;padding-left:1.25em;}
.leg-section li{margin-bottom:.5em;padding-left:.2em;}
.leg-section li::marker{color:var(--vert);}
.leg-section b{font-weight:600;}
.leg-section a{text-decoration:underline;text-decoration-color:var(--rouge);text-decoration-thickness:1px;text-underline-offset:3px;transition:color .15s;}
.leg-section a:hover{color:var(--rouge);}
.leg-section code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.84em;overflow-wrap:anywhere;}
.leg-fiche{margin:6px 0 1.2em;border-top:1px solid var(--filet);}
.leg-fiche div{display:grid;grid-template-columns:minmax(0,15em) minmax(0,1fr);gap:2px 20px;padding:10px 0;border-bottom:1px solid var(--filet);font-size:16.5px;line-height:1.5;}
.leg-fiche dt{font-weight:600;}
.leg-fiche dd{margin:0;color:var(--gris);}
.leg-tableau-defile{margin:10px 0 1.4em;}
.leg-tableau{width:100%;border-collapse:collapse;font-size:15.5px;line-height:1.5;}
.leg-tableau thead th{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vert-texte);text-align:left;padding:0 16px 10px 0;border-bottom:2px solid var(--encre);}
.leg-tableau td{padding:12px 16px 12px 0;border-bottom:1px solid var(--filet);vertical-align:top;}
.leg-tableau td:first-child{font-weight:600;width:36%;}
.leg-tableau td:last-child,.leg-tableau thead th:last-child{padding-right:0;}
.leg-tableau--cookies td:first-child{font-weight:400;}
.leg-groupe th{text-align:left;font-family:var(--titre);font-weight:500;font-size:18px;padding:22px 0 8px;border-bottom:1px solid var(--filet);}
@media (max-width:1040px){
  .leg-grille{grid-template-columns:minmax(0,1fr);}
  .leg-plan{position:static;max-height:none;overflow:visible;border:1px solid var(--filet);background:#fff;}
  .leg-plan summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;margin:0;padding:14px 18px;}
  .leg-chevron{display:block;}
  .leg-plan.pret .leg-chevron{transition:transform .2s ease;}
  .leg-plan details[open] .leg-chevron{transform:rotate(180deg);}
  .leg-plan ol{border-left:0;border-top:1px solid var(--filet);padding:8px 18px 12px;}
  .leg-plan a{padding:8px 0;margin-left:0;border-left:0;font-size:16px;}
  .leg-plan a[aria-current="true"]{color:var(--gris);}
  .leg-texte{max-width:42em;}
}
@media (max-width:680px){
  .leg-section p,.leg-section li{font-size:17px;}
  .leg-fiche div{grid-template-columns:minmax(0,1fr);}
  .leg-tableau thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;}
  .leg-tableau,.leg-tableau tbody,.leg-tableau tr,.leg-tableau td,.leg-groupe th{display:block;width:auto !important;}
  .leg-tableau tbody{border-top:2px solid var(--encre);}
  .leg-tableau tr{padding:14px 0;border-bottom:1px solid var(--filet);}
  .leg-tableau td{border:0;padding:2px 0;}
  .leg-tableau td:first-child{font-size:16.5px;}
  .leg-tableau td + td::before{content:attr(data-label);display:block;margin-top:8px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vert-texte);}
  .leg-tableau tr.leg-groupe{padding:0;border-bottom:0;}
  .leg-groupe th{padding:20px 0 4px;border-bottom:0;}
}
@media (prefers-reduced-motion:reduce){ .leg-plan.pret .leg-chevron{transition:none;} }
.leg-section a.leg-bouton{display:inline-flex;align-items:center;margin-top:4px;padding:11px 18px;border:1px solid var(--encre);font-weight:600;font-size:16px;text-decoration:none;transition:background .15s,color .15s;}
.leg-section a.leg-bouton:hover{background:var(--encre);color:#fff;}

/* =====================================================================
   Cookies : tarteaucitron.js (feuille maison, useExternalCss)
   Bandeau en pied d'écran, refus et acceptation à égalité ; panneau en
   fenêtre centrée sur ordinateur, en volet bas sur mobile.
   ===================================================================== */
#tarteaucitronRoot{font-family:var(--texte);color:var(--encre);font-size:16px;line-height:1.5;}
#tarteaucitronRoot *{box-sizing:border-box;}
:where(#tarteaucitronRoot) button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:inherit;}
#tarteaucitronRoot button:focus-visible,#tarteaucitronRoot a:focus-visible{outline:2px solid var(--rouge);outline-offset:3px;}
#tarteaucitronRoot .tac_visually-hidden{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;}
#tarteaucitronRoot .tarteaucitronHidden,#tarteaucitronPercentage,#tarteaucitronRoot .tarteaucitronCheck,#tarteaucitronRoot .tarteaucitronCross,#tarteaucitronRoot br,#tarteaucitronScrollbarChild,#tarteaucitronRoot .clear{display:none !important;}
#tarteaucitronRoot li.tarteaucitronHidden[style*="block"]{display:block !important;}
html.tarteaucitron-modal-open-noscroll{overflow:hidden;}

/* Bandeau */
#tarteaucitronAlertBig{display:none;position:fixed;left:0;right:0;bottom:0;z-index:2147483645;background:#fff;border-top:2px solid var(--encre);box-shadow:0 -22px 48px -28px rgba(40,40,40,.45);
  padding:22px max(var(--gout),calc((100vw - var(--page)) / 2 + var(--gout))) calc(22px + env(safe-area-inset-bottom,0px));
  grid-template-columns:minmax(0,1fr) auto auto auto;grid-template-areas:"texte perso refus accepte" "lien perso refus accepte";column-gap:12px;row-gap:6px;align-items:center;}
#tarteaucitronAlertBig[style*="block"]{display:grid !important;animation:tac-entree .5s cubic-bezier(.2,.7,.2,1);}
#tarteaucitronDisclaimerAlert{grid-area:texte;display:block;max-width:44em;margin-right:clamp(12px,3vw,40px);font-size:16px;line-height:1.55;color:#4d524f;}
#tarteaucitronRoot.tarteaucitronTitleBanner #tarteaucitronDisclaimerAlert::before{content:var(--tacTitleBanner);display:block;margin-bottom:4px;font-family:var(--titre);font-weight:500;font-size:21px;line-height:1.25;color:var(--encre);}
#tarteaucitronPrivacyUrl{grid-area:lien;justify-self:start;font-size:15px;font-weight:600;text-decoration:underline;text-decoration-color:var(--rouge);text-underline-offset:3px;}
#tarteaucitronPrivacyUrl:hover{color:var(--rouge);}
#tarteaucitronAlertBig .tarteaucitronCTAButton,#tarteaucitronCloseAlert{align-self:center;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 20px;font-weight:600;font-size:16px;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;}
#tarteaucitronAllDenied2{grid-area:refus;}
#tarteaucitronPersonalize2{grid-area:accepte;}
#tarteaucitronAlertBig .tarteaucitronCTAButton{background:var(--encre) !important;color:#fff !important;border:1px solid var(--encre) !important;}
#tarteaucitronAlertBig .tarteaucitronCTAButton:hover{background:var(--nuit) !important;}
#tarteaucitronCloseAlert{grid-area:perso;border:1px solid var(--filet) !important;color:var(--encre);}
#tarteaucitronCloseAlert:hover{border-color:var(--encre) !important;}
@keyframes tac-entree{from{transform:translateY(100%);opacity:0;}to{transform:none;opacity:1;}}

/* Panneau */
#tarteaucitronBack{display:none;position:fixed;inset:0;z-index:2147483646;width:100%;height:100%;background:rgba(36,38,37,.5) !important;}
#tarteaucitronBack[style*="block"]{animation:tac-fondu .25s ease;}
#tarteaucitron{display:none;position:fixed;z-index:2147483647;left:50%;top:50% !important;transform:translate(-50%,-50%);width:min(700px,calc(100vw - 40px));max-height:min(88vh,800px);background:var(--papier);border-top:3px solid var(--rouge);box-shadow:0 40px 90px -30px rgba(0,0,0,.5);flex-direction:column;padding-top:52px;}
#tarteaucitron[style*="block"]{display:flex !important;animation:tac-panneau .3s cubic-bezier(.2,.7,.2,1);}
@keyframes tac-fondu{from{opacity:0;}}
@keyframes tac-panneau{from{opacity:0;transform:translate(-50%,calc(-50% + 14px));}}
#tarteaucitronClosePanel{position:absolute;top:10px;right:clamp(10px,3vw,22px);z-index:2;display:inline-flex;align-items:center;gap:8px;padding:8px 10px !important;font-size:15px;font-weight:600;color:var(--gris) !important;}
#tarteaucitronClosePanel::after{content:"";width:12px;height:12px;background:linear-gradient(45deg,transparent calc(50% - 1px),currentColor calc(50% - 1px),currentColor calc(50% + 1px),transparent calc(50% + 1px)),linear-gradient(-45deg,transparent calc(50% - 1px),currentColor calc(50% - 1px),currentColor calc(50% + 1px),transparent calc(50% + 1px));}
#tarteaucitronClosePanel:hover{color:var(--encre) !important;}
#tarteaucitronServices{flex:1 1 auto;min-height:0;height:auto !important;overflow-y:auto;overscroll-behavior:contain;padding:0 clamp(20px,4.5vw,36px);}
#tarteaucitronMainLineOffset{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"titre titre" "info info" "nom ask";gap:0 16px;align-items:center;padding-bottom:20px;border-bottom:2px solid var(--encre);}
#tarteaucitronMainLineOffset .tarteaucitronH1{grid-area:titre;display:block;font-family:var(--titre);font-weight:400;font-size:clamp(1.7rem,3.4vw,2.2rem);line-height:1.1;}
#tarteaucitronInfo{grid-area:info;margin:12px 0 22px;font-size:16px;line-height:1.6;color:#4d524f;}
#tarteaucitronInfo p{margin:0 0 8px;}
#tarteaucitronPrivacyUrlDialog{font-weight:600;font-size:15px;text-decoration:underline;text-decoration-color:var(--rouge);text-underline-offset:3px;}
#tarteaucitronPrivacyUrlDialog:hover{color:var(--rouge);}
#tarteaucitronMainLineOffset .tarteaucitronName{grid-area:nom;}
#tarteaucitronMainLineOffset .tarteaucitronH2{font-weight:600;font-size:16.5px;}
#tarteaucitronMainLineOffset .tarteaucitronAsk{grid-area:ask;}
#tarteaucitronRoot .tarteaucitronAsk{display:inline-flex;border:1px solid var(--encre);background:#fff;}
#tarteaucitronRoot .tarteaucitronAsk button{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:40px;padding:0 16px !important;font-size:15px;font-weight:600;color:var(--gris);transition:background .15s,color .15s;}
#tarteaucitronRoot .tarteaucitronAsk button + button{border-left:1px solid var(--encre);}
#tarteaucitronRoot .tarteaucitronAsk button:hover{color:var(--encre);background:var(--vert-clair);}
#tarteaucitronRoot .tarteaucitronIsAllowed .tarteaucitronAllow{background:var(--vert-texte) !important;color:#fff !important;}
#tarteaucitronRoot .tarteaucitronIsDenied .tarteaucitronDeny{background:var(--encre) !important;color:#fff !important;}
#tarteaucitronRoot .tarteaucitronBorder > ul{list-style:none;margin:0;padding:0;}
#tarteaucitronRoot .tarteaucitronBorder > ul > li{padding:20px 0;border-bottom:1px solid var(--filet);}
#tarteaucitronRoot .tarteaucitronBorder ul ul{list-style:none;margin:0;padding:0;}
#tarteaucitronRoot .tarteaucitronTitle button{display:flex;align-items:center;gap:12px;width:100%;font-family:var(--titre);font-size:20px;line-height:1.25;}
#tarteaucitronRoot .tarteaucitronPlus{position:relative;flex:0 0 18px;height:18px;border:1px solid var(--filet);background:#fff;}
#tarteaucitronRoot .tarteaucitronPlus::before,#tarteaucitronRoot .tarteaucitronPlus::after{content:"";position:absolute;left:4px;right:4px;top:50%;height:1.5px;margin-top:-.75px;background:var(--encre);transition:transform .2s ease;}
#tarteaucitronRoot .tarteaucitronPlus::after{transform:rotate(90deg);}
#tarteaucitronRoot .catToggleBtn[aria-expanded="true"] .tarteaucitronPlus::after{transform:rotate(0);}
#tarteaucitronServicesTitle_mandatory .tarteaucitronTitle button{cursor:default;}
#tarteaucitronServicesTitle_mandatory .tarteaucitronPlus{display:none;}
#tarteaucitronServicesTitle_mandatory .tarteaucitronTitle button::after{content:"Toujours actifs";margin-left:auto;font-family:var(--texte);font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vert-texte);}
#tarteaucitronRoot .tarteaucitronDetails{display:none;margin:10px 0 0 30px;font-size:15.5px;line-height:1.6;color:#4d524f;}
#tarteaucitronServices_mandatory .tarteaucitronLine{margin-top:8px;}
#tarteaucitronServices_mandatory .tarteaucitronH3{display:block;font-size:15.5px;line-height:1.6;color:#4d524f;}
#tarteaucitronRoot .tarteaucitronLine[id$="Line"]{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 18px;align-items:center;margin-top:14px;padding:16px 18px;background:#fff;border:1px solid var(--filet);transition:border-color .2s;}
#tarteaucitronRoot .tarteaucitronLine[id$="Line"].tarteaucitronIsAllowed{border-color:var(--vert);}
#tarteaucitronRoot .tarteaucitronLine[id$="Line"] .tarteaucitronH3{display:block;font-weight:600;font-size:16.5px;}
#tarteaucitronRoot .tarteaucitronStatusInfo{margin:2px 0 6px;font-size:14px;color:var(--gris);}
#tarteaucitronRoot .tacCurrentStatus{font-weight:600;color:var(--encre);}
#tarteaucitronRoot .tarteaucitronLine[id$="Line"] .tarteaucitronName > a{font-size:14px;color:var(--gris);text-decoration:underline;text-decoration-color:var(--filet);text-underline-offset:3px;}
#tarteaucitronRoot .tarteaucitronLine[id$="Line"] .tarteaucitronName > a:hover{color:var(--rouge);text-decoration-color:var(--rouge);}
#tarteaucitronRoot .tarteaucitronReadmoreSeparator{color:var(--filet);}
#tarteaucitronSave{position:sticky;bottom:0;display:flex;justify-content:flex-end;margin:0 calc(-1 * clamp(20px,4.5vw,36px));padding:16px clamp(20px,4.5vw,36px) calc(16px + env(safe-area-inset-bottom,0px));background:var(--papier);border-top:1px solid var(--filet);}
#tarteaucitronSaveButton{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 26px !important;background:var(--encre) !important;color:#fff !important;font-weight:600;font-size:16px;transition:background .15s;}
#tarteaucitronSaveButton:hover{background:var(--nuit) !important;}

@media (max-width:820px){
  #tarteaucitronAlertBig{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"texte texte" "lien lien" "refus accepte" "perso perso";row-gap:10px;padding:18px var(--gout) calc(18px + env(safe-area-inset-bottom,0px));}
  #tarteaucitronDisclaimerAlert{margin-right:0;font-size:15.5px;}
  #tarteaucitronPrivacyUrl{margin-bottom:6px;}
  #tarteaucitronAlertBig .tarteaucitronCTAButton,#tarteaucitronCloseAlert{width:100%;padding:0 12px;}
}
@media (max-width:680px){
  #tarteaucitron{left:0;right:0;top:auto !important;bottom:0;transform:none;width:100%;max-height:92vh;max-height:92dvh;}
  #tarteaucitron[style*="block"]{animation:tac-volet .32s cubic-bezier(.2,.7,.2,1);}
  @keyframes tac-volet{from{transform:translateY(40px);opacity:0;}}
  #tarteaucitronMainLineOffset{grid-template-columns:minmax(0,1fr);grid-template-areas:"titre" "info" "nom" "ask";row-gap:10px;}
  #tarteaucitronInfo{margin-bottom:12px;}
  #tarteaucitronRoot .tarteaucitronAsk{width:100%;}
  #tarteaucitronRoot .tarteaucitronAsk button{flex:1 1 0;justify-content:center;text-align:center;}
  #tarteaucitronRoot .tarteaucitronLine[id$="Line"]{grid-template-columns:minmax(0,1fr);}
  #tarteaucitronSaveButton{width:100%;}
  #tarteaucitronRoot .tarteaucitronDetails{margin-left:0;}
}
@media (prefers-reduced-motion:reduce){
  #tarteaucitronAlertBig[style*="block"],#tarteaucitron[style*="block"],#tarteaucitronBack[style*="block"]{animation:none;}
}

/* =====================================================================
   WooCommerce : éléments communs (formulaires, cases, mots de passe,
   suivi de commande, message bref)
   ===================================================================== */
.compte-lien{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:var(--encre);transition:color .15s;}
.compte-lien svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;}
.compte-lien:hover{color:var(--rouge);}
.cta--encre{background:var(--encre);}
.cta--encre:hover{background:var(--nuit);}
.cta--plein{width:100%;justify-content:center;height:52px;}
.cta[disabled]{opacity:.5;cursor:not-allowed;}
.champ-lib{display:flex;align-items:baseline;gap:8px;}
.facultatif{font-size:12.5px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--gris);}
.champ-aide{font-size:13.5px;font-weight:400;letter-spacing:0;text-transform:none;color:var(--gris);line-height:1.4;}
.champ-erreur{font-size:13.5px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--rouge-fonce);line-height:1.4;animation:tac-fondu .2s ease;}
.champ input[aria-invalid="false"]:not(:placeholder-shown):not([type="password"]):not(:focus){border-color:#9db3a5;}
.case{display:flex;align-items:flex-start;gap:12px;margin:16px 0;font-size:16px;line-height:1.45;cursor:pointer;}
.case input{flex:0 0 20px;width:20px;height:20px;margin:1px 0 0;-webkit-appearance:none;appearance:none;border:1px solid #9aa19d;background:#fff;display:grid;place-content:center;cursor:pointer;transition:background .15s,border-color .15s;}
.case input::after{content:"";width:10px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg);opacity:0;transition:opacity .15s;}
.case input:checked{background:var(--encre);border-color:var(--encre);}
.case input:checked::after{opacity:1;}
.case input:focus-visible{outline:2px solid var(--rouge);outline-offset:2px;}
.case a{text-decoration:underline;text-decoration-color:var(--rouge);text-underline-offset:3px;}
.case a:hover{color:var(--rouge);}
.case.erreur{flex-wrap:wrap;}
.case.erreur input{border-color:var(--rouge);}
.case .champ-erreur{flex-basis:100%;padding-left:32px;margin-top:-4px;}
.mdp-zone{position:relative;display:block;}
.mdp-zone input{padding-right:50px;}
.mdp-voir{position:absolute;right:3px;top:50%;transform:translateY(-50%);width:42px;height:40px;display:grid;place-items:center;border:0;background:none;color:var(--gris);cursor:pointer;}
.mdp-voir:hover,.mdp-voir[aria-pressed="true"]{color:var(--encre);}
.mdp-voir[aria-pressed="true"]::after{content:"";position:absolute;width:20px;height:1.6px;background:currentColor;transform:rotate(-40deg);}
.jauge{display:block;height:4px;margin-top:2px;background:#e1e4e2;overflow:hidden;}
.jauge span{display:block;height:100%;width:0;background:var(--rouge);transition:width .3s ease,background-color .3s ease;}
.jauge[data-force="1"] span{width:25%;background:var(--rouge);}
.jauge[data-force="2"] span{width:50%;background:#c27c0e;}
.jauge[data-force="3"] span{width:75%;background:var(--vert);}
.jauge[data-force="4"] span{width:100%;background:var(--vert-texte);}
.jauge-lib{font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--gris);min-height:1em;}
.lien-discret{background:none;border:0;padding:0;font:inherit;font-size:15px;font-weight:600;color:var(--gris);text-decoration:underline;text-decoration-color:var(--filet);text-underline-offset:3px;cursor:pointer;transition:color .15s;}
.lien-discret:hover{color:var(--encre);text-decoration-color:var(--encre);}
.bouton-ligne{display:inline-flex;align-items:center;gap:6px;min-height:42px;padding:0 16px;border:1px solid var(--encre);background:transparent;font:inherit;font-size:15.5px;font-weight:600;color:var(--encre);cursor:pointer;transition:background .15s,color .15s;}
.bouton-ligne:hover{background:var(--encre);color:#fff;}
.bouton-ligne:hover .picto-pdf,.bouton-ligne:hover .picto-pdf svg{color:#fff;}
.retour-form--ok{color:var(--vert-texte);}
address{font-style:normal;line-height:1.6;}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:2147483640;max-width:calc(100vw - 32px);padding:13px 20px;background:var(--nuit);color:#fff;font-size:15.5px;font-weight:600;box-shadow:0 18px 40px -18px rgba(0,0,0,.55);opacity:0;transform:translate(-50%,16px);pointer-events:none;transition:opacity .25s ease,transform .25s ease;}
.toast.visible{opacity:1;transform:translate(-50%,0);}

/* Suivi de commande */
.suivi{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));}
.suivi li{position:relative;display:flex;flex-direction:column;gap:2px;padding:28px 12px 0 0;font-size:14.5px;line-height:1.35;}
.suivi li::before{content:"";position:absolute;top:8px;left:18px;right:0;height:2px;background:var(--filet);}
.suivi li:last-child::before{display:none;}
.suivi li.fait::before{background:var(--vert-texte);}
.suivi-point{position:absolute;top:0;left:0;width:18px;height:18px;border-radius:50%;border:2px solid #c3c9c5;background:var(--papier);}
.suivi li.fait .suivi-point{border-color:var(--vert-texte);background:var(--vert-texte) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12.5 4 4L18 8.5' fill='none' stroke='%23fff' stroke-width='3'/%3E%3C/svg%3E") center/12px no-repeat;}
.suivi li.en-cours .suivi-point{border-color:var(--vert-texte);background:#fff;box-shadow:0 0 0 0 rgba(79,107,91,.35);animation:pouls 2.2s ease-out infinite;}
.suivi li.en-cours .suivi-point::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--vert-texte);}
@keyframes pouls{0%{box-shadow:0 0 0 0 rgba(79,107,91,.35);}70%{box-shadow:0 0 0 9px rgba(79,107,91,0);}100%{box-shadow:0 0 0 0 rgba(79,107,91,0);}}
.suivi b{font-weight:600;color:var(--gris);}
.suivi li.fait b,.suivi li.en-cours b{color:var(--encre);}
.suivi em{font-style:normal;font-size:13.5px;color:var(--gris);}
.suivi--grand li{padding-top:34px;font-size:15.5px;}
.suivi--grand li::before{top:10px;left:22px;}
.suivi--grand .suivi-point{width:22px;height:22px;}
.suivi--grand li.fait .suivi-point{background-size:14px;}
@media (max-width:680px){
  .suivi{grid-template-columns:minmax(0,1fr);}
  .suivi li,.suivi--grand li{padding:0 0 18px 34px;}
  .suivi li::before,.suivi--grand li::before{top:20px;bottom:-2px;left:8px;right:auto;width:2px;height:auto;}
  .suivi--grand li::before{left:10px;top:24px;}
  .suivi li:last-child{padding-bottom:0;}
  .suivi li{flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:10px;}
}
@media (prefers-reduced-motion:reduce){ .suivi li.en-cours .suivi-point{animation:none;} }

/* =====================================================================
   Tunnel de commande : en-tête réduit, trois étapes, récapitulatif fixe
   ===================================================================== */
.tunnel-entete{background:var(--papier);border-bottom:1px solid var(--filet);}
.tunnel-entete .page{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:78px;}
.tunnel-securise{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--vert-texte);}
.tunnel{padding-block:clamp(28px,4vw,52px) clamp(56px,7vw,96px);}
.tunnel-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(32px,5vw,80px);align-items:start;}
.tunnel-etapes{list-style:none;margin:0 0 20px;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:14.5px;font-weight:600;color:var(--gris);}
.tunnel-etapes li{display:flex;align-items:center;gap:8px;transition:color .25s;}
.tunnel-etapes li + li::before{content:"";width:22px;height:1px;background:#c3c9c5;margin-right:4px;}
.pastille-etape{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid currentColor;font-size:12.5px;font-variant-numeric:tabular-nums;transition:background .25s,border-color .25s,color .25s;}
.tunnel-etapes li.complete{color:var(--vert-texte);}
.tunnel-etapes li.complete .pastille-etape{background:var(--vert-texte) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12.5 4 4L18 8.5' fill='none' stroke='%23fff' stroke-width='3'/%3E%3C/svg%3E") center/12px no-repeat;border-color:var(--vert-texte);color:transparent;}
.tunnel-titre{font-size:clamp(2.2rem,4.4vw,3.4rem);line-height:1.04;}
.tunnel-connexion{margin-top:12px;font-size:16.5px;color:#4d524f;}
.tunnel-connexion a{font-weight:600;color:var(--encre);text-decoration:underline;text-decoration-color:var(--rouge);text-underline-offset:3px;}
.tunnel-connexion a:hover{color:var(--rouge);}
.form-commande{display:flex;flex-direction:column;gap:18px;margin-top:clamp(24px,3.5vw,38px);}
.etape{background:#fff;border:1px solid var(--filet);padding:clamp(22px,3vw,34px);transition:border-color .3s;}
.etape.complete{border-color:#c5d3ca;}
.etape h2{display:flex;align-items:center;gap:14px;font-size:clamp(1.45rem,2.2vw,1.75rem);margin-bottom:22px;}
.etape-n{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:50%;background:var(--encre);color:#fff;font-family:var(--texte);font-size:15px;font-weight:600;transition:background .3s;}
.etape.complete .etape-n{background:var(--vert-texte);}
.etape-ok{display:grid;place-items:center;width:28px;height:28px;margin-left:auto;border-radius:50%;background:var(--vert-clair);color:var(--vert-texte);opacity:0;transform:scale(.4);transition:opacity .2s,transform .35s cubic-bezier(.3,1.6,.5,1);}
.etape.complete .etape-ok{opacity:1;transform:none;}
.etape .champs{margin-bottom:6px;}
.etape .champ input,.etape .champ select,.etape .champ textarea{background-color:#fbfbfb;}
.etape .champ input:focus,.etape .champ select:focus,.etape .champ textarea:focus{background-color:#fff;box-shadow:0 0 0 3px rgba(65,65,65,.08);}
.etape .champ textarea{min-height:90px;}
.ajout-champ{grid-column:1 / -1;justify-self:start;text-align:left;background:none;border:0;padding:2px 0;font:inherit;font-size:15px;font-weight:600;color:var(--vert-texte);cursor:pointer;}
.ajout-champ:hover{color:var(--encre);text-decoration:underline;text-underline-offset:3px;}
.etape > .ajout-champ{margin-top:16px;}
.etape > #bloc-note{margin-top:14px;}
.modes{min-width:0;margin:24px 0 0;padding:0;border:0;}
.modes legend{padding:0;margin-bottom:12px;}
.modes-liste{display:flex;flex-direction:column;gap:10px;}
.mode{position:relative;display:block;cursor:pointer;}
.mode input{position:absolute;opacity:0;width:1px;height:1px;}
.mode-carte{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 18px 16px 52px;border:1px solid #c9cecb;background:#fbfbfb;transition:border-color .15s,background-color .15s,box-shadow .15s;}
.mode-carte::before{content:"";position:absolute;left:18px;top:50%;width:18px;height:18px;margin-top:-9px;border-radius:50%;border:1px solid #9aa19d;background:#fff;transition:border-width .15s,border-color .15s;}
.mode:hover .mode-carte{border-color:var(--encre);}
.mode input:checked + .mode-carte{border-color:var(--encre);background:#fff;box-shadow:inset 0 0 0 1px var(--encre);}
.mode input:checked + .mode-carte::before{border:6px solid var(--encre);}
.mode input:focus-visible + .mode-carte{outline:2px solid var(--rouge);outline-offset:2px;}
.mode-ico{display:flex;color:var(--vert-texte);}
.mode-txt{display:flex;flex-direction:column;gap:2px;}
.mode-txt b{font-size:16.5px;font-weight:600;}
.mode-txt em{font-style:normal;font-size:14px;color:var(--gris);}
.mode-prix{font-size:16.5px;font-weight:600;white-space:nowrap;}
.relais{margin-top:10px;padding:16px 18px;border:1px dashed #b4beb8;background:var(--vert-clair);font-size:15px;line-height:1.5;color:#4d524f;}
.relais b{display:block;color:var(--encre);margin-bottom:2px;}
.douane{margin-top:12px;padding-left:12px;border-left:2px solid var(--rouge);font-size:14.5px;line-height:1.5;color:#4d524f;}
.expedition{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:14.5px;font-weight:600;color:var(--vert-texte);}
.modes--paiement{display:flex;flex-direction:column;gap:10px;margin-top:0;}
.paiement-panneau{margin-top:-11px;padding:20px 18px 10px;background:#fff;border:2px solid var(--encre);border-top:0;font-size:15.5px;line-height:1.55;color:#4d524f;animation:tac-fondu .25s ease;}
.paiement-panneau > p{padding-bottom:8px;}
.champs--carte{margin-bottom:10px !important;}
.note-securite{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--gris);}
.note-securite svg{flex:0 0 auto;color:var(--vert-texte);}
.case--cgv{margin-top:24px;padding-top:20px;border-top:1px solid var(--filet);}
.cta--payer{width:100%;justify-content:center;height:58px;margin-top:8px;font-size:18px;}
.cta--payer.en-cours .cta-lib{display:inline-flex;align-items:center;gap:12px;}
.cta--payer.en-cours .cta-lib::before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:tourne .8s linear infinite;}
.cta--payer[disabled].en-cours{opacity:1;}
.mention-paiement{text-align:center;margin-top:14px;}
.recap{position:sticky;top:24px;background:#fff;border:1px solid var(--filet);}
.recap-bascule{display:none;}
.recap-corps{padding:26px 26px 22px;}
.recap h2{font-size:1.6rem;margin-bottom:16px;}
.recap h2 .recap-nb{font-family:var(--texte);font-size:15px;color:var(--gris);}
.recap-lignes{list-style:none;margin:0;padding:0;border-top:1px solid var(--filet);}
.recap-ligne{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--filet);transition:opacity .25s,transform .25s;}
.recap-ligne.sortie{opacity:0;transform:translateX(14px);}
.recap-couv{display:block;width:64px;box-shadow:0 10px 18px -10px rgba(40,40,40,.45);}
.recap-titre{font-family:var(--titre);font-size:17.5px;line-height:1.2;}
.recap-auteur{margin-top:3px;font-size:14px;color:var(--gris);}
.recap-actions{display:flex;align-items:center;gap:14px;margin-top:10px;}
.quantite--petite{height:34px;}
.quantite--petite button{width:32px;font-size:17px;}
.quantite--petite button[disabled]{opacity:.3;cursor:default;}
.quantite--petite button[disabled]:hover{color:inherit;}
.quantite--petite input{width:34px;font-size:15.5px;}
.recap-retirer{background:none;border:0;padding:0;font:inherit;font-size:14px;color:var(--gris);text-decoration:underline;text-decoration-color:var(--filet);text-underline-offset:3px;cursor:pointer;}
.recap-retirer:hover{color:var(--rouge);text-decoration-color:var(--rouge);}
.recap-prix{font-size:16px;font-weight:600;white-space:nowrap;}
.recap-vide{padding:20px 0 4px;}
.seuil{margin:18px 0 4px;padding:14px 16px;background:var(--vert-clair);}
.seuil[hidden]{display:none;}
.seuil-txt{font-size:14.5px;line-height:1.45;}
.seuil.atteint .seuil-txt{font-weight:600;color:var(--vert-texte);}
.seuil-barre{display:block;height:5px;margin-top:10px;background:#d3dcd6;overflow:hidden;}
.seuil-barre span{display:block;height:100%;background:var(--vert-texte);transition:width .5s cubic-bezier(.2,.7,.2,1);}
.recap-totaux{display:flex;flex-direction:column;gap:9px;margin:18px 0 0;font-size:15.5px;}
.recap-totaux div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;}
.recap-totaux dd{margin:0;font-weight:600;white-space:nowrap;}
.recap-mode{font-size:14px;color:var(--gris);}
.recap-total{margin-top:6px;padding-top:14px;border-top:2px solid var(--encre);}
.recap-total dt{font-size:17px;font-weight:600;}
.recap-total dd{font-family:var(--titre);font-size:30px;font-weight:400 !important;line-height:1;}
.recap-tva{margin-top:8px;font-size:13.5px;color:var(--gris);text-align:right;}
.rassurance{list-style:none;display:flex;flex-direction:column;gap:12px;margin:20px 0 0;padding:18px 0 0;border-top:1px solid var(--filet);font-size:14.5px;line-height:1.45;color:#4d524f;}
.rassurance li{display:flex;align-items:flex-start;gap:12px;}
.rassurance svg{flex:0 0 auto;color:var(--vert-texte);}
.rassurance b{color:var(--encre);font-weight:600;}
.tunnel-pied{background:var(--papier) !important;color:var(--gris);border-top:1px solid var(--filet);padding-block:22px calc(26px + env(safe-area-inset-bottom,0px));font-size:14.5px;color:var(--gris);}
.tunnel-pied .page{display:flex;justify-content:space-between;align-items:center;gap:12px 24px;flex-wrap:wrap;}
.tunnel-pied nav{display:flex;flex-wrap:wrap;gap:6px 18px;}
.tunnel-pied a:hover{color:var(--rouge);}
.tunnel-pied p a{color:var(--encre);font-weight:600;text-decoration:underline;text-decoration-color:var(--rouge);text-underline-offset:3px;}
@media (max-width:1040px){
  .tunnel-grille{grid-template-columns:minmax(0,1fr);}
  .recap{position:static;order:-1;margin:0 calc(-1 * var(--gout));border-left:0;border-right:0;}
  .recap-bascule{display:flex;align-items:center;gap:12px;width:100%;padding:15px var(--gout);background:none;border:0;font:inherit;font-size:16px;font-weight:600;color:var(--encre);text-align:left;cursor:pointer;}
  .recap-bascule > span{flex:1;}
  .recap-bascule .recap-nb{font-weight:400;color:var(--gris);}
  .recap-bascule b{font-family:var(--titre);font-weight:400;font-size:22px;}
  .recap-bascule .chevron{transition:transform .2s ease;}
  .recap-bascule[aria-expanded="true"] .chevron{transform:rotate(180deg);}
  .recap-corps{padding:4px var(--gout) 22px;border-top:1px solid var(--filet);}
  .recap h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
  .recap-lignes{border-top:0;}
}
@media (max-width:680px){
  .tunnel-entete .page{min-height:64px;}
  .tunnel-etapes{gap:6px 8px;font-size:13.5px;}
  .tunnel-etapes li + li::before{width:12px;margin-right:2px;}
  .pastille-etape{width:20px;height:20px;font-size:12px;}
  .tunnel-entete .logo-mot small{display:none;}
  .tunnel-securise span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  .tunnel-securise svg{width:20px;height:20px;}
  .etape{padding:22px 18px 24px;margin-inline:calc(-1 * var(--gout) + 8px);}
  .etape h2{gap:12px;margin-bottom:18px;}
  .etape-n{flex-basis:30px;height:30px;font-size:14px;}
  .mode-carte{grid-template-columns:minmax(0,1fr) auto;padding:14px 14px 14px 46px;gap:10px;}
  .mode-carte::before{left:15px;}
  .mode-ico{display:none;}
  .champs--carte{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .champs--carte .champ--large{grid-column:1 / -1;}
  .tunnel-pied .page{flex-direction:column;align-items:flex-start;}
}

/* Confirmation */
.tunnel--conf .page{max-width:1080px;}
.conf-tete{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:46em;margin:0 auto;text-align:center;}
.conf-sceau{display:grid;place-items:center;width:68px;height:68px;margin-bottom:6px;border-radius:50%;background:var(--vert-texte);color:#fff;animation:sceau .7s cubic-bezier(.3,1.5,.5,1) both;}
.conf-sceau svg{width:30px;height:30px;}
@keyframes sceau{from{opacity:0;transform:scale(.5);}}
.conf-tete h1{font-size:clamp(2.1rem,4.2vw,3.3rem);line-height:1.08;}
.conf-chapeau{font-size:18px;line-height:1.6;color:#4d524f;}
.conf-chapeau b{color:var(--encre);font-weight:600;overflow-wrap:anywhere;}
.tunnel--conf .suivi{max-width:880px;margin:clamp(36px,5vw,56px) auto 0;}
.conf-grille{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;align-items:start;margin-top:clamp(36px,5vw,60px);}
.conf-bloc{background:#fff;border:1px solid var(--filet);padding:clamp(22px,3vw,30px);}
.conf-bloc h2{font-size:1.55rem;margin-bottom:14px;}
.conf-bloc > p{font-size:15.5px;line-height:1.6;color:#4d524f;margin-bottom:16px;}
.conf-bloc--compte{border-top:3px solid var(--rouge);}
.conf-cote{display:flex;flex-direction:column;gap:24px;}
.conf-lignes{list-style:none;margin:0;padding:0;border-top:1px solid var(--filet);}
.conf-lignes li{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid var(--filet);font-size:15.5px;}
.conf-lignes .recap-couv{width:52px;}
.conf-titre{display:flex;flex-direction:column;gap:2px;}
.conf-titre b{font-family:var(--titre);font-weight:400;font-size:17px;line-height:1.2;}
.conf-titre em{font-style:normal;font-size:14px;color:var(--gris);}
.conf-lignes li > span:last-child{font-weight:600;white-space:nowrap;}
.conf-infos{margin:0;}
.conf-infos div{padding:10px 0;border-bottom:1px solid var(--filet);font-size:15.5px;}
.conf-infos div:last-child{border-bottom:0;}
.conf-infos dt{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vert-texte);}
.conf-infos dd{margin:3px 0 0;}
.conf-compte-form .champs{margin-bottom:14px;}
.conf-ok{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:600;color:var(--vert-texte);}
.conf-suite{margin-top:clamp(36px,5vw,52px);text-align:center;}
@media (max-width:1040px){ .conf-grille{grid-template-columns:minmax(0,1fr);} }

/* =====================================================================
   Connexion et création de compte
   ===================================================================== */
.acces-page{padding-top:26px;padding-bottom:clamp(56px,7vw,96px);}
.acces-tete{border-bottom:0;padding-bottom:0;}
.acces-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:stretch;margin-top:clamp(28px,4vw,48px);}
.acces-bloc{background:#fff;border:1px solid var(--filet);padding:clamp(24px,3.6vw,46px);}
.acces-bloc h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-bottom:22px;outline:none;}
.acces-bloc--nouveau{background:var(--vert-clair);border-color:transparent;}
.acces-bloc--nouveau .champ input{background:#fff;}
.acces-ligne{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 16px;margin:-6px 0 18px;}
.acces-ligne .case{margin:0;}
.acces-atouts{list-style:none;display:flex;flex-direction:column;gap:12px;margin:0 0 24px;padding:0;font-size:16.5px;}
.acces-atouts li{display:flex;align-items:center;gap:12px;}
.acces-atouts svg{flex:0 0 auto;width:26px;height:26px;padding:6px;border-radius:50%;background:#fff;color:var(--vert-texte);}
.acces-texte{margin:-8px 0 18px;color:#4d524f;line-height:1.6;}
.acces-retour{margin-top:18px;}
.acces-libraire{margin-top:24px;padding-top:18px;border-top:1px solid #d3dcd6;font-size:15.5px;}
.acces-vue[hidden]{display:none;}
@media (max-width:820px){ .acces-grille{grid-template-columns:minmax(0,1fr);} }

/* =====================================================================
   Espace client
   ===================================================================== */
.client-page{padding-top:26px;padding-bottom:clamp(56px,7vw,96px);}
.vue-client{padding-top:clamp(28px,3.5vw,42px);outline:none;}
.vue-client[hidden]{display:none;}
.vue-titre{font-size:clamp(1.8rem,3vw,2.4rem);margin-bottom:8px;}
.vue-intro{color:var(--gris);margin-bottom:22px;}
.tb-grille{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:24px;align-items:start;}
.tb-carte{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:24px;background:#fff;border:1px solid var(--filet);}
.tb-carte--commande{gap:28px;align-items:stretch;padding:clamp(24px,3vw,34px);}
.tb-carte-tete{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
.tb-num{margin-top:6px;font-family:var(--titre);font-size:clamp(1.4rem,2.2vw,1.8rem);line-height:1.15;}
.tb-commande-pied{display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px;padding-top:22px;border-top:1px solid var(--filet);}
.tb-commande-pied p{display:flex;flex-direction:column;}
.tb-commande-pied p b{font-family:var(--titre);font-weight:400;font-size:26px;line-height:1.1;}
.tb-commande-pied p span{font-size:14px;color:var(--gris);}
.tb-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin-left:auto;}
.tb-cote{display:flex;flex-direction:column;gap:24px;}
.tb-note{font-size:14.5px;line-height:1.5;color:var(--gris);}
.tb-parutions{margin-top:clamp(44px,5vw,68px);}
.tb-rail{list-style:none;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;margin:0;padding:0;}
.tb-rail .mini-livre span:not(.couv){font-family:var(--titre);font-size:17px;line-height:1.2;}
.tb-rail .mini-livre em{font-style:normal;font-size:14px;color:var(--gris);}
.tb-rail .mini-livre .couv{transition:transform .35s ease;}
@media (hover:hover) and (pointer:fine){ .tb-rail .mini-livre:hover span:not(.couv){color:var(--rouge);} }
.mini-couvs{display:flex;}
.mini-couvs .couv{flex:0 0 42px;width:42px;--rond:10px;box-shadow:0 6px 12px -6px rgba(40,40,40,.5);outline:2px solid #fff;}
.mini-couvs .couv + .couv{margin-left:-12px;}
.cc-liste{list-style:none;margin:20px 0 0;padding:0;border-top:2px solid var(--encre);}
.cc{border-bottom:1px solid var(--filet);transition:background .2s,box-shadow .2s;}
.cc.ouverte{background:#fff;box-shadow:0 0 0 1px var(--filet);}
.cc-tete{display:grid;grid-template-columns:minmax(0,1.3fr) auto minmax(0,.6fr) auto minmax(0,.7fr) 14px;align-items:center;gap:20px;width:100%;padding:18px 20px;background:none;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer;}
.cc-tete:hover{background:rgba(255,255,255,.7);}
.cc-num b{display:block;font-size:16.5px;font-weight:600;}
.cc-num em{font-style:normal;font-size:14px;color:var(--gris);}
.cc-nb{font-size:15px;color:var(--gris);}
.cc-total{font-size:16.5px;font-weight:600;text-align:right;}
.cc-tete .chevron{color:var(--gris);transition:transform .2s ease;}
.cc-tete[aria-expanded="true"] .chevron{transform:rotate(180deg);}
.cc-corps{display:grid;gap:28px;padding:8px 20px 28px;animation:tac-fondu .25s ease;}
.cc-corps[hidden]{display:none;}
.cc-detail{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:20px 48px;align-items:start;}
.cc-detail .recap-totaux{margin-top:0;}
.cc-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;}
.ca-grille{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;}
.carte-adresse{padding:clamp(22px,3vw,30px);background:#fff;border:1px solid var(--filet);}
.carte-adresse h3{font-size:1.4rem;margin-bottom:12px;}
.ca-note{margin:10px 0 18px;font-size:14.5px;color:var(--gris);}
.ca-form{animation:tac-fondu .2s ease;}
.ca-form[hidden],.ca-vue[hidden]{display:none;}
.ca-boutons{display:flex;align-items:center;gap:18px;}
.details-grille{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:24px;align-items:start;margin-top:14px;}
.details-bloc{padding:clamp(24px,3vw,34px);background:#fff;border:1px solid var(--filet);}
.details-bloc h3{margin:0 0 16px;font-family:var(--texte);font-size:13.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vert-texte);}
.details-bloc h3 ~ h3{margin-top:10px;padding-top:24px;border-top:1px solid var(--filet);}
.details-note{margin:-8px 0 14px;font-size:14.5px;color:var(--gris);}
.details-cote{display:flex;flex-direction:column;gap:24px;}
@media (max-width:1040px){
  .tb-grille,.details-grille{grid-template-columns:minmax(0,1fr);}
  .cc-detail{grid-template-columns:minmax(0,1fr);}
  .cc-tete{grid-template-columns:minmax(0,1fr) auto auto 14px;grid-template-areas:"num statut total chev" "couvs couvs couvs couvs";row-gap:12px;}
  .cc-num{grid-area:num;} .cc-tete .statut{grid-area:statut;} .cc-total{grid-area:total;} .cc-tete .chevron{grid-area:chev;} .cc-tete .mini-couvs{grid-area:couvs;}
  .cc-nb{display:none;}
}
@media (max-width:680px){
  .ca-grille{grid-template-columns:minmax(0,1fr);}
  .tb-rail{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;margin-inline:calc(-1 * var(--gout));padding:0 var(--gout) 6px;scrollbar-width:none;}
  .tb-rail li{flex:0 0 42%;scroll-snap-align:start;}
  .tb-rail::-webkit-scrollbar{display:none;}
  .tb-carte-tete{flex-direction:column;}
  .tb-actions{margin-left:0;width:100%;}
  .tb-actions .cta{flex:1 1 auto;justify-content:center;}
  .cc-tete{grid-template-columns:minmax(0,1fr) auto 14px;grid-template-areas:"num total chev" "couvs statut statut";padding:16px 14px;gap:10px 14px;}
  .cc-tete .statut{justify-self:end;}
  .cc-corps{padding:4px 14px 24px;}
  .onglets-client a{padding-inline:12px;}
}
@media (max-width:680px){
  .entete .page{gap:10px;}
  .outils{gap:2px;}
  .compte-lien{width:38px;}
  .panier{padding-left:4px;}
}
@media (max-width:380px){
  .compte-lien{width:34px;}
  .burger{padding-inline:11px;}
}

.onglets .onglet-sortie{display:none;}
@media (max-width:1040px){ .onglets .onglet-sortie{display:block;margin-left:auto;color:var(--gris);font-weight:400;} }

/* Anti-robots ALTCHA (création de compte) */
.anti-robot{display:flex;flex-direction:column;gap:10px;margin:2px 0 20px;padding:14px 16px 12px;background:#fff;border:1px solid #c9cecb;transition:border-color .2s;}
.anti-robot altcha-widget{display:block;font-family:var(--texte);font-size:16px;font-weight:600;color:var(--encre);
  --altcha-max-width:100%;--altcha-padding:0;--altcha-border-width:0;--altcha-border-radius:0;--altcha-shadow:none;
  --altcha-color-base:#fff;--altcha-color-base-content:#414141;--altcha-color-neutral:#c9cecb;--altcha-color-neutral-content:#6a706c;
  --altcha-color-primary:#414141;--altcha-color-primary-content:#fff;--altcha-color-success:#4f6b5b;--altcha-color-success-content:#fff;
  --altcha-color-error:#c4040f;--altcha-color-error-content:#fff;--altcha-checkbox-size:22px;--altcha-checkbox-border-radius:0;
  --altcha-checkbox-border-color:#9aa19d;--altcha-checkbox-outline-color:#f20519;--altcha-spinner-color:#414141;--altcha-transition-duration:.3s;}
.anti-robot-note{display:flex;align-items:center;gap:8px;padding-top:10px;border-top:1px solid var(--filet);font-size:13.5px;line-height:1.4;color:var(--gris);}
.anti-robot-note svg{flex:0 0 auto;width:18px;height:18px;color:var(--vert-texte);}
.anti-robot.erreur{border-color:var(--rouge);}
.anti-robot .champ-erreur{order:1;}

.mention-demande{margin:0 0 16px;}

/* =====================================================================
   Panier
   ===================================================================== */
.toast.avec-action{display:flex;align-items:center;gap:18px;pointer-events:auto;}
.toast-action{flex:0 0 auto;background:none;border:0;padding:0;font:inherit;font-weight:600;color:#fff;text-decoration:underline;text-decoration-color:var(--rouge);text-underline-offset:4px;cursor:pointer;}
.toast-action:hover{color:#ffd9dc;}
.toast:not(.visible){pointer-events:none !important;}
.tunnel-retour{display:inline-block;margin-bottom:18px;font-size:15px;font-weight:600;color:var(--gris);}
.tunnel-retour:hover{color:var(--encre);}
.bouton-ligne--petit{min-height:36px;padding:0 13px;font-size:14.5px;}
.panier-page{padding-top:26px;padding-bottom:clamp(56px,7vw,96px);}
.panier-tete{display:flex;align-items:end;justify-content:space-between;gap:12px 28px;flex-wrap:wrap;padding-bottom:24px;border-bottom:2px solid var(--encre);}
.panier-tete h1{font-size:clamp(2.6rem,5vw,4rem);line-height:1;margin-top:8px;}
.panier-nb{font-family:var(--texte);font-size:.36em;font-weight:400;color:var(--gris);vertical-align:middle;}
.panier-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:clamp(32px,5vw,72px);align-items:start;margin-top:8px;}
.pl-lignes{list-style:none;margin:0;padding:0;}
.pl-ligne{display:grid;grid-template-columns:96px minmax(0,1fr) auto minmax(0,120px);grid-template-areas:"couv info qte prix";align-items:center;gap:8px 28px;padding:24px 0;border-bottom:1px solid var(--filet);transition:opacity .25s,transform .25s;}
.pl-ligne.sortie{opacity:0;transform:translateX(16px);}
.pl-ligne.arrivee{animation:pl-arrivee .5s cubic-bezier(.2,.7,.2,1);}
@keyframes pl-arrivee{from{opacity:0;transform:translateY(-8px);background:var(--vert-clair);}}
.pl-couv{grid-area:couv;display:block;width:96px;box-shadow:0 14px 24px -14px rgba(40,40,40,.5);}
.pl-couv .couv{--rond:16px;}
.pl-info{grid-area:info;min-width:0;}
.pl-meta{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vert-texte);margin-bottom:6px;}
.pl-titre{font-size:clamp(1.3rem,2vw,1.6rem);line-height:1.15;}
.pl-titre a:hover{color:var(--rouge);}
.pl-auteur{margin-top:4px;font-size:16px;color:#4d524f;}
.pl-dispo{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:14px;font-weight:600;color:var(--vert-texte);}
.pl-dispo .pastille{width:8px;height:8px;box-shadow:0 0 0 3px rgba(117,150,131,.22);}
.pl-qte{grid-area:qte;display:flex;flex-direction:column;align-items:center;gap:10px;}
.pl-qte .quantite{height:44px;}
.pl-qte .quantite button{width:38px;font-size:18px;}
.pl-qte .quantite button[disabled]{opacity:.3;cursor:default;}
.pl-qte .quantite button[disabled]:hover{color:inherit;}
.pl-qte .quantite input{width:40px;font-size:16.5px;}
.pl-prix{grid-area:prix;display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right;}
.pl-prix b{font-family:var(--titre);font-weight:400;font-size:24px;line-height:1.1;}
.pl-pu{font-size:13.5px;color:var(--gris);}
.recap--panier{top:calc(var(--entete-h,90px) + 24px);margin-top:24px;}
.recap--panier .cta--payer{display:flex;margin-top:20px;}
.panier-paiements{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:12px;font-size:13.5px;color:var(--gris);}
.panier-paiements svg{color:var(--vert-texte);}
.panier-vide{padding:clamp(40px,6vw,72px) 0;outline:none;}
.panier-vide h2{font-size:clamp(1.7rem,3vw,2.4rem);margin:8px 0 10px;}
.panier-vide > p:not(.etiquette){color:#4d524f;}
.panier-vide-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px 26px;margin-top:24px;}
.panier-suggestions{margin-top:clamp(48px,6vw,80px);}
.ps-rail{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,220px));gap:28px clamp(28px,4vw,56px);margin:0;padding:0;}
.ps-carte{display:flex;flex-direction:column;gap:6px;transition:opacity .25s,transform .25s;}
.ps-carte.sortie{opacity:0;transform:scale(.96);}
.ps-couv{display:block;margin-bottom:8px;box-shadow:0 14px 24px -14px rgba(40,40,40,.45);}
.ps-couv .couv{transition:transform .35s ease;}
@media (hover:hover) and (pointer:fine){ .ps-carte:hover .ps-couv .couv{transform:scale(1.02);} }
.ps-titre{font-family:var(--titre);font-size:18px;line-height:1.2;}
.ps-auteur{font-size:14.5px;color:var(--gris);}
.ps-pied{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px;font-weight:600;}
@media (max-width:1040px){
  .panier-grille{grid-template-columns:minmax(0,1fr);}
  .recap--panier{position:static;}
  .ps-rail{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:680px){
  .pl-ligne{grid-template-columns:76px minmax(0,1fr) auto;grid-template-areas:"couv info prix" "couv qte qte";align-items:start;gap:14px 12px;padding:20px 0;}
  .pl-couv{width:76px;}
  .pl-qte{flex-direction:row;justify-self:start;align-items:center;gap:14px;}
  .pl-qte .quantite{height:40px;}
  .pl-qte .quantite button{width:34px;}
  .pl-qte .quantite input{width:34px;}
  .pl-prix b{font-size:21px;}
  .pl-prix{align-self:start;}
  .pl-pu{font-size:12.5px;}
  .recap--panier{margin-inline:calc(-1 * var(--gout) + 8px);}
  .ps-rail{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;gap:16px;margin-inline:calc(-1 * var(--gout));padding:0 var(--gout) 6px;scrollbar-width:none;}
  .ps-rail::-webkit-scrollbar{display:none;}
  .ps-carte{flex:0 0 44%;scroll-snap-align:start;}
}
@media (prefers-reduced-motion:reduce){ .pl-ligne.arrivee{animation:none;} }
.ps-carte,.tb-rail li{position:relative;}
@media (max-width:1040px){
  .recap--panier{order:0;margin-top:28px;}
  .recap--panier h2{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;margin:18px 0 12px;}
}

/* =====================================================================
   Compléments du thème WordPress (absents de la maquette statique)
   ===================================================================== */

/* Accessibilité : lien d'évitement, textes réservés aux lecteurs d'écran (WordPress, WooCommerce) */
.evitement{position:absolute;left:12px;top:-200px;z-index:100;padding:10px 16px;background:var(--encre);color:#fff;font-size:15.5px;font-weight:600;}
.evitement:focus{top:12px;}
.screen-reader-text{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;}

/* Barre d'administration : l'en-tête collant passe dessous */
body.admin-bar .entete{top:32px;}
@media (max-width:782px){ body.admin-bar .entete{top:46px;} }
@media (max-width:600px){ body.admin-bar .entete{top:0;} }

/* Pastille du panier */
.panier-compte{background:var(--rouge);color:#fff;border-radius:20px;min-width:20px;height:20px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;}
.panier-compte.bond{animation:bond .5s ease;}
@keyframes bond{30%{transform:scale(1.35);}60%{transform:scale(.92);}}

/* Boutons d'ajout : liens qui fonctionnent sans JavaScript */
a.ajout{display:inline-block;line-height:1.35;text-align:center;}
.cta.ajout{background:var(--rouge);color:#fff;border:0;padding:12px 22px;font-size:17px;}
.cta.ajout:hover{background:var(--rouge-fonce);color:#fff;}
.cta.ajout.ajout--attente{background:var(--encre);}
.ajout[aria-busy="true"]{opacity:.6;pointer-events:none;}
.ajout.fait{background:var(--vert-texte);border-color:var(--vert-texte);color:#fff;}
#bouton-panier[aria-busy="true"]{opacity:.7;}
.message-panier{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:12px;font-size:15.5px;color:var(--vert-texte);font-weight:600;}
.message-panier a{color:var(--encre);text-decoration:underline;text-underline-offset:3px;font-weight:600;}
.message-panier.erreur{color:var(--rouge-fonce);}

/* Prix WooCommerce : prix barré en promotion, sans soulignement du prix réduit */
.prix del,.prix-fiche del,.barre-prix del,.lc-prix del{color:var(--gris);font-size:.78em;margin-right:6px;}
.prix ins,.prix-fiche ins,.barre-prix ins,.lc-prix ins{text-decoration:none;}

/* Disponibilité */
.dispo--epuise{color:var(--gris);}
.dispo--epuise .pastille{background:#a3a8a5;box-shadow:0 0 0 4px rgba(120,125,122,.18);}
.dispo--precommande{color:#8a6a12;}
.dispo--precommande .pastille{background:#c69a1d;box-shadow:0 0 0 4px rgba(198,154,29,.2);}

/* Fiche : premier paragraphe de la présentation traité comme un chapeau */
.presentation-texte > p:first-child{font-family:var(--titre);font-size:clamp(1.35rem,2.2vw,1.7rem);line-height:1.4;}
.prefacier{margin-top:8px;font-size:17px;color:var(--gris);font-style:italic;}
.fiche-texte .variations_form,.fiche-texte form.cart{margin-top:20px;}

/* Messages de WooCommerce (ajout au panier sans JavaScript, erreurs) */
.woocommerce-notices-wrapper:empty{display:none;}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;margin:18px 0;padding:14px 18px;background:var(--vert-clair);border-left:3px solid var(--vert);font-size:16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 18px;}
.woocommerce-error{background:#fbeceb;border-left-color:var(--rouge);}
.woocommerce-message .button,.woocommerce-info .button{order:2;font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.woocommerce-error li{margin:0;}

/* Rayons */
.pagination{display:flex;flex-wrap:wrap;gap:6px;margin-top:40px;}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 10px;border:1px solid var(--filet);font-weight:600;}
.pagination .current{background:var(--encre);border-color:var(--encre);color:#fff;}
.rayon-intro p + p{margin-top:.7em;}
div.rayon-intro{font-size:18px;color:#4d524f;}

/* Page d'un auteur sans portrait */
.auteur-tete--sans-portrait{grid-template-columns:minmax(0,1fr);}
.auteur-bio p + p{margin-top:.7em;}

/* Pages légales sans intertitres */
.leg-grille--sans-plan{grid-template-columns:minmax(0,1fr);}

/* Encadré « Être prévenu » : message de retour sur toute la largeur */
.alerte-retour{grid-column:1 / -1;}
.alerte-retour:empty{display:none;}
.mention.ok{color:var(--vert-texte);font-weight:600;}
.mention.erreur{color:var(--rouge-fonce);font-weight:600;}

/* Recherche */
.res-plus{margin-top:28px;font-size:15.5px;color:var(--gris);}
mark{background:#f3e6a8;color:inherit;padding:0 1px;}

/* Page ordinaire, texte libre des modèles */
.texte-page-modele{padding-bottom:clamp(56px,7vw,96px);}
.texte-page{max-width:46em;margin-top:clamp(24px,3vw,36px);}
.texte-page > * + *{margin-top:1em;}
.texte-page p,.texte-page li{font-size:18px;line-height:1.7;}
.texte-page h2{font-size:clamp(1.6rem,2.6vw,2.1rem);margin-top:1.6em;}
.texte-page h3{font-size:1.4rem;margin-top:1.4em;}
.texte-page a{color:var(--vert-texte);text-decoration:underline;text-underline-offset:3px;}
.texte-page ul,.texte-page ol{padding-left:1.3em;}
.texte-page img{height:auto;}
.texte-page blockquote{margin:1.4em 0;padding-left:20px;border-left:3px solid var(--vert);font-family:var(--titre);font-size:1.25em;}
.contact-aside .texte-page{margin-top:0;}
.qsn-texte > p:not(.qsn-manifeste) + p{margin-top:1em;}
.liste-articles{list-style:none;padding:0;}
.liste-articles li{padding:10px 0;border-bottom:1px solid var(--filet);display:flex;justify-content:space-between;gap:16px;}
.liste-articles time{color:var(--gris);font-size:15px;white-space:nowrap;}

/* Panier, commande, compte : gabarits WooCommerce dans le cadre du thème (en attendant leurs gabarits dédiés) */
.woo-page{padding-bottom:clamp(56px,7vw,96px);}
.woo-contenu{margin-top:clamp(20px,3vw,32px);}
.woo-contenu .button,.woo-contenu button[type="submit"]{background:var(--rouge);color:#fff;border:0;padding:12px 20px;font-weight:600;}
.woo-contenu .button:hover,.woo-contenu button[type="submit"]:hover{background:var(--rouge-fonce);}
.woo-contenu input[type="text"],.woo-contenu input[type="email"],.woo-contenu input[type="tel"],.woo-contenu input[type="password"],.woo-contenu select,.woo-contenu textarea{font:inherit;font-size:16px;padding:10px 12px;border:1px solid #c9cecb;background:#fff;}

/* Suggestions de recherche : index en cours de chargement */
.suggest-attente{padding:14px 18px;font-size:15px;color:var(--gris);}

/* Menu principal dans un repère de navigation, sans changer la mise en page */
.nav-principale{display:contents;}

/* Présentoir : bouton d'arrêt du défilement */
.presentoir-pause{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;margin-right:12px;padding:0;border:1px solid var(--filet);border-radius:50%;background:transparent;color:var(--gris);vertical-align:-5px;transition:border-color .15s,color .15s;}
.presentoir-pause:hover{border-color:var(--encre);color:var(--encre);}
.presentoir-pause svg{width:10px;height:10px;}
.presentoir-pause .i-pause{fill:none;stroke:currentColor;stroke-width:1.8;}
.presentoir-pause .i-lecture{fill:currentColor;display:none;}
.presentoir-pause[aria-pressed="true"] .i-pause{display:none;}
.presentoir-pause[aria-pressed="true"] .i-lecture{display:inline;}
.presentoir.figee .presentoir-pause{display:none;}
.presentoir.arret .sommaire button[aria-current="true"] .jauge::after,.presentoir.arret .segments span.actif::after{animation-play-state:paused;}

/* Logo : hauteur fixe, largeur selon les proportions de l'image (carré ou horizontal) */
.logo img{width:auto;max-width:240px;}
.pied-logo img{width:auto;height:64px;max-width:240px;object-fit:contain;}
@media (max-width:960px){ .logo img{max-width:170px;} }

/* Tableaux des pages de texte et des pages légales */
.leg-texte table,.texte-page table{width:100%;border-collapse:collapse;margin:1.2em 0;font-size:16px;line-height:1.5;}
.leg-texte th,.leg-texte td,.texte-page th,.texte-page td{padding:10px 12px 10px 0;border-bottom:1px solid var(--filet);text-align:left;vertical-align:top;overflow-wrap:anywhere;}
.leg-texte th,.texte-page th{font-weight:600;}

/* Retour en haut : pastille verte qui apparaît et disparaît en pivotant sur elle-même */
.haut-page{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:50;width:50px;height:50px;padding:0;border:0;border-radius:50%;background:var(--vert);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 10px 24px -8px rgba(40,40,40,.45);opacity:0;visibility:hidden;transform:rotate(-180deg) scale(.4);transition:opacity .45s ease-in-out,transform .45s ease-in-out,visibility 0s linear .45s,background-color .2s,bottom .3s ease;}
.haut-page.visible{opacity:1;visibility:visible;transform:rotate(0) scale(1);transition:opacity .45s ease-in-out,transform .45s ease-in-out,visibility 0s,background-color .2s,bottom .3s ease;}
.haut-page:hover{background:var(--vert-texte);}
.haut-page:focus-visible{outline:2px solid var(--encre);outline-offset:3px;}
.haut-page svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;}
body.avec-barre .haut-page{bottom:calc(92px + env(safe-area-inset-bottom,0px));}
@media (max-width:600px){ .haut-page{width:44px;height:44px;right:max(14px,env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));} }
@media (prefers-reduced-motion:reduce){ .haut-page,.haut-page.visible{transform:none;} .haut-page{transition:opacity .2s,visibility 0s linear .2s;} .haut-page.visible{transition:opacity .2s,visibility 0s;} }

/* Pages légales : adresses e-mail révélées au clic, sur fond clair */
.leg-texte .courriel,.rayon-intro .courriel{color:var(--vert-texte);text-decoration:underline dotted;text-underline-offset:3px;font-weight:600;}
.leg-texte .courriel:hover,.rayon-intro .courriel:hover{color:var(--rouge);}
.leg-texte .courriel-revele{color:var(--vert-texte);text-decoration:underline;text-underline-offset:3px;}
