/* Pure Underground Vibes : feuille propre au site (06/11/2026). Papier de fanzine, encre noire, vert acide repris du logo. */
:root {
  --puv-papier: #f3f0e8;
  --puv-carton: #ece8de;
  --puv-blanc: #fbfaf6;
  --puv-encre: #151515;
  --puv-texte: #1f1e1b;
  --puv-gris: #5c5a55;
  --puv-filet: #d8d3c6;
  --puv-acide: #c6f432;
  --puv-vert: #2d4a2f;
  --puv-rouge: #c7361d;
  --puv-titres: "Archivo", "Arial Narrow", Arial, sans-serif;
  --puv-corps: "Work Sans", "Helvetica Neue", Arial, sans-serif;
  --puv-mono: "IBM Plex Mono", Consolas, monospace;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.puv { margin: 0; background: var(--puv-papier); color: var(--puv-texte); font-family: var(--puv-corps); font-size: 17px; line-height: 1.65; }
.puv img { max-width: 100%; height: auto; }
.puv a { color: var(--puv-vert); }
.puv a:focus-visible { outline: 3px solid var(--puv-acide); outline-offset: 2px; }
.puv-cadre { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 22px; }
.puv-colonne { max-width: 764px; }
.puv-surtitre { font-family: var(--puv-mono); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; margin: 0 0 12px; color: var(--puv-acide); }
.puv-surtitre--clair { color: var(--puv-vert); }
.puv-titre-bloc { font-family: var(--puv-titres); font-weight: 800; font-size: 1.7rem; line-height: 1.15; color: var(--puv-encre); margin: 0 0 22px; }
.puv-titre-bloc::after { content: ""; display: block; width: 64px; height: 6px; margin-top: 10px; background: var(--puv-acide); border: 2px solid var(--puv-encre); }

/* En-tête */
.puv-tete { background: var(--puv-papier); border-bottom: 3px solid var(--puv-encre); }
.puv-tete__ligne { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 78px; flex-wrap: wrap; }
.puv-marque { display: inline-flex; align-items: center; padding: 8px 0; }
.puv-marque__logo { display: block; max-height: 62px; width: auto; }
.puv-ouvrir { position: absolute; opacity: 0; pointer-events: none; }
.puv-burger { display: none; cursor: pointer; width: 46px; height: 42px; border: 2px solid var(--puv-encre); background: var(--puv-blanc); padding: 9px 9px; }
.puv-burger span { display: block; height: 3px; background: var(--puv-encre); margin: 0 0 6px; }
.puv-burger span:last-child { margin: 0; }
.puv-nav__liste { display: flex; flex-wrap: nowrap; align-items: center; gap: 4px; list-style: none; margin: 0; padding: 0; }
.puv-nav__item { list-style: none; margin: 0; }
.puv-nav__lien { display: block; padding: 8px 10px; font-family: var(--puv-titres); font-weight: 700; font-size: 14px; letter-spacing: .03em; text-transform: uppercase; text-decoration: none; color: var(--puv-encre) !important; white-space: nowrap; }
.puv-nav__lien:hover, .puv-nav__lien:focus-visible { background: var(--puv-acide); }
@media (max-width: 1023px) {
  .puv-burger { display: block; }
  .puv-nav { display: none; width: 100%; padding: 0 0 14px; }
  .puv-ouvrir:checked ~ .puv-nav { display: block; }
  .puv-nav__liste { flex-direction: column; align-items: stretch; gap: 0; border-top: 2px solid var(--puv-encre); }
  .puv-nav__lien { padding: 13px 4px; border-bottom: 1px solid var(--puv-filet); white-space: normal; }
}

/* Fil d'Ariane */
.puv-fil { background: var(--puv-carton); font-family: var(--puv-mono); font-size: 13px; color: var(--puv-gris); border-bottom: 1px solid var(--puv-filet); }
.puv-fil .puv-cadre { padding-top: 10px; padding-bottom: 10px; }
.puv-fil ol, .puv-fil ul { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; list-style: none; margin: 0; padding: 0; }
.puv-fil li { list-style: none; }
.puv-fil a { color: var(--puv-vert); text-decoration: none; }
.puv-fil a:hover { text-decoration: underline; }
.puv-fil--article li[aria-current="page"], .puv-fil--article li[aria-hidden="true"]:nth-last-child(2) { display: none; }

/* Accueil */
.puv-une { background: var(--puv-encre); color: var(--puv-papier); }
.puv-une__grille { display: grid; grid-template-columns: 1.1fr .9fr; gap: 44px; align-items: center; padding-top: 56px; padding-bottom: 60px; }
.puv-une__titre { font-family: var(--puv-titres); font-weight: 800; font-size: clamp(2.1rem, 4.4vw, 3.5rem); line-height: 1.05; margin: 0 0 18px; color: var(--puv-papier); }
.puv-une__accroche { font-size: 1.15rem; color: #dcd8cc; margin: 0; max-width: 34em; }
.puv-une__img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; box-shadow: 12px 12px 0 var(--puv-acide); }
.puv-une__image:not(:has(img)) { display: none; }
.puv-rubriques { padding: 46px 0 10px; }
.puv-rubriques__liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.puv-rubriques__liste li { list-style: none; }
.puv-tuile { display: flex; flex-direction: column; gap: 8px; min-height: 112px; padding: 16px 18px; border: 2px solid var(--puv-encre); background: var(--puv-blanc); color: var(--puv-encre) !important; text-decoration: none; border-top-width: 10px; transition: transform .12s ease, box-shadow .12s ease; }
.puv-tuile:hover, .puv-tuile:focus-visible { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--puv-encre); background: var(--puv-acide); }
.puv-tuile__num { font-family: var(--puv-mono); font-size: 13px; color: var(--puv-gris); }
.puv-tuile__nom { font-family: var(--puv-titres); font-weight: 800; font-size: 1.2rem; line-height: 1.2; }
.puv-tuile--histoire { border-top-color: var(--puv-encre); }
.puv-tuile--punk { border-top-color: var(--puv-rouge); }
.puv-tuile--techno { border-top-color: var(--puv-vert); }
.puv-tuile--bass { border-top-color: var(--puv-acide); }
.puv-tuile--noise { border-top-color: var(--puv-gris); }
.puv-tuile--labels { border-top-color: #8a6d1d; }
.puv-accueil { padding: 44px 0 20px; }
.puv-derniers, .puv-lies, .puv-liste { padding: 44px 0 64px; }
.puv-lies { border-top: 3px solid var(--puv-encre); background: var(--puv-carton); }
.puv-lies:not(:has(.puv-carte)) { display: none; }

/* Cartes */
.puv-grille { display: grid; grid-template-columns: repeat(auto-fill, minmax(262px, 1fr)); gap: 26px; }
.puv-carte { margin: 0; }
.puv-carte__lien { display: flex; flex-direction: column; height: 100%; background: var(--puv-blanc); border: 2px solid var(--puv-encre); color: var(--puv-texte) !important; text-decoration: none; transition: transform .12s ease, box-shadow .12s ease; }
.puv-carte__lien:hover, .puv-carte__lien:focus-visible { transform: translate(-3px, -3px); box-shadow: 7px 7px 0 var(--puv-acide); }
.puv-carte__visuel { aspect-ratio: 16 / 10; overflow: hidden; border-bottom: 2px solid var(--puv-encre); background-color: var(--puv-encre); background-position: center; background-size: cover; background-repeat: no-repeat;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 200'%3E%3Crect width='320' height='200' fill='%23151515'/%3E%3Cg fill='none' stroke='%233b3b36' stroke-width='2'%3E%3Ccircle cx='160' cy='100' r='88'/%3E%3Ccircle cx='160' cy='100' r='76'/%3E%3Ccircle cx='160' cy='100' r='64'/%3E%3Ccircle cx='160' cy='100' r='52'/%3E%3Ccircle cx='160' cy='100' r='40'/%3E%3C/g%3E%3Ccircle cx='160' cy='100' r='24' fill='%23c6f432'/%3E%3Ccircle cx='160' cy='100' r='4' fill='%23151515'/%3E%3C/svg%3E"); }
.puv-carte__visuel[data-rub*="punk"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 200'%3E%3Crect width='320' height='200' fill='%23151515'/%3E%3Cpolyline points='-10,150 40,80 80,135 125,60 165,125 210,45 250,115 290,55 330,100' fill='none' stroke='%23c7361d' stroke-width='14'/%3E%3Cpolyline points='-10,175 40,105 80,160 125,85 165,150 210,70 250,140 290,80 330,125' fill='none' stroke='%23c6f432' stroke-width='3'/%3E%3C/svg%3E"); }
.puv-carte__visuel[data-rub*="techno"] { background-color: var(--puv-vert); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 200'%3E%3Cdefs%3E%3Cpattern id='g' x='24' y='30' width='34' height='34' patternUnits='userSpaceOnUse'%3E%3Crect x='4' y='4' width='26' height='26' fill='none' stroke='%23537a56' stroke-width='2'/%3E%3C/pattern%3E%3C/defs%3E%3Crect width='320' height='200' fill='%232d4a2f'/%3E%3Crect x='24' y='30' width='272' height='136' fill='url(%23g)'/%3E%3Cg fill='%23c6f432'%3E%3Crect x='28' y='34' width='26' height='26'/%3E%3Crect x='96' y='34' width='26' height='26'/%3E%3Crect x='164' y='34' width='26' height='26'/%3E%3Crect x='232' y='34' width='26' height='26'/%3E%3Crect x='130' y='102' width='26' height='26'/%3E%3Crect x='266' y='102' width='26' height='26'/%3E%3C/g%3E%3Cg fill='%23f3f0e8'%3E%3Crect x='62' y='68' width='26' height='26'/%3E%3Crect x='198' y='68' width='26' height='26'/%3E%3Crect x='28' y='136' width='26' height='26'/%3E%3Crect x='164' y='136' width='26' height='26'/%3E%3C/g%3E%3C/svg%3E"); }
.puv-carte__visuel[data-rub*="bass"] { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 200'%3E%3Crect width='320' height='200' fill='%23151515'/%3E%3Cg fill='none' stroke-linecap='round'%3E%3Cpath d='M0 100 Q40 30 80 100 T160 100 T240 100 T320 100' stroke='%23c6f432' stroke-width='8'/%3E%3Cpath d='M0 100 Q40 60 80 100 T160 100 T240 100 T320 100' stroke='%23537a56' stroke-width='4'/%3E%3Cpath d='M0 100 Q40 170 80 100 T160 100 T240 100 T320 100' stroke='%23c7361d' stroke-width='3'/%3E%3C/g%3E%3C/svg%3E"); }
.puv-carte__visuel[data-rub*="noise"] { background-color: var(--puv-papier); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 200'%3E%3Crect width='320' height='200' fill='%23f3f0e8'/%3E%3Cg fill='%23151515'%3E%3Crect x='18' y='22' width='10' height='4'/%3E%3Crect x='52' y='40' width='4' height='14'/%3E%3Crect x='90' y='18' width='22' height='6'/%3E%3Crect x='130' y='48' width='6' height='6'/%3E%3Crect x='170' y='20' width='12' height='12'/%3E%3Crect x='210' y='36' width='30' height='4'/%3E%3Crect x='250' y='16' width='6' height='18'/%3E%3Crect x='290' y='44' width='14' height='6'/%3E%3Crect x='30' y='70' width='6' height='24'/%3E%3Crect x='70' y='90' width='26' height='6'/%3E%3Crect x='110' y='76' width='8' height='8'/%3E%3Crect x='150' y='96' width='40' height='6'/%3E%3Crect x='200' y='72' width='6' height='26'/%3E%3Crect x='236' y='92' width='10' height='10'/%3E%3Crect x='276' y='74' width='24' height='6'/%3E%3Crect x='14' y='124' width='22' height='6'/%3E%3Crect x='56' y='138' width='6' height='6'/%3E%3Crect x='92' y='118' width='10' height='28'/%3E%3Crect x='136' y='150' width='28' height='4'/%3E%3Crect x='180' y='126' width='6' height='6'/%3E%3Crect x='214' y='140' width='16' height='16'/%3E%3Crect x='258' y='120' width='6' height='22'/%3E%3Crect x='296' y='148' width='12' height='4'/%3E%3Crect x='40' y='170' width='30' height='6'/%3E%3Crect x='120' y='176' width='8' height='8'/%3E%3Crect x='160' y='166' width='4' height='20'/%3E%3Crect x='226' y='178' width='26' height='5'/%3E%3Crect x='284' y='170' width='10' height='10'/%3E%3C/g%3E%3Cpath d='M0 110 L60 104 L90 128 L140 96 L190 120 L240 90 L320 112' fill='none' stroke='%23c7361d' stroke-width='3'/%3E%3C/svg%3E"); }
.puv-carte__visuel[data-rub*="labels"] { background-color: var(--puv-acide); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 200'%3E%3Crect width='320' height='200' fill='%23c6f432'/%3E%3Crect x='70' y='45' width='180' height='110' rx='8' fill='%23151515'/%3E%3Crect x='88' y='60' width='144' height='40' fill='%23f3f0e8'/%3E%3Ccircle cx='125' cy='122' r='16' fill='%23f3f0e8'/%3E%3Ccircle cx='195' cy='122' r='16' fill='%23f3f0e8'/%3E%3Ccircle cx='125' cy='122' r='6' fill='%23151515'/%3E%3Ccircle cx='195' cy='122' r='6' fill='%23151515'/%3E%3Cpolygon points='112,155 208,155 198,142 122,142' fill='%232d4a2f'/%3E%3C/svg%3E"); }
.puv-carte__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.puv-carte__corps { display: flex; flex-direction: column; gap: 8px; padding: 14px 16px 18px; }
.puv-carte__rubrique { align-self: flex-start; font-family: var(--puv-mono); font-size: 11.5px; letter-spacing: .05em; text-transform: uppercase; background: var(--puv-acide); color: var(--puv-encre); padding: 2px 7px; border: 1.5px solid var(--puv-encre); }
.puv-carte__titre { font-family: var(--puv-titres); font-weight: 700; font-size: 1.14rem; line-height: 1.28; color: var(--puv-encre); margin: 0; }
.puv-carte__date { font-family: var(--puv-mono); font-size: 12.5px; color: var(--puv-gris); margin: 0; }
.puv-carte__extrait { font-size: .95rem; line-height: 1.55; color: #3b3a36; margin: 0; }
.puv-liste .puv-carte__rubrique { display: none; }

/* Rubrique */
.puv-rubrique-tete { background: var(--puv-encre); color: #dcd8cc; padding: 46px 0 50px; }
.puv-rubrique-tete__titre { font-family: var(--puv-titres); font-weight: 800; font-size: clamp(2rem, 4vw, 3.1rem); line-height: 1.08; color: var(--puv-papier); margin: 0 0 24px; }
.puv-rubrique-tete__intro { column-count: 2; column-gap: 52px; font-size: 1.02rem; line-height: 1.7; }
.puv-rubrique-tete__intro p { margin: 0 0 1em; break-inside: avoid-column; }
.puv-rubrique-tete__intro a { color: var(--puv-acide); }
.puv-rubrique-tete__intro:empty { display: none; }

/* Article */
.puv-article-tete { padding: 34px 0 30px; }
.puv-article-tete__titre { font-family: var(--puv-titres); font-weight: 800; font-size: clamp(1.95rem, 3.8vw, 2.9rem); line-height: 1.1; color: var(--puv-encre); margin: 0 0 16px; }
.puv-article-tete__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; font-family: var(--puv-mono); font-size: 13.5px; color: var(--puv-gris); margin: 0; }
.puv-article-tete__meta span + span::before { content: "/"; margin-right: 18px; color: var(--puv-filet); }
.puv-article-tete__meta a { color: var(--puv-vert); font-weight: 500; }
.puv-article-tete__image { margin-top: 26px; }
.puv-article-tete__image:not(:has(img)) { display: none; }
.puv-article-tete__img { display: block; width: 100%; box-shadow: 10px 10px 0 var(--puv-acide); border: 2px solid var(--puv-encre); }
.puv-article { display: grid; grid-template-columns: 236px minmax(0, 728px); gap: 52px; justify-content: center; padding-bottom: 56px; }
.puv-sommaire { position: sticky; top: 20px; align-self: start; font-size: 14.5px; }
.puv-sommaire details { background: var(--puv-carton); border: 2px solid var(--puv-encre); padding: 12px 14px; }
.puv-sommaire summary { cursor: pointer; font-family: var(--puv-mono); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; color: var(--puv-encre); list-style: none; }
.puv-sommaire summary::-webkit-details-marker { display: none; }
.puv-sommaire summary::after { content: "+"; float: right; font-weight: 700; }
.puv-sommaire details[open] summary::after { content: "-"; }
.puv-sommaire nav { margin: 0; }
.puv-sommaire ol, .puv-sommaire ul { margin: 10px 0 0; padding-left: 18px; }
.puv-sommaire ol ol, .puv-sommaire ul ul, .puv-sommaire li li { display: none; }
.puv-sommaire li { margin: 0 0 6px; }
.puv-sommaire a { color: var(--puv-encre); text-decoration: none; }
.puv-sommaire a:hover { text-decoration: underline; text-decoration-color: var(--puv-vert); }

/* Texte */
.puv-texte { font-size: 1.11rem; line-height: 1.72; color: var(--puv-texte); }
.puv-texte > :first-child { margin-top: 0; }
.puv-texte p { margin: 0 0 1.05em; }
.puv-texte h2 { font-family: var(--puv-titres); font-weight: 800; font-size: 1.72rem; line-height: 1.2; color: var(--puv-encre); margin: 1.9em 0 .6em; }
.puv-texte h2::before { content: ""; display: inline-block; width: .5em; height: .5em; margin-right: .4em; background: var(--puv-acide); border: 2px solid var(--puv-encre); vertical-align: .06em; }
.puv-texte h3 { font-family: var(--puv-titres); font-weight: 700; font-size: 1.3rem; line-height: 1.25; color: var(--puv-encre); margin: 1.6em 0 .5em; }
.puv-texte h4 { font-family: var(--puv-titres); font-weight: 700; font-size: 1.1rem; margin: 1.4em 0 .4em; }
.puv-texte ul, .puv-texte ol { margin: 0 0 1.2em; padding-left: 1.5em; }
.puv-texte ul { list-style: square; }
.puv-texte li { margin: 0 0 .45em; }
.puv-texte li::marker { color: var(--puv-vert); }
.puv-texte a { color: var(--puv-vert); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.puv-texte a:hover { background: var(--puv-acide); color: var(--puv-encre); }
.puv-texte img { display: block; margin: 1.6em 0; border: 2px solid var(--puv-encre); }
.puv-texte blockquote { margin: 1.6em 0; padding: 1em 1.3em; background: var(--puv-carton); font-style: italic; border: 0; }
.puv-texte blockquote p:last-child { margin-bottom: 0; }
.puv-texte strong { color: var(--puv-encre); }
.puv-texte table { width: 100%; border-collapse: collapse; margin: 1.6em 0; font-size: .97rem; }
.puv-texte th, .puv-texte thead td { background: var(--puv-encre); color: var(--puv-papier); font-weight: 600; text-align: left; padding: .6em .75em; }
.puv-texte td { padding: .55em .75em; border-bottom: 1px solid var(--puv-filet); vertical-align: top; }
.puv-texte tbody tr:nth-child(even) { background: var(--puv-carton); }
.puv-article .puv-texte > p:first-child { font-size: 1.24rem; line-height: 1.6; font-weight: 500; color: var(--puv-encre); }
.puv-texte--accueil h2 { margin-top: 1.6em; }

/* Encadré auteur */
.puv-auteur { display: grid; grid-template-columns: 96px 1fr; gap: 20px; align-items: start; margin-top: 2.6em; padding: 22px 22px 18px; background: var(--puv-encre); color: #dcd8cc; }
.puv-auteur:not(:has(img)) { grid-template-columns: 1fr; }
.puv-auteur__photo:not(:has(img)) { display: none; }
.puv-auteur__photo img, .puv-auteur__img { display: block; width: 96px; height: 96px; object-fit: cover; border: 3px solid var(--puv-acide); }
.puv-auteur__label { font-family: var(--puv-mono); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--puv-acide); margin: 0 0 4px; }
.puv-auteur__nom { font-family: var(--puv-titres); font-weight: 800; font-size: 1.25rem; margin: 0 0 8px; }
.puv-auteur__nom a { color: var(--puv-papier); text-decoration: none; }
.puv-auteur__nom a:hover { color: var(--puv-acide); }
.puv-auteur__bio { font-size: .97rem; line-height: 1.6; }
.puv-auteur__bio p { margin: 0; }
.puv-auteur__bio > :not(:first-child) { display: none; }

/* Pages fixes, auteur, formulaire */
.puv-page-tete { padding: 38px 0 22px; border-bottom: 3px solid var(--puv-encre); margin-bottom: 34px; }
.puv-page-tete__titre { font-family: var(--puv-titres); font-weight: 800; font-size: clamp(2rem, 4vw, 3rem); line-height: 1.08; color: var(--puv-encre); margin: 0; }
.puv-page { padding-bottom: 50px; }
.puv-texte--apropos img, .puv-profil__img { width: 220px; max-width: 60%; aspect-ratio: 1; object-fit: cover; box-shadow: 9px 9px 0 var(--puv-acide); }
.puv-profil__photo:not(:has(img)) { display: none; }
.puv-profil__photo { margin-bottom: 26px; }
.puv-profil__suite { font-family: var(--puv-mono); font-size: 14px; margin-top: 1.6em; }
.puv-ecrire { background: var(--puv-carton); border-top: 3px solid var(--puv-encre); padding: 40px 0 56px; }
.puv-ecrire__titre { font-family: var(--puv-titres); font-weight: 800; font-size: 1.6rem; color: var(--puv-encre); margin: 0 0 8px; }
.puv-ecrire__aide { margin: 0 0 20px; }
.puv-form { display: grid; gap: 12px; }
.puv-form__champ, .puv-form input:not([type="hidden"]), .puv-form textarea { width: 100%; font: inherit; padding: .7em .8em; border: 2px solid var(--puv-encre); background: var(--puv-blanc); color: var(--puv-texte); border-radius: 0; }
.puv-form textarea { min-height: 160px; }
.puv-form__bouton, .puv-form button, .puv-form [type="submit"] { justify-self: start; font-family: var(--puv-titres); font-weight: 800; font-size: 15px; letter-spacing: .04em; text-transform: uppercase; background: var(--puv-encre); color: var(--puv-acide); border: 2px solid var(--puv-encre); padding: .8em 1.4em; cursor: pointer; }
.puv-form__bouton:hover, .puv-form button:hover { background: var(--puv-acide); color: var(--puv-encre); }

/* Pied de page */
.puv-pied { background: var(--puv-encre); color: #dcd8cc; padding: 26px 0; font-size: 15px; }
.puv-pied__ligne { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px 24px; }
.puv-pied p { margin: 0; }
.puv-pied__nom { font-family: var(--puv-titres); font-weight: 800; color: var(--puv-papier); }
.puv-pied a { color: var(--puv-acide); }

/* Titre, auteur et image de l'article alignés sur la colonne du texte (sommaire 236 px + 52 px d'écart à gauche). */
@media (min-width: 1024px) {
  .puv-article-tete .puv-cadre.puv-colonne { max-width: 1060px; padding-left: 310px; }
}

/* Écrans moyens et téléphones */
@media (max-width: 1023px) {
  .puv-article { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .puv-sommaire { position: sticky; top: 0; z-index: 5; margin: 0 0 1.2em; font-size: 15px; }
  .puv-sommaire details { padding: 10px 12px; }
  .puv-sommaire details[open] { max-height: 60vh; overflow: auto; }
  .puv-une__grille { grid-template-columns: 1fr; gap: 30px; padding-top: 36px; padding-bottom: 44px; }
  .puv-rubriques__liste { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  body.puv { font-size: 16px; }
  .puv-cadre { padding: 0 18px; }
  .puv-texte { font-size: 1.05rem; }
  .puv-texte h2 { font-size: 1.45rem; }
  .puv-article .puv-texte > p:first-child { font-size: 1.14rem; }
  .puv-rubriques__liste { grid-template-columns: 1fr; }
  .puv-tuile { min-height: 0; }
  .puv-rubrique-tete__intro { column-count: 1; }
  .puv-article-tete { padding: 24px 0 22px; }
  .puv-article-tete__image { margin-top: 18px; }
  .puv-article-tete__img { box-shadow: 6px 6px 0 var(--puv-acide); }
  .puv-une__img { box-shadow: 7px 7px 0 var(--puv-acide); }
  .puv-texte table { display: block; overflow-x: auto; white-space: nowrap; }
  .puv-auteur { grid-template-columns: 72px 1fr; gap: 14px; padding: 18px 16px; }
  .puv-auteur__photo img, .puv-auteur__img { width: 72px; height: 72px; }
}
