/* ============================================================
   Le Souv — overrides design
   Source unique du CSS personnalisé Le Souv (hover boutons,
   submenu navy, breadcrumb terne, sous-titre WPMarmite,
   Gravity Forms, etc.). À mettre à jour ici uniquement,
   pas dans wp_global_styles ni dans WPMarmite Start Pack.
   ============================================================ */

/* === Submenu de navigation === */
.wp-block-navigation .wp-block-navigation__submenu-container {
    background-color: var(--wp--preset--color--primary-alt) !important;
    border: 1px solid var(--wp--preset--color--secondary) !important;
    border-radius: var(--wp--preset--border-radius--sm, 0.5rem);
    padding: 0.5rem 0;
    margin-top: 8px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25);
}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    color: var(--wp--preset--color--base) !important;
}
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
    color: var(--wp--preset--color--primary) !important;
}

/* === Boutons (hover/focus) === */
.wp-block-button .wp-block-button__link {
    transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .12s ease;
}
.wp-block-button.is-style-button-brand .wp-block-button__link:hover,
.wp-block-button.is-style-button-brand .wp-block-button__link:focus {
    background-color: var(--wp--preset--color--primary-alt) !important;
    color: var(--wp--preset--color--base) !important;
    transform: translateY(-1px);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus {
    background-color: var(--wp--preset--color--main) !important;
    color: var(--wp--preset--color--base) !important;
    border-color: var(--wp--preset--color--main) !important;
}

/* === Hover des liens dans les titres === */
.wp-block-heading a { text-decoration: none; }
.wp-block-heading a:hover,
.wp-block-heading a:focus {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

/* === Breadcrumb Yoast atténué dans les hero (.ls-breadcrumb-soft) === */
.ls-breadcrumb-soft { opacity: .55; }
.ls-breadcrumb-soft:hover { opacity: .85; }
.ls-breadcrumb-soft .yoast-breadcrumbs { color: inherit; }
.ls-breadcrumb-soft.has-global-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* === Sous-titre injecté par WPMarmite Start Pack (.lesouv-page-subtitle) ===
   Le plugin tiers ajoute ce sous-titre après le H1 avec max-width: 60ch
   et sans margin auto → décalage par rapport au H1. On override ici. */
p.lesouv-page-subtitle,
.lesouv-page-subtitle {
    max-width: var(--wp--style--global--content-size, 740px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: left;
}

/* === Accessibilité : utility classes screen-reader === */
.ls-sr-only,
.screen-reader-text {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* === Gravity Forms (formulaire de contact) === */
.gform_button,
input[type="submit"].gform_button,
button.gform_button {
    background-color: var(--wp--preset--color--primary) !important;
    color: var(--wp--preset--color--base) !important;
    border: none !important;
    border-radius: 4px !important;
    padding: .7em 1.6em !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: background-color .18s ease, transform .12s ease;
}
.gform_button:hover,
input[type="submit"].gform_button:hover,
button.gform_button:hover {
    background-color: var(--wp--preset--color--primary-alt) !important;
    transform: translateY(-1px);
}


/* === Hover outline inversé sur fond Encre ===
   Le hover générique des boutons outline passe le fond en Encre (couleur main).
   Sur un fond déjà Encre (hero, footer, sections navy), le bouton disparaît
   visuellement. On inverse ici : fond Crème + texte Encre. */
.has-main-background-color .wp-block-button.is-style-outline .wp-block-button__link:hover,
.has-main-background-color .wp-block-button.is-style-outline .wp-block-button__link:focus {
    background-color: var(--wp--preset--color--base) !important;
    color: var(--wp--preset--color--main) !important;
    border-color: var(--wp--preset--color--base) !important;
}


/* ============================================================
   === Lexique souverainiste ===
   Styles pour :
     - encadré .lesouv-definition-courte (single)
     - .lesouv-definition-synonymes (single)
     - barre alphabétique .lesouv-lexique-alpha (archive)
     - groupes par lettre .lesouv-lexique-group (archive)
   ============================================================ */

/* Encadré définition courte (single) */
.lesouv-definition-courte {
    background: #fff;
    border: none;
    border-top: 4px solid var(--wp--preset--color--primary);
    border-radius: 4px;
    padding: 1.5rem 1.5rem;
    margin: 0 0 var(--wp--preset--spacing--large, 2rem) 0;
    box-shadow: 0 4px 24px rgba(15, 20, 25, 0.06);
}
.lesouv-definition-courte__label {
    display: block;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--wp--preset--color--secondary);
    margin-bottom: .35rem;
    font-weight: 600;
}
.lesouv-definition-courte__text {
    margin: 0;
    font-size: 1.15rem;
    line-height: 1.45;
    color: var(--wp--preset--color--main);
}

/* Synonymes (single) */
.lesouv-definition-synonymes {
    font-size: .9rem;
    color: var(--wp--preset--color--secondary);
    border-top: 1px solid rgba(0,0,0,.08);
    padding-top: 1rem;
    margin-top: 2rem;
}
.lesouv-definition-synonymes strong { color: var(--wp--preset--color--main); }

/* Barre alphabétique (archive) */
.lesouv-lexique-alpha {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-bottom: 2.5rem;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(0,0,0,.1);
}
.lesouv-lexique-alpha__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.1rem;
    height: 2.1rem;
    padding: 0 .4rem;
    font-weight: 600;
    font-size: .95rem;
    border: 1px solid transparent;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.lesouv-lexique-alpha__item.is-active {
    color: var(--wp--preset--color--main);
    border-color: var(--wp--preset--color--main);
}
.lesouv-lexique-alpha__item.is-active:hover,
.lesouv-lexique-alpha__item.is-active:focus {
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base);
    border-color: var(--wp--preset--color--primary);
}
.lesouv-lexique-alpha__item.is-empty {
    color: var(--wp--preset--color--secondary);
    opacity: .35;
    cursor: default;
}

/* Groupes par lettre (archive) */
.lesouv-lexique-groups { display: flex; flex-direction: column; gap: 2.5rem; }
.lesouv-lexique-group { scroll-margin-top: 6rem; }
.lesouv-lexique-group__heading {
    font-size: 2.5rem;
    line-height: 1;
    margin: 0 0 1rem 0;
    color: var(--wp--preset--color--primary);
    border-bottom: 2px solid var(--wp--preset--color--main);
    padding-bottom: .5rem;
}
.lesouv-lexique-group__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: .75rem 1.5rem;
}
.lesouv-lexique-group__list li { padding: .1rem 0; }
.lesouv-lexique-group__list a {
    text-decoration: none;
    color: var(--wp--preset--color--main);
    font-weight: 500;
    border-bottom: 1px solid transparent;
    transition: border-color .15s ease, color .15s ease;
}
.lesouv-lexique-group__list a:hover,
.lesouv-lexique-group__list a:focus {
    border-bottom-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--primary);
}

