/*
Theme Name: Résurrection
Theme URI: https://revueresurrection.fr
Description: Thème de la Revue Résurrection. Identité éditoriale « revue savante, patrimoine vivant » : ivoire papier, bordeaux profond, or patiné, typographies EB Garamond / Source Serif 4 / Inter. Thème enfant de Twenty Twenty-Five (blocs / FSE), entièrement modifiable dans l'éditeur Gutenberg.
Author: WinWin Partners
Template: twentytwentyfive
Version: 1.0.24
Requires at least: 6.7
Requires PHP: 7.2
Text Domain: resurrection
*/

:root{
  --res-bordeaux-f:#581620;
  --res-filet:rgba(29,26,23,.14);
  --res-filet-or:rgba(184,155,94,.5);
}

/* ---------- Labels / sur-titres ---------- */
.res-surtitre{
  font-family:var(--wp--preset--font-family--sans);
  text-transform:uppercase; letter-spacing:.2em;
  font-size:.72rem; font-weight:600;
  color:var(--wp--preset--color--cuir);
  margin:0 0 1rem;
}
.res-label{
  font-family:var(--wp--preset--font-family--sans);
  text-transform:uppercase; letter-spacing:.16em;
  font-size:.68rem; font-weight:600; color:var(--wp--preset--color--pierre);
  margin:0 0 .4rem;
}
.res-label.has-bordeaux-color{ color:var(--wp--preset--color--bordeaux); }
.res-baseline{
  font-family:var(--wp--preset--font-family--garamond);
  font-style:italic; color:var(--wp--preset--color--cuir);
  line-height:1.35;
}
.res-lead{ font-size:clamp(1.15rem,1.8vw,1.32rem); line-height:1.6; color:#3a352f; }
.res-meta{ font-family:var(--wp--preset--font-family--sans); font-size:.78rem; color:var(--wp--preset--color--pierre); letter-spacing:.02em; }

/* Largeur de lecture confortable */
.res-measure{ max-width:62ch; }

/* Lettrine */
.res-lettrine p:first-of-type::first-letter,
p.res-lettrine::first-letter{
  font-family:var(--wp--preset--font-family--garamond);
  font-weight:600; color:var(--wp--preset--color--bordeaux);
  float:left; font-size:3.6em; line-height:.72; padding:.05em .12em 0 0;
}

/* ---------- Filet doré + ornement ---------- */
.res-ornement{ display:flex; align-items:center; justify-content:center; gap:.9rem; color:var(--wp--preset--color--or); }
.res-ornement::before,.res-ornement::after{ content:""; height:1px; width:min(110px,16vw); background:var(--wp--preset--color--or); opacity:.6; }
.res-ornement span{ font-family:var(--wp--preset--font-family--garamond); font-size:1.1rem; line-height:1; }

/* ---------- Cadre fin autour des visuels ---------- */
.res-frame{ padding:8px; background:var(--wp--preset--color--papier); border:1px solid var(--res-filet); box-shadow:0 12px 30px -22px rgba(29,26,23,.5); }
.res-frame > .res-gravure{ border:1px solid var(--res-filet-or); }
figcaption,.res-caption{ font-family:var(--wp--preset--font-family--sans); font-size:.72rem; color:var(--wp--preset--color--pierre); margin-top:.7rem; letter-spacing:.02em; }
.res-caption:empty{ display:none; }

/* ---------- Gravure (placeholder patrimonial) ---------- */
.res-gravure{
  position:relative; min-height:260px; aspect-ratio:4/5; background:#EAE0CE; overflow:hidden;
  background-image:
    repeating-linear-gradient(45deg, rgba(122,85,56,.10) 0 1px, transparent 1px 5px),
    repeating-linear-gradient(-45deg, rgba(29,26,23,.06) 0 1px, transparent 1px 7px);
  display:flex; align-items:center; justify-content:center;
}
.res-gravure.is-wide{ aspect-ratio:3/2; min-height:0; }
.res-gravure::after{ content:""; position:absolute; inset:0; box-shadow:inset 0 0 60px rgba(122,85,56,.25); pointer-events:none; }
.res-gravure > *{ position:relative; font-family:var(--wp--preset--font-family--sans); text-transform:uppercase; letter-spacing:.18em; font-size:.6rem; font-weight:600; color:var(--wp--preset--color--cuir); background:rgba(246,240,230,.7); padding:.35rem .7rem; border:1px solid var(--res-filet-or); margin:0; }
/* Vraie image insérée dans le cadre patrimonial : neutralise le rendu « placeholder » */
.res-gravure:has(img){ min-height:0; aspect-ratio:auto; background:none; background-image:none; display:block; }
.res-gravure:has(img)::after{ display:none; }
.res-gravure > .wp-block-image{ margin:0; padding:0; border:0; background:none; letter-spacing:normal; text-transform:none; }
.res-gravure > .wp-block-image img{ display:block; width:100%; height:auto; }

/* ---------- Couverture (maquette) ---------- */
.res-cover{
  width:min(300px,80vw); aspect-ratio:3/4.15; margin-inline:auto;
  background:var(--wp--preset--color--olive); border:1px solid var(--wp--preset--color--olive);
  box-shadow:0 16px 36px -24px rgba(29,26,23,.55);
  padding:1.6rem 1.3rem; display:flex; flex-direction:column; text-align:center; position:relative;
}
.res-cover::before{ content:""; position:absolute; inset:7px; border:1px solid var(--wp--preset--color--or); pointer-events:none; }
.res-cover > *{ position:relative; color:var(--wp--preset--color--papier); margin:0; }
.res-cover .res-cover__rev{ font-family:var(--wp--preset--font-family--sans); text-transform:uppercase; letter-spacing:.3em; font-size:.56rem; font-weight:600; color:#EDEFD9; }
.res-cover .res-cover__title{ font-family:var(--wp--preset--font-family--garamond); font-weight:600; font-size:1.9rem; line-height:1; margin-top:.5rem; }
.res-cover .res-cover__theme{ font-family:var(--wp--preset--font-family--garamond); font-style:italic; font-size:1.55rem; margin:auto 0; line-height:1.2; }
.res-cover .res-cover__num{ font-family:var(--wp--preset--font-family--sans); text-transform:uppercase; letter-spacing:.18em; font-size:.62rem; color:#D9DCC0; margin-top:auto; }

/* ---------- Chiffres-clés ---------- */
.res-chiffre .res-nombre{ font-family:var(--wp--preset--font-family--garamond); font-weight:600; font-size:clamp(2.6rem,5.5vw,3.8rem); line-height:1; color:var(--wp--preset--color--bordeaux); margin:0; }
.res-chiffre .res-libelle{ font-family:var(--wp--preset--font-family--sans); text-transform:uppercase; letter-spacing:.12em; font-size:.68rem; color:var(--wp--preset--color--pierre); margin:.7rem 0 0; line-height:1.5; }

/* ---------- Rubriques (cartes) ---------- */
.res-rubrique{ border:1px solid var(--res-filet); border-radius:1px; transition:border-color .2s ease, transform .2s ease; height:100%; }
.res-rubrique:hover{ border-color:var(--wp--preset--color--or); transform:translateY(-2px); }

/* ---------- Articles (grille éditoriale) ---------- */
.res-article h3{ line-height:1.18; }
.res-article h3 a{ color:var(--wp--preset--color--encre); border-bottom:1px solid transparent; }
.res-article h3 a:hover{ color:var(--wp--preset--color--bordeaux); border-color:var(--wp--preset--color--or); text-decoration:none; }

/* ---------- Archives (bande défilable) ---------- */
.res-archives{ display:flex; gap:1.1rem; overflow-x:auto; padding-bottom:1.2rem; }
.res-archives .res-mini-cover{ flex:0 0 auto; width:132px; aspect-ratio:3/4.15; border:1px solid var(--res-filet); padding:.8rem .6rem; display:flex; flex-direction:column; text-align:center; transition:transform .2s ease, border-color .2s ease; }
.res-mini-cover:hover{ transform:translateY(-3px); border-color:var(--wp--preset--color--or); }
.res-mini-cover > *{ margin:0; }
.res-mini-cover .mc-nom{ font-family:var(--wp--preset--font-family--garamond); font-size:.9rem; font-weight:600; color:var(--wp--preset--color--bordeaux); }
.res-mini-cover .mc-an{ font-family:var(--wp--preset--font-family--garamond); font-size:1.9rem; color:var(--wp--preset--color--encre); margin:auto 0; }
.res-mini-cover .mc-num{ font-family:var(--wp--preset--font-family--sans); font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; color:var(--wp--preset--color--pierre); }

/* ---------- Numéros (CPT) : couvertures & cartes de boucle ---------- */
.res-cover-img img{ border:1px solid var(--res-filet); box-shadow:0 14px 32px -24px rgba(29,26,23,.5); }
/* Une couverture n'est jamais recadrée ni déformée : le rapport et
   l'object-fit que le bloc natif pose en ligne sont retirés en PHP
   (resurrection_couverture_repli_bloc). Ici, seulement la hauteur. */
.res-cover-img img{ height:auto; }
.res-cover-img.wp-block-post-featured-image{ margin:0; }
.res-numeros-loop .res-article{ display:flex; flex-direction:column; height:100%; }
.res-numeros-loop .wp-block-post-title{ font-family:var(--wp--preset--font-family--garamond); font-weight:500; font-size:1.42rem; line-height:1.18; }
.res-numeros-loop .wp-block-post-title a{ color:var(--wp--preset--color--encre); border-bottom:1px solid transparent; text-decoration:none; }
.res-numeros-loop .wp-block-post-title a:hover{ color:var(--wp--preset--color--bordeaux); border-color:var(--wp--preset--color--or); }
.res-numeros-loop .wp-block-post-excerpt{ color:#4a443d; }
.res-numeros-loop .wp-block-post-excerpt__excerpt{ margin:0; }
.res-numeros-loop .wp-block-post-excerpt__more-link{ display:none; }
/* Grille 3 colonnes des cartes de numéros (accueil + archive), robuste si l'éditeur repasse la boucle en « flux » */
.res-numeros-loop ul.wp-block-post-template{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1.6rem,3vw,2.6rem); }
.res-numeros-loop ul.wp-block-post-template > li{ margin-block-start:0; }
@media (max-width:781px){ .res-numeros-loop ul.wp-block-post-template{ grid-template-columns:1fr; } }
.wp-block-query-pagination .wp-block-query-pagination-numbers,
.wp-block-query-pagination a,
.wp-block-query-pagination .current{ font-family:var(--wp--preset--font-family--sans); font-size:.85rem; letter-spacing:.04em; }

/* ---------- Bandeau d'annonce (inc/bandeau.php) ---------- */
.res-bandeau{ background:var(--wp--preset--color--bordeaux); color:var(--wp--preset--color--papier); }
.res-bandeau__inner{
  margin:0 auto; max-width:1200px; padding:.6rem 16px;
  display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:.4rem 1.1rem;
  font-family:var(--wp--preset--font-family--sans); font-size:.85rem; line-height:1.45; text-align:center;
}
.res-bandeau__code{
  font-size:.74rem; text-transform:uppercase; letter-spacing:.12em;
  border:1px solid var(--wp--preset--color--or); padding:.2rem .6rem; border-radius:1px; white-space:nowrap;
}
.res-bandeau__code strong{ font-weight:600; color:#fff; letter-spacing:.16em; }
.res-bandeau a.res-bandeau__lien{
  color:var(--wp--preset--color--papier); font-weight:600; white-space:nowrap;
  text-decoration:underline; text-decoration-color:var(--wp--preset--color--or); text-underline-offset:.25em;
}
.res-bandeau a.res-bandeau__lien:hover,
.res-bandeau a.res-bandeau__lien:focus-visible{ color:#fff; text-decoration-color:currentColor; }

/* ---------- En-tête ---------- */
.res-topline{ height:3px; background:var(--wp--preset--color--bordeaux); }
.res-header{ border-bottom:1px solid var(--res-filet); }
.res-header .wp-block-site-title a{ text-decoration:none; }
.res-header .wp-block-navigation a{ color:var(--wp--preset--color--encre); }
.res-header .wp-block-navigation a:hover{ color:var(--wp--preset--color--bordeaux); text-decoration:none; }
.res-boutique a{
  font-family:var(--wp--preset--font-family--sans); font-size:.78rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.12em; color:var(--wp--preset--color--olive)!important;
  border:1px solid var(--res-filet); padding:.5rem .95rem; border-radius:1px; text-decoration:none;
}
.res-boutique a:hover{ border-color:var(--wp--preset--color--olive); background:rgba(79,91,46,.08); }
.res-wordmark .res-wordmark__sur{ font-family:var(--wp--preset--font-family--sans); text-transform:uppercase; letter-spacing:.42em; font-size:.54rem; font-weight:600; color:var(--wp--preset--color--cuir); margin:0 0 .2rem; }
.res-header .res-logo.wp-block-site-logo{ margin:0; line-height:0; }
.res-header .res-logo img{ height:auto; }
@media(max-width:781px){ .res-header .res-logo.wp-block-site-logo{ width:200px!important; } }

/* ---------- En-tête : loupe de recherche ---------- */
.res-actions{ display:flex; align-items:center; gap:1rem; }
.res-loupe{
  display:inline-flex; align-items:center; justify-content:center;
  width:2.1rem; height:2.1rem; border:1px solid var(--res-filet);
  color:var(--wp--preset--color--encre); text-decoration:none;
  transition:border-color .2s ease, color .2s ease, background .2s ease;
}
.res-loupe:hover, .res-loupe:focus-visible{
  color:var(--wp--preset--color--bordeaux); border-color:var(--res-filet-or);
  background:rgba(184,155,94,.09);
}
.res-loupe svg{ display:block; }

/* ---------- Pied de page ---------- */
.res-footer{ background:var(--wp--preset--color--encre); color:rgba(246,240,230,.78); }
.res-footer :where(h1,h2,h3,h4){ color:var(--wp--preset--color--or); }
.res-footer a{ color:rgba(246,240,230,.78); text-decoration:none; }
.res-footer a:hover{ color:var(--wp--preset--color--papier); }
.res-footer .res-footer-h{ font-family:var(--wp--preset--font-family--sans); text-transform:uppercase; letter-spacing:.16em; font-size:.7rem; font-weight:600; color:var(--wp--preset--color--or); }
.res-footer .res-wordmark__nom{ font-family:var(--wp--preset--font-family--garamond); font-size:1.55rem; color:var(--wp--preset--color--papier); }

/* ---------- Boutons : variante contour ---------- */
.wp-block-button.is-style-contour .wp-block-button__link{
  background:transparent; color:var(--wp--preset--color--bordeaux);
  border:1px solid var(--wp--preset--color--bordeaux);
}
.wp-block-button.is-style-contour .wp-block-button__link:hover{
  background:var(--wp--preset--color--bordeaux); color:var(--wp--preset--color--papier);
}
.res-footer .wp-block-button.is-style-contour .wp-block-button__link{ color:var(--wp--preset--color--papier); border-color:rgba(246,240,230,.45); }
.res-footer .wp-block-button.is-style-contour .wp-block-button__link:hover{ background:var(--wp--preset--color--papier); color:var(--wp--preset--color--encre); }

/* ---------- Pages de contenu : marge interne des sections ---------- */
/* Donne aux sections pleine largeur des pages (hors accueil, qui a déjà
   ses paddings en ligne) une respiration verticale haut/bas. */
.page:not(.home) main .wp-block-group.alignfull.has-background{
  padding-top:var(--wp--preset--spacing--60);
  padding-bottom:var(--wp--preset--spacing--60);
}

/* ---------- Séparateurs ---------- */
.wp-block-separator.is-style-wide{ border-color:var(--res-filet-or); opacity:1; }

/* ---------- Accessibilité : mouvement réduit ---------- */
@media (prefers-reduced-motion: reduce){
  *{ transition-duration:.001ms !important; animation-duration:.001ms !important; }
}

/* ---------- Archives : recherche ---------- */
.res-recherche{ margin:1.8rem 0 2.4rem; }
.res-recherche__ligne{
  display:grid; grid-template-columns:2fr 1.4fr 1.4fr auto; gap:.9rem; align-items:end;
}
.res-recherche__champ{ display:flex; flex-direction:column; gap:.35rem; }
.res-recherche__champ > span{
  font-family:var(--wp--preset--font-family--sans); text-transform:uppercase;
  letter-spacing:.14em; font-size:.62rem; font-weight:600; color:var(--wp--preset--color--cuir);
}
.res-recherche input, .res-recherche select{
  width:100%; padding:.6rem .75rem; font-family:var(--wp--preset--font-family--body);
  font-size:.95rem; color:var(--wp--preset--color--encre);
  background:var(--wp--preset--color--papier); border:1px solid var(--res-filet); border-radius:1px;
}
.res-recherche input:focus, .res-recherche select:focus{
  outline:2px solid var(--res-filet-or); outline-offset:1px;
}
.res-recherche button{ white-space:nowrap; }
@media (max-width:781px){
  .res-recherche__ligne{ grid-template-columns:1fr; }
}

/* ---------- Archives : résultats ---------- */
.res-recherche__compte, .res-recherche__vide{
  font-family:var(--wp--preset--font-family--sans); font-size:.78rem;
  letter-spacing:.06em; color:var(--wp--preset--color--cuir); margin:0 0 1rem;
}
.res-resultats{ list-style:none; margin:0; padding:0; border-top:1px solid var(--res-filet); }
.res-resultats__item{ padding:1.15rem 0; border-bottom:1px solid var(--res-filet); }
.res-resultats__titre{
  font-family:var(--wp--preset--font-family--garamond); font-size:1.28rem; line-height:1.28;
  color:var(--wp--preset--color--encre); text-decoration:none; display:inline-block;
}
.res-resultats__titre:hover{ color:var(--wp--preset--color--bordeaux); }
.res-resultats__reperes{
  margin:.35rem 0 0; font-family:var(--wp--preset--font-family--sans);
  font-size:.74rem; letter-spacing:.04em; color:var(--wp--preset--color--cuir);
}
.res-resultats__reperes a{ color:inherit; text-decoration:none; border-bottom:1px solid var(--res-filet-or); }
.res-resultats__payant{ color:var(--wp--preset--color--bordeaux); font-weight:600; }
.res-sep{ opacity:.5; margin:0 .15rem; }

.res-pagination{ margin-top:2rem; }
.res-pagination ul{ list-style:none; display:flex; flex-wrap:wrap; gap:.4rem; margin:0; padding:0; }
.res-pagination a, .res-pagination span{
  display:inline-block; padding:.35rem .7rem; font-family:var(--wp--preset--font-family--sans);
  font-size:.78rem; border:1px solid var(--res-filet); text-decoration:none; color:var(--wp--preset--color--encre);
}
.res-pagination .current{ background:var(--wp--preset--color--bordeaux); color:var(--wp--preset--color--papier); border-color:var(--wp--preset--color--bordeaux); }

/* ---------- Archives : fiche d'un article ---------- */
/* Le h1 du thème est calibré pour l'accueil (5rem) : sur un titre d'article de
   plusieurs mots, il occupait l'écran entier. Ici, une échelle propre à la fiche. */
.res-article-titre{
  font-size:clamp(1.85rem, 1.1rem + 2.4vw, 2.85rem) !important;
  line-height:1.1;
  margin:.5rem 0 .7rem;
  max-width:20ch;
}
.res-article-page .res-retour{ margin-bottom:0; }
.res-article-surtitre{ margin:0; }
.res-article-auteur a{ color:inherit; text-decoration:none; border-bottom:1px solid var(--res-filet-or); }

/* Encart latéral : la couverture du numéro dont vient l'article. */
.res-encart{ position:sticky; top:1.5rem; }
.res-encart__lien{ text-decoration:none; color:inherit; display:block; }
.res-encart__visuel{
  padding:8px; background:var(--wp--preset--color--papier);
  border:1px solid var(--res-filet); box-shadow:0 12px 30px -22px rgba(29,26,23,.5);
}
.res-encart__image{ display:block; width:100%; height:auto; border:1px solid var(--res-filet-or); }
.res-encart__cartouche{
  aspect-ratio:3/4.15; border:1px solid var(--res-filet-or);
  display:flex; align-items:center; justify-content:center; text-align:center;
  background:var(--wp--preset--color--beige);
}
.res-encart__cartouche span{
  font-family:var(--wp--preset--font-family--garamond); font-size:1.1rem;
  color:var(--wp--preset--color--cuir); padding:0 .8rem;
}
.res-encart__titre{
  margin:.85rem 0 0; font-family:var(--wp--preset--font-family--sans);
  text-transform:uppercase; letter-spacing:.14em; font-size:.62rem; font-weight:600;
  color:var(--wp--preset--color--cuir);
}
.res-encart__dossier{
  margin:.25rem 0 0; font-family:var(--wp--preset--font-family--garamond);
  font-size:1.02rem; line-height:1.3; color:var(--wp--preset--color--encre);
}
.res-encart__lien:hover .res-encart__dossier{ color:var(--wp--preset--color--bordeaux); }

/* « Dans le même numéro » : une suite de lecture, et un sommaire là où
   l'article lui-même n'est pas consultable. */
.res-voisins{ margin-top:var(--wp--preset--spacing--50); }
.res-voisins__titre{
  font-size:1.25rem; margin:0 0 .9rem; padding-bottom:.6rem;
  border-bottom:1px solid var(--res-filet-or);
}
.res-voisins__liste{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:.1rem 2.5rem;
}
.res-voisins__item{ padding:.7rem 0; border-bottom:1px solid var(--res-filet); }
.res-voisins__item a{
  font-family:var(--wp--preset--font-family--garamond); font-size:1.05rem;
  color:var(--wp--preset--color--encre); text-decoration:none;
}
.res-voisins__item a:hover{ color:var(--wp--preset--color--bordeaux); }
.res-voisins__auteur{
  display:block; margin-top:.15rem; font-family:var(--wp--preset--font-family--sans);
  font-size:.7rem; letter-spacing:.05em; color:var(--wp--preset--color--cuir);
}
.res-voisins__auteur a{ font-family:inherit; font-size:inherit; color:inherit; }
@media (max-width:781px){
  .res-voisins__liste{ grid-template-columns:1fr; }
  .res-encart{ position:static; max-width:260px; margin-top:2rem; }
  .res-article-titre{ max-width:none; }
}

.res-article-meta{
  font-family:var(--wp--preset--font-family--sans); font-size:.76rem; letter-spacing:.05em;
  color:var(--wp--preset--color--cuir); margin:.5rem 0 0;
}
.res-article-meta a{ color:inherit; text-decoration:none; border-bottom:1px solid var(--res-filet-or); }
.res-filet{ border-color:var(--res-filet-or); opacity:1; margin:1.6rem 0; }
.res-article-chapo{ font-size:1.06rem; line-height:1.7; color:var(--wp--preset--color--encre); }
.res-article-chapo p:first-child::first-letter{
  font-family:var(--wp--preset--font-family--garamond); font-size:2.9em; line-height:.85;
  float:left; margin:.06em .1em 0 0; color:var(--wp--preset--color--bordeaux);
}
/* Extrait d'un article payant : le texte s'estompe pour dire qu'il est coupé,
   sans jamais masquer un contenu qui aurait été servi en entier. */
.res-article-extrait{ position:relative; }
.res-article-extrait > p:last-child{
  -webkit-mask-image:linear-gradient(to bottom, #000 45%, transparent 100%);
  mask-image:linear-gradient(to bottom, #000 45%, transparent 100%);
}
.res-article-suite{
  margin-top:1.6rem; padding:1.3rem 1.5rem;
  background:var(--wp--preset--color--beige); border:1px solid var(--res-filet-or);
}
.res-article-suite__texte{
  margin:0 0 1rem; font-family:var(--wp--preset--font-family--sans);
  font-size:.86rem; letter-spacing:.02em; color:var(--wp--preset--color--encre);
}
.res-article-suite .res-article-commander{ margin-top:0; display:flex; flex-wrap:wrap; gap:.7rem; }

.res-article-corps{ font-size:1.02rem; line-height:1.75; }
.res-article-corps h3{ font-family:var(--wp--preset--font-family--garamond); margin-top:2rem; }
.res-article-absent{ color:var(--wp--preset--color--cuir); font-style:italic; }
.res-article-commander{ margin-top:1.6rem; }

/* ---------- Articles : appels et notes de bas de page ---------- */
/* Les notes sont réunies en fin d'article dans un bloc repliable natif
   (<details>), sans JavaScript. Suivre un appel ouvre le bloc : les
   navigateurs déplient d'eux-mêmes un <details> qui contient la cible d'un
   lien interne. */
.res-appel{ font-size:.68em; line-height:0; vertical-align:super; margin-left:.05em; }
.res-appel a{
  font-family:var(--wp--preset--font-family--sans); font-weight:600;
  color:var(--wp--preset--color--bordeaux); text-decoration:none; padding:0 .1em;
}
.res-appel a:hover{ text-decoration:underline; }
.res-appel a:focus-visible,
.res-note summary:focus-visible,
.res-note__retour:focus-visible{ outline:2px solid var(--wp--preset--color--bordeaux); outline-offset:2px; border-radius:1px; }

.res-note{
  margin:2.6rem 0 0; border-top:1px solid var(--res-filet-or); border-bottom:1px solid var(--res-filet-or);
  background:rgba(239,229,214,.45);
}
.res-note summary{
  list-style:none; cursor:pointer; padding:.85rem 1rem;
  font-family:var(--wp--preset--font-family--sans); font-size:.78rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.12em; color:var(--wp--preset--color--cuir);
  display:flex; align-items:center; gap:.6rem;
}
.res-note summary::-webkit-details-marker{ display:none; }
.res-note summary::before{
  content:""; width:0; height:0; flex:none;
  border-left:.42em solid var(--wp--preset--color--or);
  border-top:.3em solid transparent; border-bottom:.3em solid transparent;
  transition:transform .2s ease;
}
.res-note[open] summary::before{ transform:rotate(90deg); }
.res-note summary:hover{ color:var(--wp--preset--color--bordeaux); }
.res-notes{
  margin:0; padding:.2rem 1.2rem 1.1rem 2.6rem;
  font-family:var(--wp--preset--font-family--body); font-size:.88rem; line-height:1.6;
  color:var(--wp--preset--color--encre);
}
.res-notes li{ margin:0 0 .55rem; padding-left:.2rem; scroll-margin-top:6rem; }
.res-notes li::marker{ font-family:var(--wp--preset--font-family--sans); font-size:.8em; font-weight:600; color:var(--wp--preset--color--cuir); }
.res-notes li:target{ background:rgba(184,155,94,.18); outline:1px solid var(--res-filet-or); outline-offset:3px; }
.res-appel:target a{ background:rgba(184,155,94,.25); }
.res-appel{ scroll-margin-top:6rem; }
.res-note__retour{
  font-family:var(--wp--preset--font-family--sans); font-size:.85em;
  color:var(--wp--preset--color--bordeaux); text-decoration:none; margin-left:.2rem;
}
@media (prefers-reduced-motion:reduce){ .res-note summary::before{ transition:none; } }

/* ---------- Fiche d'un numéro : deux colonnes ---------- */
/* La lecture à gauche, la couverture à droite. Elle est collante : sur un
   sommaire ou un éditorial long, elle reste en vue au lieu de laisser la
   moitié droite de l'écran vide. */
.res-fiche.wp-block-columns{ align-items:flex-start; }
.res-fiche__aside{ flex-grow:0; position:sticky; top:2rem; align-self:flex-start; }
.res-fiche__aside .res-cover-img{ margin:0; }
.res-cover-legende{
  font-family:var(--wp--preset--font-family--sans); font-size:.7rem;
  letter-spacing:.1em; text-transform:uppercase; color:var(--wp--preset--color--pierre);
  text-align:center; margin:.9rem 0 0;
}
.res-fiche__titre{ text-wrap:balance; }

@media (max-width:781px){
  /* WordPress empile déjà les colonnes ; la couverture passe devant le texte. */
  .res-fiche__aside{ position:static; order:-1; max-width:210px; }
}

/* ---------- Onglets de la fiche ---------- */
/* Sans JavaScript : les onglets sont des boutons radio, le CSS affiche le
   panneau de celui qui est coché. Le clavier les parcourt aux flèches. */
.res-onglets__radio{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }

.res-onglets__barre{
  display:flex; gap:2.2rem; flex-wrap:wrap;
  border-bottom:1px solid var(--res-filet);
}
.res-onglets__label{
  font-family:var(--wp--preset--font-family--sans); font-size:.82rem; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--wp--preset--color--pierre);
  padding:0 0 .9rem; margin-bottom:-1px; cursor:pointer;
  border-bottom:2px solid transparent;
  transition:color .2s ease, border-color .2s ease;
}
.res-onglets__label:hover{ color:var(--wp--preset--color--cuir); }

.res-onglets__panneau{ display:none; padding:2.6rem 0 0; }
.res-onglets--seul{ padding:0; }

#res-onglet-presentation:checked ~ .res-onglets__panneau--presentation,
#res-onglet-sommaire:checked ~ .res-onglets__panneau--sommaire,
#res-onglet-editorial:checked ~ .res-onglets__panneau--editorial{ display:block; }

#res-onglet-presentation:checked ~ .res-onglets__barre label[for="res-onglet-presentation"],
#res-onglet-sommaire:checked ~ .res-onglets__barre label[for="res-onglet-sommaire"],
#res-onglet-editorial:checked ~ .res-onglets__barre label[for="res-onglet-editorial"]{
  color:var(--wp--preset--color--bordeaux); border-bottom-color:var(--wp--preset--color--bordeaux);
}

#res-onglet-presentation:focus-visible ~ .res-onglets__barre label[for="res-onglet-presentation"],
#res-onglet-sommaire:focus-visible ~ .res-onglets__barre label[for="res-onglet-sommaire"],
#res-onglet-editorial:focus-visible ~ .res-onglets__barre label[for="res-onglet-editorial"]{
  outline:2px solid var(--wp--preset--color--or); outline-offset:4px;
}

/* Un lien venu du bas de page (« Acheter un article seul ») ouvre le panneau
   visé et y fait défiler la page, ce qu'un simple onglet coché ne ferait pas.
   La règle ne vaut que tant que l'onglet par défaut (Présentation) est coché :
   dès que le lecteur choisit un autre onglet, les boutons radio reprennent la
   main. Les sélecteurs portent un identifiant pour l'emporter sur les règles
   « :checked » ci-dessus. */
.res-onglets:has(#res-onglet-presentation:checked):has(.res-onglets__panneau:target) .res-onglets__panneau{ display:none; }
.res-onglets:has(#res-onglet-presentation:checked) .res-onglets__panneau:target{ display:block; }
.res-onglets:has(#res-onglet-presentation:checked):has(.res-onglets__panneau:target) .res-onglets__barre label[for="res-onglet-presentation"]{
  color:var(--wp--preset--color--pierre); border-bottom-color:transparent;
}
.res-onglets:has(#res-onglet-presentation:checked):has(#res-panneau-sommaire:target) .res-onglets__barre label[for="res-onglet-sommaire"],
.res-onglets:has(#res-onglet-presentation:checked):has(#res-panneau-editorial:target) .res-onglets__barre label[for="res-onglet-editorial"]{
  color:var(--wp--preset--color--bordeaux); border-bottom-color:var(--wp--preset--color--bordeaux);
}
.res-onglets__panneau{ scroll-margin-top:2rem; }

.res-panneau__titre{
  font-family:var(--wp--preset--font-family--sans); text-transform:uppercase;
  letter-spacing:.16em; font-size:.7rem; font-weight:600;
  color:var(--wp--preset--color--pierre); margin:0 0 1.4rem;
}
.res-panneau__texte{ max-width:66ch; }
.res-panneau__texte p{ margin:0 0 1.15em; }
.res-panneau__texte--edito > p:first-of-type::first-letter{
  font-family:var(--wp--preset--font-family--garamond);
  font-weight:600; color:var(--wp--preset--color--bordeaux);
  float:left; font-size:3.6em; line-height:.72; padding:.05em .12em 0 0;
}
.res-panneau__suite{ margin-top:1.6rem; }
.res-panneau__suite a{ color:var(--wp--preset--color--bordeaux); }

/* ---------- Sommaire d'un numéro ---------- */
.res-sommaire{ list-style:none; margin:0; padding:0; border-top:1px solid var(--res-filet); }
.res-sommaire__item{
  display:grid; grid-template-columns:5.5rem 1fr auto; gap:1.4rem; align-items:baseline;
  padding:1.05rem 0; border-bottom:1px solid var(--res-filet);
}
.res-sommaire__page{
  font-family:var(--wp--preset--font-family--sans); font-size:.74rem; letter-spacing:.06em;
  color:var(--wp--preset--color--pierre); font-variant-numeric:tabular-nums;
}
.res-sommaire__titre{
  font-family:var(--wp--preset--font-family--garamond); font-size:1.24rem; line-height:1.3;
  color:var(--wp--preset--color--encre); text-decoration:none; display:block;
}
.res-sommaire__titre:hover{ color:var(--wp--preset--color--bordeaux); }
.res-sommaire__auteur{
  display:block; font-family:var(--wp--preset--font-family--sans); font-size:.76rem;
  letter-spacing:.04em; color:var(--wp--preset--color--cuir); margin-top:.28rem;
}
.res-sommaire__auteur a{ color:inherit; text-decoration:none; }
.res-sommaire__acheter{
  font-family:var(--wp--preset--font-family--sans); font-size:.72rem; font-weight:600;
  letter-spacing:.06em; text-decoration:none; white-space:nowrap;
  padding:.36rem .75rem; border:1px solid var(--res-filet-or); color:var(--wp--preset--color--bordeaux);
  transition:background .2s ease, color .2s ease;
}
.res-sommaire__acheter:hover{ background:var(--wp--preset--color--bordeaux); color:var(--wp--preset--color--papier); }

@media (max-width:600px){
  .res-sommaire__item{ grid-template-columns:1fr; gap:.5rem; }
}

/* ---------- Se procurer ce numéro ---------- */
.res-offres{ background:var(--wp--preset--color--beige); border-top:1px solid var(--res-filet-or); }
.res-offres__inner{
  max-width:1120px; margin-inline:auto;
  padding:var(--wp--preset--spacing--60) var(--wp--preset--spacing--30);
}
.res-offres__titre{
  font-family:var(--wp--preset--font-family--garamond);
  font-size:clamp(1.5rem,3vw,1.95rem); text-align:center; margin:0 0 2.2rem;
}
.res-offres__grille{ display:grid; gap:1.6rem; grid-template-columns:repeat(2,1fr); align-items:stretch; }
/* Une seule offre : la carte ne s'étale pas sur toute la largeur, elle se centre. */
.res-offres--papier .res-offres__grille,
.res-offres--numerique .res-offres__grille{ grid-template-columns:minmax(0,520px); justify-content:center; }

.res-carte{
  background:var(--wp--preset--color--papier); border:1px solid var(--res-filet);
  padding:2rem 1.9rem; display:flex; flex-direction:column;
}
.res-carte__label{
  font-family:var(--wp--preset--font-family--sans); text-transform:uppercase;
  letter-spacing:.16em; font-size:.68rem; font-weight:600;
  color:var(--wp--preset--color--cuir); margin:0;
}
.res-carte__titre{
  font-family:var(--wp--preset--font-family--garamond); font-size:1.72rem;
  font-weight:600; margin:.35rem 0 0;
}
.res-carte__desc{ margin:.7rem 0 0; font-size:.96rem; color:var(--wp--preset--color--encre); }
.res-carte__prix{
  font-family:var(--wp--preset--font-family--garamond); font-size:2.1rem; font-weight:600;
  color:var(--wp--preset--color--bordeaux); line-height:1; margin:1.5rem 0 1.2rem;
}
.res-carte__prix small{
  display:block; margin-top:.45rem; font-family:var(--wp--preset--font-family--sans);
  font-size:.72rem; font-weight:500; letter-spacing:.06em; color:var(--wp--preset--color--pierre);
}
/* Colonne, et non ligne qui passe à la ligne : deux boutons de largeurs
   différentes collés l'un sous l'autre se lisaient mal. Ils occupent la largeur
   de la carte et s'espacent d'un gap, le prix gardant sa respiration propre. */
.res-carte__ressort{ margin-top:auto; display:flex; flex-direction:column; align-items:stretch; gap:.8rem; }
.res-carte__ressort .res-carte__prix{ margin:1.5rem 0 .5rem; }
.res-carte__ressort .wp-block-button{ margin:0; }
/* Pas de width:100% ici : le padding du bouton s'y ajoutait et le faisait
   déborder de la carte. En bloc, il prend de lui-même la largeur que le
   ressort lui donne (align-items:stretch), padding compris. */
.res-carte__ressort .wp-block-button__link{ display:block; box-sizing:border-box; text-align:center; }

@media (max-width:781px){
  .res-offres__grille{ grid-template-columns:1fr; }
  /* Empilées, les deux cartes se lisent de haut en bas : le papier d'abord. */
  .res-carte--papier{ order:-1; }
}

.res-carte__pied{
  margin:.4rem 0 0;
  font-family:var(--wp--preset--font-family--sans); font-size:.74rem;
  color:var(--wp--preset--color--pierre);
}
.res-carte__pied a{ color:var(--wp--preset--color--bordeaux); }

/* ---------- Abonnement : bloc des fiches, formules de la page ---------- */
/* Le bloc reprend la bande pleine largeur de « Se procurer ce numéro », mais
   sur fond papier et sans filet supérieur : les deux se suivent sur la fiche,
   et deux bandes beiges collées l'une à l'autre n'en feraient qu'une. */
.res-abonnement{ background:var(--wp--preset--color--papier); border-top:1px solid var(--res-filet-or); }
.res-abonnement__inner{
  max-width:760px; margin-inline:auto; text-align:center;
  padding:var(--wp--preset--spacing--60) var(--wp--preset--spacing--30);
}
.res-abonnement__label{
  font-family:var(--wp--preset--font-family--sans); text-transform:uppercase;
  letter-spacing:.16em; font-size:.68rem; font-weight:600;
  color:var(--wp--preset--color--cuir); margin:0;
}
.res-abonnement__titre{
  font-family:var(--wp--preset--font-family--garamond);
  font-size:clamp(1.5rem,3vw,1.95rem); margin:.5rem 0 0;
}
.res-abonnement__texte{
  margin:1rem auto 0; max-width:52ch;
  font-size:1.02rem; color:var(--wp--preset--color--encre);
}
.res-abonnement__bouton{ margin-top:1.8rem; }
/* Note d'administration : ne s'affiche qu'aux rédacteurs connectés, quand
   aucune formule n'est encore reliée à la boutique. */
.res-abonnement__note{
  border:1px dashed var(--res-filet-or); padding:1.1rem 1.3rem;
  font-family:var(--wp--preset--font-family--sans); font-size:.82rem;
  color:var(--wp--preset--color--pierre);
}

/* Les cartes de formule empruntent « res-carte » au bloc d'achat : même
   gabarit, même ressort qui aligne les boutons en bas. Seule la grille est à
   poser ici. */
.res-formules{ display:grid; gap:1.6rem; grid-template-columns:repeat(2,1fr); align-items:stretch; }
.res-formules--seule{ grid-template-columns:minmax(0,520px); justify-content:center; }
/* Tarif non arrêté : annoncé en toutes lettres, dans le ton discret des
   mentions, pour qu'il ne se lise pas comme un prix. */
.res-carte__prix--attente{
  font-family:var(--wp--preset--font-family--sans); font-size:.86rem;
  font-weight:500; letter-spacing:.04em; line-height:1.4;
  color:var(--wp--preset--color--pierre);
}

/* Les étapes de la page d'abonnement : une liste aérée, centrée sur la colonne
   de texte plutôt que collée au bord gauche de la section. */
.res-etapes{ max-width:56ch; margin-inline:auto; padding-left:1.2rem; }
.res-etapes li{ margin-bottom:.8rem; }

@media (max-width:781px){
  .res-formules{ grid-template-columns:1fr; }
}

/* ---------- Archives : filtre par numéro ---------- */
/* Le formulaire de recherche porte un champ de plus (« Numéro ») : sa ligne
   passe de quatre à cinq colonnes. Ces règles arrivent après celles de la
   section « Archives : recherche » et les remplacent, déclinaison mobile
   comprise. Il faut donc reposer celle-ci ici, sans quoi la règle large
   gagnerait sur petit écran par le seul fait d'être écrite plus bas. */
.res-recherche__ligne{ grid-template-columns:2fr .9fr 1.4fr 1.4fr auto; }
.res-recherche__champ--court input{ font-variant-numeric:tabular-nums; }
@media (max-width:1080px){
  .res-recherche__ligne{ grid-template-columns:1fr 1fr; }
  .res-recherche__champ--large{ grid-column:1 / -1; }
  .res-recherche button{ grid-column:1 / -1; }
}
@media (max-width:781px){
  .res-recherche__ligne{ grid-template-columns:1fr; }
}

/* La passerelle offerte à qui a tapé un numéro dans le champ « Mot-clé » :
   discrète, mais juste au-dessus des résultats qu'elle propose de remplacer. */
.res-recherche__piste{
  margin:-.4rem 0 1.1rem; padding:.55rem .8rem;
  font-family:var(--wp--preset--font-family--sans); font-size:.78rem;
  letter-spacing:.04em; color:var(--wp--preset--color--cuir);
  background:var(--wp--preset--color--beige); border-left:2px solid var(--res-filet-or);
}
.res-recherche__piste a{ color:var(--wp--preset--color--bordeaux); text-decoration:none; font-weight:600; }
.res-recherche__piste a:hover{ text-decoration:underline; }

/* ---------- Substitut de couverture ---------- */
/* Neuf numéros sur dix n'ont pas de couverture scannée. À la place de l'image
   manquante, on repose la fausse couverture de la maquette d'accueil
   (« .res-cover », plus haut) : mêmes filet doré, même olive, mêmes
   typographies. Aucune de ces règles n'est modifiée ; tout ce qui suit s'y
   ajoute et les recouvre par l'ordre du fichier, à spécificité égale.

   Deux différences avec la maquette, et une seule raison pour chacune :

   1. Le substitut remplit sa boîte au lieu d'imposer ses 300 px, et prend le
      rapport d'aspect que le bloc remplacé donnait à l'image (variable posée
      en ligne par PHP). Une grille de numéros garde ainsi le même gabarit,
      que la couverture existe ou non.
   2. Ses corps de texte sont exprimés en « cqw », c'est-à-dire en pourcentage
      de la largeur de la couverture : la même sert à 210 px sur un téléphone
      et à 350 px dans la grille de l'archive. Chaque déclaration est doublée,
      la version en rem d'abord : un navigateur qui ignore les requêtes de
      conteneur laisse tomber la seconde et garde la première.

   ⚠️ Le « cqw » ne s'emploie que sur les ENFANTS. Un élément n'est jamais son
   propre conteneur de requête : écrire « padding:5cqw » sur la couverture
   elle-même formerait un cycle (sa taille dépendrait de sa taille), et le
   navigateur retomberait silencieusement sur la largeur de la fenêtre. Le
   symptôme est spectaculaire, une couverture de 470 px dans une colonne de
   352. Les dimensions de la boîte sont donc en pourcentage, qui se calcule
   sur le bloc contenant et non sur elle-même. */
.res-cover--substitut{
  box-sizing:border-box;
  /* ⚠️ max-width:100%, et surtout pas « none ». Dans une grille dont les cartes
     s'étirent, la boîte prend la hauteur de sa rangée, et aspect-ratio en déduit
     une largeur qui dépasse la colonne : les couvertures se chevauchent et les
     titres longs se font rogner. height:auto coupe cet étirement à la racine. */
  width:100%; max-width:100%; height:auto; margin-inline:0;
  aspect-ratio:var(--res-cover-ratio, 3/4);
  container-type:inline-size;
  /* Mêmes proportions que la maquette : ses 1,6rem / 1,3rem sur 300 px. */
  padding:8.5% 6.9%;
  /* Ce « hidden » ne sert pas qu'à rogner un débordement : sans lui, un contenu
     plus haut que le rapport d'aspect étirerait la boîte, et la couverture de
     repli dépasserait celle du voisin qui a son image. C'est précisément ce
     qu'il faut éviter dans une grille. */
  overflow:hidden;
}

.res-cover--substitut .res-cover__rev{ font-size:.58rem; font-size:clamp(.46rem,3.4cqw,.68rem); }
.res-cover--substitut .res-cover__title{
  font-size:1.8rem; font-size:clamp(1rem,11.7cqw,2.1rem);
  margin-top:.45rem; margin-top:2.3cqw;
}
/* Le titre du numéro tient la place centrale, comme le thème sur la maquette.
   Trois corps selon sa longueur : le corpus va de « La Parole » à « Cent
   Points chauds de l'histoire de l'Église », et un corps unique rendrait les
   premiers dérisoires et les seconds illisibles. Le palier est posé par PHP,
   qui seul connaît la longueur du titre. */
.res-cover--substitut .res-cover__theme{
  font-size:1.5rem; font-size:clamp(.8rem,9.5cqw,1.62rem);
  line-height:1.22; text-wrap:balance;
  overflow-wrap:break-word; hyphens:auto;
}
.res-cover--substitut .res-cover__theme--long{ font-size:1.2rem; font-size:clamp(.72rem,7.4cqw,1.3rem); }
.res-cover--substitut .res-cover__theme--xlong{ font-size:1rem; font-size:clamp(.66rem,6.1cqw,1.08rem); }

/* Le titre est centré dans l'espace laissé libre, et le pied reste au bas de la
   couverture. Il faut pour cela retirer au numéro le « margin-top:auto » de la
   maquette : deux marges automatiques en concurrence se partagent l'espace
   libre à parts égales, ce qui plaçait le titre au tiers de la hauteur et
   creusait un vide sous lui. Les seules marges automatiques restantes sont
   celles du titre, au-dessus et au-dessous : il se centre, et le bloc du bas
   est repoussé en pied. */
.res-cover--substitut .res-cover__num{ margin-top:0; font-size:.62rem; font-size:clamp(.5rem,3.8cqw,.72rem); }
.res-cover--substitut .res-cover__date{
  font-family:var(--wp--preset--font-family--sans);
  font-size:.58rem; font-size:clamp(.46rem,3.4cqw,.66rem);
  letter-spacing:.1em; color:#D9DCC0; line-height:1.4;
  margin-top:.3rem; margin-top:1.4cqw;
}

/* L'ancienne série (1956-1982, soixante-douze numéros) passe sur le cuir de la
   palette plutôt que sur l'olive. Une collection de deux cent quinze fiches se
   parcourt à l'œil : la teinte dit d'un coup si l'on est dans le fonds ancien
   ou dans la série en cours, ce que la mention imprimée ne dit qu'à la
   lecture. Les deux tons restent au-dessus de 4,5:1 avec les textes posés
   dessus. */
.res-cover--substitut{
  background:var(--wp--preset--color--cuir);
  border-color:var(--wp--preset--color--cuir);
}
.res-cover--substitut .res-cover__rev{ color:#F2E6D6; }
.res-cover--substitut .res-cover__num,
.res-cover--substitut .res-cover__date{ color:#EAD9C4; }

/* Couverture cliquable, dans les grilles où l'image mise en avant l'était.
   Pas d'effet de survol : les vraies couvertures n'en ont pas, et une rangée
   où seules les cartes sans image réagiraient passerait pour un défaut. */
.res-cover__lien{ display:block; text-decoration:none; color:inherit; }
.res-cover__lien:hover{ text-decoration:none; }
.res-cover__lien:focus-visible{ outline:2px solid var(--wp--preset--color--or); outline-offset:3px; }

/* ---------- Filtres de la liste des numéros ---------- */
/* Une barre sobre, posée sous le chapeau de la page : deux champs et un bouton.
   Elle se plie en colonne sous 600 px, où les champs prennent toute la largeur
   plutôt que de se serrer à trois de front. */
.res-filtres{
  display:flex; flex-wrap:wrap; align-items:flex-end; gap:1rem 1.4rem;
  margin:2.2rem 0 0; padding:1.2rem 1.4rem;
  background:var(--wp--preset--color--beige); border:1px solid var(--res-filet);
}
.res-filtres__champ{ display:flex; flex-direction:column; gap:.35rem; margin:0; }
.res-filtres label{
  font-family:var(--wp--preset--font-family--sans); text-transform:uppercase;
  letter-spacing:.14em; font-size:.66rem; font-weight:600;
  color:var(--wp--preset--color--cuir);
}
.res-filtres input,
.res-filtres select{
  font-family:var(--wp--preset--font-family--sans); font-size:.88rem;
  padding:.5rem .7rem; border:1px solid var(--res-filet-or); border-radius:2px;
  background:var(--wp--preset--color--papier); color:var(--wp--preset--color--encre);
  min-width:16rem; max-width:100%;
}
.res-filtres input:focus-visible,
.res-filtres select:focus-visible{ outline:2px solid var(--wp--preset--color--or); outline-offset:2px; }
.res-filtres__actions{ display:flex; align-items:center; gap:1rem; margin:0; }
.res-filtres__actions button{
  font-family:var(--wp--preset--font-family--sans); font-size:.82rem; font-weight:600;
  letter-spacing:.06em; cursor:pointer;
  background:var(--wp--preset--color--bordeaux); color:var(--wp--preset--color--papier);
  border:0; border-radius:2px; padding:.62rem 1.3rem;
}
.res-filtres__actions button:hover{ background:var(--res-bordeaux-f); }
.res-filtres__reset{
  font-family:var(--wp--preset--font-family--sans); font-size:.78rem;
  color:var(--wp--preset--color--bordeaux); text-underline-offset:.25em;
}

@media (max-width:600px){
  .res-filtres{ flex-direction:column; align-items:stretch; }
  .res-filtres input,
  .res-filtres select{ min-width:0; width:100%; }
}
