/* Site du Departement de Mathématiques — URCA */
:root{
  --green-top:#4E9F31; --green:#027937; --green-deep:#01642E;
  --gold:#e5b34f; --ink:#24384f; --muted:#66717d;
  --page:#f5f6f8; --paper:#fff; --line:#e1e5e9; --soft:#f8fafc;
  --max:1180px; --nav-h:58px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;color:var(--ink);background:var(--page);font:17px/1.65 Arial,Helvetica,sans-serif}
a{color:#1f527e;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:#173c5d}
.wrap{width:min(calc(100% - 48px),var(--max));margin-inline:auto}

/* En-tête commun */
.site-header{background:linear-gradient(115deg,var(--green-top),var(--green) 55%,#027937);color:#fff}
.brandbar{display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;padding:12px 0 10px}
.brand-logos{display:flex;gap:16px;align-items:center}
.brand-logos img{display:block;width:auto;height:auto;max-height:58px;max-width:none;object-fit:contain;border-radius:5px;flex:0 0 auto}
.brand-title{min-width:0}
.brand-title .univ{font-size:.92rem;text-transform:uppercase;letter-spacing:.08em;color:#e7edf5;margin-bottom:2px}
.brand-title .dept{font:700 1.48rem/1.15 Georgia,'Times New Roman',serif;color:#fff}
.global-nav{position:sticky;top:0;z-index:1000;background:var(--green);border-bottom:4px solid var(--gold);box-shadow:0 3px 10px rgba(0,0,0,.14)}
.nav-inner{width:min(calc(100% - 32px),var(--max));margin:auto;display:flex;align-items:stretch;min-height:var(--nav-h)}
.nav-toggle{display:none;background:transparent;color:#fff;border:0;font:inherit;font-weight:700;padding:0 10px;cursor:pointer}
.nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:stretch;width:100%}
.nav-item{position:relative;display:flex;align-items:stretch}
.nav-link,.nav-button{display:flex;align-items:center;gap:7px;padding:0 14px;color:#fff;text-decoration:none;background:none;border:0;font:inherit;font-size:.94rem;cursor:pointer;white-space:nowrap}
.nav-link:hover,.nav-button:hover,.nav-link:focus,.nav-button:focus{background:rgba(255,255,255,.08);color:#fff;outline:none}
.nav-button::after{content:'▾';font-size:.72em;color:var(--gold)}
.submenu{display:none;position:absolute;left:0;top:100%;min-width:290px;padding:8px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 25px rgba(0,0,0,.18);list-style:none;margin:0}
.submenu a{display:block;padding:10px 12px;text-decoration:none;color:var(--ink);border-radius:4px}
.submenu a:hover,.submenu a:focus{background:#eef3f8;color:#173c5d}
.nav-item:hover>.submenu,.nav-item:focus-within>.submenu{display:block}

/* Héros */
.hero{background:linear-gradient(115deg,var(--green-top),var(--green) 55%,#027937);color:#fff;padding:20px 0 23px;border-bottom:5px solid var(--gold)}
.eyebrow{display:block;margin:0 0 7px;color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700}
.hero h1{font:700 1.95rem/1.1 Georgia,'Times New Roman',serif;margin:0;max-width:1000px;color:#fff;letter-spacing:-.015em}
.subtitle{font: bold 1.06rem/1.3 Georgia,'Times New Roman',serif;margin:9px 0 0;color:#f2f4f7}
.hero.compact{padding:17px 0 20px}.hero.compact h1{font-size:1.8rem}

main.wrap{padding:42px 0 62px}
section,.panel{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:30px 34px;margin:0 0 28px;box-shadow:0 1px 2px rgba(0,0,0,.025)}
.section-title{font:700 1.75rem/1.25 Georgia,'Times New Roman',serif;color:var(--green-deep);margin:0 0 22px;padding-bottom:12px;position:relative}
.section-title::after{content:'';position:absolute;left:0;bottom:0;width:58px;height:4px;background:var(--gold)}
h3{color:var(--green-deep);margin-top:1.4em}.lead{font-size:1.08rem}.muted{color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card{background:var(--soft);border:1px solid var(--line);border-radius:6px;padding:20px}.card h3{margin:0 0 8px;font-size:1.1rem}.card p:last-child{margin-bottom:0}
.course-list{margin:.5rem 0 0;padding-left:1.25rem}.course-list li{margin:.42rem 0}.hours{white-space:nowrap;font-weight:700;color:var(--green)}
.note{border-left:5px solid var(--gold);background:#fffaf0;padding:15px 18px;margin:18px 0}.admission,.contact{background:#f9fbfd}
.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.button{display:inline-block;background:var(--green);color:#fff!important;text-decoration:none;padding:10px 16px;border-radius:5px;font-weight:700}.button.secondary{background:#fff;color:var(--green)!important;border:1px solid var(--green)}
.grid-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.feature-link{display:block;background:#fff;border:1px solid var(--line);border-top:4px solid var(--gold);padding:20px;text-decoration:none;border-radius:5px}.feature-link strong{display:block;color:var(--green-deep);font:700 1.15rem/1.3 Georgia,'Times New Roman',serif;margin-bottom:5px}.feature-link span{color:var(--muted)}.feature-items{margin:10px 0 0 1.15rem;padding:0;font-size:.96rem;line-height:1.55}.feature-items li{margin:2px 0;color:var(--muted)}.feature-link:hover}
.table-scroll{overflow-x:auto}.members-table,.data-table{width:100%;border-collapse:collapse;font-size:.94rem}.members-table th,.members-table td,.data-table th,.data-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}.members-table th,.data-table th{background:#eeffe8;color:var(--green-deep);position:sticky;top:0}.members-table tr:hover td{background:#fafbfd}
.email{white-space:nowrap}

@media (max-width:980px){
 .brandbar{grid-template-columns:1fr}.brand-title{text-align:center}.brand-logos{justify-content:center;flex-wrap:wrap}.brand-logos img{max-height:70px}
 .nav-inner{display:block}.nav-toggle{display:flex;min-height:52px;align-items:center}.nav-list{display:none;flex-direction:column;padding:0 0 10px}.global-nav.open .nav-list{display:flex}.nav-item{display:block}.nav-link,.nav-button{width:100%;min-height:45px;padding:0 12px;justify-content:space-between}.submenu{position:static;display:none;box-shadow:none;border:0;border-left:3px solid var(--gold);margin:0 0 4px 14px;background:#f8fafc}.nav-item.open>.submenu{display:block}.nav-item:hover>.submenu{display:none}.nav-item.open:hover>.submenu{display:block}
 .cards.three,.grid-links{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
 body{font-size:16px}.wrap{width:min(calc(100% - 28px),var(--max))}.brandbar{padding:10px 0 8px}.brand-logos{gap:8px}.brand-logos img{max-height:42px;max-width:38vw}.brand-title .dept{font-size:1.2rem}
 .hero{padding:17px 0 20px}.hero h1,.hero.compact h1{font-size:1.55rem}.subtitle{font-size:.98rem}main.wrap{padding-top:28px}section,.panel{padding:23px 20px;margin-bottom:20px}.section-title{font-size:1.5rem}.cards,.cards.three,.grid-links{grid-template-columns:1fr}.members-table{font-size:.87rem}
}
@media print{.global-nav{display:none}.site-header{background:#fff;color:#000}.brand-title .dept,.brand-title .univ{color:#000}.hero{background:#fff;color:#000;border-bottom:2px solid #aaa}.hero h1,.subtitle{color:#000}.eyebrow{color:#555}section{box-shadow:none}.footer{display:none}}


/* Sélecteur de langue, utilisé uniquement sur le parcours Recherche */
.language-switch{display:flex;justify-content:flex-end;margin:18px 0 -2px}
@media (max-width:700px){.language-switch{justify-content:flex-start}}

/* Courriels assemblés dynamiquement côté navigateur */
.email-link{white-space:nowrap}

/* Tableau Agrégation interne : cellules encadrées pour rendre visible la cellule commune Université/Rectorat */
.agreg-table th,.agreg-table td{border:1px solid var(--line)}
.agreg-table .shared-cell{text-align:center}
.agreg-table .center-cell{text-align:center;vertical-align: middle}
.agreg-table{table-layout: fixed;width:90%}