/* État vide */
.lesouv-lexique-empty {
    color: var(--wp--preset--color--secondary);
    font-style: italic;
    padding: 1rem 0;
}

/* ============================================================
   === Archive Bios — grille de cards ===
   Styles pour la page /bios/ : grille responsive de cards
   (photo, nom, dates, fonction). Markup généré par le
   shortcode [lesouv_bios_grid] dans le mu-plugin.
   ============================================================ */

.lesouv-bios-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1.25rem;
    margin: 0;
    padding: 0;
}

.lesouv-bio-card {
    background-color: var(--wp--preset--color--base);
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 5px;
    overflow: hidden;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.lesouv-bio-card:hover,
.lesouv-bio-card:focus-within {
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
    border-color: var(--wp--preset--color--primary);
}

.lesouv-bio-card__link {
    display: block;
    color: inherit;
    text-decoration: none;
    height: 100%;
}

/* Sans image : la zone media devient un mince bandeau rouge en haut
   (accent visuel Le Souv). Dès qu'une image est uploadée, on restaure
   un ratio 4/3 — géré via :has(img). */
.lesouv-bio-card__media {
    height: 4px;
    background-color: var(--wp--preset--color--primary);
    overflow: hidden;
    position: relative;
}
.lesouv-bio-card__media:has(img) {
    height: auto;
    aspect-ratio: 4 / 3;
    background-color: var(--wp--preset--color--main);
    display: flex;
    align-items: center;
    justify-content: center;
}
.lesouv-bio-card__media img,
.lesouv-bio-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.lesouv-bio-card__placeholder { display: none; }

.lesouv-bio-card__body {
    padding: .9rem 1rem 1rem;
}
.lesouv-bio-card__name {
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.2;
    color: var(--wp--preset--color--main);
    margin: 0 0 .25rem 0;
}
.lesouv-bio-card__dates {
    font-size: .7rem;
    color: var(--wp--preset--color--secondary);
    text-transform: uppercase;
    letter-spacing: .06em;
    margin: 0 0 .4rem 0;
    font-weight: 500;
}
.lesouv-bio-card__fonction {
    font-size: .82rem;
    color: var(--wp--preset--color--secondary);
    line-height: 1.4;
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}



/* ============================================================
 * Maillage bios similaires (shortcode [lesouv_bio_related])
 * Auto-injecté en fin de post_content sur single lesouv_bio.
 * Réutilise .lesouv-bios-grid et .lesouv-bio-card déjà stylisés
 * plus haut. Ici : wrapper section + 2 blocs empilés.
 * ============================================================ */
.lesouv-bio-related {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
}
.lesouv-bio-related__block {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.lesouv-bio-related__title {
    font-family: var(--wp--preset--font-family--dm-serif-display, serif);
    font-size: clamp(1.35rem, 2vw, 1.7rem);
    font-weight: 400;
    line-height: 1.15;
    color: var(--wp--preset--color--main);
    margin: 0;
    letter-spacing: -0.01em;
}
.lesouv-bio-related .lesouv-bio-card__name {
    font-size: 1rem;
}

/* ============================================================
 * Index des entreprises (shortcode lesouv_index_entreprises)
 * Tokens : --wp--preset--color--main (encre), --secondary (gris-bleu),
 * --primary (rouge), --base (papier), --main-accent
 * ============================================================ */
.lesouv-entreprises { margin: 2.5rem 0; }

.lesouv-entreprises-filtres {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1.25rem 2rem;
  padding: 1.25rem 1.5rem;
  background: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--secondary);
  border-radius: 0.25rem;
  margin-bottom: 1.5rem;
}
.lesouv-entreprises-filtres__title {
  font-family: var(--wp--preset--font-family--source-sans-3, sans-serif);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--secondary);
  margin: 0 0 0.5rem;
}
.lesouv-entreprises-filtres__option {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 0.95rem;
  line-height: 1.4;
  color: var(--wp--preset--color--main);
  margin-bottom: 0.25rem;
  cursor: pointer;
}
.lesouv-entreprises-filtres__option input { accent-color: var(--wp--preset--color--primary); }
.lesouv-entreprises-filtres__group--meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 0.5rem;
}
.lesouv-entreprises-filtres__count {
  font-size: 0.9rem;
  color: var(--wp--preset--color--secondary);
  margin: 0;
}
.lesouv-entreprises-filtres__count span { font-weight: 700; color: var(--wp--preset--color--main); }
.lesouv-entreprises-filtres__reset {
  display: inline-block;
  font-family: var(--wp--preset--font-family--source-sans-3, sans-serif);
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--wp--preset--color--primary);
  background: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--primary);
  border-radius: 0.25rem;
  padding: 0.4rem 0.85rem;
  cursor: pointer;
  text-decoration: none;
  transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
.lesouv-entreprises-filtres__reset:hover,
.lesouv-entreprises-filtres__reset:focus-visible {
  background: var(--wp--preset--color--primary);
  color: var(--wp--preset--color--primary-accent);
  outline: none;
}

