/* Nuits de saison — Ibarra Real Nova + Gantari · blanc / ardoise d’hiver / vert tendre / abricot / prune d’automne */
@font-face{font-family:"Ibarra Real Nova";src:url(polices/ibarra-normal-400-700.woff2) format("woff2");font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Ibarra Real Nova";src:url(polices/ibarra-italic-400-700.woff2) format("woff2");font-weight:400 700;font-style:italic;font-display:swap}
@font-face{font-family:"Gantari";src:url(polices/gantari-normal-300-800.woff2) format("woff2");font-weight:300 800;font-style:normal;font-display:swap}

:root{
  --blanc:#ffffff;--gris-clair:#f1f3f4;--trait:#dde1e4;--texte:#1e2830;--doux:#5b6670;
  --hiver:#3d5b74;--hiver-pale:#e3ebf2;--printemps:#6f9a4c;--printemps-pale:#ebf3e2;
  --ete:#ea9a4f;--ete-pale:#fcefe0;--automne:#8c3d5a;--automne-pale:#f5e6ec;
  --serif:"Ibarra Real Nova",ui-serif,serif;--sans:"Gantari",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--blanc);color:var(--texte);font:400 1.06rem/1.7 var(--sans)}
img{max-width:100%;height:auto;display:block}
figure{margin:0}
a{color:var(--hiver)}
.largeur{max-width:1220px;margin:0 auto;padding:0 30px}

