/* ============================================================
HAL Publications -  functions-hal-publications.css
Theme Name: OS-Hal-Publications
v1.9.3 16:37 27/04/2026
Dépendances : functions-hal-publications.js
   			functions-hal-publications.php
Developped and Tested in: 
PHP: 8.3.30
WordPresse 6.8.5
Advanced Custom Fields (ACF) 6.6.0 
Custom Post Type UI 1.18.0
Elementor 3.32.4
Elementor Pro 3.32.2
Author : Thomas Jessin - ocean-shape
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
============================================================ */

.hal-publications {
	--hal-bleu-mer: #123249; /* texte resume*/
	--hal-bleu-medi: #10698D; /*Fond titre d'année au survol,Liens titres, bouton HAL, bordure résumé*/
	--hal-gris-techno: #6B7982; /* Texte auteurs - (Technologie)/*Texte badge type de doc (défaut*/
    --hal-bleu-horizon: #0F9DC8; /* Survol*/
	--hal-rose-oursin: #951E70; /* rose Oursin / Bougainvillier*/
	--hal-blanc: #FFFFFF;/*Texte badge type de doc (défaut), texte titres d'année*/
	--hal-bleu-azur2: #5CC0CD; /*Fond des titres d'année*/ 
	--hal-jaune-dyn: #FFBF1A;/*fond badge nb pub année - Lov-Jaune-Dynamism*/
	--hal-gris-accent: #EEEEEE;/*Fond Badges type de doc (défaut)*/
	--hal-bleu-desactiv: #CFDDE6;/*Bordures (défaut)*/
    --hal-radius: 2px;
}


/* En-tete */
.hal-header {
    margin-bottom: 1.25rem;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: .6rem;
}

.hal-total {
    font-family: "IMCURRENT", Sans-serif;
	font-size: 1.0rem;
    color: var(--hal-gris-techno);
    background: var(--hal-gris-accent);
	padding: .2rem .7rem;
    border-radius: 100px;
}

/* Bouton CV HAL */
.hal-cv-link {
	font-family: "IMCURRENT", Sans-serif;
	display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-size: .78rem;
    font-weight: 600;
    padding: .2rem .65rem;
    border-radius: 100px;
    background: var(--hal-bleu-medi);
	color: var(--hal-blanc)!important;
    text-decoration: none;
    transition: opacity .15s;
    white-space: nowrap;
}
.hal-cv-link:hover { opacity: .82; color: var(--hal-blanc); }

/* Groupe gauche : compteur + CV HAL */
.hal-header-left {
    display: flex;
    align-items: center;
    gap: .5rem;
    flex-wrap: wrap;
}

/* Boutons tout ouvrir / tout fermer (sous les filtres, alignes a droite) */
.hal-controls {
    display: flex;
    gap: .4rem;
    justify-content: flex-end;
    margin-bottom: .75rem;
}

/* Reset Elementor sur tous les boutons HAL */
.hal-publications button,
.hal-publications button:hover,
.hal-publications button:focus,
.hal-publications button:active {
    box-shadow: none !important;
    outline: none !important;
    text-decoration: none !important;
}

.hal-ctrl-open,
.hal-ctrl-close {
    font-family: "IMTITLE", Sans-serif;
	font-size: 1.0rem;
    font-weight: 600;
	letter-spacing : 0.03rem;
    padding: .25rem .7rem;
    border-radius: var(--hal-radius);
    border: 1px solid var(--hal-bleu-desactiv) !important;
	background: var(--hal-blanc) !important;
	color: var(--hal-bleu-medi) !important;
    cursor: pointer;
    transition: background .15s, color .15s, border-color .15s;
    white-space: nowrap;
}

.hal-ctrl-open:hover, 
.hal-ctrl-open:focus, 
.hal-ctrl-open:active,
.hal-ctrl-open:focus-visible,
.hal-ctrl-open:focus:not(:focus-visible) { 
    background: var(--hal-bleu-medi) !important;
	color: var(--hal-blanc) !important;
    border-color: var(--hal-bleu-medi) !important;
}