.lesouv-entreprises-tableau-wrap {
  overflow-x: clip;
  overflow-y: visible;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 4px 24px rgba(15, 20, 25, 0.06);
  padding: 0;
}
@media (max-width: 900px) {
  .lesouv-entreprises-tableau-wrap { overflow-x: auto; }
}
.lesouv-entreprises-tableau {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.95rem;
  font-family: var(--wp--preset--font-family--source-sans-3, sans-serif);
}
.lesouv-entreprises-tableau th,
.lesouv-entreprises-tableau td {
  padding: 0.75rem 0.85rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--wp--preset--color--secondary);
}
.lesouv-entreprises-tableau th {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--wp--preset--color--base);
  background: var(--wp--preset--color--main);
  border-bottom: none;
  white-space: nowrap;
  padding: 0.9rem 0.85rem;
  position: sticky;
  top: 0;
  z-index: 5;
}
.lesouv-entreprises-tableau tbody tr:hover { background: var(--wp--preset--color--base); }
.lesouv-entreprises-tableau td.col-annee { font-variant-numeric: tabular-nums; font-weight: 600; color: var(--wp--preset--color--main); white-space: nowrap; }
.lesouv-entreprises-tableau td.col-entreprise a { font-weight: 600; color: var(--wp--preset--color--main); text-decoration: none; }
.lesouv-entreprises-tableau td.col-entreprise a:hover { color: var(--wp--preset--color--primary); text-decoration: underline; }
.lesouv-entreprises-tableau td.col-source a {
  font-size: 0.85rem;
  color: var(--wp--preset--color--secondary);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.lesouv-entreprises-tableau td.col-source a:hover { color: var(--wp--preset--color--main); }
.lesouv-entreprises-tableau td.col-montant { font-variant-numeric: tabular-nums; color: var(--wp--preset--color--main); white-space: nowrap; }

.lesouv-entreprises-strat {
  display: inline-flex;
  align-items: center;
  margin-left: 0.5rem;
  padding: 0.25rem 0.6rem;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--wp--preset--color--base);
  background: var(--wp--preset--color--primary);
  border-radius: 4px;
  line-height: 1.2;
  vertical-align: middle;
}

.lesouv-entreprises-startup {
  display: inline-flex;
  align-items: center;
  margin-left: 0.5rem;
  padding: 0.25rem 0.6rem;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  color: var(--wp--preset--color--base);
  background: var(--wp--preset--color--main);
  border-radius: 4px;
  line-height: 1.2;
  vertical-align: middle;
}

.lesouv-entreprises-empty-msg {
  padding: 2rem 1rem;
  text-align: center;
  color: var(--wp--preset--color--secondary);
  font-style: italic;
}
.lesouv-entreprises--empty { padding: 1.5rem; background: var(--wp--preset--color--base); border-radius: 0.25rem; }
.lesouv-entreprises-empty__text { margin: 0; color: var(--wp--preset--color--secondary); }

@media (max-width: 720px) {
  .lesouv-entreprises-tableau th, .lesouv-entreprises-tableau td { padding: 0.5rem 0.6rem; }
  .lesouv-entreprises-tableau { font-size: 0.88rem; }
}


/* Single Entreprise : fiche d'identité injectée via the_content */
.lesouv-entreprise-fiche {
  margin: 0 0 2.5rem;
  padding: 1.5rem 1.75rem;
  background: var(--wp--preset--color--main);
  color: var(--wp--preset--color--base);
  border-radius: 4px;
  box-shadow: 0 4px 24px rgba(15, 20, 25, 0.10);
}
.lesouv-entreprise-fiche__title {
  margin: 0 0 1rem;
  font-family: var(--wp--preset--font-family--source-sans-3, sans-serif);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--wp--preset--color--main-accent);
}
.lesouv-entreprise-fiche__list {
  display: grid;
  grid-template-columns: minmax(140px, max-content) 1fr;
  gap: 0.5rem 1.25rem;
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.45;
}
.lesouv-entreprise-fiche__key {
  color: var(--wp--preset--color--main-accent);
  font-weight: 600;
}
.lesouv-entreprise-fiche__val {
  margin: 0;
  color: var(--wp--preset--color--base);
}
.lesouv-entreprise-fiche__val a {
  color: var(--wp--preset--color--base);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}
.lesouv-entreprise-fiche__val a:hover { color: var(--wp--preset--color--primary-accent); }
.lesouv-entreprise-fiche__strat {
  display: inline-block;
  padding: 0.05rem 0.45rem;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--wp--preset--color--primary-accent);
  background: var(--wp--preset--color--primary);
  border-radius: 0.15rem;
}
.lesouv-entreprise-fiche__startup {
  display: inline-block;
  padding: 0.05rem 0.45rem;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--wp--preset--color--base);
  background: var(--wp--preset--color--main);
  border-radius: 0.15rem;
}


/* Compteur éditorial sur la page pillar /index-entreprises/ */
.lesouv-entreprises-compteur {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem 2rem;
  margin: 1.5rem 0 2.5rem;
  padding: 1.5rem 1.75rem;
  background: var(--wp--preset--color--main);
  color: var(--wp--preset--color--base);
  border-radius: 4px;
  box-shadow: 0 4px 24px rgba(15, 20, 25, 0.10);
}
.lesouv-entreprises-compteur__cell {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.lesouv-entreprises-compteur__chiffre {
  font-family: var(--wp--preset--font-family--dm-serif-display, serif);
  font-size: 2.5rem;
  font-weight: 400;
  line-height: 1;
  color: var(--wp--preset--color--primary-accent);
  font-variant-numeric: tabular-nums;
}
.lesouv-entreprises-compteur__legende {
  font-family: var(--wp--preset--font-family--source-sans-3, sans-serif);
  font-size: 0.9rem;
  line-height: 1.35;
  color: var(--wp--preset--color--main-accent);
}
@media (max-width: 600px) {
  .lesouv-entreprises-compteur { padding: 1.25rem; }
  .lesouv-entreprises-compteur__chiffre { font-size: 2rem; }
}

/* ============================================================
   === Archive Citations — grille de cards multi-couleurs ===
   Rotation de 4 variantes (papier, encre, rouge, navy alt) pour
   casser l'homogénéité. Markup généré par le shortcode
   [lesouv_citations_grid] dans le mu-plugin.
   ============================================================ */

.lesouv-citations-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1.25rem;
    margin: 0;
    padding: 0;
}

