/* Strumpfwaren Magazin, peau sw- : comptoir de laine, cote de fil, ourlet, nuancier.
   Règle négative : les teintes de fil (--laine, --chanvre, --coton) ne servent JAMAIS de fond
   plein à une section ou à un bouton ; le seul aplat large autorisé est --appui et --laine
   pour la bande retournée du pied. Saturated signature backgrounds : --appui-2, --laine. */

@font-face {
  font-family: 'Crimson Text';
  src: url('/crimson-text-v11-latin-700.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Vollkorn';
  src: url('/vollkorn-v13-latin-regular.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Vollkorn';
  src: url('/vollkorn-v13-latin-700.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}

:root {
  --fond: #EDE6D8;
  --fond-2: #E2D8C3;
  --appui: #F7F1E4;
  --appui-2: #D9C9A8;
  --encre: #2A2621;
  --encre-douce: #4F4837;
  --filet: #C4B79E;
  --laine: #2E3A46;
  --laine-clair: #4A5A6B;
  --chanvre: #8C6B3F;
  --coton: #B8785A;
  --signal: #B23A2E;
  --sur-sombre: #F5EEDF;
  --titre-police: 'Crimson Text', Georgia, 'Times New Roman', serif;
  --texte-police: 'Vollkorn', Georgia, 'Times New Roman', serif;
  --regie: ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  --mesure: 68ch;
  --halle: 78rem;
  --arrondi: 16px;
  --arrondi-hero: 20px;
  --arrondi-petit: 12px;
  --ombre-1: 0 2px 6px rgba(46,58,70,.10);
  --ombre-2: 0 6px 18px rgba(46,58,70,.14), 0 2px 4px rgba(46,58,70,.08);
  --ombre-3: 0 16px 38px rgba(46,58,70,.18), 0 4px 10px rgba(140,107,63,.14);
  --ombre-hero: 0 24px 60px rgba(46,58,70,.28), 0 8px 20px rgba(140,107,63,.18);
  --ombre-coton: 0 6px 20px rgba(184,120,90,.24);
  --ratio-carte: 4 / 3;
  --ratio-hero: 16 / 9;
  --ratio-ligne: 1 / 1;
  --voie-1: #2E3A46;
  --voie-2: #4E6B4A;
  --voie-3: #8C4A3E;
  --focus: #B23A2E;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--fond);
  color: var(--encre);
  font-family: var(--texte-police);
  font-size: clamp(1rem, .95rem + .25vw, 1.0625rem);
  line-height: 1.68;
  min-width: 0;
  overflow-x: hidden;
}
img, svg { max-width: 100%; display: block; height: auto; }
a { color: var(--laine); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
a:hover { color: var(--signal); }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 6px; }
h1, h2, h3 { font-family: var(--titre-police); font-weight: 700; letter-spacing: -.005em; line-height: 1.15; margin: 0 0 .5em; min-width: 0; }
h1 { font-size: clamp(2.1rem, 1.4rem + 3.2vw, 3.6rem); text-shadow: 0 1px 0 rgba(247,241,228,.8), 0 3px 10px rgba(46,58,70,.10); }
h2 { font-size: clamp(1.5rem, 1.1rem + 1.4vw, 2.25rem); }
h3 { font-size: clamp(1.1rem, 1rem + .5vw, 1.35rem); }
p { margin: 0 0 1em; min-width: 0; }
ul, ol { padding-left: 1.25em; }

/* --- Fronton --- */
.sw-fronton { background: var(--appui); box-shadow: var(--ombre-2); position: relative; z-index: 2; }
.sw-fronton__lisiere { height: 5px; background: repeating-linear-gradient(90deg, var(--laine) 0 24px, var(--chanvre) 24px 40px, var(--coton) 40px 60px, var(--appui-2) 60px 72px); }
.sw-fronton__interieur { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; padding: .85rem 0; }
.sw-enseigne { display: inline-flex; align-items: center; gap: .6rem; text-decoration: none; color: var(--encre); min-width: 0; }
.sw-enseigne__marque { display: inline-flex; border-radius: var(--arrondi-petit); box-shadow: var(--ombre-2); overflow: hidden; flex: 0 0 auto; }
.sw-enseigne__nom { font-family: var(--titre-police); font-weight: 700; font-size: clamp(1.2rem, 1rem + 1vw, 1.5rem); letter-spacing: -.01em; }
.sw-enseigne__mention { font-family: var(--regie); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--chanvre); align-self: flex-end; padding-bottom: .35em; }
.sw-parcours { flex: 1 1 auto; min-width: 0; }
.sw-parcours ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .25rem; }
.sw-parcours__lien { display: inline-block; padding: .35rem .75rem; border-radius: var(--arrondi-petit); text-decoration: none; font-family: var(--regie); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; color: var(--encre); transition: background .15s ease, color .15s ease, box-shadow .15s ease; }
.sw-parcours__lien:hover { background: var(--laine); color: var(--sur-sombre); box-shadow: var(--ombre-1); }
.sw-parcours__lien[aria-current="page"] { background: var(--appui-2); box-shadow: inset 0 -3px 0 var(--signal), var(--ombre-1); }

.sw-travee { max-width: var(--halle); margin: 0 auto; padding: 0 1.25rem; min-width: 0; width: 100%; }

/* --- Acces direct --- */
.sw-acces-direct { position: absolute; left: -9999px; top: 0; padding: .6rem 1rem; background: var(--encre); color: var(--sur-sombre); border-radius: 0 0 var(--arrondi-petit) 0; z-index: 10; }
.sw-acces-direct:focus { left: 0; }

/* --- Ourlet (signature) --- */
.sw-ourlet { border-bottom: 1px solid var(--filet); padding-bottom: .4rem; }
.sw-ourlet::after { content: ''; display: block; height: 4px; margin-top: 3px; background: repeating-linear-gradient(90deg, var(--coton) 0 12px, transparent 12px 20px); border-radius: 2px; }

/* --- Nuancier de fils (signature) --- */
.sw-fils { display: inline-flex; gap: 3px; vertical-align: middle; margin-right: .55rem; }
.sw-fils span { width: 12px; height: 12px; border-radius: 3px; background: var(--laine); box-shadow: var(--ombre-1); }
.sw-fils span:nth-child(2) { background: var(--chanvre); }
.sw-fils span:nth-child(3) { background: var(--coton); }

/* --- Cote de fil (signature) --- */
.sw-cote { display: inline-block; font-family: var(--regie); font-size: .82rem; letter-spacing: .18em; color: var(--appui); background: var(--laine); padding: .2rem .55rem; border-radius: 6px; box-shadow: var(--ombre-1); }
.sw-cote--grand { font-size: 1.35rem; padding: .35rem .75rem; }

/* --- Ouverture (compacte : premier lien visible avant le pli) --- */
.sw-ouverture { padding: 1.1rem 1.25rem .5rem; }
.sw-ouverture__texte { max-width: 62rem; min-width: 0; }
.sw-ouverture__surtitre { font-family: var(--regie); font-size: .78rem; letter-spacing: .22em; text-transform: uppercase; color: var(--chanvre); margin: 0 0 .25rem; }
.sw-ouverture__titre { margin: 0 0 .35em; font-size: clamp(1.8rem, 1.4rem + 2.2vw, 3rem); text-shadow: 0 1px 0 rgba(247,241,228,.85), 0 4px 14px rgba(46,58,70,.12); }
.sw-ouverture__intro { font-size: clamp(1rem, .95rem + .25vw, 1.1rem); max-width: 70ch; color: var(--encre-douce); margin: 0 0 .75rem; }

/* --- Bilan --- */
.sw-bilan { list-style: none; padding: 0; margin: 0 0 .5rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.sw-bilan__poste { display: flex; align-items: baseline; gap: .5rem; padding: .35rem .7rem; background: var(--appui); border-radius: var(--arrondi-petit); box-shadow: var(--ombre-1); border: 1px solid var(--filet); }
.sw-bilan__chiffre { font-family: var(--titre-police); font-weight: 700; font-size: 1.15rem; color: var(--laine); }
.sw-bilan__libelle { font-family: var(--regie); font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--chanvre); }

/* --- Rayons --- */
.sw-rayon { padding: 1.6rem 1.25rem; }
.sw-rayon--hero { padding-top: .5rem; padding-bottom: 2rem; }
.sw-rayon__tete { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem 1.5rem; margin-bottom: .9rem; }
.sw-rayon__tete h2 { margin: 0; flex: 1 1 auto; min-width: 0; }
.sw-rayon__tete h2 a { color: var(--encre); text-decoration: none; }
.sw-rayon__tete h2 a:hover { color: var(--signal); text-decoration: underline; }
.sw-rayon__cote { display: inline-block; font-family: var(--regie); font-size: .78rem; letter-spacing: .16em; color: var(--appui); background: var(--coton); padding: .18rem .55rem; border-radius: 6px; margin-right: .75rem; vertical-align: middle; box-shadow: var(--ombre-coton); }
.sw-rayon__phrase { margin: 0; color: var(--encre-douce); max-width: 60ch; flex: 1 1 22rem; min-width: 0; }
.sw-rayon__decompte { font-family: var(--regie); font-size: .78rem; letter-spacing: .12em; color: var(--chanvre); }

/* --- Entrées (cartes) --- */
.sw-casier { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: 1.25rem; min-width: 0; }
.sw-registre { display: grid; grid-template-columns: 1fr; gap: 0; min-width: 0; }

.sw-entree { display: grid; gap: 0; background: var(--appui); border: 1px solid var(--filet); border-radius: var(--arrondi); box-shadow: var(--ombre-2); overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; min-width: 0; }
.sw-entree:hover { transform: translateY(-2px); box-shadow: var(--ombre-3); }
.sw-entree__vignette { margin: 0; overflow: hidden; background: var(--appui-2); aspect-ratio: var(--ratio-carte); }
.sw-entree__vignette img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.95) contrast(1.03); border-radius: calc(var(--arrondi) - 4px) calc(var(--arrondi) - 4px) 0 0; }
.sw-entree__texte { padding: .9rem 1rem 1rem; min-width: 0; }
.sw-entree__tete { display: flex; align-items: center; gap: .5rem; margin: 0 0 .5rem; flex-wrap: wrap; }
.sw-mention { font-family: var(--regie); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--chanvre); }
.sw-entree__intitule { margin: 0 0 .4rem; }
.sw-entree__intitule a { color: var(--encre); text-decoration: none; }
.sw-entree__intitule a:hover { color: var(--signal); text-decoration: underline; }
.sw-entree__abrege { margin: 0 0 .55rem; color: var(--encre-douce); font-size: .95rem; }
.sw-entree__legende { margin: 0 0 .55rem; color: var(--encre-douce); font-size: .82rem; font-style: italic; }
.sw-entree__datation { margin: 0; font-family: var(--regie); font-size: .76rem; letter-spacing: .06em; color: var(--chanvre); display: flex; align-items: center; }

