/* Ressources Bancada — hub, pages de base et fiches d'entrée.
   Consomme les jetons :root de styles.css avec repli hex explicite. */

.res-intro{max-width:var(--w-content)}
.res-intro p{font-size:18px;line-height:1.6;color:var(--text-secondary,#3A4B60)}

.res-body{max-width:var(--w-content)}
.res-fil{font:12px var(--mono,monospace);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted,#6E7C8C);padding:0 0 22px}
.res-fil a{color:var(--callout-text,#7A5410)}
.res-fil a:hover{color:var(--secondary,#0E1A2B)}
.res-fil span{color:var(--text-faint,#C3BDB2);padding:0 4px}

.res-section{margin:0 0 44px;scroll-margin-top:24px}
.res-section h2{font-size:28px;line-height:1.14;letter-spacing:-.045em;margin:6px 0 14px}
.res-section h3{font-size:19px;letter-spacing:-.03em;margin:26px 0 8px}
.res-section p{font-size:17px;line-height:1.65;color:var(--text-secondary,#3A4B60);margin:0 0 16px}
.res-section p strong{color:var(--text-strong,#060F1A);font-weight:600}
.res-section a{color:var(--callout-text,#7A5410);text-decoration:underline;text-underline-offset:3px}
.res-section a:hover{color:var(--secondary,#0E1A2B)}

/* Hub : les cartes de ressources */
.res-hub{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.res-hub li{background:var(--surface,#FFFFFF);border:1px solid var(--border,#D7D1C5);border-top:3px solid var(--primary,#E8B04B);padding:22px 24px}
.res-hub li > a{display:block;font-family:var(--display,sans-serif);font-size:19px;line-height:1.2;letter-spacing:-.03em;color:var(--text,#0E1A2B);text-decoration:none;margin-bottom:10px}
.res-hub li > a:hover{color:var(--callout-text,#7A5410)}
.res-hub p{font-size:15px;line-height:1.55;margin:0 0 12px}
.res-tag{font:11.5px var(--mono,monospace);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted,#6E7C8C);margin:0}
.res-tag span{color:var(--text-faint,#C3BDB2);padding:0 5px}

/* Liste des entrées d'une base */
.res-filtre{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:var(--fill,#E9E4DA);border:1px solid var(--border,#D7D1C5);padding:16px 18px;margin:0 0 20px}
.res-filtre label{font-size:13px;color:var(--text,#0E1A2B);flex:0 0 auto}
.res-filtre input{flex:1 1 220px;padding:10px 12px;border:1px solid var(--border,#D7D1C5);background:var(--surface,#FFFFFF);color:var(--text,#0E1A2B);font:inherit;font-size:15px;border-radius:2px}
.res-filtre input:focus-visible{outline:3px solid var(--primary,#E8B04B);outline-offset:2px}
.res-filtre .btn-ghost{text-decoration:none;display:inline-block}
.res-compte{font-size:14px;color:var(--text-muted,#6E7C8C);margin:0 0 16px}

.res-cartes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.res-cartes li{background:var(--surface,#FFFFFF);border:1px solid var(--border,#D7D1C5);border-left:3px solid var(--primary,#E8B04B);padding:14px 16px}
.res-cartes li > a{display:block;font-family:var(--display,sans-serif);font-size:15px;line-height:1.25;color:var(--text,#0E1A2B);text-decoration:none}
.res-cartes li > a:hover{color:var(--callout-text,#7A5410)}
.res-cartes span{display:block;font-size:13px;line-height:1.45;color:var(--text-muted,#6E7C8C);margin-top:5px}
.res-cartes .res-attente{color:var(--text-faint,#C3BDB2);font-style:italic}

/* Fiche d'entrée */
.res-carac{width:100%;border-collapse:collapse;font-size:15px;min-width:460px}
.res-carac caption{caption-side:bottom;text-align:left;font-size:13px;color:var(--text-muted,#6E7C8C);padding-top:10px}
.res-carac th,.res-carac td{text-align:left;padding:11px 12px;border-bottom:1px solid var(--border,#D7D1C5);vertical-align:top}
.res-carac thead th{background:var(--secondary,#0E1A2B);color:var(--white,#FFFFFF);font-family:var(--display,sans-serif);font-weight:400;font-size:13px}
.res-carac tbody tr:nth-child(even){background:var(--fill,#E9E4DA)}
.res-carac td:first-child{width:34%;color:var(--text,#0E1A2B)}
.res-carac td{color:var(--text-secondary,#3A4B60)}

.res-texte p{font-size:17px;line-height:1.65;color:var(--text-secondary,#3A4B60);margin:0 0 16px}
.res-texte h2{font-size:24px;letter-spacing:-.04em;margin:32px 0 12px}
.res-texte h3{font-size:18px;letter-spacing:-.02em;margin:24px 0 8px}
.res-liste{margin:0 0 20px;padding-left:22px;color:var(--text-secondary,#3A4B60)}
.res-liste li{font-size:17px;line-height:1.6;margin:0 0 10px}

.res-metrique{background:var(--fill,#E9E4DA);border-left:3px solid var(--border,#D7D1C5);padding:16px 20px;margin:26px 0}
.res-metrique p{font-size:14.5px;line-height:1.6;color:var(--text-secondary,#3A4B60);margin:0}
.res-metrique strong{color:var(--text,#0E1A2B)}

.res-suite{display:flex;flex-wrap:wrap;gap:16px;border-top:3px solid var(--primary,#E8B04B);padding-top:18px;margin-top:36px}
.res-suite a{font-family:var(--display,sans-serif);font-size:15px;color:var(--text,#0E1A2B);text-decoration:none}
.res-suite a:hover{color:var(--callout-text,#7A5410)}

@media(max-width:760px){
  .res-hub,.res-cartes{grid-template-columns:1fr}
  .res-section h2{font-size:23px}
  .res-filtre{flex-direction:column;align-items:stretch}
}

.res-src{display:block;font:11.5px var(--mono,monospace);letter-spacing:.03em;color:var(--text-muted,#6E7C8C);margin-top:3px}

.res-photo{margin:0 0 26px}.res-photo img{width:100%;height:auto;display:block;border:1px solid var(--border,#D7D1C5)}.res-photo figcaption{font-size:12.5px;line-height:1.5;color:var(--text-muted,#6E7C8C);margin-top:8px}.res-photo figcaption a{color:var(--callout-text,#7A5410)}

.res-groupes{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px}.res-groupes a{display:inline-flex;align-items:center;gap:6px;background:var(--surface,#FFFFFF);border:1px solid var(--border,#D7D1C5);padding:6px 11px;font-size:13px;color:var(--text-secondary,#3A4B60);text-decoration:none;border-radius:2px}.res-groupes a:hover{border-color:var(--primary,#E8B04B);color:var(--secondary,#0E1A2B)}.res-groupes b{font:11px var(--mono,monospace);color:var(--text-muted,#6E7C8C)}.res-groupe-titre{font-family:var(--display,sans-serif);font-size:16px;letter-spacing:-.02em;color:var(--text,#0E1A2B);margin:26px 0 12px;padding-bottom:6px;border-bottom:2px solid var(--primary,#E8B04B);scroll-margin-top:20px}.res-groupe-titre span{font:11px var(--mono,monospace);color:var(--text-muted,#6E7C8C);margin-left:6px}

/* res-cartes-3col — la largeur de contenu élargie laisse la place à trois colonnes sur les listes longues ; deux en dessous de 1100 px, une sur mobile. */@media(min-width:1100px){.res-cartes{grid-template-columns:repeat(3,1fr)}}@media(min-width:1100px){.res-hub{grid-template-columns:repeat(2,1fr)}}

/* res-cartes-4col — à la largeur de la home, quatre colonnes tiennent sans serrer. */@media(min-width:1250px){.res-cartes{grid-template-columns:repeat(4,1fr)}}