.lesouv-citation-card {
    position: relative;
    border-radius: 6px;
    overflow: hidden;
    transition: transform .18s ease, box-shadow .2s ease;
    min-height: 220px;
    display: flex;
}
.lesouv-citation-card:hover,
.lesouv-citation-card:focus-within {
    transform: translateY(-3px);
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
}
.lesouv-citation-card__link {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    color: inherit;
    text-decoration: none;
    padding: 1.5rem 1.5rem 1.25rem;
    width: 100%;
}
.lesouv-citation-card__quote {
    font-family: var(--wp--preset--font-family--dm-serif-display, serif);
    font-style: italic;
    font-weight: 400;
    font-size: 1.15rem;
    line-height: 1.4;
    margin: 0 0 1.25rem 0;
    padding: 0;
    border: 0;
    color: inherit;
}
.lesouv-citation-card__quote::before { content: "«\00a0"; opacity: .55; }
.lesouv-citation-card__quote::after  { content: "\00a0»"; opacity: .55; }
.lesouv-citation-card__quote > p,
.lesouv-citation-card__quote p {
    display: inline;
    margin: 0;
}
.lesouv-citation-card__quote::before,
.lesouv-citation-card__quote::after {
    display: inline;
}
.lesouv-citation-card--long  .lesouv-citation-card__quote { font-size: 1rem; }
.lesouv-citation-card--short .lesouv-citation-card__quote { font-size: 1.45rem; }

.lesouv-citation-card__author {
    font-family: var(--wp--preset--font-family--source-sans-3, sans-serif);
    font-size: 0.8rem;
    line-height: 1.3;
    border-top: 1px solid currentColor;
    padding-top: 0.7rem;
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}
.lesouv-citation-card__author-name {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.lesouv-citation-card__author-dates {
    font-size: 0.72rem;
    opacity: 0.75;
}

/* Variante 0 — Papier (lecture claire) */
.lesouv-citation-card--v0 {
    background-color: #fff;
    color: var(--wp--preset--color--main);
    border: 1px solid rgba(14, 26, 46, 0.10);
}

/* Variante 1 — Encre profonde */
.lesouv-citation-card--v1 {
    background-color: var(--wp--preset--color--main);
    color: var(--wp--preset--color--base);
}

/* Variante 2 — Rouge brand */
.lesouv-citation-card--v2 {
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base);
}

/* Variante 3 — Navy alternatif */
.lesouv-citation-card--v3 {
    background-color: var(--wp--preset--color--primary-alt);
    color: var(--wp--preset--color--base);
}

/* État vide */
.lesouv-citations-empty {
    color: var(--wp--preset--color--secondary);
    font-style: italic;
    padding: 1rem 0;
}

@media (max-width: 720px) {
    .lesouv-citations-grid { grid-template-columns: 1fr; }
    .lesouv-citation-card { min-height: 180px; }
}


/* ============================================================
   === Single Citation ===
   Hero à fond Encre avec la citation en grand serif italique
   encadrée de guillemets français accentués en rouge.
   Sous le hero : attribution, contexte, autres citations.
   ============================================================ */

.lesouv-single-citation-hero .lesouv-single-citation-title::before {
    content: "«\00a0";
    color: var(--wp--preset--color--primary);
    opacity: 0.85;
}
.lesouv-single-citation-hero .lesouv-single-citation-title::after {
    content: "\00a0»";
    color: var(--wp--preset--color--primary);
    opacity: 0.85;
}

.lesouv-citation-meta {
    max-width: 680px;
    margin: 0 auto;
    padding: 0 1rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.lesouv-citation-meta__attribution {
    text-align: center;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgba(14, 26, 46, 0.10);
}
.lesouv-citation-meta__author {
    font-family: var(--wp--preset--font-family--source-sans-3, sans-serif);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    margin: 0 0 0.35rem 0;
    color: var(--wp--preset--color--main);
}
.lesouv-citation-meta__author a {
    color: var(--wp--preset--color--main);
    text-decoration: none;
    border-bottom: 2px solid var(--wp--preset--color--primary);
    padding-bottom: 1px;
    transition: color .15s ease;
}
.lesouv-citation-meta__author a:hover { color: var(--wp--preset--color--primary); }
.lesouv-citation-meta__fonction {
    font-size: 0.92rem;
    color: var(--wp--preset--color--secondary);
    margin: 0;
    line-height: 1.45;
}

.lesouv-citation-meta__section-title {
    font-size: 0.82rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--wp--preset--color--secondary) !important;
    margin: 0 0 0.85rem 0 !important;
    font-family: var(--wp--preset--font-family--source-sans-3, sans-serif) !important;
}

.lesouv-citation-meta__contexte p {
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--wp--preset--color--main);
    margin: 0;
}

.lesouv-citation-related-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}
.lesouv-citation-related-list li {
    padding: 0.8rem 1.1rem;
    background: var(--wp--preset--color--base);
    border-left: 3px solid var(--wp--preset--color--primary);
    border-radius: 0 4px 4px 0;
    transition: transform .15s ease, box-shadow .15s ease;
}
.lesouv-citation-related-list li:hover {
    transform: translateX(2px);
    box-shadow: 0 2px 8px rgba(14, 26, 46, 0.08);
}
.lesouv-citation-related-list li a {
    color: var(--wp--preset--color--main);
    text-decoration: none;
    font-style: italic;
    font-family: var(--wp--preset--font-family--dm-serif-display, serif);
    font-size: 1rem;
    line-height: 1.4;
    display: block;
}
.lesouv-citation-related-list li a:hover { color: var(--wp--preset--color--primary); }

.lesouv-citation-meta__more,
.lesouv-citation-meta__back {
    margin: 0;
    font-size: 0.9rem;
}
.lesouv-citation-meta__more {
    margin-top: 1rem;
}
.lesouv-citation-meta__more a {
    color: var(--wp--preset--color--primary);
    text-decoration: none;
    font-weight: 600;
}
.lesouv-citation-meta__more a:hover { text-decoration: underline; }
.lesouv-citation-meta__back {
    text-align: center;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(14, 26, 46, 0.10);
}
.lesouv-citation-meta__back a {
    color: var(--wp--preset--color--secondary);
    text-decoration: none;
}
.lesouv-citation-meta__back a:hover { color: var(--wp--preset--color--primary); }

@media (max-width: 600px) {
    .lesouv-citation-meta { gap: 1.5rem; }
}