.hal-ctrl-close:hover,
.hal-ctrl-close:focus,
.hal-ctrl-close:active,
.hal-ctrl-close:focus-visible,
.hal-ctrl-close:focus:not(:focus-visible) { 
    background: var(--hal-bleu-medi) !important;
    color: var(--hal-blanc) !important;
    border-color: var(--hal-bleu-medi) !important;
}

/* Bouton Export Word */
.hal-ctrl-export {
    font-family: "IMTITLE", Sans-serif;
    font-size: 1.0rem;
    font-weight: 600;
    letter-spacing: 0.03rem;
    padding: .25rem .7rem;
    border-radius: var(--hal-radius);
    border: 1px solid var(--hal-jaune-dyn) !important;
    background: var(--hal-blanc) !important;
    color: var(--hal-bleu-medi) !important;
    cursor: pointer;
    transition: background .15s, color .15s, border-color .15s;
    white-space: nowrap;
}

.hal-ctrl-export:hover,
.hal-ctrl-export:focus,
.hal-ctrl-export:active,
.hal-ctrl-export:focus-visible,
.hal-ctrl-export:focus:not(:focus-visible) {
    background: var(--hal-jaune-dyn) !important;
    color: var(--hal-bleu-medi) !important;
    border-color: var(--hal-jaune-dyn) !important;
    outline: none !important;
}

/* Section année */
.hal-year-section {
    margin-bottom: 1rem;
    border: 1px solid var(--hal-bleu-desactiv);
    border-radius: var(--hal-radius);
    overflow: hidden;
}

/* Bouton titre d'année */
.hal-year-title {
    font-family: "IMTITLE", Sans-serif;
	display: flex;
    align-items: center;
    gap: .5rem;
    width: 100%;
	color: var(--hal-blanc);
    background: var(--hal-bleu-azur2);
    border: none;
    padding: .2rem 1.1rem;
    font-size: 1.90rem;
    font-weight: 400;
    cursor: pointer;
    text-align: left;
    transition: background .2s;
}
.hal-year-title:hover,
.hal-year-title:focus,
.hal-year-title:active,
.hal-year-title:focus-visible,
.hal-year-title:focus:not(:focus-visible) { 
    background: var(--hal-bleu-medi);
    color: var(--hal-blanc);
    outline: none;
}

.hal-year-count {
    margin-left: auto;
    background: var(--hal-jaune-dyn);
    color: var(--hal-bleu-medi);
	font-size: .92rem;
    font-weight: 700;
    padding: .1rem .5rem;
    border-radius: 100px;
    min-width: 1.76rem;
    text-align: center;
}

/* Chevron */
.hal-chevron {
    display: inline-block;
    width: .55rem;
    height: .55rem;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    transition: transform .25s;
    flex-shrink: 0;
}
.hal-year-title[aria-expanded="false"] .hal-chevron {
    transform: rotate(-45deg);
}

/* Liste */
.hal-pub-list {
    list-style: none;
    margin: 0;
    padding: .4rem 0;
}
.hal-pub-list[hidden] { display: none; }

/* Item */
.hal-pub-item {
    padding: .8rem 1.1rem;
    border-bottom: 1px solid var(--hal-bleu-desactiv);
    line-height: 1.3rem;
}
.hal-pub-item:last-child { border-bottom: none; }

/* Titre publication */
.hal-pub-title {
    font-family: "IMTITLE", Sans-serif;
	font-size: 1.30rem;
    font-weight: 600;
	letter-spacing : 0.05rem;
	margin-bottom: .25rem;
}
.hal-pub-title a {
    color: var(--hal-bleu-medi);
    text-decoration: none;
}
.hal-pub-title a:hover { text-decoration: underline; }

/* Méta */
.hal-pub-meta {
    font-family: "IMCURRENT", Sans-serif;
	font-size: 1.0rem;
	color: var(--hal-bleu-medi);
    margin-bottom: .35rem;
	vertical-align: baseline;
}
.hal-authors { 
	color: var(--hal-gris-techno);
}
.hal-authors b {
    color: var(--hal-bleu-mer);
    font-weight: 700;
}

