/* ==========================================================================
   Peau « Pine & Clay » ,  Wilderness Programs Guide
   Préfixe : wp- . Aucune requête externe, aucun SVG pour les visuels.
   ========================================================================== */

@font-face {
  font-family: 'Playfair Display';
  src: url('/playfair-display-v22-latin-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Open Sans';
  src: url('/open-sans-latin-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --wp-pin: #17402f;
  --wp-pin-clair: #265a44;
  --wp-argile: #c2542a;
  --wp-argile-brume: #e7b79c;
  --wp-papier: #f4efe4;
  --wp-craie: #fbf8f1;
  --wp-craie-chaude: #f2ead9;
  --wp-encre: #1d231c;
  --wp-encre-pale: #586058;
  --wp-filet: #d3c9b4;
  --wp-filet-fort: #a99c81;
  --wp-ocre: #b8862c;
  --wp-lisere: #1e388a;
  --wp-ombre-chaude: 0 10px 28px rgba(23, 64, 47, 0.14), 0 2px 6px rgba(23, 64, 47, 0.10);
  --wp-ombre-argile: 0 14px 34px rgba(194, 84, 42, 0.22), 0 3px 8px rgba(194, 84, 42, 0.14);
  --wp-ombre-douce: 0 6px 18px rgba(29, 35, 28, 0.10);
  --wp-ombre-vedette: 0 26px 60px rgba(23, 64, 47, 0.30);
  --wp-texte: 'Open Sans', -apple-system, 'Segoe UI', Roboto, sans-serif;
  --wp-titre: 'Playfair Display', Georgia, 'Palatino Linotype', serif;
  --wp-mono: ui-monospace, 'SFMono-Regular', 'Roboto Mono', monospace;
  --wp-rayon-carte: 16px;
  --wp-rayon-vue: 14px;
  --wp-rayon-pilule: 999px;
  --wp-ratio-scene: 3 / 2;
  --wp-ratio-vignette: 1 / 1;
  --wp-mesure: 68ch;
  --wp-chassis: 76rem;
  --wp-pas: clamp(1.1rem, 0.9rem + 0.6vw, 1.75rem);
  --wp-t-base: clamp(16px, 0.72vw + 13px, 18px);
  --wp-t-petit: clamp(0.78rem, 0.72rem + 0.16vw, 0.86rem);
  --wp-t-h1: clamp(1.9rem, 1.4rem + 2vw, 3.1rem);
  --wp-t-h2: clamp(1.4rem, 1.15rem + 1vw, 2rem);
  --wp-t-h3: clamp(1.05rem, 0.98rem + 0.35vw, 1.22rem);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  font-family: var(--wp-texte);
  font-size: var(--wp-t-base);
  line-height: 1.62;
  color: var(--wp-encre);
  background: var(--wp-papier);
  background-image:
    radial-gradient(circle at 12% 8%, rgba(194, 84, 42, 0.10), transparent 42%),
    radial-gradient(circle at 88% 0%, rgba(23, 64, 47, 0.10), transparent 46%),
    repeating-linear-gradient(0deg, transparent 0 27px, rgba(23, 64, 47, 0.045) 27px 28px);
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--wp-lisere); text-underline-offset: 0.22em; }
a:hover { color: var(--wp-argile); }
h1, h2, h3, h4 { font-family: var(--wp-titre); font-weight: 700; line-height: 1.16; margin: 0 0 0.5em; letter-spacing: -0.005em; }
p { margin: 0 0 1em; }
ul, ol { margin: 0 0 1em; padding-left: 1.2em; }
:focus-visible { outline: 3px solid var(--wp-argile); outline-offset: 3px; border-radius: 4px; }

/* ---------- Enveloppe ---------- */
.wp-chassis { max-width: var(--wp-chassis); margin: 0 auto; padding: 0 clamp(1rem, 4vw, 2.5rem); min-width: 0; }
.wp-evitement { position: absolute; left: -9999px; top: 0; background: var(--wp-pin); color: #fff; padding: 0.6rem 1rem; border-radius: 0 0 var(--wp-rayon-carte) 0; z-index: 60; }
.wp-evitement:focus { left: 0; }

/* ---------- Fronton ---------- */
.wp-fronton { background: var(--wp-pin); color: #f6f1e6; position: relative; box-shadow: var(--wp-ombre-chaude); }
.wp-bandeau__dedans { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.6rem 1.2rem; padding-top: clamp(0.9rem, 2vw, 1.4rem); padding-bottom: 0.4rem; min-width: 0; }
.wp-enseigne { display: inline-flex; align-items: center; gap: 0.55rem; color: #fdf9f0; text-decoration: none; font-family: var(--wp-titre); font-size: clamp(1.15rem, 0.9rem + 1vw, 1.55rem); letter-spacing: -0.01em; text-shadow: 0 2px 10px rgba(0, 0, 0, 0.32); }
.wp-embleme { color: var(--wp-argile-brume); flex: none; }
.wp-devise { margin: 0; font-family: var(--wp-mono); font-size: var(--wp-t-petit); letter-spacing: 0.06em; text-transform: uppercase; color: #c9d9cf; }
.wp-parcours { border-top: 1px solid rgba(255, 255, 255, 0.18); margin-top: 0.4rem; }
.wp-parcours ul { list-style: none; display: flex; flex-wrap: wrap; gap: 0.15rem 0.35rem; padding: 0.55rem 0 calc(0.65rem); margin: 0; }
.wp-parcours__lien { display: inline-block; padding: 0.34rem 0.85rem; border-radius: var(--wp-rayon-pilule); color: #e9f0ea; text-decoration: none; font-size: 0.9rem; border: 1px solid transparent; }
.wp-parcours__lien:hover { background: rgba(255, 255, 255, 0.12); color: #fff; }
.wp-parcours__lien[aria-current="page"] { background: var(--wp-argile); color: #fff; border-color: rgba(0, 0, 0, 0.08); }

/* ---------- Ouverture (home / 404) ---------- */
.wp-ouverture { padding-top: var(--wp-pas); padding-bottom: var(--wp-pas); }
.wp-ouverture__texte { max-width: var(--wp-mesure); min-width: 0; }
.wp-ouverture__surtitre { font-family: var(--wp-mono); font-size: var(--wp-t-petit); text-transform: uppercase; letter-spacing: 0.14em; color: var(--wp-encre-pale); margin-bottom: 0.9rem; }
.wp-ouverture__point { margin: 0 0.5em; color: var(--wp-argile); }
.wp-ouverture__titre { font-size: clamp(2.2rem, 1.5rem + 3vw, 3.6rem); text-shadow: 0 2px 12px rgba(23, 64, 47, 0.18); margin-bottom: 0.6em; }
.wp-ouverture__intro { font-size: clamp(1.02rem, 0.95rem + 0.4vw, 1.14rem); color: #2c3430; max-width: 62ch; }

/* ---------- Vedette ---------- */
.wp-vedette { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: clamp(1rem, 2.5vw, 2rem); align-items: stretch; margin-top: var(--wp-pas); text-decoration: none; color: inherit; background: var(--wp-craie); border-radius: 20px; padding: clamp(0.75rem, 1.6vw, 1.1rem); box-shadow: var(--wp-ombre-vedette); border: 1px solid rgba(23, 64, 47, 0.10); min-width: 0; }
.wp-vedette__vue { margin: 0; border-radius: var(--wp-rayon-vue); overflow: hidden; aspect-ratio: var(--wp-ratio-scene); width: 100%; max-width: 100%; background: var(--wp-craie-chaude); }
.wp-vedette__vue img { width: 100%; height: 100%; object-fit: cover; }
.wp-vedette__texte { display: flex; flex-direction: column; justify-content: center; gap: 0.35rem; min-width: 0; padding: 0.4rem clamp(0.25rem, 1vw, 0.75rem); }
.wp-vedette__titre { font-size: clamp(1.5rem, 1.2rem + 1.4vw, 2.25rem); margin: 0.1em 0 0.25em; text-shadow: 0 2px 10px rgba(23, 64, 47, 0.16); }
.wp-vedette:hover .wp-vedette__titre { color: var(--wp-argile); }
.wp-vedette__chapeau { color: #3e4741; margin: 0 0 0.5em; }
.wp-vedette__legende { font-family: var(--wp-mono); font-size: var(--wp-t-petit); color: var(--wp-encre-pale); margin: 0; }

/* ---------- Puce (métadonnées de lien) ---------- */
.wp-puce { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin: 0 0 0.6em; font-size: var(--wp-t-petit); }
.wp-puce__cote { font-family: var(--wp-mono); background: var(--wp-pin); color: #f2ece0; padding: 0.12rem 0.55rem; border-radius: var(--wp-rayon-pilule); letter-spacing: 0.05em; }
.wp-puce__rubrique { color: var(--wp-argile); text-decoration: none; font-weight: 600; letter-spacing: 0.03em; text-transform: uppercase; }
.wp-puce__rubrique:hover { text-decoration: underline; color: var(--wp-pin); }

/* ---------- Rayon (section de page) ---------- */
.wp-rayon { padding-top: var(--wp-pas); padding-bottom: var(--wp-pas); }
.wp-rayon__tete { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.5rem 1rem; margin-bottom: calc(var(--wp-pas) * 0.7); border-bottom: 3px solid var(--wp-pin); padding-bottom: 0.6rem; }
.wp-rayon__tete h2 { margin: 0; font-size: var(--wp-t-h2); }
.wp-rayon__tete h2 a { color: inherit; text-decoration: none; }
.wp-rayon__tete h2 a:hover { color: var(--wp-argile); }
.wp-rayon__phrase { margin: 0; color: var(--wp-encre-pale); max-width: 56ch; }
.wp-rayon__decompte { font-family: var(--wp-mono); font-size: var(--wp-t-petit); color: var(--wp-encre-pale); background: var(--wp-craie-chaude); padding: 0.2rem 0.6rem; border-radius: var(--wp-rayon-pilule); }

/* ---------- Grilles ---------- */
.wp-grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(17rem, 100%), 1fr)); gap: clamp(1rem, 2vw, 1.6rem); min-width: 0; }
.wp-grille--duo { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
.wp-liste { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr)); gap: 0.6rem 1.6rem; margin-top: clamp(0.8rem, 1.6vw, 1.2rem); }

/* ---------- Carte ---------- */
.wp-carte { display: grid; grid-template-columns: minmax(0, 1fr); background: var(--wp-craie-chaude); border-radius: var(--wp-rayon-carte); overflow: hidden; box-shadow: var(--wp-ombre-douce); border: 1px solid rgba(23, 64, 47, 0.08); min-width: 0; transition: transform 0.18s ease, box-shadow 0.18s ease; }
.wp-carte:hover { transform: translateY(-3px); box-shadow: var(--wp-ombre-chaude); }
.wp-carte__vue { margin: 0; aspect-ratio: var(--wp-ratio-scene); width: 100%; max-width: 100%; overflow: hidden; background: var(--wp-craie); }
.wp-carte__vue img { width: 100%; height: 100%; object-fit: cover; }
.wp-carte__texte { padding: clamp(0.85rem, 1.6vw, 1.2rem); min-width: 0; }
.wp-carte__titre { font-size: var(--wp-t-h3); margin: 0 0 0.4em; }
.wp-carte__titre a { color: inherit; text-decoration: none; }
.wp-carte__titre a:hover { color: var(--wp-argile); }
.wp-carte__chapeau { color: #3e4741; margin: 0 0 0.7em; font-size: 0.96rem; }
.wp-carte__date { font-family: var(--wp-mono); font-size: var(--wp-t-petit); color: var(--wp-encre-pale); margin: 0; }
.wp-carte--large { grid-column: span 1; }
.wp-carte--large .wp-carte__titre { font-size: var(--wp-t-h2); }

/* ---------- Rail (liste compacte) ---------- */
.wp-rail { display: grid; grid-template-columns: 2.2rem 5.5rem minmax(0, 1fr); gap: 0.65rem 0.9rem; align-items: center; background: var(--wp-craie); border-radius: var(--wp-rayon-carte); padding: 0.55rem 0.75rem; border: 1px solid rgba(23, 64, 47, 0.09); box-shadow: 0 3px 12px rgba(23, 64, 47, 0.07); min-width: 0; }
.wp-rail__rang { font-family: var(--wp-titre); font-size: 1.35rem; font-variant-numeric: lining-nums; color: var(--wp-argile); text-align: right; border-right: 1px solid var(--wp-filet-fort); padding-right: 0.5rem; line-height: 1; }
.wp-rail__vue { margin: 0; aspect-ratio: var(--wp-ratio-vignette); width: 100%; max-width: 100%; border-radius: var(--wp-rayon-vue); overflow: hidden; background: var(--wp-craie-chaude); }
.wp-rail__vue img { width: 100%; height: 100%; object-fit: cover; }
.wp-rail__texte { min-width: 0; }
.wp-rail__titre { margin: 0 0 0.15em; font-size: 1.02rem; }
.wp-rail__titre a { color: inherit; text-decoration: none; }
.wp-rail__titre a:hover { color: var(--wp-argile); }
.wp-rail__metas { margin: 0; font-family: var(--wp-mono); font-size: var(--wp-t-petit); color: var(--wp-encre-pale); }
.wp-rail__point { margin: 0 0.45em; color: var(--wp-argile); }

/* ---------- Fil d'Ariane ---------- */
.wp-fil { padding-top: 0.9rem; }
.wp-fil ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0.35rem 0.6rem; font-family: var(--wp-mono); font-size: var(--wp-t-petit); text-transform: uppercase; letter-spacing: 0.06em; }
.wp-fil li { display: inline-flex; align-items: center; }
.wp-fil li + li::before { content: "›"; margin-right: 0.6rem; color: var(--wp-argile); }
.wp-fil a { color: var(--wp-encre-pale); text-decoration: none; }
.wp-fil a:hover { color: var(--wp-argile); }

/* ---------- Tête de rubrique ---------- */
.wp-tete-rubrique { padding-top: var(--wp-pas); padding-bottom: calc(var(--wp-pas) * 0.5); }
.wp-tete-rubrique__cote { font-family: var(--wp-mono); font-size: var(--wp-t-petit); color: var(--wp-argile); letter-spacing: 0.14em; }
.wp-tete-rubrique h1 { font-size: clamp(1.9rem, 1.4rem + 1.8vw, 2.8rem); margin: 0.2em 0 0.3em; }
.wp-tete-rubrique p { max-width: var(--wp-mesure); color: #3e4741; }

/* ---------- Onglets ---------- */
.wp-onglets { display: flex; flex-wrap: wrap; gap: 0.4rem; padding-bottom: calc(var(--wp-pas) * 0.5); }
.wp-onglet { padding: 0.42rem 1rem; border-radius: var(--wp-rayon-pilule); background: var(--wp-craie-chaude); color: var(--wp-encre); text-decoration: none; font-size: 0.9rem; border: 1px solid var(--wp-filet); }
.wp-onglet:hover { background: var(--wp-argile-brume); }
.wp-onglet--courant { background: var(--wp-argile); color: #fff; border-color: var(--wp-argile); }

/* ---------- Renvoi ---------- */
.wp-renvoi-ligne { margin-top: 0.9rem; }
.wp-renvoi { display: inline-block; padding: 0.45rem 1.1rem; border-radius: var(--wp-rayon-pilule); background: var(--wp-pin); color: #f5efe2; text-decoration: none; font-size: 0.92rem; box-shadow: var(--wp-ombre-douce); }
.wp-renvoi:hover { background: var(--wp-argile); color: #fff; }

/* ---------- Encart ---------- */
.wp-encart { margin-top: var(--wp-pas); background: var(--wp-pin-clair); color: #f6f1e6; border-radius: var(--wp-rayon-carte); padding: clamp(1.2rem, 2.5vw, 2rem); box-shadow: var(--wp-ombre-chaude); border-left: 6px solid var(--wp-argile); }
.wp-encart h2 { color: #fdf9f0; margin-top: 0; text-shadow: 0 2px 8px rgba(0, 0, 0, 0.25); }
.wp-encart p { color: #d5e0d8; }
.wp-encart__mention { font-family: var(--wp-mono); font-size: var(--wp-t-petit); color: var(--wp-argile-brume); }

/* ---------- Article ---------- */
.wp-fiche { padding-top: var(--wp-pas); padding-bottom: var(--wp-pas); }
.wp-fiche__entete { max-width: var(--wp-mesure); }
.wp-fiche__titre { font-size: clamp(1.9rem, 1.4rem + 1.8vw, 2.6rem); margin: 0.1em 0 0.35em; text-shadow: 0 2px 10px rgba(23, 64, 47, 0.14); }
.wp-fiche__chapeau { font-size: 1.1rem; color: #2c3430; }
.wp-fiche__date { font-family: var(--wp-mono); font-size: var(--wp-t-petit); color: var(--wp-encre-pale); margin: 0; }
.wp-fiche__vue { margin: var(--wp-pas) auto; padding: 0 clamp(1rem, 4vw, 2.5rem); }
.wp-fiche__vue img { border-radius: var(--wp-rayon-carte); box-shadow: var(--wp-ombre-chaude); width: 100%; aspect-ratio: var(--wp-ratio-scene); object-fit: cover; }
.wp-fiche__legende { font-family: var(--wp-mono); font-size: var(--wp-t-petit); color: var(--wp-encre-pale); margin-top: 0.6rem; padding: 0 clamp(1rem, 4vw, 2.5rem); }

.wp-article-plan { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 16rem); gap: clamp(1.2rem, 3vw, 2.5rem); align-items: start; }
.wp-corps { max-width: var(--wp-mesure); min-width: 0; }
.wp-corps h2 { font-size: var(--wp-t-h2); margin-top: 1.6em; }
.wp-corps h3 { font-size: var(--wp-t-h3); margin-top: 1.4em; }
.wp-corps p { margin: 0 0 1.1em; }
.wp-corps ul, .wp-corps ol { margin: 0 0 1.2em; padding-left: 1.4em; }
.wp-corps img { border-radius: var(--wp-rayon-vue); margin: 1em 0; box-shadow: var(--wp-ombre-douce); }
.wp-corps blockquote { margin: 1.4em 0; padding: 0.8em 1.2em; border-left: 4px solid var(--wp-argile); background: var(--wp-craie-chaude); border-radius: 0 var(--wp-rayon-vue) var(--wp-rayon-vue) 0; color: #2c3430; }
.wp-corps table { width: 100%; border-collapse: collapse; font-size: 0.94rem; }
.wp-corps th, .wp-corps td { padding: 0.55rem 0.7rem; border-bottom: 1px solid var(--wp-filet); text-align: left; }
.wp-corps thead th { background: var(--wp-pin); color: #f5efe2; }
.wp-corps--service { max-width: var(--wp-mesure); margin-top: 1.5rem; }

.wp-notes { font-family: var(--wp-texte); font-size: 0.92rem; background: var(--wp-craie-chaude); border-radius: var(--wp-rayon-carte); padding: 1rem 1.2rem; box-shadow: var(--wp-ombre-douce); border-top: 3px solid var(--wp-pin); position: sticky; top: 1rem; min-width: 0; }
.wp-notes h2 { font-size: 0.86rem; text-transform: uppercase; letter-spacing: 0.1em; font-family: var(--wp-mono); color: var(--wp-argile); margin: 0 0 0.5em; }
.wp-notes h2:not(:first-child) { margin-top: 1.1em; }
.wp-notes__sommaire { list-style: none; padding: 0; margin: 0; }
.wp-notes__sommaire li { padding: 0.3rem 0; border-bottom: 1px solid var(--wp-filet); }
.wp-notes__sommaire li:last-child { border-bottom: none; }
.wp-notes__sommaire a { color: var(--wp-encre); text-decoration: none; }
.wp-notes__sommaire a:hover { color: var(--wp-argile); }
.wp-notes__sources { list-style: none; padding: 0; margin: 0; }
.wp-notes__sources li { padding: 0.3rem 0; word-break: break-word; }
.wp-notes__sources a { color: var(--wp-lisere); }

/* ---------- Ailleurs (réseau) ---------- */
.wp-ailleurs { background: var(--wp-craie-chaude); border-radius: var(--wp-rayon-carte); padding: clamp(1.2rem, 2.5vw, 2rem); margin-top: var(--wp-pas); margin-bottom: var(--wp-pas); box-shadow: var(--wp-ombre-douce); }
.wp-ailleurs__liste { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr)); gap: 0.5rem 1.4rem; }
.wp-ailleurs__item { border-left: 3px solid var(--wp-argile); padding: 0.3rem 0 0.3rem 0.8rem; min-width: 0; }
.wp-ailleurs__item p { margin: 0; font-size: 0.94rem; }

/* ---------- Pied ---------- */
.wp-pied { background: var(--wp-pin); color: #dfe7e0; margin-top: var(--wp-pas); box-shadow: var(--wp-ombre-chaude); }
.wp-pied__colonnes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr)); gap: clamp(1.2rem, 3vw, 2.5rem); padding-top: var(--wp-pas); padding-bottom: var(--wp-pas); }
.wp-pied__colonne h2 { font-size: 0.86rem; text-transform: uppercase; letter-spacing: 0.12em; font-family: var(--wp-mono); color: var(--wp-argile-brume); text-shadow: none; }
.wp-pied__colonne p { color: #c6d1c9; font-size: 0.94rem; }
.wp-pied__colonne a { color: #f0e8d8; text-decoration: none; }
.wp-pied__colonne a:hover { color: var(--wp-argile-brume); text-decoration: underline; }
.wp-pied__colonne ul { list-style: none; padding: 0; margin: 0; }
.wp-pied__colonne li { padding: 0.22rem 0; }
.wp-pied__note { font-size: 0.82rem; color: #a9b8ae; }
.wp-pied__ligne { border-top: 1px solid rgba(255, 255, 255, 0.16); padding-top: 0.9rem; padding-bottom: 1.1rem; font-family: var(--wp-mono); font-size: var(--wp-t-petit); color: #a9b8ae; }

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 900px) {
  .wp-vedette { grid-template-columns: minmax(0, 1fr); }
  .wp-vedette__texte { padding: 0.6rem 0.2rem 0.2rem; }
  .wp-grille--duo { grid-template-columns: minmax(0, 1fr); }
  .wp-article-plan { grid-template-columns: minmax(0, 1fr); }
  .wp-notes { position: static; margin-top: var(--wp-pas); }
}
@media (max-width: 640px) {
  .wp-rail { grid-template-columns: 1.8rem 4.4rem minmax(0, 1fr); gap: 0.55rem 0.7rem; }
  .wp-rail__rang { font-size: 1.1rem; }
  .wp-fiche__vue { padding: 0 1rem; }
  .wp-fiche__legende { padding: 0 1rem; }
}
@media (min-width: 1600px) {
  .wp-chassis { max-width: 84rem; }
  .wp-grille--duo { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); }
}
@media (min-width: 2200px) {
  .wp-chassis { max-width: 92rem; }
  :root { --wp-t-base: 19px; }
}

/* Impression */
@media print {
  .wp-fronton, .wp-pied, .wp-notes, .wp-fil, .wp-onglets, .wp-evitement { display: none; }
  body { background: #fff; }
  .wp-carte, .wp-rail, .wp-vedette, .wp-encart { box-shadow: none; border: 1px solid #ccc; }
}