/* === Hero single citation : attribution (auteur + fonction) === */
.lesouv-citation-hero-meta {
    text-align: left;
    margin: 1.5rem 0 0;
    font-family: var(--wp--preset--font-family--source-sans-3, sans-serif);
}
.lesouv-citation-hero-meta__author {
    font-size: 1rem;
    font-weight: 700;
    margin: 0 0 0.3rem 0;
    color: var(--wp--preset--color--base);
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.lesouv-citation-hero-meta__author a {
    color: var(--wp--preset--color--base);
    text-decoration: none;
    border-bottom: 2px solid var(--wp--preset--color--primary);
    padding-bottom: 1px;
    transition: color .15s ease;
}
.lesouv-citation-hero-meta__author a:hover { color: var(--wp--preset--color--primary); }
.lesouv-citation-hero-meta__fonction {
    font-size: 0.92rem;
    color: var(--wp--preset--color--main-accent);
    margin: 0;
    line-height: 1.5;
    opacity: 0.85;
}

/* ============================================================
   === Sections dynamiques sur les pages bio ===
   Shortcodes [lesouv_bio_citations] et [lesouv_bio_livres].
   Toujours visibles, même en empty state (CTA suggestion).
   ============================================================ */

.lesouv-bio-sections { display: flex; flex-direction: column; gap: var(--wp--preset--spacing--large, 2rem); }

/* Override is-layout-constrained qui rajoutait max-width: content-size et margin auto
   sur chaque encart bio, ce qui faisait varier leur largeur selon le contenu. */
.lesouv-bio-sections > .lesouv-bio-section {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100%;
}

.lesouv-bio-section {
    background: var(--wp--preset--color--main);
    color: var(--wp--preset--color--base);
    border-left: 4px solid var(--wp--preset--color--primary);
    border-radius: 0 0.25rem 0.25rem 0;
    padding: 1.5rem 1.75rem;
}

.lesouv-bio-section__title {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--wp--preset--color--main-accent) !important;
    margin: 0 0 1.1rem 0 !important;
    font-family: var(--wp--preset--font-family--source-sans-3, sans-serif) !important;
}

.lesouv-bio-section__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
}
.lesouv-bio-section__list li {
    font-family: var(--wp--preset--font-family--dm-serif-display, serif);
    font-style: italic;
    font-size: 1.05rem;
    line-height: 1.45;
}
.lesouv-bio-section__list a {
    color: var(--wp--preset--color--base);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color .15s ease, color .15s ease;
}
.lesouv-bio-section__list a:hover,
.lesouv-bio-section__list a:focus {
    color: var(--wp--preset--color--primary-accent);
    border-bottom-color: var(--wp--preset--color--primary);
}

.lesouv-bio-section__year {
    font-style: normal;
    color: var(--wp--preset--color--main-accent);
    opacity: 0.75;
    font-size: 0.85rem;
    margin-left: 0.3rem;
}

.lesouv-bio-section__more {
    margin: 1.1rem 0 0 0;
    font-size: 0.9rem;
    font-family: var(--wp--preset--font-family--source-sans-3, sans-serif);
}
.lesouv-bio-section__more a {
    color: var(--wp--preset--color--primary-accent);
    text-decoration: none;
    font-weight: 600;
    border-bottom: 1px solid var(--wp--preset--color--primary);
    padding-bottom: 1px;
}
.lesouv-bio-section__more a:hover { color: var(--wp--preset--color--base); }

.lesouv-bio-section__empty p {
    margin: 0 0 0.6rem 0;
    color: var(--wp--preset--color--main-accent);
    font-style: italic;
    font-size: 0.95rem;
}
.lesouv-bio-section__empty p:last-child { margin-bottom: 0; }
.lesouv-bio-section__cta {
    color: var(--wp--preset--color--primary-accent);
    text-decoration: none;
    font-weight: 600;
    font-style: normal;
    font-family: var(--wp--preset--font-family--source-sans-3, sans-serif);
    font-size: 0.95rem;
    border-bottom: 1px solid var(--wp--preset--color--primary);
    padding-bottom: 1px;
}
.lesouv-bio-section__cta:hover { color: var(--wp--preset--color--base); }

/* Toolbar (toujours visible) + toggle bouton pour ouvrir/fermer la zone filtres */
.lesouv-entreprises-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1.5rem;
  margin-bottom: 1rem;
}
.lesouv-entreprises-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.9rem;
  font-family: var(--wp--preset--font-family--source-sans-3, sans-serif);
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--wp--preset--color--main);
  background: var(--wp--preset--color--base);
  border: 1px solid var(--wp--preset--color--secondary);
  border-radius: 0.25rem;
  cursor: pointer;
  transition: background-color 0.15s, border-color 0.15s;
}
.lesouv-entreprises-toggle:hover,
.lesouv-entreprises-toggle:focus-visible {
  background: var(--wp--preset--color--main);
  color: var(--wp--preset--color--base);
  border-color: var(--wp--preset--color--main);
  outline: none;
}
.lesouv-entreprises-toggle__count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.4em;
  padding: 0 0.4em;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--wp--preset--color--primary-accent);
  background: var(--wp--preset--color--primary);
  border-radius: 999px;
}
.lesouv-entreprises-toggle__chevron {
  transition: transform 0.18s ease;
}
.lesouv-entreprises-toggle[aria-expanded="true"] .lesouv-entreprises-toggle__chevron {
  transform: rotate(180deg);
}
.lesouv-entreprises-toolbar__count {
  margin: 0;
  font-size: 0.9rem;
  color: var(--wp--preset--color--secondary);
}
.lesouv-entreprises-toolbar__count span {
  font-weight: 700;
  color: var(--wp--preset--color--main);
}

/* Quand le panneau est ouvert, on retire le margin-bottom de la toolbar
   pour coller à la zone filtres */
.lesouv-entreprises--filters-open .lesouv-entreprises-toolbar {
  margin-bottom: 0.5rem;
}

/* Toggle filtres : force le masquage quand l'attribut hidden est présent.
 * Sans ça, le display:grid de la règle de classe override le display:none
 * du selector d'attribut [hidden] (même spécificité, ordre du CSS = on gagne). */