/* Badges type de doc */
.hal-doctype {
    display: inline-block;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    background: var(--hal-gris-accent);
    color: var(--hal-gris-techno);
    padding: .1rem .4rem;
    border-radius: 4px;
    margin-left: .2rem;
    vertical-align: baseline;
}
.hal-doctype--art   { background: #d1fae5; color: #0D6C3C; } /* ART => Articles */
.hal-doctype--comm  { background: #FFFAD5; color: #857500; } /* COMM => Conférences */
.hal-doctype--these { background: #E0D1FA; color: #2F0D6C; } /* THESE*/
.hal-doctype--book  { background: #FFDCD5; color: #851800; } /* BOOK => Livres */
.hal-doctype--couv  { background: #E0F2FE; color: #055687; } /* COUV => Chapitres*/
.hal-doctype--report{ background: #FFD7AE; color: #623000; } /* REPORT => Rapports*/
.hal-doctype--poster{ background: #A3ABEF; color: #090E37; } /* POSTER*/
.hal-doctype--patent{ background: #F5A3F3; color: #4A0848; } /* PATENT => Brevets */
.hal-doctype--other{ background: #CFDDE6; color: #7BA1BA; } /* OTHER => Autres */
.hal-doctype--hdr   { background: #FFF0D5; color: #7A4500; } /* HDR */
.hal-doctype--undefined{ background: var(--hal-gris-accent); color: var(--hal-gris-techno); } /* UNDEFINED  */


/* Liens */
.hal-pub-links {
    display: flex;
    gap: .35rem;
    flex-wrap: wrap;
    margin-top: .35rem;
}
.hal-link {
    font-size: .72rem;
    font-weight: 700;
    padding: .12rem .5rem;
	border-radius: var(--hal-radius);
    text-decoration: none;
    transition: opacity .15s;
}
.hal-link:hover {background: var(--hal-rose-oursin)!important; }
.hal-link--hal { background: var(--hal-bleu-medi)!important; color: var(--hal-blanc)!important; }

/* DOI en lien texte explicite */
.hal-link-doi {
	font-family: "IMCURRENT", Sans-serif;
    font-size: .95rem;
	font-weight: 600;
	letter-spacing : 0.03rem;
   	color: var(--hal-gris-techno)!important;
    text-decoration: none;
   
}
.hal-link-doi:hover {
    color: var(--hal-bleu-horizon)!important;
	text-decoration: underline;
}


/* Résumé */
.hal-abstract { margin-top: .5rem; }
.hal-abstract summary {
    font-size: .8rem;
    color: var(--hal-bleu-medi);
	cursor: pointer;
    user-select: none;
}
.hal-abstract p {
    font-size: .83rem;
   	color: var(--hal-bleu-mer);
    margin: .35rem 0 0;
    padding: .55rem .75rem;
	background: var(--hal-gris-accent);
    border-left: 3px solid var(--hal-bleu-medi);
    border-radius: 0 4px 4px 0;
}

/* Notices */
.hal-notice {
    padding: .65rem .9rem;
    border-radius: 6px;
    background: #fffbeb;
    border: 1px solid #fcd34d;
    font-size: .88rem;
    color: #92400e;
}
.hal-notice.hal-error {
    background: #fff1f2;
    border-color: #fda4af;
    color: #9f1239;
}

/* Barre de filtres par type de document */
.hal-filters {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem;
    margin-bottom: 1rem;
}

.hal-filter-btn {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    font-family: "IMTITLE", Sans-serif;
	font-size: 1.0rem;
    font-weight: 600;
	letter-spacing : 0.05rem;
    padding: .28rem .7rem;
    border-radius: var(--hal-radius);
    border: 1px solid var(--hal-bleu-desactiv) !important;
    background: var(--hal-blanc) !important;
    color: var(--hal-bleu-medi) !important;
    cursor: pointer;
    transition: background .15s, color .15s, border-color .15s;
    white-space: nowrap;
}

.hal-filter-btn:hover {
    background: var(--hal-bleu-horizon) !important;
    border-color: var(--hal-bleu-horizon) !important;
    color: var(--hal-blanc) !important;
}

.hal-filter-btn.hal-filter-active {
    background: var(--hal-bleu-medi) !important;
    color: var(--hal-blanc) !important;
    border-color: var(--hal-bleu-medi) !important;
}

.hal-filter-count {
    display: inline-block;
    background: rgba(255,255,255,.25);
    border-radius: 100px;
    font-size: .8rem;
    font-weight: 700;
    padding: 0 .35rem;
    min-width: 1.2rem;
    text-align: center;
}

.hal-filter-btn:not(.hal-filter-active) .hal-filter-count {
    background: #f1f5f9;
    color: #64748b;
}

/* Pastilles de comptage : memes couleurs que les badges de type correspondants */
/* Etat inactif : couleurs du badge */
.hal-filter-btn[data-filter="ART"]:not(.hal-filter-active)    .hal-filter-count { background: #d1fae5; color: #0D6C3C; }
.hal-filter-btn[data-filter="COMM"]:not(.hal-filter-active)   .hal-filter-count { background: #FFFAD5; color: #857500; }
.hal-filter-btn[data-filter="THESE"]:not(.hal-filter-active)  .hal-filter-count { background: #E0D1FA; color: #2F0D6C; }
.hal-filter-btn[data-filter="BOOK"]:not(.hal-filter-active)   .hal-filter-count { background: #FFDCD5; color: #851800; }
.hal-filter-btn[data-filter="COUV"]:not(.hal-filter-active)   .hal-filter-count { background: #E0F2FE; color: #055687; }
.hal-filter-btn[data-filter="REPORT"]:not(.hal-filter-active) .hal-filter-count { background: #FFD7AE; color: #623000; }
.hal-filter-btn[data-filter="POSTER"]:not(.hal-filter-active) .hal-filter-count { background: #A3ABEF; color: #090E37; }
.hal-filter-btn[data-filter="PATENT"]:not(.hal-filter-active) .hal-filter-count { background: #F5A3F3; color: #4A0848; }
.hal-filter-btn[data-filter="OTHER"]:not(.hal-filter-active)  .hal-filter-count { background: #CFDDE6; color: #7BA1BA; }
.hal-filter-btn[data-filter="HDR"]:not(.hal-filter-active)    .hal-filter-count { background: #FFF0D5; color: #7A4500; }

/* Etat actif : pastille conserve sa couleur de badge */
.hal-filter-btn[data-filter="ART"].hal-filter-active    .hal-filter-count { background: #d1fae5; color: #0D6C3C; }
.hal-filter-btn[data-filter="COMM"].hal-filter-active   .hal-filter-count { background: #FFFAD5; color: #857500; }
.hal-filter-btn[data-filter="THESE"].hal-filter-active  .hal-filter-count { background: #E0D1FA; color: #2F0D6C; }
.hal-filter-btn[data-filter="BOOK"].hal-filter-active   .hal-filter-count { background: #FFDCD5; color: #851800; }
.hal-filter-btn[data-filter="COUV"].hal-filter-active   .hal-filter-count { background: #E0F2FE; color: #055687; }
.hal-filter-btn[data-filter="REPORT"].hal-filter-active .hal-filter-count { background: #FFD7AE; color: #623000; }
.hal-filter-btn[data-filter="POSTER"].hal-filter-active .hal-filter-count { background: #A3ABEF; color: #090E37; }
.hal-filter-btn[data-filter="PATENT"].hal-filter-active .hal-filter-count { background: #F5A3F3; color: #4A0848; }
.hal-filter-btn[data-filter="OTHER"].hal-filter-active  .hal-filter-count { background: #CFDDE6; color: #7BA1BA; }
.hal-filter-btn[data-filter="HDR"].hal-filter-active    .hal-filter-count { background: #FFF0D5; color: #7A4500; }
/* Bouton "Tous" actif : pastille semi-transparente (pas de couleur de type associée) */
.hal-filter-btn[data-filter="ALL"].hal-filter-active    .hal-filter-count { background: rgba(255,255,255,.25); color: inherit; }

/* Etat survol : pastille semi-transparente blanche sur fond colore */
.hal-filter-btn:hover .hal-filter-count {
    background: rgba(255,255,255,.25);
    color: inherit;
}

/* Responsive */
@media (max-width: 600px) {
    .hal-pub-item  { padding: .7rem .8rem; }
    .hal-year-title { font-size: .95rem; padding: .6rem .8rem; }
}
