/* martineberger.fr - feuille de style
   Charte bleu clair : papier bleuté, bleu ciel, encre bleu nuit, notes à la plume bleue
   v0.24.0 : modernisation (liens sans soulignement, en-tête fixe, lettres et plumes animées) */
@font-face{font-family:"Literata";src:url(../fonts/literata-var.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Literata";src:url(../fonts/literata-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Caveat";src:url(../fonts/caveat-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  --papier:#F1F6FB;
  --papier-2:#DCEAF5;
  --encre:#1E2B38;
  --encre-douce:#4B5D6E;
  --accent:#2F6FA3;
  --plume:#2B5C8A;
  --ciel:#8EC0E6;
  --trait:#C5D7E6;
  --texte:"Literata", Georgia, "Times New Roman", serif;
  --crayon:"Caveat", "Segoe Print", "Comic Sans MS", cursive;
  --mesure:36em;
  --large:72rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--papier);color:var(--encre);font:400 1.125rem/1.72 var(--texte);font-optical-sizing:auto}
img{max-width:100%;height:auto;display:block}
/* v0.24.0 : liens jamais soulignés, la couleur et le surligneur au survol suffisent */
a{color:var(--accent);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--plume)}
:focus-visible{outline:3px solid var(--ciel);outline-offset:3px;border-radius:2px}
h1,h2,h3{font-family:var(--texte);line-height:1.15;margin:0 0 .6em;font-weight:600;letter-spacing:-.005em}
h1{font-size:clamp(2.4rem,6vw,4.2rem);font-weight:500}
h2{font-size:clamp(1.6rem,3vw,2.1rem);font-weight:500}
h3{font-size:1.25rem}
p{margin:0 0 1em}
cite{font-style:italic}
figure{margin:0}

.evitement{position:absolute;left:-999px}
.evitement:focus{left:1rem;top:1rem;background:var(--encre);color:var(--papier);padding:.5rem 1rem;z-index:10}

