/* =============================================================
   CARNET DE ROUTE — Camino Francès
   Feuille de style partagée pour les pages de récit (01 à 33).
   Tout est namespacé sous .camino-carnet pour ne jamais entrer
   en conflit avec le CSS global du site (menus, sidebar, footer).
   A inclure dans le <head> de chaque étape, après premier-head.html :
     <link rel="stylesheet" href="../css/carnet-route.css">
   ============================================================= */

.camino-carnet{
  --stone:#E8E2D0; --stone-2:#DED6BE; --stone-line:#C6BC9E;
  --paper:#F6F3E7; --ink:#26241D; --ink-soft:#55503F;
  --arrow:#D9A404; --arrow-dark:#9C7500; --green:#43583D; --red:#9C3B2C;
  font-family:'Piazzolla', Georgia, serif;
  color:var(--ink);
  background:var(--stone);
  padding:0 24px 10px;
  position:relative;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}
.camino-carnet *{ box-sizing:border-box; }
/* Empêche tout enfant de forcer une largeur minimale plus grande que la
   colonne (c'est ce qui fait passer la sidebar .col-md-3 en dessous en
   flexbox Bootstrap : un enfant "incompressible" quelque part). */
.camino-carnet, .camino-carnet *{ min-width:0; }
.camino-carnet img, .camino-carnet svg, .camino-carnet figure, .camino-carnet .frame{
  max-width:100%;
}
.camino-carnet .mono{ font-family:'Space Mono', monospace; letter-spacing:.02em; }
.camino-carnet a{ color:inherit; }

.camino-carnet::before{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  opacity:.4;
  background-image:radial-gradient(rgba(0,0,0,.05) 1px, transparent 1px);
  background-size:3px 3px;
}

/* ---- frise des 33 étapes ---- */
.camino-carnet .trail-strip{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px;
  background:var(--paper); border:1px solid var(--stone-line); border-radius:6px;
  padding:10px 16px; margin:0 0 34px; position:relative; z-index:1;
}
.camino-carnet .dots{ min-width:60px; }
.camino-carnet .trail-strip .brand{
  font-family:'Fraunces', serif; font-weight:700; font-size:14px;
  white-space:nowrap; border-right:1px solid var(--stone-line); padding-right:14px;
}
.camino-carnet .dots{ display:flex; gap:5px; overflow-x:auto; flex:1; }
.camino-carnet .dots span{ flex:0 0 auto; width:7px; height:7px; border-radius:50%; background:var(--stone-2); border:1px solid var(--stone-line); }
.camino-carnet .dots span.current{ background:var(--arrow); border-color:var(--arrow-dark); width:9px; height:9px; box-shadow:0 0 0 3px rgba(217,164,4,.18); }
.camino-carnet .stage-count{ font-size:11px; color:var(--ink-soft); white-space:nowrap; }

/* ---- hero ---- */
.camino-carnet .hero{ position:relative; z-index:1; padding:6px 4px 0; }
.camino-carnet .eyebrow{ display:flex; align-items:center; gap:8px; font-size:12px; text-transform:uppercase; letter-spacing:.14em; color:var(--arrow-dark); margin-bottom:16px; }
.camino-carnet h1.title{
  font-family:'Fraunces', serif; font-weight:600;
  font-size:clamp(2rem, 5vw, 3.4rem); line-height:1.04; letter-spacing:-.01em;
  margin:0 0 6px;
}
.camino-carnet h1.title .arrow-word{ font-style:italic; font-weight:500; color:var(--arrow-dark); padding:0 .1em; }
.camino-carnet .stamps{ display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 30px; }
.camino-carnet .stamp{ font-family:'Space Mono', monospace; font-size:12px; border:1.5px solid var(--ink); border-radius:3px; padding:6px 11px; transform:rotate(-1deg); background:var(--paper); }
.camino-carnet .stamp:nth-child(2){ transform:rotate(1.1deg); }
.camino-carnet .stamp:nth-child(3){ transform:rotate(-.6deg); border-color:var(--green); color:var(--green); }
.camino-carnet .ridge{ width:100%; height:80px; display:block; margin-bottom:8px; }
.camino-carnet .ridge path{ fill:none; stroke:var(--stone-line); stroke-width:1.4; }
.camino-carnet .ridge .accent{ stroke:var(--arrow); stroke-width:1.6; }

