:root{
  --parchemin:#f3ede1;
  --parchemin-fonce:#e8ddc9;
  --encre:#23201b;
  --encre-douce:#4a443a;
  --roux:#9d3f25;        /* le roux du milan */
  --roux-fonce:#7a2f1b;
  --ambre:#c98a1e;       /* l'œil jaune */
  --basalte:#2b2824;
  --filet:#cabfa9;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--parchemin);
  color:var(--encre);
  font-family:'EB Garamond',Georgia,serif;
  font-size:19px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(ellipse 80% 50% at 50% -10%, rgba(201,138,30,.06), transparent 60%),
    radial-gradient(ellipse 60% 40% at 50% 110%, rgba(157,63,37,.05), transparent 60%);
  background-attachment:fixed;
}
.page{
  max-width:680px;
  margin:0 auto;
  padding:clamp(2.5rem,7vw,6rem) clamp(1.4rem,5vw,2.5rem) 3rem;
}

/* --- En-tête : l'oiseau et ses cercles --- */
.entete{text-align:center;position:relative}
.cercles{
  position:relative;
  width:clamp(190px,46vw,260px);
  height:clamp(190px,46vw,260px);
  margin:0 auto clamp(1.5rem,4vw,2.5rem);
  display:flex;align-items:center;justify-content:center;
}
.cercles svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.cercles circle{fill:none;stroke:var(--filet);opacity:.55}
.oiseau{
  position:relative;
  width:72%;
  height:auto;
  z-index:2;
  filter:drop-shadow(0 14px 22px rgba(43,40,36,.18));
  animation:planer 9s ease-in-out infinite;
}
@keyframes planer{
  0%,100%{transform:translateY(0) rotate(-1.5deg)}
  50%{transform:translateY(-10px) rotate(1.5deg)}
}
/* repli si l'image manque */
.oiseau-absent{
  width:72%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 50% 40%,var(--roux),var(--roux-fonce));
  display:flex;align-items:center;justify-content:center;
  color:var(--parchemin);font-family:'Cormorant Garamond',serif;
  font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;
}

.surtitre{
  font-family:'Cormorant Garamond',serif;
  text-transform:uppercase;
  letter-spacing:.42em;
  font-size:.72rem;
  color:var(--roux);
  margin-bottom:1rem;
  padding-left:.42em;
}
h1{
  font-family:'Cormorant Garamond',serif;
  font-weight:500;
  font-size:clamp(3.4rem,13vw,5.6rem);
  line-height:.92;
  letter-spacing:.01em;
  color:var(--basalte);
}
h1 .apostrophe{color:var(--roux)}
.auteur{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.5rem;
  color:var(--encre-douce);
  margin-top:1.1rem;
}

/* --- Filet décoratif --- */
.filet{
  display:flex;align-items:center;justify-content:center;gap:.9rem;
  margin:clamp(2rem,6vw,3.2rem) auto;
  color:var(--filet);
}
.filet::before,.filet::after{
  content:"";height:1px;width:min(120px,22vw);
  background:linear-gradient(to right,transparent,var(--filet),transparent);
}
.filet span{
  width:7px;height:7px;border:1px solid var(--roux);
  transform:rotate(45deg);flex:none;
}

/* --- Corps du résumé --- */
.accroche{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.45rem,4.4vw,1.85rem);
  line-height:1.45;
  text-align:center;
  color:var(--basalte);
  margin-bottom:.4rem;
}
.triptyque{
  text-align:center;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.5rem;
  color:var(--roux-fonce);
  letter-spacing:.04em;
  margin:1.6rem 0 2rem;
}
p{margin-bottom:1.35rem;text-align:justify;hyphens:auto}
.corps p:first-of-type::first-letter{
  font-family:'Cormorant Garamond',serif;
  float:left;font-size:3.6rem;line-height:.78;
  padding:.05em .12em 0 0;color:var(--roux);font-weight:500;
}
.titre-livre{font-style:italic;color:var(--roux-fonce)}
em.lieu{font-style:italic;color:var(--encre-douce)}

.cloture{
  text-align:center;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.75rem;
  color:var(--basalte);
  margin:2.6rem 0 0;
  letter-spacing:.03em;
}
.points{color:var(--roux);font-style:normal}