.lesouv-entreprises-filtres[hidden] { display: none; }
.lesouv-entreprises-toggle__count[hidden] { display: none; }

/* Message d'invitation à nous contacter, entre filtres et tableau */
.lesouv-entreprises-help {
  margin: 0 0 1.25rem;
  font-size: 0.9rem;
  font-style: italic;
  color: var(--wp--preset--color--secondary);
}
.lesouv-entreprises-help a {
  color: var(--wp--preset--color--primary);
  text-decoration: underline;
  text-underline-offset: 0.15em;
  font-style: normal;
  font-weight: 600;
}
.lesouv-entreprises-help a:hover { color: var(--wp--preset--color--main); }

/* Largeur élargie pour le shortcode index : transform qui s'échappe du parent
 * constrained sans être annulé par les margin auto !important du WP layout. */
.lesouv-entreprises {
  position: relative;
  width: min(1260px, calc(100vw - 2rem));
  left: 50%;
  transform: translateX(-50%);
  max-width: none;
}

/* === Boutons auteurs dans le hero de l'archive citations === */
.lesouv-citations-hero-authors {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem 0.55rem;
    margin-top: var(--wp--preset--spacing--medium, 1.25rem);
}
.lesouv-citations-hero-author {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1rem;
    background: var(--wp--preset--color--base);
    border: 1px solid var(--wp--preset--color--base);
    color: var(--wp--preset--color--main);
    font-family: var(--wp--preset--font-family--source-sans-3, sans-serif);
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, transform .12s ease;
    line-height: 1.2;
}
.lesouv-citations-hero-author:hover,
.lesouv-citations-hero-author:focus {
    background: var(--wp--preset--color--primary);
    border-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base);
    transform: translateY(-1px);
}

/* ============================================================
   Fiches Index Souverainete : encadre BLUF (single)
   - Sur lesouv_cession et lesouv_entreprise
   - Injecté dynamiquement via filter the_content (mu-plugin)
   - Marqué data-speakable=true pour les crawlers IA
   ============================================================ */
.lesouv-fiche-bluf {
    background: #fff;
    border: none;
    border-top: 4px solid var(--wp--preset--color--primary);
    border-radius: 4px;
    padding: 1.5rem 1.5rem;
    margin: 0 0 var(--wp--preset--spacing--large, 2rem) 0;
    box-shadow: 0 4px 24px rgba(15, 20, 25, 0.06);
}
.lesouv-fiche-bluf__label {
    display: block;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--wp--preset--color--secondary);
    margin-bottom: .35rem;
    font-weight: 600;
}
.lesouv-fiche-bluf__text {
    margin: 0;
    font-size: 1.05rem;
    line-height: 1.55;
}

/* ============================================================
   Bios : badges position UE + nav sections
   ============================================================ */
.lesouv-bio-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.6rem;
    border-radius: 4px;
    font-family: var(--wp--preset--font-family--source-sans-3, sans-serif);
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    white-space: nowrap;
}
.lesouv-bio-badge--europeiste {
    background-color: var(--wp--preset--color--main);
    color: var(--wp--preset--color--base);
}
.lesouv-bio-badge--pro-ue-actuelle {
    background-color: transparent;
    color: var(--wp--preset--color--main);
    border: 1px solid var(--wp--preset--color--main);
}
.lesouv-bio-badge--critique-dans-lue {
    background-color: transparent;
    color: var(--wp--preset--color--primary);
    border: 1px solid var(--wp--preset--color--primary);
}
.lesouv-bio-badge--refonder-a-plusieurs {
    background-color: rgba(196, 30, 58, 0.12);
    color: var(--wp--preset--color--primary);
    border: 1px solid var(--wp--preset--color--primary);
}
.lesouv-bio-badge--pro-frexit {
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base);
}

.lesouv-bio-card__badges {
    margin-top: 0.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.lesouv-bio-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin-top: var(--wp--preset--spacing--small, 0.75rem);
}

.lesouv-bios-hero-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: var(--wp--preset--spacing--medium, 1.25rem);
}
.lesouv-bios-hero-nav__link {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 1rem;
    background: var(--wp--preset--color--base);
    border: 1px solid var(--wp--preset--color--base);
    color: var(--wp--preset--color--main);
    font-family: var(--wp--preset--font-family--source-sans-3, sans-serif);
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
    line-height: 1.2;
}
.lesouv-bios-hero-nav__link:hover,
.lesouv-bios-hero-nav__link:focus {
    background: var(--wp--preset--color--primary);
    border-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base);
}

.lesouv-bios-section {
    scroll-margin-top: 5rem;
}

.lesouv-bios-empty {
    font-style: italic;
    color: var(--wp--preset--color--main-accent);
}



/* Bios paragraphes max-width : intro du hero + paragraphes des sections */
.lesouv-bios-section p:not(.lesouv-bios-empty):not(.lesouv-bio-card__dates):not(.lesouv-bio-card__fonction) {
    max-width: var(--wp--style--global--content-size, 740px);
}

/* Hero navy : contrastes badge */
.lesouv-bio-hero-badges .lesouv-bio-badge--europeiste,
.lesouv-bio-hero-badges .lesouv-bio-badge--pro-ue-actuelle {
    background-color: var(--wp--preset--color--base);
    color: var(--wp--preset--color--main);
    border-color: var(--wp--preset--color--base);
}
.lesouv-bio-hero-badges .lesouv-bio-badge--critique-dans-lue {
    background-color: transparent;
    color: var(--wp--preset--color--base);
    border-color: var(--wp--preset--color--base);
}
.lesouv-bio-hero-badges .lesouv-bio-badge--refonder-a-plusieurs,
.lesouv-bio-hero-badges .lesouv-bio-badge--pro-frexit {
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base);
    border-color: var(--wp--preset--color--primary);
}

/* Badges responsive */
@media (max-width: 480px) {
    .lesouv-bio-badge {
        white-space: normal;
        font-size: 0.68rem;
        padding: 0.22rem 0.5rem;
        line-height: 1.15;
    }
}