/* Ligne dense */
.sw-entree--ligne { grid-template-columns: 132px minmax(0, 1fr); border-radius: var(--arrondi-petit); box-shadow: none; background: transparent; border: 0; border-bottom: 1px solid var(--filet); }
.sw-entree--ligne:hover { transform: none; background: var(--appui); border-color: transparent; box-shadow: var(--ombre-2); }
.sw-entree--ligne .sw-entree__vignette { aspect-ratio: var(--ratio-ligne); border-radius: var(--arrondi-petit); margin: .6rem 0 .6rem .6rem; box-shadow: var(--ombre-2); }
.sw-entree--ligne .sw-entree__vignette img { border-radius: 0; }
.sw-entree--ligne .sw-entree__texte { padding: .65rem .9rem; }
.sw-entree--ligne .sw-entree__abrege { display: none; }

/* Hero */
.sw-entree--hero { grid-template-columns: 1fr; border-radius: var(--arrondi-hero); box-shadow: var(--ombre-hero); position: relative; }
.sw-entree--hero .sw-entree__vignette { aspect-ratio: var(--ratio-hero); position: relative; }
.sw-entree--hero .sw-entree__vignette img { border-radius: 0; }
.sw-entree--hero .sw-entree__vignette::after { content: ''; position: absolute; inset: auto 0 0 0; height: 62%; background: linear-gradient(180deg, rgba(42,38,33,0) 30%, rgba(42,38,33,.82) 100%); pointer-events: none; }
.sw-entree--hero .sw-entree__texte { position: absolute; bottom: 0; left: 0; right: 0; padding: 1.4rem 1.6rem 1.5rem; color: var(--sur-sombre); }
.sw-entree--hero .sw-entree__intitule a { color: var(--sur-sombre); text-shadow: 0 2px 4px rgba(42,38,33,.75), 0 4px 14px rgba(42,38,33,.6); font-size: clamp(1.35rem, 1.05rem + 1.1vw, 1.9rem); }
.sw-entree--hero .sw-entree__intitule a:hover { color: #fff; }
.sw-entree--hero .sw-entree__abrege { color: rgba(245,238,223,.94); text-shadow: 0 1px 3px rgba(42,38,33,.7); max-width: 62ch; }
.sw-entree--hero .sw-entree__datation { color: rgba(245,238,223,.9); }
.sw-entree--hero .sw-mention { color: rgba(245,238,223,.92); }

/* Claies */
.sw-claies { margin-top: 1.2rem; display: grid; gap: 0; min-width: 0; }

/* Rubrique tint */
.sw-voie-1 .sw-rayon__cote { background: var(--voie-1); }
.sw-voie-2 .sw-rayon__cote { background: var(--voie-2); }
.sw-voie-3 .sw-rayon__cote { background: var(--voie-3); }
.sw-voie-1 .sw-ourlet::after { background: repeating-linear-gradient(90deg, #B8927A 0 12px, transparent 12px 20px); }
.sw-voie-2 .sw-ourlet::after { background: repeating-linear-gradient(90deg, #7FA37B 0 12px, transparent 12px 20px); }
.sw-voie-3 .sw-ourlet::after { background: repeating-linear-gradient(90deg, #C97A66 0 12px, transparent 12px 20px); }

/* Préambule */
.sw-preambule { padding: 2rem 1.25rem .75rem; }
.sw-preambule__cote { font-family: var(--regie); font-size: .82rem; letter-spacing: .2em; color: var(--signal); margin: 0 0 .5rem; }
.sw-preambule__intro { max-width: 68ch; color: var(--encre-douce); font-size: clamp(1.02rem, .95rem + .3vw, 1.14rem); }

/* Onglets */
.sw-onglets { display: flex; flex-wrap: wrap; gap: .5rem 0; padding: .85rem 0; border-top: 1px solid var(--filet); border-bottom: 1px solid var(--filet); }
.sw-onglet { display: inline-block; padding: .5rem .9rem; border-radius: var(--arrondi-petit); text-decoration: none; font-family: var(--regie); font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; color: var(--encre); }
.sw-onglet:hover { background: var(--appui-2); color: var(--encre); box-shadow: var(--ombre-1); }
.sw-onglet--courant { background: var(--laine); color: var(--sur-sombre); box-shadow: var(--ombre-2); }

/* --- Fiche article --- */
.sw-fiche { padding: 1.25rem 0 0; }
.sw-entete-fiche { max-width: 62rem; padding: 1.25rem 1.25rem; }
.sw-chapeau { font-size: clamp(1.05rem, .98rem + .4vw, 1.22rem); color: var(--encre-douce); max-width: 62ch; }
.sw-datation { display: flex; align-items: center; font-family: var(--regie); font-size: .82rem; letter-spacing: .06em; color: var(--chanvre); }

.sw-planche-image { margin: 0 auto 2rem; padding: 0 1.25rem; max-width: var(--halle); }
.sw-planche-image__cadre { border-radius: var(--arrondi-hero); overflow: hidden; box-shadow: var(--ombre-3); background: var(--appui-2); aspect-ratio: var(--ratio-hero); }
.sw-planche-image__cadre img { width: 100%; height: 100%; object-fit: cover; }
.sw-planche-image__legende { font-family: var(--regie); font-size: .8rem; color: var(--encre-douce); margin-top: .6rem; max-width: 68ch; }

.sw-duo { display: grid; grid-template-columns: 11rem minmax(0, var(--mesure)) 13rem; gap: 2rem; padding: 0 1.25rem 2rem; max-width: var(--halle); margin: 0 auto; min-width: 0; }
.sw-notes { min-width: 0; }
.sw-notes h2 { font-size: 1rem; font-family: var(--regie); letter-spacing: .1em; text-transform: uppercase; color: var(--chanvre); }
.sw-notes ol { padding-left: 1.1em; font-size: .9rem; color: var(--encre-douce); }
.sw-notes ol li { margin-bottom: .5em; }
.sw-corps { min-width: 0; max-width: var(--mesure); }
.sw-corps > p:first-of-type::first-letter { font-family: var(--titre-police); font-weight: 700; float: left; font-size: 3.4em; line-height: .85; padding: .05em .12em 0 0; color: var(--laine); }
.sw-corps h2 { margin-top: 1.6em; }
.sw-corps h3 { margin-top: 1.4em; color: var(--laine); }
.sw-corps figure { margin: 1.5rem 0; }
.sw-corps figure img { border-radius: var(--arrondi); box-shadow: var(--ombre-2); }
.sw-corps figcaption { font-family: var(--regie); font-size: .78rem; color: var(--encre-douce); margin-top: .4rem; }
.sw-corps blockquote { border-left: 4px solid var(--coton); margin: 1.5rem 0; padding: .5rem 0 .5rem 1rem; color: var(--encre-douce); font-style: italic; }
.sw-corps table { border-collapse: collapse; width: 100%; font-size: .95rem; }
.sw-corps th, .sw-corps td { border: 1px solid var(--filet); padding: .55rem .75rem; text-align: left; }
.sw-corps th { background: var(--appui-2); font-family: var(--regie); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.sw-defile { overflow-x: auto; max-width: 100%; margin: 1.5rem 0; border-radius: var(--arrondi-petit); box-shadow: var(--ombre-1); }

.sw-releve { min-width: 0; align-self: start; position: sticky; top: 1rem; }
.sw-releve h2 { font-size: 1rem; font-family: var(--regie); letter-spacing: .1em; text-transform: uppercase; color: var(--chanvre); }
.sw-releve__sommaire { padding-left: 1.1em; font-size: .9rem; }
.sw-releve__sources { list-style: none; padding: 0; font-size: .82rem; word-break: break-word; }
.sw-releve__sources a { color: var(--encre-douce); }
.sw-sommaire { margin-bottom: 1.5rem; }

/* Voisinage */
.sw-voisinage .sw-casier { grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); }

/* Renvoi */
.sw-entree__renvoi { margin-top: 1rem; }
.sw-renvoi { display: inline-block; font-family: var(--regie); font-size: .82rem; letter-spacing: .1em; text-transform: uppercase; color: var(--encre); background: var(--appui); padding: .55rem .95rem; border-radius: 999px; text-decoration: none; box-shadow: var(--ombre-2); border: 1px solid var(--filet); }
.sw-renvoi:hover { background: var(--laine); color: var(--sur-sombre); }

/* Piege */
.sw-piege { padding: 2rem 1.25rem; max-width: 62rem; }
.sw-piege__liste { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: 1rem; margin: 1.5rem 0 0; }
.sw-piege__liste > div { background: var(--appui); border-radius: var(--arrondi); padding: 1rem 1.1rem; box-shadow: var(--ombre-2); border: 1px solid var(--filet); border-left: 4px solid var(--coton); }
.sw-piege__liste dt { font-family: var(--regie); font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--chanvre); margin-bottom: .35rem; }
.sw-piege__liste dd { margin: 0; color: var(--encre-douce); font-size: .95rem; }

/* Ailleurs */
.sw-ailleurs { padding: 2rem 1.25rem; background: var(--appui); border: 1px solid var(--filet); border-radius: var(--arrondi); box-shadow: var(--ombre-2); margin-top: 2rem; margin-bottom: 2rem; }
.sw-ailleurs__liste { list-style: none; padding: 0; margin: 1.5rem 0 0; display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.sw-ailleurs__item { padding: .75rem 1rem; background: var(--fond); border-radius: var(--arrondi-petit); box-shadow: var(--ombre-1); border: 1px solid var(--filet); }
.sw-ailleurs__item p { margin: 0; font-size: .95rem; color: var(--encre-douce); }

/* Remontee */
.sw-remontee { padding: .85rem 0; }
.sw-remontee ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .35rem .5rem; font-family: var(--regie); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; color: var(--chanvre); }
.sw-remontee li + li::before { content: '/'; margin-right: .5rem; color: var(--filet); }
.sw-remontee a { color: var(--encre-douce); }

/* Pied, bande retournée saturée (signature) */
.sw-pied { background: var(--laine); color: var(--sur-sombre); margin-top: 3rem; padding: 2.5rem 0 1.5rem; box-shadow: inset 0 6px 0 var(--coton), inset 0 12px 0 var(--chanvre); }
.sw-pied a { color: var(--sur-sombre); }
.sw-pied a:hover { color: #F0C97A; }
.sw-pied__colonnes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 2rem; }
.sw-pied__colonne h2 { font-size: 1rem; font-family: var(--regie); letter-spacing: .12em; text-transform: uppercase; color: #F0C97A; }
.sw-pied__colonne h2.sw-ourlet { border-bottom-color: rgba(245,238,223,.3); }
.sw-pied__colonne h2.sw-ourlet::after { background: repeating-linear-gradient(90deg, var(--coton) 0 12px, transparent 12px 20px); }
.sw-pied__colonne ul { list-style: none; padding: 0; }
.sw-pied__colonne li { margin-bottom: .35rem; }
.sw-pied__note { margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid rgba(245,238,223,.25); max-width: 68ch; }
.sw-pied__note h2 { font-family: var(--regie); font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; color: #F0C97A; }
.sw-pied__note h2.sw-ourlet::after { background: repeating-linear-gradient(90deg, var(--signal) 0 12px, transparent 12px 20px); }
.sw-pied__note p { font-size: .9rem; color: rgba(245,238,223,.9); }
.sw-pied__ligne { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid rgba(245,238,223,.25); font-family: var(--regie); font-size: .78rem; letter-spacing: .1em; color: rgba(245,238,223,.75); }

/* --- Responsive --- */
@media (max-width: 62rem) {
  .sw-duo { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .sw-notes { order: 1; }
  .sw-corps { order: 2; }
  .sw-releve { order: 3; position: static; }
  .sw-entree--hero .sw-entree__texte { position: static; color: var(--encre); padding: 1rem 1.1rem 1.15rem; background: var(--appui); }
  .sw-entree--hero .sw-entree__vignette::after { height: 55%; }
  .sw-entree--hero .sw-entree__intitule a { color: var(--encre); text-shadow: none; }
  .sw-entree--hero .sw-entree__intitule a:hover { color: var(--signal); }
  .sw-entree--hero .sw-entree__abrege, .sw-entree--hero .sw-entree__datation, .sw-entree--hero .sw-mention { color: var(--encre-douce); text-shadow: none; }
}
@media (max-width: 46rem) {
  .sw-fronton__interieur { gap: .5rem 1rem; }
  .sw-ouverture { padding: .85rem 1.25rem .4rem; }
  .sw-ouverture__titre { font-size: clamp(1.6rem, 1.3rem + 2vw, 2.2rem); }
  .sw-rayon { padding: 1.25rem 1.25rem; }
  .sw-entree--ligne { grid-template-columns: 96px minmax(0, 1fr); }
  .sw-bilan { gap: .35rem; }
  .sw-bilan__poste { padding: .3rem .55rem; }
  .sw-enseigne__mention { align-self: center; padding-bottom: 0; }
}
@media (max-width: 26rem) {
  .sw-entree--ligne { grid-template-columns: 78px minmax(0, 1fr); }
  .sw-parcours__lien { padding: .3rem .55rem; font-size: .72rem; }
  .sw-rayon__cote { font-size: .72rem; padding: .15rem .45rem; margin-right: .5rem; }
}
@media (min-width: 120rem) {
  :root { --halle: 88rem; }
  .sw-ouverture { padding: 1.5rem 1.25rem .75rem; }
  .sw-rayon { padding: 2rem 1.25rem; }
}