/* En-tête : nom à gauche, quatre pastilles de saison */
.entete{border-bottom:1px solid var(--trait);background:var(--blanc)}
.entete .largeur{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px}
.nom{font:600 1.7rem/1 var(--serif);text-decoration:none;color:var(--texte)}
.nom span{font-style:italic;font-weight:400;color:var(--doux)}
.entete nav{display:flex;gap:8px;flex-wrap:wrap}
.entete nav a{font:700 .8rem/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;padding:9px 14px;border-radius:30px;color:#fff}
.entete nav a.hiver{background:var(--hiver)}.entete nav a.printemps{background:var(--printemps)}
.entete nav a.ete{background:var(--ete)}.entete nav a.automne{background:var(--automne)}

/* Une : titre à gauche sur fond blanc, photo verticale bord droit */
.une{display:grid;grid-template-columns:1fr minmax(320px,38%);min-height:600px}
.une-texte{padding:70px 60px 60px max(30px,calc((100vw - 1220px)/2 + 30px));display:flex;flex-direction:column;justify-content:center}
.rubrique{font:700 .78rem/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ete);margin:0 0 20px}
.une h1{font:500 clamp(2.3rem,4.6vw,4rem)/1.06 var(--serif);margin:0 0 24px}
.une h1 em{color:var(--hiver)}
.une p{max-width:56ch;color:var(--doux)}
.une-photo{position:relative}
.une-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* Calendrier : 12 cases, barre de nuit proportionnelle */
.calendrier{background:var(--gris-clair);padding:64px 0}
.calendrier h2,.saison h2,.toute-annee h2{font:500 clamp(1.8rem,3.2vw,2.6rem)/1.1 var(--serif);margin:0 0 10px}
.chapo{color:var(--doux);max-width:70ch;margin:0 0 30px}
.mois{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.mois li{background:var(--blanc);padding:16px 14px 14px;border-top:5px solid var(--c);display:flex;flex-direction:column;gap:6px}
.mois b{font:600 1.15rem/1 var(--serif)}
.mois .duree{font:800 1.5rem/1 var(--sans);color:var(--c)}
.mois i{display:block;height:8px;background:var(--trait);position:relative;border-radius:4px;overflow:hidden}
.mois i::after{content:"";position:absolute;left:0;top:0;bottom:0;width:calc(var(--n) * 100%);background:var(--c)}
.mois small{font-size:.84rem;color:var(--doux);line-height:1.35}
.m-hiver{--c:var(--hiver)}.m-printemps{--c:var(--printemps)}.m-ete{--c:var(--ete)}.m-automne{--c:var(--automne)}
.lien-suite{margin:22px 0 0;font-weight:700}

/* Saisons : étiquette verticale colorée, texte, mosaïque de photos */
.saison{padding:70px 0;border-bottom:1px solid var(--trait)}
.saison-grille{display:grid;grid-template-columns:120px 1fr 1fr;gap:44px;align-items:start}
.saison-etiquette{position:sticky;top:20px;background:var(--c);color:#fff;padding:22px 12px;text-align:center;writing-mode:vertical-rl;transform:rotate(180deg);min-height:300px;display:flex;align-items:center;justify-content:center;gap:12px}
.saison-etiquette span{font:600 2.1rem/1 var(--serif)}
.saison-etiquette small{font:700 .7rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;opacity:.9}
.saison-texte p{margin:0 0 1em}
.suite{font-weight:700;color:var(--c);text-decoration:none;border-bottom:2px solid var(--c)}
.saison-photos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.saison-photos img{width:100%;height:100%;object-fit:cover;min-height:220px}
.saison-photos img:first-child{grid-column:1/-1;aspect-ratio:16/10}
.saison-photos.une-seule img{aspect-ratio:4/5}
.saison-photos img:nth-child(2):last-child{grid-column:1/-1;aspect-ratio:16/9}
.inverse .saison-texte{order:3}
.inverse .saison-photos{order:2}
.s-hiver{--c:var(--hiver);background:var(--hiver-pale)}
.s-printemps{--c:var(--printemps);background:var(--printemps-pale)}
.s-ete{--c:var(--ete);background:var(--ete-pale)}
.s-automne{--c:var(--automne);background:var(--automne-pale)}
.s-ete .suite{color:#b4651d;border-color:#b4651d}
.planche{background:var(--blanc);padding:12px;margin:8px 0 18px;display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:center;border:1px solid var(--trait)}
.planche figcaption{font-size:.84rem;color:var(--doux);line-height:1.45}

/* Toute l'année */
.toute-annee{padding:64px 0 40px}
.toute-grille{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center;margin-bottom:34px}
.toute-grille img{aspect-ratio:3/2;object-fit:cover;width:100%}
.avis{background:var(--gris-clair);border-left:6px solid var(--hiver);padding:18px 22px;margin:0;font-size:.97rem}

/* Pied de page clair, quatre colonnes fines */
.bas{background:var(--texte);color:#cdd5db;padding:44px 0 28px;font-size:.9rem}
.bas-grille{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:30px}
.bas .nom{color:#fff;font-size:1.5rem}
.bas .nom span{color:#9fb0bd}
.bas nav{display:flex;flex-direction:column;gap:6px}
.bas a{color:#cdd5db;text-decoration:none}
.bas a:hover{color:#fff}
.indep{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.16);padding-top:16px;margin:6px 0 0;font-size:.84rem}

/* Page article */
.article{max-width:780px;margin:0 auto;padding:56px 30px 20px}
.article .rubrique{color:var(--automne)}
.article h1{font:500 clamp(2rem,4.6vw,3.2rem)/1.08 var(--serif);margin:0 0 22px}
.article .intro{font:italic 400 1.25rem/1.6 var(--serif);color:var(--doux)}
.article h2{font:500 1.7rem/1.2 var(--serif);margin:40px 0 12px}
.article figure{margin:30px 0}
.article figcaption{font-size:.84rem;color:var(--doux);margin-top:8px}
.article table{width:100%;border-collapse:collapse;font-size:.95rem;margin:16px 0}
.article th,.article td{text-align:left;padding:10px;border-bottom:1px solid var(--trait);vertical-align:top}
.article th{font:700 .74rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--hiver)}
.article tr:nth-child(even) td{background:var(--gris-clair)}
.article .sources{font-size:.86rem;color:var(--doux);border-top:1px solid var(--trait);padding-top:14px;margin-top:36px}
.article .avis{margin-top:30px}

@media (max-width:1040px){
  .mois{grid-template-columns:repeat(4,minmax(0,1fr))}
  .saison-grille{grid-template-columns:1fr}
  .saison-etiquette{position:static;writing-mode:horizontal-tb;transform:none;min-height:0;justify-content:flex-start;padding:12px 16px}
  .inverse .saison-texte,.inverse .saison-photos{order:0}
  .toute-grille{grid-template-columns:1fr}
}
@media (max-width:760px){
  .une{grid-template-columns:1fr}
  .une-texte{padding:44px 16px 30px}
  .une-photo{min-height:320px}
  .largeur{padding:0 16px}
  .mois{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .mois .duree{font-size:1.3rem}
  .planche{grid-template-columns:80px 1fr}
  .bas-grille{grid-template-columns:1fr}
  .article table{font-size:.86rem}
  .article th,.article td{padding:8px 6px;overflow-wrap:anywhere}
  .article th{letter-spacing:.03em;font-size:.66rem}
  .article{padding:36px 16px 10px}
}

/* ---- compléments du site ---- */
.saut{position:absolute;left:-9999px;top:0;background:var(--texte);color:#fff;padding:10px 14px;z-index:9}
.saut:focus{left:10px}
.entete nav a[aria-current]{outline:2px solid var(--texte);outline-offset:2px}
.entete nav a.annee{background:var(--texte)}
.une-texte .petit{font-size:.97rem}
.mois li{min-width:0}
.mois a{color:inherit;text-decoration:none;display:flex;flex-direction:column;gap:6px;min-width:0}
.mois a:hover b{text-decoration:underline}
.rubrique.hiver{color:var(--hiver)}.rubrique.printemps{color:var(--printemps)}.rubrique.ete{color:#b4651d}.rubrique.automne{color:var(--automne)}
.fil{font-size:.86rem;color:var(--doux);margin:0 0 18px}
.fil a{color:var(--doux)}
.article .bande{height:6px;background:var(--c,var(--hiver));margin:0 0 22px;width:90px}
.article p,.article li{max-width:68ch}
.article h3{font:600 1.25rem/1.3 var(--serif);margin:26px 0 8px}
.article figure img{width:100%}
.article figure.portrait{max-width:520px}
.article figure.planche-art{background:var(--blanc);border:1px solid var(--trait);padding:14px;max-width:520px}
.article figure.planche-art img{max-height:640px;width:auto;margin:0 auto}
.tableau{overflow-x:auto}
.encart{background:var(--c-pale,var(--hiver-pale));border-left:6px solid var(--c,var(--hiver));padding:14px 20px;margin:26px 0}
.encart p{margin:.4em 0}
.article .avec{background:var(--gris-clair);padding:12px 16px;font-size:.95rem}
.article .avec b{display:block;font:700 .74rem/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--doux);margin-bottom:4px}
.sources p{font-weight:700;margin:0 0 6px}
.sources ul{margin:0;padding-left:18px}
.t-hiver{--c:var(--hiver);--c-pale:var(--hiver-pale)}.t-printemps{--c:var(--printemps);--c-pale:var(--printemps-pale)}
.t-ete{--c:var(--ete);--c-pale:var(--ete-pale)}.t-automne{--c:var(--automne);--c-pale:var(--automne-pale)}.t-annee{--c:var(--texte);--c-pale:var(--gris-clair)}
.t-ete .bande{background:var(--ete)}
.annee-nav{border-top:1px solid var(--trait);margin-top:40px;padding:34px 0 50px;background:var(--gris-clair)}
.annee-nav h2{font:500 1.6rem/1.2 var(--serif);margin:0 0 16px}
.annee-nav ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.annee-nav li a{display:block;background:var(--blanc);border-left:5px solid var(--c);padding:12px 14px;text-decoration:none;color:var(--texte);font-weight:600;height:100%}
.annee-nav li a small{display:block;font:700 .7rem/1.2 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--doux);margin-bottom:4px}
.annee-nav li a[aria-current]{background:var(--c-pale)}
.nouveautes{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.nouveautes a{display:block;background:var(--gris-clair);padding:14px 18px;text-decoration:none;color:var(--texte)}
.nouveautes strong{display:block;font:600 1.15rem/1.3 var(--serif)}
.nouveautes span{color:var(--doux);font-size:.95rem}
.bloc-nouv{padding:50px 0 10px}
.bloc-nouv h2{font:500 clamp(1.6rem,3vw,2.2rem)/1.1 var(--serif);margin:0 0 16px}
.bas .mini{grid-column:1/-1;font-size:.78rem;opacity:.75;margin:0}
.bas p{margin:.3em 0}
@media (max-width:760px){
  .entete nav a{padding:8px 11px;font-size:.74rem}
  .article figure.planche-art img{max-height:480px}
}
