/* Page « Randonnée près de <ville> » — refonte du 22/10/2026, d'après la maquette validée par François.
   Jetons LGPO : Poppins, ink #2a3342, secondaire #556987 (5,6:1), filet #e4dfd7, fond #fbfaf8, rayon 8 px, aucune étoile.
   Rouge : #d63a30 pour les boutons et les liens (4,7:1 sur blanc) ; le #ee4136 de la marque n'atteint que 3,9:1 et ne porte aucun texte ici.
   Pas de « container » Tailwind (200 px sous 640 px) : .cn-wrap. Préfixe cn- partout, rien ne touche les autres pages. */

.cn{--cn-ink:#2a3342;--cn-sub:#556987;--cn-line:#e4dfd7;--cn-bg:#fbfaf8;--cn-acc:#d63a30;--cn-accd:#b8302a;--cn-dark:#18202c;
    background:var(--cn-bg);color:var(--cn-ink);font-family:Poppins,system-ui,sans-serif;font-size:15px;line-height:1.55;overflow-x:clip}
.cn *{box-sizing:border-box}
.cn a{color:inherit;text-decoration:none}
.cn h1,.cn h2,.cn h3,.cn p,.cn ul,.cn ol{margin:0;padding:0}
.cn ul,.cn ol{list-style:none}
.cn img{display:block;max-width:100%}
.cn .cn-i{width:1em;height:1em;flex:none}
.cn button,.cn select{font:inherit;color:inherit}
.cn :focus-visible{outline:2px solid var(--cn-ink);outline-offset:2px;border-radius:4px}
.cn-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cn-wrap{max-width:1440px;margin:0 auto;padding:0 56px}
.cn-sec{padding-top:56px}
.cn h2{font-size:30px;font-weight:600;line-height:1.2;letter-spacing:-.01em}

/* ── Héros : la photo en entier (bande 1600 x 500), rien dessus que le texte ── */
.cn-hero{position:relative;background:var(--cn-bg)}
.cn-hero-pic{aspect-ratio:1600/500;max-height:520px;overflow:hidden;background:var(--cn-line)}
.cn-hero-img{width:100%;height:100%;object-fit:cover}
.cn-hero-text{padding:20px 16px 16px}
.cn-crumb{font-size:12px;margin-bottom:14px}
.cn-crumb ol{display:flex;flex-wrap:wrap;gap:0 6px}
.cn-crumb li+li::before{content:"/";margin-right:6px;opacity:.7}
.cn-crumb a{text-decoration:underline;text-underline-offset:2px}
.cn-hero h1{font-size:32px;font-weight:500;line-height:1.1;letter-spacing:-.01em}
.cn-tag{font-size:18px;font-weight:400;margin-top:14px;line-height:1.3}