/* --- Pied : contact --- */
.contact{
  margin-top:clamp(3rem,8vw,4.5rem);
  padding-top:2rem;
  border-top:1px solid var(--filet);
  text-align:center;
}
.contact a{
  color:var(--roux-fonce);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color .25s,color .25s;
  font-size:1.05rem;
}
.contact a:hover{color:var(--roux);border-bottom-color:var(--ambre)}
.contact .sep{color:var(--filet);margin:0 .9rem}
.contact .ligne{margin-bottom:.5rem;display:flex;justify-content:center;align-items:baseline}

/* --- Formulaire de contact discret --- */
.contact-discret{
  text-align:left;
  max-width:420px;
  margin:0 auto 1.6rem;
}
.contact-discret summary{
  text-align:center;
  cursor:pointer;
  color:var(--roux-fonce);
  font-style:italic;
  font-family:'Cormorant Garamond',serif;
  font-size:1.05rem;
  list-style:none;
}
.contact-discret summary::-webkit-details-marker{display:none}
.contact-discret summary:hover{color:var(--roux)}
.contact-discret[open] summary{margin-bottom:1.2rem}
.escoufle-form{
  display:flex;
  flex-direction:column;
  gap:1rem;
}
.escoufle-input{
  width:100%;
  font-family:'EB Garamond',Georgia,serif;
  font-size:1rem;
  padding:.85em 1em;
  border:1px solid var(--filet);
  border-radius:6px;
  background:#fff;
  color:var(--encre);
}
.escoufle-input:focus{
  outline:none;
  border-color:var(--roux);
  box-shadow:0 0 0 3px rgba(157,63,37,.12);
}
textarea.escoufle-input{resize:vertical}
.honeypot-field{
  position:absolute;
  left:-9999px;
  width:1px;height:1px;
  opacity:0;
}
.cta-submit{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.1rem;
  color:#fff;
  background:var(--roux);
  border:none;
  border-radius:999px;
  padding:.75em 1.5em;
  cursor:pointer;
  align-self:center;
  transition:background .25s;
}
.cta-submit:hover{background:var(--roux-fonce)}
.alert-success,.alert-error{
  border-radius:6px;
  padding:1em 1.2em;
  margin-bottom:1.2rem;
  font-size:.92rem;
}
.alert-success{background:#e8f3e6;color:#2c5d2a;border:1px solid #c5e0c1}
.alert-error{background:#fbeae8;color:#8a2c20;border:1px solid #f1c6bf}
.alert-error p{margin:0}
.mention{text-align:center}
.mention{
  font-family:'Cormorant Garamond',serif;
  font-size:.82rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--encre-douce);
  opacity:.7;
  margin-top:1.4rem;
}

/* --- Lien vers le gîte Les Coultades de l'Escoufle --- */
.lien-lieu{
  text-align:center;
  margin-top:1.4rem;
}
.lien-lieu a{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.05rem;
  color:var(--roux-fonce);
  text-decoration:none;
  border-bottom:1px solid rgba(122,47,27,.4);
  transition:border-color .25s,color .25s;
}
.lien-lieu a:hover{
  color:var(--roux);
  border-bottom-color:var(--ambre);
}

/* --- Couverture / lien vers Amazon --- */
.couverture{
  text-align:center;
  margin:clamp(2.2rem,6vw,3.2rem) 0;
}
.couverture a{
  display:inline-block;
  text-decoration:none;
}
.cta{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.3rem;
  color:var(--roux-fonce);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:border-color .25s,color .25s;
}
.cta:hover{
  color:var(--roux);
  border-bottom-color:var(--ambre);
}
.couverture .cta{
  display:block;
  margin-bottom:1.1rem;
}
.couverture img{
  display:block;
  width:min(280px,62vw);
  height:auto;
  border-radius:3px;
  box-shadow:0 16px 32px rgba(43,40,36,.28);
  transition:transform .25s,box-shadow .25s;
}
.broche-info{
  margin-top:1.4rem;
  font-size:.92rem;
  color:var(--encre-douce);
  text-align:center;
}
.broche-info a{
  color:var(--roux-fonce);
  text-decoration:none;
  border-bottom:1px solid rgba(122,47,27,.4);
  transition:border-color .25s,color .25s;
}
.broche-info a:hover{
  color:var(--roux);
  border-bottom-color:var(--ambre);
}
.couverture a:hover img{
  transform:translateY(-5px);
  box-shadow:0 22px 38px rgba(43,40,36,.32);
}
@media (max-width:480px){
  p{text-align:left}
  .contact .sep{display:block;height:0;margin:.3rem 0;overflow:hidden}
}

/* ====================================================
   Pages d'extraits
   ==================================================== */

.entete-mini .cercles{
  width:clamp(90px,20vw,120px);
  height:clamp(90px,20vw,120px);
  margin-bottom:clamp(.6rem,1.5vw,1rem);
}
.entete-mini .surtitre{margin-bottom:.3rem}
.entete-mini .auteur{font-size:1.1rem;margin-top:.5rem}
.entete-mini .auteur a{color:inherit;text-decoration:none;transition:color .25s}
.entete-mini .auteur a:hover{color:var(--roux)}
.entete-mini .auteur .apostrophe{color:var(--roux)}

.extrait-chapeau{
  font-family:'Cormorant Garamond',serif;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.4em;
  color:var(--roux);
  text-align:center;
  margin-bottom:.5rem;
  padding-left:.4em;
}
h1.extrait-titre{
  font-family:'Cormorant Garamond',serif;
  font-weight:500;
  font-size:clamp(1.55rem,5.5vw,2.2rem);
  line-height:1.2;
  color:var(--basalte);
  text-align:center;
  margin:0 0 1.8rem;
  letter-spacing:.01em;
}
.extrait-contexte{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:.9rem;
  color:var(--encre-douce);
  text-align:center;
  margin-bottom:1.4rem;
  opacity:.85;
}
.extrait-corps{
  border-left:2px solid var(--roux);
  padding-left:clamp(1rem,3vw,1.6rem);
  margin:1.8rem 0 2.4rem;
}
.extrait-corps p{margin-bottom:1.1rem}
.extrait-corps p:first-child::first-letter{
  font-family:'Cormorant Garamond',serif;
  float:left;
  font-size:3.4rem;
  line-height:.78;
  padding:.05em .12em 0 0;
  color:var(--roux);
  font-weight:500;
}
.sep-etoiles{
  text-align:center;
  color:var(--filet);
  letter-spacing:.5em;
  margin:1.4rem 0;
  font-family:'Cormorant Garamond',serif;
}
.extrait-suite{
  text-align:center;
  margin:2.4rem 0;
  padding:1.6rem 1.4rem;
  border:1px solid var(--filet);
  border-radius:4px;
  background:rgba(201,138,30,.035);
}
.extrait-suite p{
  text-align:center;
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1.05rem;
  color:var(--encre-douce);
  margin-bottom:1.2rem;
}
.extrait-pied{
  margin-top:clamp(2rem,6vw,3.5rem);
  padding-top:1.4rem;
  border-top:1px solid var(--filet);
  text-align:center;
}
.extrait-pied a{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:1rem;
  color:var(--roux-fonce);
  text-decoration:none;
  border-bottom:1px solid rgba(122,47,27,.4);
  transition:border-color .25s,color .25s;
}
.extrait-pied a:hover{color:var(--roux);border-bottom-color:var(--ambre)}
.extrait-pied .mention{margin-top:1.4rem}
.extrait-nav{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
}
.extrait-nav > *{flex:1}
.nav-home{text-align:center}
.nav-next{text-align:right}

/* Section extraits dans index.php */
.extraits-section{margin:2rem 0 1.6rem}
.extraits-titre{
  font-family:'Cormorant Garamond',serif;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.4em;
  color:var(--roux);
  text-align:center;
  margin-bottom:1rem;
  padding-left:.4em;
}
.extraits-liste{list-style:none;display:flex;flex-direction:column;gap:.6rem}
.extraits-liste li{display:flex;align-items:baseline;gap:.7em}
.extraits-liste li::before{
  content:'-';
  color:var(--roux);
  flex:none;
  font-family:'Cormorant Garamond',serif;
}
.extraits-liste a{
  font-family:'Cormorant Garamond',serif;
  font-size:1.02rem;
  color:var(--encre-douce);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .25s,border-color .25s;
}
.extraits-liste a:hover{color:var(--roux);border-bottom-color:var(--ambre)}

/* --- Réseaux sociaux --- */
.reseaux{display:flex;justify-content:center;gap:1.4rem;margin:1.2rem 0 .4rem}
.reseau-lien{display:flex;color:var(--filet);transition:color .25s}
.reseau-lien:hover{color:var(--roux)}
.reseau-lien svg{width:1.5rem;height:1.5rem}