/* Sticky bios : variantes fond foncé (rotation crc32) */
.lesouv-bio-card--pinned {
    border-color: transparent;
}
.lesouv-bio-card--pinned .lesouv-bio-card__name,
.lesouv-bio-card--pinned .lesouv-bio-card__dates,
.lesouv-bio-card--pinned .lesouv-bio-card__fonction {
    color: var(--wp--preset--color--base);
}
.lesouv-bio-card--pinned-v0 {
    background-color: var(--wp--preset--color--main);
}
.lesouv-bio-card--pinned-v1 {
    background-color: var(--wp--preset--color--primary);
}
.lesouv-bio-card--pinned:hover,
.lesouv-bio-card--pinned:focus-within {
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.15);
    border-color: transparent;
}

/* Badges dans une card sticky : contraste sur fond foncé (même logique que hero) */
.lesouv-bio-card--pinned .lesouv-bio-badge--europeiste,
.lesouv-bio-card--pinned .lesouv-bio-badge--pro-ue-actuelle {
    background-color: var(--wp--preset--color--base);
    color: var(--wp--preset--color--main);
    border-color: var(--wp--preset--color--base);
}
.lesouv-bio-card--pinned .lesouv-bio-badge--critique-dans-lue {
    background-color: transparent;
    color: var(--wp--preset--color--base);
    border-color: var(--wp--preset--color--base);
}
.lesouv-bio-card--pinned-v0 .lesouv-bio-badge--pro-frexit,
.lesouv-bio-card--pinned-v0 .lesouv-bio-badge--refonder-a-plusieurs {
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base);
    border-color: var(--wp--preset--color--primary);
}
.lesouv-bio-card--pinned-v1 .lesouv-bio-badge--pro-frexit,
.lesouv-bio-card--pinned-v1 .lesouv-bio-badge--refonder-a-plusieurs {
    background-color: var(--wp--preset--color--base);
    color: var(--wp--preset--color--primary);
    border-color: var(--wp--preset--color--base);
}

/* Bios non-sticky : style jeu-card (filet rouge top + fond papier + shadow) */
.lesouv-bio-card--textonly:not(.lesouv-bio-card--pinned) {
    background-color: #fff;
    border: none;
    border-top: 4px solid var(--wp--preset--color--primary);
    border-radius: 4px;
    box-shadow: 0 4px 24px rgba(15, 20, 25, 0.06);
    transition: transform .18s ease, box-shadow .18s ease;
}
.lesouv-bio-card--textonly:not(.lesouv-bio-card--pinned):hover,
.lesouv-bio-card--textonly:not(.lesouv-bio-card--pinned):focus-within {
    transform: translateY(-4px);
    box-shadow: 0 8px 32px rgba(15, 20, 25, 0.12);
    border-color: var(--wp--preset--color--primary);
}
.lesouv-bio-card--textonly:not(.lesouv-bio-card--pinned) .lesouv-bio-card__body {
    padding: 1.5rem 1.25rem 1.5rem;
}

/* Titre de card : même taille et police que .lsj-card h2 (jeux) */
.lesouv-bio-card__name {
    font-family: 'DM Serif Display', Georgia, serif;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 0.65rem;
}

/* Sticky table th : offset admin bar */
body.admin-bar .lesouv-entreprises-tableau th {
  top: 32px;
}
@media screen and (max-width: 782px) {
  body.admin-bar .lesouv-entreprises-tableau th {
    top: 46px;
  }
}

/* ============================================================
   === Encart source (fin d'article) ===
   Bloc encarté utilisé en fin d'article éditorial pour attribuer
   la source (souvent une vidéo YouTube). Généré côté pipeline via
   <p class="ls-source-box">Source : <a>...</a></p>
   ============================================================ */
.ls-source-box {
    background: #fff;
    border: none;
    border-top: 4px solid var(--wp--preset--color--primary);
    border-radius: 4px;
    padding: 1rem 1.25rem;
    margin: 2rem 0;
    box-shadow: 0 4px 24px rgba(15, 20, 25, 0.06);
    font-size: 0.95rem;
    color: var(--wp--preset--color--main);
}
.ls-source-box::before {
    content: "Source";
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--wp--preset--color--secondary);
    margin-bottom: 0.35rem;
}
.ls-source-box a {
    color: var(--wp--preset--color--primary);
    text-decoration: none;
    border-bottom: 1px solid var(--wp--preset--color--primary);
    transition: color .15s ease, border-color .15s ease;
}
.ls-source-box a:hover,
.ls-source-box a:focus {
    color: var(--wp--preset--color--main);
    border-bottom-color: var(--wp--preset--color--main);
}

/* ============================================================
   === Single lesouv_livre : fiche en tête + CTA Amazon ===
   Injecté dynamiquement via filter the_content par le mu-plugin
   Le Souv Features. La fiche affiche Auteur · Éditeur · Année · ISBN
   + un mini lien Amazon si livre_lien_achat présent.
   Le CTA en fin d'article est un bouton .is-style-outline classique.
   ============================================================ */
.lesouv-fiche-livre {
    background: #fff;
    border: none;
    border-top: 4px solid var(--wp--preset--color--primary);
    border-radius: 4px;
    padding: 1.5rem 1.5rem;
    margin: 0 0 2rem 0;
    box-shadow: 0 4px 24px rgba(15, 20, 25, 0.06);
    font-family: var(--wp--preset--font-family--source-sans-3, sans-serif);
}
.lesouv-fiche-livre__label {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--wp--preset--color--secondary);
    margin-bottom: 0.5rem;
}
.lesouv-fiche-livre__list {
    display: grid;
    grid-template-columns: minmax(90px, max-content) 1fr;
    gap: 0.35rem 1rem;
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.45;
}
.lesouv-fiche-livre__key {
    color: var(--wp--preset--color--secondary);
    font-weight: 600;
    margin: 0;
}
.lesouv-fiche-livre__val {
    color: var(--wp--preset--color--main);
    margin: 0;
}
.lesouv-fiche-livre__amazon {
    display: inline-block;
    margin-top: 0.75rem;
    font-size: 0.85rem;
    color: var(--wp--preset--color--primary);
    text-decoration: none;
    border-bottom: 1px solid var(--wp--preset--color--primary);
    padding-bottom: 1px;
}
.lesouv-fiche-livre__amazon:hover,
.lesouv-fiche-livre__amazon:focus {
    color: var(--wp--preset--color--main);
    border-bottom-color: var(--wp--preset--color--main);
}

