/* Polices A5E — mêmes fichiers qu'a5e.css (la page ne charge pas a5e.css) */
@font-face {
    font-family: "Cormorant SC";
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('../fonts/cormorant-sc-v19-latin-regular.woff2') format('woff2');
}
@font-face {
    font-family: "Cormorant SC";
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('../fonts/cormorant-sc-v19-latin-500.woff2') format('woff2');
}
@font-face {
    font-family: "Cormorant SC";
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('../fonts/cormorant-sc-v19-latin-600.woff2') format('woff2');
}

html,body { min-height: 100%; background: #090b0e; color: #f2f0ea; }
.contributors-page { margin: 0; font-family: "Open Sans",sans-serif; }
.contributors-nav { display: flex; align-items: center; justify-content: space-between; }
.contributors-nav > div { display: flex; align-items: center; gap: .8rem; color: rgba(242,240,234,.28); }
.contributors-nav a { color: rgba(242,240,234,.72); font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.contributors-nav a:hover { color: #c58a3a; text-decoration: none; }
.contributors-shell { position: relative; z-index: 1; width: min(1080px, calc(100% - 2rem)); margin: 0 auto; }
.contributors-hero { position: relative; padding: 12rem 0 7rem; text-align: center; background: linear-gradient(rgba(9,11,14,.72),#090b0e),url(../images/a5e_voyageur.png) center 28%/cover no-repeat; }
.contributors-kicker { margin: 0 0 1rem; color: #c58a3a; font-family: "Oxanium",sans-serif; font-size: .75rem; letter-spacing: .3em; }
.contributors-hero h1 { margin: 0; font-family: "Cormorant SC",serif; font-size: clamp(2.4rem,6vw,4.6rem); letter-spacing: .08em; text-transform: uppercase; }
.contributors-hero > div > p:last-child { max-width: 42rem; margin: 1.2rem auto 0; color: rgba(242,240,234,.68); }
.contributors-section { padding: 3rem 0 7rem; }
/* Titres de section : ligne bronze en dégradé, plus d'air */
.contributors-section h2 { position: relative; margin: 3.4rem 0 1.55rem; padding-bottom: 1rem; color: #ddbb77; font-family: "Cormorant SC",serif; font-size: 1.6rem; letter-spacing: .1em; text-transform: uppercase; text-shadow: 0 0 26px rgba(197,138,58,.22); }
.contributors-section h2::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: linear-gradient(90deg, rgba(221,187,119,.55), rgba(197,138,58,.16) 45%, rgba(197,138,58,0) 85%); }
.contributors-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.contributor-card { display: flex; align-items: center; gap: 1rem; min-height: 104px; padding: 1.1rem; background: #12151a; border: 1px solid rgba(197,138,58,.2); }
.contributor-avatar { display: flex; align-items: center; justify-content: center; width: 66px; height: 66px; flex: 0 0 66px; overflow: hidden; border: 1px solid rgba(197,138,58,.4); border-radius: 50%; color: #c58a3a; background: #090b0e; }
.contributor-avatar img { width: 100%; height: 100%; object-fit: cover; }
/* Badge de soutien en fallback : emblème complet visible, recadré sans déformation */
.contributor-avatar .contributor-badge { object-fit: contain; padding: .3rem; }
.contributor-avatar--founder .founder-badge { object-fit: contain; }
.contributor-card h3 { margin: 0 0 .25rem; font-family: "Cormorant SC",serif; font-size: 1.2rem; letter-spacing: .05em; }
.contributor-card p { margin: 0; color: rgba(242,240,234,.5); font-size: .76rem; }
.contributors-empty { padding: 3rem 1rem; color: rgba(242,240,234,.48); border: 1px dashed rgba(197,138,58,.22); text-align: center; }
.contributors-empty i { margin-bottom: .8rem; color: #c58a3a; font-size: 2rem; }
.contributors-empty p { margin: 0; }
/* Recherche — les !important reprennent l'ancien "input { border: 1px solid #D4D4D4 !important }" de style.css */
.contributors-table-tools { display: flex; justify-content: flex-end; margin-bottom: .9rem; }
.contributors-table-tools label { position: relative; width: min(100%,22rem); margin: 0; }
.contributors-table-tools i { position: absolute; top: 50%; left: 1.05rem; color: rgba(197,138,58,.75); font-size: .85rem; transform: translateY(-50%); }
.contributors-table-tools input { width: 100%; min-height: 44px; padding: .65rem 1rem .65rem 2.7rem; color: #f2f0ea; background: #0b0e12; border: 1px solid rgba(197,138,58,.26) !important; border-radius: 4px; outline: 0; transition: border-color .2s ease, box-shadow .2s ease; }
.contributors-table-tools input::placeholder { color: rgba(242,240,234,.34); }
.contributors-table-tools input:focus { border-color: rgba(212,166,92,.7) !important; box-shadow: 0 0 0 3px rgba(197,138,58,.09); }
/* Tableaux : panneau sombre, bordure allégée, séparateurs fins */
.contributors-table-wrap { overflow-x: auto; overflow-y: hidden; border: 1px solid rgba(197,138,58,.18); border-radius: 6px; background: #0f1216; box-shadow: 0 16px 42px rgba(0,0,0,.24); }
.contributors-table { width: 100%; min-width: 720px; border-collapse: collapse; }
.contributors-table th { padding: 1.05rem 1.35rem; color: rgba(221,187,119,.92); background: rgba(197,138,58,.05); border-bottom: 1px solid rgba(197,138,58,.26); font-family: "Cormorant SC",serif; font-size: .84rem; letter-spacing: .1em; text-align: left; text-transform: uppercase; }
.contributors-table td { padding: 1.08rem 1.35rem; color: rgba(242,240,234,.7); border-bottom: 1px solid rgba(197,138,58,.08); font-size: .8rem; vertical-align: middle; transition: box-shadow .2s ease; }
.contributors-table tr:last-child td { border-bottom: 0; }
/* Hover discret : voile bronze + accent fin sur la gauche, transition 200 ms */
.contributors-table tbody tr { transition: background-color .2s ease; }
.contributors-table tbody tr:hover { background: rgba(197,138,58,.05); }
.contributors-table tbody tr:hover td:first-child { box-shadow: inset 2px 0 0 rgba(221,187,119,.55); }
/* Dates : éléments secondaires */
.contributors-table time { color: rgba(242,240,234,.46); font-size: .74rem; letter-spacing: .05em; font-variant-numeric: tabular-nums; }
/* Identité : avatar 48 px plus présent, nom en avant */
.contributor-identity { display: flex; align-items: center; gap: .95rem; min-width: 0; color: #f7f4ec; }
.contributor-identity .contributor-avatar { width: 48px; height: 48px; flex-basis: 48px; border-color: rgba(197,138,58,.35); box-shadow: 0 3px 12px rgba(0,0,0,.38), 0 0 0 1px rgba(197,138,58,.1); }
.contributor-identity strong { font-family: "Cormorant SC",serif; font-size: 1.02rem; font-weight: 600; letter-spacing: .045em; line-height: 1.25; }
/* Équipe fondatrice : cadre bronze légèrement plus marqué */
.contributors-founders-table { border-color: rgba(197,138,58,.3); }
.contributors-founders-table .contributors-table { min-width: 620px; }
.contributors-founders-table tbody tr { background: linear-gradient(90deg,rgba(197,138,58,.05),transparent 55%); }
.contributor-avatar--founder { border-radius: 4px; padding: .45rem; }
.contributor-avatar--founder img { object-fit: contain; }
/* Types de soutien : labels fins, hiérarchie bronze (Gardien le plus prestigieux) */
.contributor-tier { display: inline-block; padding: .34rem .62rem; border: 1px solid; border-radius: 3px; font-size: .68rem; font-weight: 600; letter-spacing: .07em; white-space: nowrap; }
.contributor-tier--traveler { color: #cfc4ae; border-color: rgba(197,138,58,.24); background: rgba(197,138,58,.045); }
.contributor-tier--pioneer { color: #ddbb77; border-color: rgba(197,138,58,.42); background: rgba(197,138,58,.09); }
.contributor-tier--guardian { color: #ecca97; border-color: rgba(224,180,106,.55); background: rgba(204,154,76,.14); box-shadow: inset 0 0 10px rgba(197,138,58,.1); text-shadow: 0 0 14px rgba(222,178,102,.35); }
.contributor-tier--monthly { color: #c3ccd1; border-color: rgba(178,190,196,.28); background: rgba(178,190,196,.05); }
.contributors-cta { margin-top: 3rem; text-align: center; }
@media(max-width:800px){.contributors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Mobile : les tableaux deviennent des cartes empilées (pas de défilement horizontal) */
@media(max-width:767px){
.contributors-table-wrap{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}
/* Cause du débordement équipe fondatrice : la min-width desktop (620px, ligne 76) a une
   spécificité plus élevée que le reset mobile -> on la neutralise avec la même spécificité */
.contributors-table{min-width:0;width:100%;max-width:100%;box-sizing:border-box}
.contributors-founders-table .contributors-table{min-width:0}
.contributors-table thead{display:none}
.contributors-table tbody,.contributors-table tr,.contributors-table td{display:block;width:100%;box-sizing:border-box}
.contributors-table tr{margin-bottom:.7rem;padding:.25rem 0;background:#0f1216;border:1px solid rgba(197,138,58,.2);border-radius:6px;box-shadow:0 14px 34px rgba(0,0,0,.22)}
.contributors-founders-table .contributors-table tr{background:#0f1216}
.contributors-table td{border-bottom:1px solid rgba(197,138,58,.09);padding:.62rem 1rem}
.contributors-table td:last-child{border-bottom:0}
.contributors-table td[data-label]::before{content:attr(data-label);display:block;margin-bottom:.22rem;color:rgba(221,187,119,.85);font-family:"Cormorant SC",serif;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
.contributors-table tbody tr,.contributors-table tbody tr:hover{background:#0f1216}
.contributors-table tbody tr:hover td:first-child{box-shadow:none}
/* Cartes communauté : LIGNE 3 = les deux dates côte à côte (grille 2 colonnes égales) */
.contributors-table tbody tr[data-contributor-row]{display:grid;grid-template-columns:1fr 1fr;column-gap:1rem}
.contributors-table tbody tr[data-contributor-row] > td{width:auto}
.contributors-table tbody tr[data-contributor-row] > td:nth-child(1),.contributors-table tbody tr[data-contributor-row] > td:nth-child(2){grid-column:1/-1}
.contributors-table tbody tr[data-contributor-row] > td:nth-child(3),.contributors-table tbody tr[data-contributor-row] > td:nth-child(4){border-bottom:0}
.contributor-identity{gap:.8rem}
.contributor-identity .contributor-avatar{width:52px;height:52px;flex-basis:52px}
.contributor-identity strong{font-size:1.06rem}
.contributor-tier{font-size:.72rem}
}
@media(max-width:520px){.contributors-hero{padding:9rem 0 5rem}.contributors-grid{grid-template-columns:1fr}.contributors-nav a{font-size:.68rem}}