/* En-tête */
.entete{border-bottom:1px solid var(--trait);background:#fff}
.entete-int{max-width:var(--large);margin:0 auto;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.marque{display:block;line-height:0}
.marque img{height:2.9rem;width:auto}
.menu ul{list-style:none;margin:0;padding:0;display:flex;gap:.2rem 1.4rem;flex-wrap:wrap}
.menu a{color:var(--encre-douce);text-decoration:none;font-size:1rem;padding:.3rem 0;border-bottom:2px solid transparent}
.menu a:hover{color:var(--encre)}
.menu a[aria-current="page"]{color:var(--encre);border-bottom-color:var(--accent)}
.menu-bouton{display:none;font:inherit;font-size:1rem;background:none;border:1px solid var(--trait);color:var(--encre);padding:.35rem .9rem;border-radius:3px;cursor:pointer}

.bandeau-construction{margin:0;background:#F2D26B;color:var(--encre);text-align:center;font-size:.9rem;padding:.4rem 1rem}
.a-completer{background:#F6E7A6;color:#5B4A00;font-size:.85em;padding:.05em .35em;border-radius:2px;font-style:normal;display:inline}

main{display:block}

/* Boutons */
.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.bouton{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;padding:.7rem 1.3rem;border-radius:3px;font-size:1rem;border:1px solid var(--accent);font-family:var(--texte);cursor:pointer}
.bouton:hover{background:var(--encre);border-color:var(--encre);color:#fff}
.bouton-discret{background:transparent;color:var(--accent)}
.bouton-discret:hover{background:var(--papier-2);color:var(--encre);border-color:var(--accent)}

/* Note au crayon : les légendes sont écrites à la main */
.note-crayon{font-family:var(--crayon);font-size:1.45rem;line-height:1.2;color:var(--plume);margin-top:.7rem}

/* Accueil : le dessin posé comme une feuille sur la table */
.ouverture{max-width:var(--large);margin:0 auto;padding:clamp(2.5rem,6vw,5rem) 1.25rem clamp(2rem,5vw,4rem);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}
.ouverture{background:var(--papier-2);box-shadow:0 0 0 100vmax var(--papier-2);clip-path:inset(0 -100vmax)}
.ouverture h1{margin-bottom:.35em}
.ouverture+.bloc{border-top:0}
.accroche{font-size:1.25rem;color:var(--encre-douce);max-width:var(--mesure)}
.feuille{background:#fff;padding:clamp(.8rem,2vw,1.4rem) clamp(.8rem,2vw,1.4rem) .6rem;border:1px solid var(--trait);transform:rotate(-1.2deg);box-shadow:0 1px 0 var(--trait),0 14px 30px -18px rgba(30,43,56,.4)}
.feuille .note-crayon{transform:rotate(1.2deg)}
.feuille-petite{transform:rotate(1.5deg);max-width:24rem}
.feuille-petite .note-crayon{transform:rotate(-1.5deg)}

.bloc{max-width:var(--large);margin:0 auto;padding:clamp(2.5rem,6vw,4.5rem) 1.25rem;border-top:1px solid var(--trait)}
.citation-preface blockquote{margin:0 auto;max-width:44rem}
.citation-preface p{font-size:clamp(1.35rem,2.6vw,1.8rem);line-height:1.45;font-style:italic;margin-bottom:.6em}
.citation-preface footer{color:var(--encre-douce);font-size:1rem}

.livre-apercu,.prochainement,.rencontres-apercu{display:grid;gap:clamp(2rem,5vw,4rem);align-items:center}
.livre-apercu{grid-template-columns:minmax(12rem,19rem) minmax(0,1fr)}
.livre-apercu p,.prochainement p,.rencontres-apercu p{max-width:var(--mesure)}
.prochainement{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.rencontres-apercu{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}

.sous-titre{font-style:italic;font-size:1.2rem;color:var(--encre-douce);margin-top:-.4em}
.fiche-courte{margin:0;background:#fff;border:1px solid var(--trait);border-top:4px solid var(--plume);padding:1.2rem 1.5rem;max-width:22rem;justify-self:end;width:100%}
.fiche-courte div{display:grid;grid-template-columns:8.5rem 1fr;gap:.8rem;padding:.45rem 0;border-bottom:1px solid var(--papier-2)}
.fiche-courte div:last-child{border-bottom:0}
.fiche-courte dt{color:var(--encre-douce)}
.fiche-courte dd{margin:0}

.aussi{font-size:1rem;color:var(--encre-douce);border-top:1px solid var(--trait);padding-top:.8rem;margin-top:1.4rem}
.livre-tete .feuille-petite{max-width:100%}

/* Couverture recomposée */
.couverture{background:#fff;aspect-ratio:148/210;border:1px solid var(--trait);box-shadow:6px 6px 0 var(--papier-2);display:flex;flex-direction:column;align-items:center;padding:8% 7% 6%;text-align:center;container-type:inline-size}
.couv-auteur{font-weight:700;font-size:5cqw;letter-spacing:.02em}
.couv-titre{font-family:var(--crayon);font-size:16cqw;line-height:1.1;margin:6% 0 5%;color:var(--encre)}
.couv-dessin{width:100%}
.couv-illus{font-family:Arial,Helvetica,sans-serif;font-size:3.4cqw;margin-top:auto;color:var(--encre-douce)}
.couverture-grande{max-width:20rem;width:100%}

/* Pages de texte */
.page-texte{max-width:var(--large);margin:0 auto;padding:clamp(2.5rem,6vw,4.5rem) 1.25rem}
.page-texte>section{margin-top:clamp(2.5rem,6vw,4rem);max-width:none}
.page-texte section>p,.page-texte section>h2,.page-texte section>ol{max-width:var(--mesure)}
.page-titre{max-width:48rem;margin-bottom:clamp(2rem,4vw,3rem)}

.livre-tete{display:grid;grid-template-columns:minmax(12rem,20rem) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:start}
.parole-auteur{max-width:var(--mesure);font-style:italic;font-size:1.15rem}
.parole-auteur .signature{font-style:normal;color:var(--encre-douce)}
.deux-crayons,.portrait,.atelier{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.portrait{grid-template-columns:minmax(0,.9fr) minmax(0,1fr)}
.atelier figure{max-width:22rem}
.citation-mur{margin:1.4rem 0 0;padding-left:1.1rem;border-left:3px solid var(--ciel);max-width:30rem}
.citation-mur p{font-size:1.3rem;line-height:1.4}
.pavillon figure{max-width:40rem;margin-top:1.5rem}

.fiche{background:#fff;border:1px solid var(--trait);padding:clamp(1.5rem,4vw,2.5rem);max-width:44rem!important}
.fiche dl{margin:0;display:grid;gap:0}
.fiche dl div{display:grid;grid-template-columns:9rem 1fr;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--papier-2)}
.fiche dt{color:var(--encre-douce)}
.fiche dd{margin:0}

.large{margin-bottom:1rem}
.chronologie{list-style:none;padding:0;margin:0 0 1rem;border-left:2px solid var(--trait)}
.chronologie li{display:grid;grid-template-columns:9.5rem 1fr;gap:1rem;padding:.6rem 0 .6rem 1.2rem;position:relative}
.chronologie li::before{content:"";position:absolute;left:-.4rem;top:1.15rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--papier);border:2px solid var(--accent)}
.chronologie time{color:var(--plume);font-weight:600}

.article-presse{max-width:var(--mesure);padding:1rem 0;border-bottom:1px solid var(--trait)}
.article-presse .source{color:var(--encre-douce);font-size:.95rem;margin:0 0 .3rem}
.courrier blockquote,.temoignages blockquote{margin:0 0 1.8rem;max-width:40rem;padding-left:1.1rem;border-left:3px solid var(--accent)}
.courrier blockquote p,.temoignages blockquote p{font-style:italic;font-size:1.2rem;margin-bottom:.4rem}
.courrier footer,.temoignages footer{color:var(--encre-douce);font-size:1rem}

.mot-jjg-int{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.mot-jjg .feuille-petite{max-width:28rem;padding-bottom:1rem}
@media (max-width:52rem){.mot-jjg-int{grid-template-columns:1fr}}

/* Accueil : icône maison */
.menu-maison a{display:inline-flex;align-items:center;gap:.4rem}
.icone-maison{display:block;flex:none}
.maison-texte{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Sous-menu « Les livres » */
.visuellement-cache{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.menu a.actif{color:var(--encre);border-bottom-color:var(--trait)}
.sous-menu{position:relative;display:flex;align-items:center;gap:.15rem}
.sous-menu-bouton{background:none;border:0;padding:.3rem .25rem;cursor:pointer;color:var(--encre-douce);line-height:1}
.sous-menu-bouton::before{content:"";display:block;width:.45rem;height:.45rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.sous-menu-bouton[aria-expanded="true"]::before{transform:rotate(-135deg) translateY(-2px)}
.sous-menu>ul{display:none;position:absolute;top:100%;left:-1rem;z-index:5;background:#fff;border:1px solid var(--trait);box-shadow:0 12px 24px -16px rgba(30,43,56,.45);padding:.5rem 0;min-width:15rem;flex-direction:column;gap:0}
.sous-menu>ul a{display:block;padding:.45rem 1rem;border:0;white-space:nowrap}
.sous-menu>ul a:hover,.sous-menu>ul a[aria-current="page"]{background:var(--papier);color:var(--encre)}
.sous-menu:hover>ul,.sous-menu:focus-within>ul,.sous-menu.ouvert>ul{display:flex}

/* Grille des livres */
.grille-livres{display:grid;grid-template-columns:repeat(auto-fill,minmax(13.5rem,1fr));gap:clamp(1.5rem,3vw,2.5rem)}
.carte-livre{display:flex;flex-direction:column}
.carte-lien{color:var(--encre);text-decoration:none;display:flex;flex-direction:column}
.carte-lien .couverture{transition:transform .2s ease}
.carte-lien:hover .couverture{transform:translateY(-4px)}
.carte-lien:hover h3{color:var(--accent)}
.carte-statut{font-family:var(--crayon);font-size:1.3rem;color:var(--plume);margin:.9rem 0 .1rem}
.carte-livre h3{margin:0 0 .2rem}
.carte-genre{font-size:.95rem;color:var(--encre-douce);margin:0 0 .5rem}
.carte-livre p:last-child{font-size:1rem;margin:0}
.livres-accueil h2{margin-bottom:1.4rem}

/* Couvertures typographiques */
.couv-sous{font-style:italic;font-size:5cqw;margin-top:-2%;color:inherit;opacity:.85}
.couv-filet{display:block;width:30%;height:2px;background:currentColor;opacity:.5;margin-top:auto;margin-bottom:12%}
.couverture-texte .couv-titre{font-size:13cqw;line-height:1.05;margin-top:22%}
.teinte-a{background:var(--papier-2);color:var(--encre)}
.teinte-b{background:#fff;color:var(--plume)}
.teinte-b .couv-titre{color:var(--plume)}
.teinte-c{background:#1F3A56;color:#EAF2F9;border-color:#1F3A56}
.teinte-c .couv-titre{color:#fff}
.teinte-c .couv-filet{background:#C8413F;opacity:1}

/* Pages de livre */
.fil{font-size:.95rem;color:var(--encre-douce);margin-bottom:1.2rem}
.statut{font-family:var(--crayon);font-size:1.5rem;color:var(--plume);margin:0 0 .2rem}
.discret{color:var(--encre-douce);font-size:.9em}
.manuscrit{max-width:30rem;margin-top:1.5rem}
.autres-livres{border-top:1px solid var(--trait);padding-top:clamp(2rem,5vw,3rem)}
.autres-livres .grille-livres{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr))}
.livres-auteur .grille-livres{max-width:none}

/* Statistiques */
.stats-nav{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;align-items:baseline;margin-bottom:1.5rem;font-size:1rem}
.stats-chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:1rem;margin-bottom:2.5rem}
.stats-chiffres p{background:#fff;border:1px solid var(--trait);padding:1rem 1.2rem;margin:0;color:var(--encre-douce);font-size:1rem}
.stats-chiffres strong{display:block;font-size:2rem;color:var(--encre);font-weight:500}
.stats-graphe{display:flex;align-items:flex-end;gap:3px;height:12rem;background:#fff;border:1px solid var(--trait);padding:1rem 1rem 1.8rem;overflow-x:auto}
.stats-graphe span{flex:1 0 .9rem;height:100%;display:flex;flex-direction:column;justify-content:flex-end;position:relative}
.stats-graphe i{display:block;background:var(--accent);min-height:1px;border-radius:2px 2px 0 0}
.stats-graphe span:hover i{background:var(--plume)}
.stats-graphe b{position:absolute;bottom:-1.5rem;left:0;right:0;text-align:center;font-weight:400;font-size:.7rem;color:var(--encre-douce)}
.stats-tables{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:2rem;margin-top:2.5rem}
.stats-tables section{margin:0!important}
.page-stats table{width:100%;border-collapse:collapse;font-size:1rem;background:#fff;border:1px solid var(--trait)}
.page-stats th,.page-stats td{text-align:left;padding:.5rem .8rem;border-bottom:1px solid var(--papier-2)}
.page-stats th:last-child,.page-stats td:last-child{text-align:right;width:6rem}
.page-stats th{color:var(--encre-douce);font-weight:600}

.page-stats table{max-width:40rem}
.compteur{color:var(--encre-douce);text-decoration:none}
.compteur:hover{color:var(--accent)}

/* Message d'information confidentialité (non bloquant) */
.info-rgpd{position:fixed;left:1rem;bottom:1rem;z-index:20;max-width:26rem;background:#fff;border:1px solid var(--trait);border-left:4px solid var(--accent);box-shadow:0 12px 30px -14px rgba(30,43,56,.45);padding:.9rem 1rem;display:flex;gap:1rem;align-items:center;font-size:.95rem}
.info-rgpd[hidden]{display:none}
.info-rgpd p{margin:0}
.info-rgpd-fermer{flex:none;font:inherit;font-size:.9rem;background:var(--accent);color:#fff;border:0;border-radius:3px;padding:.45rem .8rem;cursor:pointer}
.info-rgpd-fermer:hover{background:var(--encre)}
@media (max-width:40rem){.info-rgpd{left:.6rem;right:.6rem;bottom:.6rem;max-width:none}}

/* Boutique */
.renvoi-boutique{font-size:1rem;margin-top:.6rem}
.formulaire-boutique{max-width:46rem}
.formulaire-boutique>section{margin-top:2.2rem!important}
.formulaire-boutique h2{font-size:1.45rem;margin-bottom:.8rem}
.article-boutique{display:grid;grid-template-columns:9rem 1fr;gap:1.5rem;align-items:start;background:#fff;border:1px solid var(--trait);padding:1.2rem;margin-bottom:1rem}
.article-boutique h3{margin:0 0 .2rem}
.article-boutique h3 a{color:var(--encre);text-decoration:none}
.article-boutique p{font-size:1rem;margin:0 0 .5rem}
.article-boutique label{margin-top:.6rem}
.prix{font-size:1.35rem!important;color:var(--plume);font-weight:600}
.formulaire select{font:inherit;font-size:1rem;padding:.45rem .6rem;border:1px solid #9CA895;border-radius:3px;background:#fff;color:var(--encre);min-width:5rem}
.facultatif{font-weight:400;color:var(--encre-douce);font-size:.9em}
.aide{font-size:.9rem;color:var(--encre-douce);margin:.35rem 0 0}
.bientot{font-size:.95rem;color:var(--encre-douce)}
.cp-ville{display:grid;grid-template-columns:9rem 1fr;gap:1rem}
.recap{background:var(--papier-2);padding:1.4rem 1.5rem;border:1px solid var(--trait)}
.recap-lignes{margin:0 0 1rem}
.recap-lignes div{display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid var(--trait)}
.recap-lignes dd{margin:0}
.recap-total{font-weight:600;font-size:1.2rem;border-bottom:0!important}
.case-cgv{margin-top:1rem!important}
.conditions{margin-top:3rem;max-width:46rem;border-top:1px solid var(--trait);padding-top:1rem}
.conditions summary{cursor:pointer;font-weight:600;font-size:1.1rem}
.conditions p{font-size:.95rem;margin-top:.8rem}
@media (max-width:40rem){.article-boutique{grid-template-columns:6rem 1fr;gap:1rem;padding:1rem}.cp-ville{grid-template-columns:7rem 1fr}}

/* Formulaire */
.formulaire{max-width:34rem}
.formulaire label{display:block;margin:1.1rem 0 .3rem;font-weight:600;font-size:1rem}
.formulaire input[type=text],.formulaire input[type=email],.formulaire input[type=tel],.formulaire textarea{width:100%;font:inherit;font-size:1rem;padding:.6rem .7rem;border:1px solid #9CA895;border-radius:3px;background:#fff;color:var(--encre)}
.formulaire [aria-invalid=true]{border-color:#A3242C}
.formulaire fieldset{border:0;padding:0;margin:0}
.formulaire legend{font-weight:600;font-size:1rem;margin-bottom:.3rem}
.formulaire .choix{font-weight:400;margin:.35rem 0;display:flex;gap:.5rem;align-items:baseline}
.formulaire .bouton{margin-top:1.4rem}
.info-commande{font-size:1rem;color:var(--encre-douce);margin-top:1rem}
.erreur{color:#A3242C;font-size:.95rem;margin:.3rem 0 0}
.message-erreur{background:#F7E1E2;color:#7A1A20;padding:.8rem 1rem;border-radius:3px;max-width:34rem}
.message-ok{background:var(--papier-2);padding:1.2rem 1.4rem;border-left:4px solid var(--accent);max-width:34rem}
.mention{font-size:.9rem;color:var(--encre-douce);margin-top:1.2rem}
.piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.js .champ-adresse[hidden]{display:none}
.page-legale h2{font-size:1.3rem;margin-top:2rem}
.page-legale p{max-width:var(--mesure)}

/* Pied de page */
.pied{border-top:1px solid var(--trait);background:var(--papier-2);margin-top:2rem}
.pied-int{max-width:var(--large);margin:0 auto;padding:2.5rem 1.25rem}
.pied-nom{margin-bottom:1rem;line-height:0}
.pied-nom img{height:2.4rem;width:auto}
.pied ul{list-style:none;margin:0 0 1.4rem;padding:0;display:flex;flex-wrap:wrap;gap:.3rem 1.3rem;font-size:1rem}
.pied-legal{font-size:.85rem;color:var(--encre-douce);margin:0}

/* Réseaux : Facebook et WhatsApp (v0.22.0) */
.icone{display:block;flex:none;width:1.35rem;height:1.35rem}
.pied ul.reseaux{gap:.5rem 1.4rem;margin-bottom:1.2rem}
.reseaux a{display:inline-flex;align-items:center;gap:.45rem;color:var(--encre-douce);text-decoration:none}
.reseaux a:hover{color:var(--accent)}
.autres-moyens{max-width:34rem;margin-top:clamp(2.5rem,6vw,3.5rem);border-top:1px solid var(--trait);padding-top:1.6rem}
.autres-moyens h2{font-size:1.45rem}
.moyens{list-style:none;margin:0;padding:0;display:grid;gap:1rem}
.moyen{display:flex;align-items:center;gap:.9rem;background:#fff;border:1px solid var(--trait);border-left:4px solid var(--accent);padding:.9rem 1.1rem;color:var(--encre);text-decoration:none}
.moyen:hover{background:var(--papier-2);color:var(--encre)}
.moyen .icone{width:1.8rem;height:1.8rem;color:var(--accent)}
.moyen span{display:flex;flex-direction:column;line-height:1.35;font-size:1rem;color:var(--encre-douce)}
.moyen strong{color:var(--encre);font-weight:600;font-size:1.05rem}
.moyen-numero{font-size:.95rem;color:var(--encre-douce);margin:.45rem 0 0 1.2rem}
.tel-copie{position:relative;white-space:nowrap}
.bulle-copie{position:absolute;left:50%;bottom:calc(100% + .5rem);transform:translateX(-50%);background:var(--encre);color:#fff;font-size:.8rem;padding:.3rem .6rem;border-radius:3px;white-space:nowrap;pointer-events:none}
.bulle-copie::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--encre)}

/* Boutique, panier et paiement (v0.23.0) */
.boutique-livres{max-width:46rem}
.article-titre{font-size:1.45rem;margin:0 0 .2rem}
.article-titre a{color:var(--encre);text-decoration:none}
.article-boutique .bouton{margin-top:.8rem}
.ajout-ligne{display:grid;grid-template-columns:7rem 1fr;gap:1rem;align-items:end}
.ajout-ligne label{margin-top:.4rem}
.bandeau-panier{background:#fff;border:1px solid var(--trait);border-left:4px solid var(--accent);padding:.9rem 1.1rem;max-width:46rem;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem}
.bandeau-panier .bouton{padding:.5rem 1rem}
.reassurance{max-width:46rem;margin-top:2rem;display:grid;gap:.3rem;font-size:1rem;color:var(--encre-douce)}
.reassurance p{margin:0}
.etapes{list-style:none;padding:0;margin:.4rem 0 0;display:flex;flex-wrap:wrap;gap:.3rem 1.6rem;font-size:.95rem;color:var(--encre-douce);counter-reset:etape}
.etapes li{counter-increment:etape}
.etapes li::before{content:counter(etape) ". "}
.etapes li[aria-current]{color:var(--encre);font-weight:600}
.formulaire-panier{max-width:46rem}
.formulaire-panier>section{margin-top:2.2rem}
.formulaire-panier h2{font-size:1.45rem;margin-bottom:.8rem}
.ligne-panier{display:grid;grid-template-columns:6.5rem 1fr auto;gap:1.2rem;align-items:start;background:#fff;border:1px solid var(--trait);padding:1rem 1.1rem;margin-bottom:1rem}
.ligne-couv{display:block}
.ligne-corps h3{margin:0 0 .1rem}
.ligne-corps h3 a{color:var(--encre);text-decoration:none}
.ligne-pu{font-size:.95rem;color:var(--encre-douce);margin:0}
.ligne-actions{margin:.6rem 0 0}
.ligne-montant{font-weight:600;font-size:1.15rem;color:var(--plume);margin:0;white-space:nowrap}
.lien-bouton{background:none;border:0;padding:0;font:inherit;font-size:.95rem;color:var(--accent);text-decoration:none;cursor:pointer}
.lien-bouton:hover{color:var(--encre)}
.formulaire .actions .bouton{margin-top:0}
.commande-grille{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}
.commande-grille h2{font-size:1.45rem}
.commande-grille h3{font-size:1.1rem;margin-top:1.4rem}
.recap-livres{list-style:none;margin:0 0 1rem;padding:0}
.recap-livres li{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--trait)}
.paiement{background:#fff;border:1px solid var(--trait);padding:1.4rem 1.5rem}
.paypal-boutons{min-height:9rem;margin:1rem 0}
.a-la-remise{border-top:1px solid var(--trait);padding-top:1rem;margin-top:.5rem}
.a-la-remise .bouton{margin-top:.2rem}
.menu-panier a{display:inline-flex;align-items:center;gap:.35rem}
.menu-panier .icone{width:1.2rem;height:1.2rem}
.pastille{display:inline-block;min-width:1.3rem;padding:0 .35rem;border-radius:1rem;background:var(--accent);color:#fff;font-size:.8rem;line-height:1.3rem;text-align:center}
@media (max-width:52rem){.commande-grille{grid-template-columns:1fr}}
@media (max-width:40rem){.ligne-panier{grid-template-columns:4.5rem 1fr}.ligne-montant{grid-column:2}.ajout-ligne{grid-template-columns:1fr}}

/* Administration de la boutique (/admin/) */
.adm{background:#F7FAFD}
.adm-entete{background:var(--encre);color:#fff;padding:.8rem 1.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 2rem}
.adm-marque{color:#fff;text-decoration:none;font-weight:600}
.adm-entete nav{display:flex;flex-wrap:wrap;gap:.3rem 1.3rem;font-size:1rem}
.adm-entete nav a{color:#CFE2F2;text-decoration:none}
.adm-entete nav a:hover,.adm-entete nav a[aria-current]{color:#fff}
.adm-corps{max-width:var(--large);margin:0 auto;padding:2rem 1.25rem 4rem}
.adm-corps h1{font-size:clamp(1.8rem,4vw,2.4rem)}
.adm-corps h2{font-size:1.35rem;margin-top:1.8rem}
.adm-connexion{margin:4rem auto;background:#fff;border:1px solid var(--trait);padding:2rem}
.adm-connexion h1{font-size:1.6rem}
.adm-filtres{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:end;margin:1rem 0 1.4rem;font-size:1rem}
.adm-filtres label{display:flex;flex-direction:column;gap:.2rem;font-weight:600}
.adm-filtres input,.adm-filtres select{font:inherit;font-size:1rem;padding:.45rem .6rem;border:1px solid #9CA895;border-radius:3px;background:#fff}
.adm-defile{overflow-x:auto}
.adm-table{width:100%;border-collapse:collapse;font-size:.95rem;background:#fff;border:1px solid var(--trait)}
.adm-table th,.adm-table td{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--papier-2);vertical-align:top}
.adm-table th{color:var(--encre-douce);font-weight:600;white-space:nowrap}
.adm-table .num{text-align:right;white-space:nowrap}
.adm-total td{font-weight:700}
.adm-grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(22rem,1fr));gap:1.5rem;align-items:start}
.adm-carte{background:#fff;border:1px solid var(--trait);padding:1.3rem 1.4rem}
.adm-carte h2{margin-top:0}
.adm-pleine{grid-column:1/-1}
.adm-carte .formulaire{max-width:none}
.adm-champs{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:0 1.2rem}
.adm-message{background:var(--papier);padding:.8rem 1rem;border-left:3px solid var(--ciel)}
.adm-etiquette{border:1px dashed var(--trait);padding:.8rem 1rem;max-width:20rem}
.adm-historique{list-style:none;padding:0;margin:0;font-size:.95rem}
.adm-historique li{padding:.3rem 0;border-bottom:1px solid var(--papier-2)}
.adm-historique time{color:var(--encre-douce);margin-right:.6rem}
.adm-retour{font-size:.95rem;margin-bottom:.4rem}
.pastille-statut{display:inline-block;font-size:.8rem;font-weight:600;padding:.15rem .55rem;border-radius:1rem;background:var(--papier-2);color:var(--encre);vertical-align:middle;white-space:nowrap;font-family:var(--texte)}
.st-payee,.st-a_regler{background:#F6E7A6;color:#5B4A00}
.st-expediee,.st-remise{background:#D9EFD9;color:#1E5A24}
.st-annulee,.st-remboursee,.st-en_attente{background:#EDEFF2;color:#5A6470}
@media print{.adm-entete,.adm-retour,.adm-carte form,.adm-carte .bouton,.adm-historique,.adm-pleine h3{display:none}.adm-grille{display:block}.adm-carte{border:0;padding:0}}

/* ------------------------------------------------------------------
   Modernisation (v0.24.0)
   - liens sans soulignement : surligneur bleu ciel qui se pose au survol
   - en-tête qui reste en haut de l'écran, légèrement givré
   - menu en pastilles, boutons arrondis
   - lettres et plumes qui s'envolent dans le bandeau d'accueil et en haut des pages
   ------------------------------------------------------------------ */
:root{--surligne:rgba(142,192,230,.45);--ombre:0 18px 36px -22px rgba(30,43,56,.55)}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem}

/* Liens dans le texte : le surligneur glisse de gauche à droite */
main :is(p,li,dd,td,figcaption)>a:not([class]){background-image:linear-gradient(var(--surligne),var(--surligne));background-repeat:no-repeat;background-position:0 88%;background-size:0 40%;transition:background-size .3s ease,color .2s ease;padding:0 .05em}
main :is(p,li,dd,td,figcaption)>a:not([class]):hover,main :is(p,li,dd,td,figcaption)>a:not([class]):focus-visible{background-size:100% 40%;color:var(--encre)}

/* En-tête */
.entete{transition:box-shadow .25s ease,background-color .25s ease}
.marque img{transition:transform .35s ease}
.marque:hover img{transform:rotate(-1.5deg) scale(1.02)}
@media (min-width:40.01rem){
  .entete{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
  .entete.defile{box-shadow:0 10px 24px -20px rgba(30,43,56,.6);border-bottom-color:transparent}
  .menu ul{gap:.2rem .35rem}
  .menu a{padding:.35rem .8rem;border-bottom:0;border-radius:999px;transition:background-color .2s ease,color .2s ease}
  .menu a:hover{background:var(--papier)}
  .menu a[aria-current="page"],.menu a.actif{background:var(--papier-2);color:var(--encre);border-bottom:0}
  .menu-maison a{padding:.35rem .55rem}
  .sous-menu>ul a{border-radius:0}
}

/* Boutons */
.bouton{border-radius:999px;padding:.72rem 1.45rem;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}
.bouton:hover{transform:translateY(-2px);box-shadow:0 10px 20px -12px rgba(30,43,56,.6)}
.bouton:active{transform:none;box-shadow:none}
.menu-bouton,.info-rgpd-fermer{border-radius:999px}

/* Cartes et images */
.carte-lien .couverture{transition:transform .25s ease,box-shadow .25s ease}
.carte-lien:hover .couverture{transform:translateY(-6px) rotate(-.6deg);box-shadow:6px 6px 0 var(--papier-2),var(--ombre)}
.feuille{transition:transform .5s ease}
.feuille:hover{transform:rotate(0)}
.moyen{transition:background-color .2s ease,transform .2s ease}
.moyen:hover{transform:translateX(3px)}

/* Lettres et plumes qui s'envolent (comme les notes de musik5) */
.ouverture,.page-titre{position:relative}
.ouverture{overflow:hidden}
.ouverture>*,.page-titre>*{position:relative;z-index:1}
.envol{position:absolute;inset:0;pointer-events:none;z-index:0!important;overflow:hidden}
.page-titre .envol{inset:-1.5rem -1rem -1rem}
.glyphe{position:absolute;bottom:-60px;display:block;line-height:1;color:var(--plume);fill:currentColor;opacity:0;will-change:transform,opacity;font-family:var(--texte);font-style:italic;font-weight:500;animation-name:glyphe-monte,glyphe-balance;animation-timing-function:linear,ease-in-out;animation-iteration-count:1,infinite;animation-direction:normal,alternate}
.glyphe svg{display:block;width:100%;height:auto}
.glyphe-ciel{color:var(--accent)}
.glyphe-crayon{font-family:var(--crayon);font-style:normal}
@keyframes glyphe-monte{
  0%{transform:translate(0,0) rotate(0);opacity:0}
  12%{opacity:var(--opacite)}
  75%{opacity:var(--opacite)}
  100%{transform:translate(var(--derive),var(--hauteur,-600px)) rotate(var(--rotation));opacity:0}
}
@keyframes glyphe-balance{from{margin-left:-12px}to{margin-left:12px}}
.page-titre .glyphe{bottom:-30px}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .envol{display:none}
  .bouton:hover,.carte-lien:hover .couverture,.moyen:hover,.marque:hover img{transform:none}
}

/* Icônes Facebook et WhatsApp animées (v0.25.0)
   Au repos : un petit signe de vie de temps en temps (Facebook rebondit, WhatsApp sonne).
   Au survol : couleur de la marque et animation franche. */
.reseaux .icone,.moyen .icone{transform-origin:50% 60%;transition:color .2s ease}
a[href*="facebook"] .icone{animation:fb-repos 7s ease-in-out 2s infinite}
a[href*="wa.me"] .icone{animation:wa-repos 7s ease-in-out 5.5s infinite}
a[href*="facebook"]:hover .icone,a[href*="facebook"]:focus-visible .icone{color:#1877F2;animation:fb-saut .6s ease-out 1}
a[href*="wa.me"]:hover .icone,a[href*="wa.me"]:focus-visible .icone{color:#25D366;animation:wa-sonne .7s ease-in-out infinite}
@keyframes fb-repos{0%,90%,100%{transform:none}93%{transform:translateY(-3px) scale(1.08)}96%{transform:translateY(0) scale(.97)}}
@keyframes wa-repos{0%,88%,100%{transform:none}90%{transform:rotate(-12deg)}92%{transform:rotate(10deg)}94%{transform:rotate(-8deg)}96%{transform:rotate(5deg)}}
@keyframes fb-saut{0%{transform:none}35%{transform:translateY(-5px) scale(1.15)}65%{transform:translateY(1px) scale(.95)}100%{transform:none}}
@keyframes wa-sonne{0%,100%{transform:rotate(0) scale(1.1)}20%{transform:rotate(-14deg) scale(1.1)}40%{transform:rotate(12deg) scale(1.1)}60%{transform:rotate(-8deg) scale(1.1)}80%{transform:rotate(5deg) scale(1.1)}}
@media (prefers-reduced-motion:reduce){.reseaux .icone,.moyen .icone{animation:none!important}}

/* Petits écrans */
@media (max-width:52rem){
  .ouverture,.livre-apercu,.prochainement,.rencontres-apercu,.livre-tete,.deux-crayons,.portrait,.atelier{grid-template-columns:1fr}
  .rencontres-apercu figure{order:2}
  .fiche-courte{justify-self:start}
  .livre-apercu .couverture,.couverture-grande{max-width:15rem}
  .chronologie li,.fiche dl div{grid-template-columns:1fr;gap:.1rem}
}
@media (max-width:40rem){
  body{font-size:1.0625rem}
  .marque img{height:2.4rem}
  .js .menu-bouton{display:inline-block}
  .js .menu{width:100%}
  .js .menu[hidden]{display:none}
  .js .menu ul{flex-direction:column;gap:0}
  .js .menu a{display:block;padding:.6rem 0;border-bottom:1px solid var(--trait)}
  .js .menu a[aria-current="page"]{color:var(--accent)}
  .js .maison-texte{position:static;width:auto;height:auto;overflow:visible;clip:auto}
  .js .menu .menu-maison a{display:flex}
  .sous-menu{flex-wrap:wrap}
  .sous-menu>a{flex:1}
  .sous-menu-bouton{display:none}
  .sous-menu>ul,.sous-menu:hover>ul{display:flex;position:static;box-shadow:none;border:0;padding:0 0 0 1rem;min-width:0;width:100%}
  .js .sous-menu>ul a{padding:.5rem 0;border-bottom:1px solid var(--trait);white-space:normal}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.carte-lien:hover .couverture{transform:none}}
@media print{.entete nav,.menu-bouton,.bandeau-construction,.pied nav,.actions{display:none}.feuille{transform:none;box-shadow:none}}

/* ------------------------------------------------------------------
   Pleine largeur et texte justifié (v0.27.0)
   Les textes occupent toute la largeur du site (72rem) au lieu d'une colonne étroite,
   et sont justifiés avec césure automatique (la page est en lang="fr").
   Les images, couvertures, encadrés latéraux et le message de confidentialité gardent leur taille.
   ------------------------------------------------------------------ */
:root{--mesure:none}
.page-titre,.citation-preface blockquote,.citation-mur,.article-presse,
.courrier blockquote,.temoignages blockquote,.page-stats table,
.formulaire-boutique,.conditions,.formulaire,.message-erreur,.message-ok,
.autres-moyens,.boutique-livres,.bandeau-panier,.reassurance,.formulaire-panier{max-width:none}
.fiche{max-width:none!important}
main :is(p,li,blockquote,dd){text-align:justify;-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:7 3 3}
main :is(.actions,.note-crayon,.carte-statut,.statut,.prix,.ligne-montant,.fil,.etapes,.etapes li,.stats-chiffres p,.recap-lignes,.citation-preface footer){text-align:left;-webkit-hyphens:manual;hyphens:manual}
main h1,main h2,main h3{-webkit-hyphens:manual;hyphens:manual}

/* Prénom et nom sur une ligne (v0.28.0) */
.prenom-nom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 1rem}
@media (max-width:40rem){.prenom-nom{grid-template-columns:1fr}}

/* ------------------------------------------------------------------
   Blocs gérés depuis l'admin (v0.28.0)
   ------------------------------------------------------------------ */
/* Bandeau d'information en haut de toutes les pages */
.bandeau-info{background:var(--papier-2);border-bottom:1px solid var(--trait);color:var(--encre)}
.bandeau-info p{max-width:var(--large);margin:0 auto;padding:.55rem 1.25rem;text-align:center;font-size:1rem}
.bandeau-info a{font-weight:600}
.bandeau-fonce{background:var(--encre);border-color:var(--encre);color:#fff}
.bandeau-fonce a{color:var(--ciel)}
.bandeau-fonce a:hover{color:#fff}

/* Actualités sur l'accueil */
.grille-actus{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:clamp(1.2rem,3vw,2rem)}
.actu{background:#fff;border:1px solid var(--trait);border-top:4px solid var(--ciel);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.actu img{width:100%;aspect-ratio:16/10;object-fit:cover}
.actu-texte{padding:1.1rem 1.3rem 1.3rem}
.actu-texte h3{margin-bottom:.4rem}
.actu-texte p:last-child{margin-bottom:0}

/* Rencontres annoncées dans l'admin */
.rencontres-a-venir,.rencontres-passees{margin:0 0 clamp(2rem,5vw,3rem)}
.grille-rencontres{display:grid;grid-template-columns:repeat(auto-fit,minmax(19rem,1fr));gap:clamp(1.2rem,3vw,2rem)}
.rencontre{background:#fff;border:1px solid var(--trait);border-left:4px solid var(--accent);border-radius:6px;overflow:hidden;display:flex;flex-direction:column}
.rencontre img{width:100%;aspect-ratio:4/3;object-fit:cover}
.rencontre>div{padding:1.1rem 1.3rem 1.2rem}
.rencontre-date{font-family:var(--crayon);font-size:1.5rem;line-height:1.15;color:var(--plume);margin:0 0 .3rem;text-align:left!important}
.rencontre h3{margin:0 0 .2rem}
.rencontre-lieu{color:var(--encre-douce);font-size:1rem;margin-bottom:.6rem}

/* Photo placée dans une page depuis Admin > Photos */
.photo-page{display:block;margin:1rem 0;border-radius:4px;box-shadow:0 14px 30px -20px rgba(30,43,56,.5)}

/* Inscription à la lettre, au-dessus du pied de page */
.pied-lettre{background:#fff;border-bottom:1px solid var(--trait)}
.pied-lettre .pied-int{padding-top:1.6rem;padding-bottom:1.6rem}
.form-lettre{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem 2rem}
.form-lettre-texte{display:flex;flex-direction:column;max-width:34rem}
.form-lettre-texte strong{font-family:var(--crayon);font-weight:500;font-size:1.7rem;line-height:1.1;color:var(--plume)}
.form-lettre-texte span{color:var(--encre-douce);font-size:1rem}
.form-lettre-champ{display:flex;gap:.6rem;flex:1 1 22rem;max-width:30rem}
.form-lettre-champ input[type=email]{flex:1;min-width:0;font:inherit;font-size:1rem;padding:.65rem .9rem;border:1px solid #9fb3c4;border-radius:999px;background:#fff;color:var(--encre)}
.form-lettre-champ .bouton{white-space:nowrap}
.page-inscription .form-lettre{background:#fff;border:1px solid var(--trait);border-radius:6px;padding:1.3rem 1.5rem}

/* Page en brouillon (vue par l'administrateur) */
.mb-brouillon{background:#F6E7A6;color:#5B4A00;padding:.7rem 1rem;border-radius:4px;font-size:1rem;text-align:left!important}
@media print{.pied-lettre,.bandeau-info{display:none}}

/* Nouvelles photos (v0.29.0) */
.portrait-photo{max-width:26rem}
.voyage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:clamp(2rem,5vw,4rem);align-items:center}
.galerie{display:grid;grid-template-columns:2fr 1fr 1fr;gap:clamp(1rem,2.5vw,1.6rem);align-items:start;margin-top:clamp(1.5rem,4vw,2.5rem)}
.galerie img{width:100%;border:1px solid var(--trait);background:#fff;box-shadow:0 14px 30px -22px rgba(30,43,56,.5)}
.galerie figcaption{font-size:1.25rem}
.lettre{margin:0 0 1.6rem}
.lettre img{border:1px solid var(--trait);box-shadow:0 14px 30px -22px rgba(30,43,56,.5)}
@media (max-width:52rem){.voyage{grid-template-columns:1fr}.galerie{grid-template-columns:1fr 1fr}.galerie figure:first-child{grid-column:1/-1}}
.chronologie li{grid-template-columns:11.5rem 1fr}
@media (max-width:52rem){.chronologie li{grid-template-columns:1fr}}

/* Couvertures en image et résumés (v0.30.0) */
.couverture-image{padding:0;overflow:hidden;background:#1E2B38}
.couverture-image picture,.couverture-image img{display:block;width:100%;height:100%}
.couverture-image img{object-fit:cover}
.resume-livre p{max-width:none}
.resume-livre p:first-of-type::first-letter{font-size:3.1em;line-height:.9;float:left;padding:.08em .1em 0 0;color:var(--plume);font-weight:500}

/* Menu à 8 entrées (v0.32.0) : pastilles resserrées pour tenir sur une ligne à côté du logo */
@media (min-width:40.01rem){
  .entete-int{flex-wrap:nowrap}
  .menu ul{gap:.15rem .1rem;justify-content:flex-end}
  .menu a{padding:.35rem .55rem;font-size:.97rem}
}
@media (min-width:40.01rem) and (max-width:72rem){
  .entete-int{flex-wrap:wrap}
  .menu ul{justify-content:flex-start}
}

/* Texte non selectionnable, sauf courriels et numeros de telephone (0.35.1) */
body:not(.mb-edition){ -webkit-user-select: none; user-select: none; }
body:not(.mb-edition) a[href^="tel:"], body:not(.mb-edition) a[href^="mailto:"], body:not(.mb-edition) .sel-ok,
input, textarea, select, [contenteditable="true"]{ -webkit-user-select: text; user-select: text; }