/* Fiche non rédigée : encart neutre en lieu et place du contenu éditorial */
.lesouv-fiche-livre-empty {
    background: #fff;
    border: none;
    border-top: 4px solid var(--wp--preset--color--primary);
    border-radius: 4px;
    padding: 1.5rem 1.5rem;
    margin: 0 0 2rem 0;
    box-shadow: 0 4px 24px rgba(15, 20, 25, 0.06);
    color: var(--wp--preset--color--secondary);
    font-style: italic;
    font-size: 0.95rem;
    line-height: 1.5;
}

/* CTA Amazon en fin d'article : bouton sobre outline avec accent rouge */
.lesouv-livre-cta {
    margin: 2rem 0 0;
}
.lesouv-livre-cta .wp-block-button__link {
    background-color: var(--wp--preset--color--base);
    color: var(--wp--preset--color--main);
    border: 2px solid var(--wp--preset--color--primary);
    border-radius: 4px;
    padding: 0.75rem 1.5rem;
    font-weight: 600;
    transition: background-color .18s ease, color .18s ease;
}
.lesouv-livre-cta .wp-block-button__link:hover,
.lesouv-livre-cta .wp-block-button__link:focus {
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base);
}
/* === Encart bio (infobox) sur les pages /bios/ : source déplacée depuis lesouv-enricher.php === */
.lesouv-bio-infobox{float:right;max-width:320px;width:100%;margin-top:0;margin-right:0!important;margin-bottom:2rem;margin-left:2rem!important;background:#fff;border:none;border-top:4px solid var(--wp--preset--color--primary,#d63a3a);border-radius:4px;padding:1.5rem 1.25rem;font-size:0.95rem;line-height:1.5;box-sizing:border-box;box-shadow:0 4px 24px rgba(15,20,25,0.06);}
@media (max-width:782px){.lesouv-bio-infobox{float:none;max-width:none;margin-left:0!important;margin-bottom:2rem;}}
.lesouv-bio-infobox-header{text-align:center;margin-bottom:0.75rem;padding-bottom:0.75rem;border-bottom:1px solid rgba(15,20,25,0.10);}
.lesouv-bio-infobox-header img{display:block;margin:0 auto 0.75rem;max-width:180px;height:auto;border-radius:4px;}
.lesouv-bio-infobox-header h2{font-size:1.15rem;margin:0;line-height:1.3;font-family:var(--wp--preset--font-family--serif,Georgia,serif);}
.lesouv-bio-infobox-role{margin:0.25rem 0 0;font-size:0.85rem;color:var(--wp--preset--color--main,#1a1a2e);font-style:italic;}
.lesouv-bio-infobox dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:0.35rem 0.75rem;}
.lesouv-bio-infobox dt{font-weight:600;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--wp--preset--color--secondary,#4F5F77);align-self:start;padding-top:0.1rem;}
.lesouv-bio-infobox dd{margin:0;font-size:0.9rem;}
.lesouv-bio-infobox a{color:var(--wp--preset--color--primary,#c0392b);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;}
.lesouv-bio-infobox + *{margin-top:0!important;margin-block-start:0!important;}


/* ============================================
   Encart auteur — composition synchronisee (fond navy)
   ============================================ */
.lesouv-encart-auteur{background:var(--wp--preset--color--main);border:none;border-top:4px solid var(--wp--preset--color--primary);border-radius:4px;padding:1.75rem 1.5rem;box-shadow:0 4px 24px rgba(15,20,25,0.10);margin-block:2.5rem 0;}
.lesouv-encart-auteur__eyebrow{font-family:'Source Sans 3',sans-serif;font-size:0.78rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--wp--preset--color--base);opacity:0.72;margin:0 0 0.5rem;}
.lesouv-encart-auteur__name{font-family:'DM Serif Display',Georgia,serif;font-size:1.4rem;font-weight:400;line-height:1.2;color:var(--wp--preset--color--base);margin:0 0 0.6rem;}
.lesouv-encart-auteur__text{font-family:'Source Sans 3',sans-serif;font-size:1rem;line-height:1.6;color:var(--wp--preset--color--base);margin:0 0 0.85rem;}
.lesouv-encart-auteur__link{margin:0;font-size:0.95rem;}
.lesouv-encart-auteur__link a{color:var(--wp--preset--color--base);text-decoration:underline;text-underline-offset:2px;font-weight:600;}
.lesouv-encart-auteur__link a:hover{color:#fff;}

/* Le Souv - Pagination Bibliotheque (style barre alpha du lexique) */
.lesouv-biblio-pagination {
    display: flex;
    justify-content: center;
    margin-top: 2.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid rgba(0,0,0,.1);
}
.lesouv-biblio-pagination ul {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    list-style: none;
    margin: 0;
    padding: 0;
}
.lesouv-biblio-pagination li { margin: 0; }
.lesouv-biblio-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.1rem;
    height: 2.1rem;
    padding: 0 .4rem;
    font-weight: 600;
    font-size: .95rem;
    border: 1px solid transparent;
    border-radius: 4px;
    text-decoration: none;
    color: var(--wp--preset--color--main);
    transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.lesouv-biblio-pagination a.page-numbers:hover,
.lesouv-biblio-pagination a.page-numbers:focus {
    border-color: var(--wp--preset--color--main);
}
.lesouv-biblio-pagination .page-numbers.current {
    background-color: var(--wp--preset--color--primary);
    color: var(--wp--preset--color--base);
    border-color: var(--wp--preset--color--primary);
}
.lesouv-biblio-pagination .page-numbers.dots {
    border-color: transparent;
    color: var(--wp--preset--color--secondary);
}

/* Archive paginee : masquer intro + section editeurs sur page 2+ */
body.paged .ls-biblio-page1 { display: none; }

/* Le Souv - Fil d'ariane discret (liens du hero) */
.ls-breadcrumb-soft a { color: var(--wp--preset--color--main-accent); text-decoration: none; }
.ls-breadcrumb-soft a:hover, .ls-breadcrumb-soft a:focus { color: var(--wp--preset--color--base); }