@media (min-width:1024px){
  .cn-hero-text{padding:0 max(56px,calc((100vw - 1440px)/2 + 56px))}
  .cn-hero--none .cn-hero-text,.cn-hero--below .cn-hero-text{padding-top:28px;padding-bottom:8px}
  .cn-hero h1{font-size:clamp(2.2rem,3.6vw,3.4rem)}
  .cn-tag{font-size:clamp(1.1rem,1.6vw,1.5rem);margin-top:12px}
  .cn-crumb{margin-bottom:clamp(14px,1.8vw,26px)}
  /* Le texte sur la photo : sa couleur est CALCULÉE (HeroContrast) et la zone mesurée est celle-ci (en haut à gauche). */
  .cn-hero--over .cn-hero-text{position:absolute;left:0;top:0;width:64%;padding-top:clamp(14px,1.7vw,24px);padding-bottom:0}
  .cn-hero--dark .cn-hero-text{color:var(--cn-dark)}
  .cn-hero--light .cn-hero-text{color:#fff}
}
/* En mobile, le texte est toujours AU-DESSUS de la photo : rien n'est posé dessus. */
@media (max-width:1023px){
  .cn-hero{display:flex;flex-direction:column}
  .cn-hero-text{order:-1}
  .cn-hero-pic{aspect-ratio:auto;height:200px}
}
.cn-lead{display:flex;justify-content:space-between;align-items:flex-start;gap:8px 32px;padding-top:20px}
.cn-lead p:first-child{font-size:15px;max-width:640px;color:#3d4a5c}
.cn-credit{font-size:12px;color:var(--cn-sub);white-space:nowrap}
.cn-credit a{text-decoration:underline;text-underline-offset:2px}

/* ── Départ et filtres ── */
.cn-flt{padding-top:18px}
.cn-dep{display:flex;justify-content:space-between;align-items:center;gap:8px 24px;font-size:15px;position:relative}
.cn-dep-l,.cn-dep-r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.cn-dep-l .cn-i{font-size:22px}
.cn-i-acc{color:var(--cn-acc)}
.cn-dep b{font-weight:600}
.cn-change{position:relative}
.cn-change summary{list-style:none;cursor:pointer;color:var(--cn-acc);font-size:13px;font-weight:500;text-decoration:underline;text-underline-offset:3px}
.cn-change summary::-webkit-details-marker{display:none}
.cn-change ul{position:absolute;z-index:20;top:calc(100% + 8px);left:0;min-width:240px;max-height:320px;overflow:auto;background:#fff;border:1px solid var(--cn-line);border-radius:8px;padding:6px;box-shadow:0 8px 24px rgba(24,32,44,.12)}
.cn-change li a{display:block;padding:7px 10px;border-radius:6px;font-size:14px}
.cn-change li a:hover{background:var(--cn-bg)}
.cn-linkbtn{display:inline-flex;gap:8px;align-items:center;background:none;border:0;padding:4px 0;font-size:13px;cursor:pointer}
.cn-linkbtn .cn-i{font-size:16px}
.cn-msg{font-size:12px;color:var(--cn-sub)}
.cn-fbox{margin-top:14px;border:1px solid var(--cn-line);border-radius:8px;background:#fff;padding:18px 22px 12px;display:grid;grid-template-columns:1.2fr 1.3fr .9fr .9fr;gap:28px;align-items:end}
.cn-lab{display:block;font-size:12px;font-weight:600;margin-bottom:8px}
.cn-seg{display:flex;border:1px solid var(--cn-line);border-radius:8px;overflow:hidden}
.cn-seg button{flex:1;text-align:center;padding:9px 0;font-size:13px;background:#fff;border:0;cursor:pointer;min-height:40px}
.cn-seg button+button{border-left:1px solid var(--cn-line)}
.cn-seg button[aria-pressed=true]{background:var(--cn-ink);color:#fff}
.cn-sel{width:100%;border:1px solid var(--cn-line);border-radius:8px;padding:9px 34px 9px 12px;font-size:13px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232a3342' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center/16px;appearance:none;-webkit-appearance:none;min-height:40px;cursor:pointer}
.cn-switch{width:48px;height:28px;border-radius:14px;background:#8a929e;border:0;position:relative;cursor:pointer;padding:0}
.cn-switch i{position:absolute;left:3px;top:3px;width:22px;height:22px;border-radius:50%;background:#fff;transition:left .15s}
.cn-switch[aria-checked=true]{background:var(--cn-ink)}
.cn-switch[aria-checked=true] i{left:23px}
.cn-note{grid-column:1/-1;text-align:center;font-size:12px;color:var(--cn-sub)}

/* ── Titres de section ── */
.cn-sh{display:flex;align-items:baseline;gap:8px 20px;margin-bottom:18px;flex-wrap:wrap}
.cn-sh .cn-rl,.cn-sh .cn-tools{margin-left:auto}
.cn a.cn-rl,.cn .cn-rl{color:var(--cn-acc);font-size:13px;font-weight:500;display:inline-flex;gap:6px;align-items:center;text-decoration:underline;text-underline-offset:3px}
.cn-rl .cn-i{font-size:14px}
.cn-cnt{font-size:12px;color:var(--cn-sub)}

/* ── 3 idées : la photo mène ── */
.cn-g3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cn-idea{background:#fff;border:1px solid var(--cn-line);border-radius:8px;overflow:hidden;display:flex;flex-direction:column}
.cn-idea-img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--cn-line)}
.cn-idea-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.cn-m{display:flex;gap:6px 18px;font-size:12px;color:var(--cn-sub);flex-wrap:wrap}
.cn-m span{display:inline-flex;gap:6px;align-items:center}
.cn-m .cn-i{font-size:16px;color:var(--cn-ink)}
.cn-m b{color:var(--cn-ink);font-weight:600}
.cn-idea-title{font-size:22px;font-weight:600;margin-top:14px;line-height:1.25}
.cn-idea-txt{font-size:14px;color:#4a5a73;margin-top:6px}
.cn-dogline{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--cn-sub);margin-top:12px}
.cn-dogline .cn-i{font-size:18px;color:var(--cn-ink)}
.cn-btn{margin-top:auto;align-self:flex-start;background:var(--cn-acc);color:#fff!important;border-radius:8px;padding:11px 18px;font-size:14px;font-weight:500;display:inline-flex;gap:10px;align-items:center;white-space:nowrap;min-height:44px}
.cn-idea-body .cn-dogline+.cn-btn{margin-top:14px}
.cn-btn:hover{background:var(--cn-accd)}
.cn-btn .cn-i{font-size:16px}
.cn-idea-title a::after{content:"";position:absolute;inset:0}
.cn-idea{position:relative}
.cn-idea .cn-btn{position:relative;z-index:1}

/* ── Liste : 2 colonnes, cartes photo ── */
.cn-tools{display:flex;gap:12px;align-items:center}
.cn-sel-sm{padding:7px 32px 7px 12px;font-size:12.5px;width:auto;min-height:36px}
.cn-g2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.cn-item[hidden]{display:none}
.cn-js .cn-item[data-x]{display:none}
.cn-row{position:relative;display:grid;grid-template-columns:220px 1fr;background:#fff;border:1px solid var(--cn-line);border-radius:8px;overflow:hidden;height:100%}
.cn-row-img{width:100%;height:100%;min-height:150px;object-fit:cover;background:var(--cn-line)}
.cn-row-body{padding:14px 16px}
.cn-row-name{font-size:16px;font-weight:600;line-height:1.3}
.cn-row-name a::after{content:"";position:absolute;inset:0}
.cn-place{font-size:12.5px;color:var(--cn-sub);margin-top:2px}
.cn-out{display:inline-block;margin-left:6px;background:#eceae6;color:var(--cn-ink);border-radius:6px;padding:1px 8px;font-size:11.5px}
.cn-row .cn-m{margin-top:8px}
.cn-lv{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:12.5px;color:var(--cn-sub);margin-top:6px}
.cn-lv span{display:inline-flex;gap:5px;align-items:center}
.cn-lv .cn-i{font-size:15px;color:var(--cn-ink)}
.cn-empty{margin-top:8px;color:var(--cn-sub);font-size:14px}
.cn-more{text-align:center;margin-top:28px}
.cn-btn2{border:1px solid var(--cn-ink);border-radius:8px;padding:11px 22px;font-size:14px;font-weight:500;display:inline-flex;gap:10px;align-items:center;background:#fff;cursor:pointer;min-height:44px}
.cn-btn2 .cn-i{font-size:16px}

/* ── Une demi-journée ── */
.cn-half{margin-top:56px;background:#f1eee8;display:grid;grid-template-columns:42% 1fr;align-items:stretch}
.cn-half-img{width:100%;height:100%;min-height:380px;object-fit:cover}
.cn-half-body{padding:48px max(56px,calc((100vw - 1440px)/2 + 56px)) 48px 56px;align-self:center}
.cn-half:not(:has(.cn-half-img)){grid-template-columns:1fr}
.cn-half:not(:has(.cn-half-img)) .cn-half-body{padding-left:max(56px,calc((100vw - 1440px)/2 + 56px))}
.cn-sub{font-size:19px;color:#3d4a5c;margin-top:8px}
.cn-tips{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:34px}
.cn-tip-i{display:block;margin-bottom:10px;line-height:1}
.cn-tip-i .cn-i-lg{font-size:42px;color:var(--cn-ink)}
.cn-tips b{font-size:14px;font-weight:600;display:block;line-height:1.35}
.cn-tips p{font-size:13px;color:var(--cn-sub);margin-top:6px;line-height:1.5}

/* ── Et sans voiture ? ── */
.cn-sec h2+.cn-g2,.cn-sec h2+.cn-g4,.cn-sec h2+.cn-nocar-note{margin-top:18px}
.cn-ncc{display:grid;grid-template-columns:200px 1fr;gap:20px;background:#fff;border:1px solid var(--cn-line);border-radius:8px;padding:12px;align-items:start;position:relative}
.cn-ncc-img{width:100%;height:170px;object-fit:cover;border-radius:6px}
.cn-ncc-title{font-size:18px;font-weight:600;line-height:1.3}
.cn-ncc-title a::after{content:"";position:absolute;inset:0}
.cn-ncc-txt{font-size:13.5px;color:#4a5a73;margin-top:6px}
.cn-ncc .cn-rl{margin-top:10px;position:relative;z-index:1}
.cn-nocar-note{background:#fff;border:1px solid var(--cn-line);border-radius:8px;padding:20px 24px;max-width:760px}
.cn-nocar-note p{font-size:14.5px;color:#3d4a5c}
.cn-nocar-note p+p{margin-top:8px}
.cn-nocar-note .cn-rl{margin-top:12px}

/* ── Au fil des saisons ── */
.cn-g4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cn-se-img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px;background:var(--cn-line)}
.cn-se-label{font-size:17px;font-weight:600;margin-top:12px}
.cn-se:not(:has(.cn-se-img)){border-top:3px solid var(--cn-line);padding-top:10px}
.cn-se:not(:has(.cn-se-img)) .cn-se-label{margin-top:0}
.cn-se-txt{font-size:13.5px;color:var(--cn-sub);margin-top:4px;line-height:1.5}
.cn-se-more summary{list-style:none;cursor:pointer;font-size:12.5px;color:var(--cn-acc);margin-top:6px;text-decoration:underline;text-underline-offset:3px}
.cn-se-more summary::-webkit-details-marker{display:none}
.cn-se-more p{font-size:13px;color:#4a5a73;margin-top:6px;line-height:1.5}

/* ── FAQ + Explorer aussi ── */
.cn-fx{display:grid;grid-template-columns:1.5fr 1fr;gap:64px}
.cn-fx:not(:has(.cn-ex)),.cn-fx:not(:has(.cn-fq)){grid-template-columns:1fr}
.cn-fq h2{margin-bottom:18px}
.cn-qa{border:1px solid var(--cn-line);border-radius:8px;background:#fff;margin-top:10px}
.cn-qa summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;font-size:14.5px;cursor:pointer;list-style:none;min-height:48px}
.cn-qa summary::-webkit-details-marker{display:none}
.cn-qa summary .cn-i{font-size:18px;transition:transform .15s}
.cn-qa[open] summary .cn-i{transform:rotate(45deg)}
.cn-qa p{padding:0 18px 16px;font-size:14px;color:#4a5a73}
.cn-ex h2{font-size:24px;margin-bottom:18px}
.cn-ei{display:flex;align-items:center;gap:16px;border:1px solid var(--cn-line);background:#fff;border-radius:8px;padding:8px 18px 8px 8px;margin-top:10px;font-size:14.5px;min-height:76px}
.cn-ei-img{width:92px;height:60px;border-radius:6px;object-fit:cover;flex:none;background:var(--cn-line)}
.cn-ei span{flex:1}
.cn-ei .cn-i{font-size:16px}

/* ── Guide gratuit (variante « pres-de » du composant LeadMagnetCTA) ── */
.cn-gd{display:grid;grid-template-columns:36% 1fr;gap:20px;align-items:center;background:#f1eee8;border:1px solid var(--cn-line);border-radius:8px;padding:36px 56px 36px 40px}
.cn-gd:not(:has(.cn-gd-cover)){grid-template-columns:1fr}
.cn-gd-cover{display:flex;justify-content:center}
.cn-gd-cover img{width:200px;max-height:270px;object-fit:cover;border-radius:3px 8px 8px 3px;box-shadow:10px 14px 26px rgba(0,0,0,.28);transform:rotate(-5deg)}
.cn-gd h2{font-size:34px}
.cn-gd-name{font-size:17px;font-weight:600;margin-top:10px}
.cn-gd-txt{font-size:14px;color:var(--cn-sub);margin-top:6px;max-width:520px}
.cn-gd .cn-btn{margin-top:20px}

/* ── Mobile ── */
@media (max-width:1023px){
  .cn-fbox{grid-template-columns:1fr 1fr;gap:16px;padding:16px}
  .cn-fbox .cn-fg:first-child{grid-column:1/-1}
  .cn-g3{grid-template-columns:1fr 1fr}
  .cn-g4{grid-template-columns:1fr 1fr}
  .cn-fx{grid-template-columns:1fr;gap:36px}
  .cn-tips{grid-template-columns:1fr;gap:20px}
}
@media (max-width:767px){
  .cn-fbox .cn-fg:nth-child(2){grid-column:1/-1}
  .cn-wrap{padding:0 16px}
  .cn-sec{padding-top:36px}
  .cn h2{font-size:24px}
  .cn-lead{flex-direction:column;padding-top:14px}
  .cn-dep{flex-direction:column;align-items:flex-start;gap:8px}
  .cn-g3,.cn-g2{grid-template-columns:1fr}
  .cn-g4{gap:14px}
  .cn-idea-img{aspect-ratio:16/9}
  .cn-sh .cn-rl,.cn-sh .cn-tools{margin-left:0;width:100%}
  .cn-sh .cn-cnt{width:100%}
  .cn-sel-sm{width:100%}
  .cn-row{grid-template-columns:118px 1fr}
  .cn-row-body{padding:10px 12px}
  .cn-row-name{font-size:14.5px}
  .cn-row .cn-m{flex-direction:column;gap:2px}
  .cn-half{grid-template-columns:1fr}
  .cn-half-img{min-height:0;height:220px}
  .cn-half-body,.cn-half:not(:has(.cn-half-img)) .cn-half-body{padding:28px 16px}
  .cn-tips li{display:grid;grid-template-columns:48px 1fr;column-gap:12px}
  .cn-tip-i{grid-row:1/3}
  .cn-tip-i .cn-i-lg{font-size:36px}
  .cn-ncc{grid-template-columns:1fr}
  .cn-ncc-img{height:170px}
  .cn-se-img{aspect-ratio:4/3}
  .cn-gd{grid-template-columns:1fr;padding:28px 16px;gap:30px}
  .cn-gd h2{font-size:26px}
  .cn-change ul{min-width:min(280px,calc(100vw - 32px))}
}