/* ---- corps de texte ---- */
.camino-carnet .recit{ position:relative; z-index:1; max-width:680px; font-size:1.07rem; line-height:1.72; }
.camino-carnet .recit p{ margin:0 0 1.3em; }
.camino-carnet .recit p:first-of-type .firstcharacter{
  font-family:'Fraunces', serif; font-weight:700; font-size:3.4em; float:left;
  line-height:.82; padding:.04em .08em 0 0; color:var(--green);
}
.camino-carnet .waypoint{ display:flex; align-items:center; gap:12px; margin:2.4em 0 1.9em; color:var(--ink-soft); font-size:.82rem; }
.camino-carnet .waypoint .line{ flex:1; height:1px; background:var(--stone-line); }
.camino-carnet .waypoint svg{ width:14px; height:14px; flex:0 0 auto; }

.camino-carnet figure{ margin:2.2em 0 2.4em; text-align:center; }
.camino-carnet figure .frame{
  display:inline-block;
  background:var(--paper); padding:10px 10px 40px; max-width:100%;
  box-shadow:0 10px 26px -14px rgba(38,36,29,.35), 0 1px 0 rgba(0,0,0,.05);
  position:relative;
  transform:rotate(-1.3deg) translateX(-10px);
}
.camino-carnet figure:nth-of-type(2n) .frame{ transform:rotate(1.3deg) translateX(10px); }
.camino-carnet figure img{ display:block; width:auto; max-width:100%; height:auto; margin:0; filter:saturate(.92) contrast(1.02); }
.camino-carnet figcaption{ font-family:'Space Mono', monospace; font-size:12.5px; font-style:italic; color:var(--ink-soft); position:absolute; bottom:12px; left:14px; right:14px; }

.camino-carnet .prix-tag{ display:inline-block; background:var(--paper); border-left:3px solid var(--green); padding:2px 10px; font-weight:600; }

.camino-carnet blockquote.closing{
  margin:2.6em 0 0; background:var(--paper); border-left:3px solid var(--arrow);
  padding:20px 24px; font-family:'Fraunces', serif; font-style:italic; font-weight:500; font-size:1.15rem;
}

/* ---- bouton étape suivante (flèche jaune existante) ---- */
.camino-carnet .next-stage{
  position:relative; z-index:1; margin:50px 0 10px; text-align:center;
  background:
    repeating-linear-gradient(115deg, rgba(0,0,0,.035) 0 2px, transparent 2px 5px),
    linear-gradient(180deg,#BDB59A,#A79E82);
  border-radius:8px; padding:26px 20px;
}
.camino-carnet .next-stage .next-label{ font-size:12px; text-transform:uppercase; letter-spacing:.14em; color:#F2ECD4; margin-bottom:14px; }
.camino-carnet .next-stage a{ display:inline-block; transition:transform .18s ease; }
.camino-carnet .next-stage a:hover{ transform:translateX(6px); }
.camino-carnet .next-stage img{ width:150px; height:auto; image-rendering:-webkit-optimize-contrast; }
.camino-carnet .next-stage .dest{ margin-top:12px; font-family:'Space Mono', monospace; font-size:12.5px; color:#EFE8CE; }

/* ---- bouton étape précédente (même flèche, orientée à gauche) ---- */
.camino-carnet .prev-stage{ display:inline-block; margin:0 0 20px; }
.camino-carnet .prev-stage img{ width:130px; height:auto; transform:scaleX(-1); }
.camino-carnet .prev-stage:hover img{ transform:scaleX(-1) translateX(6px); }

@media (max-width:600px){
  .camino-carnet .trail-strip{ padding:8px 12px; }
}