/* ================================================================

   INKADH — Fonds Documentaire — Archive

   Préfixe : ifond-

   Design : gradient hero sombre + grille de cartes + filter bar sticky

   ================================================================ */



/* ── Variables locales ── */

:root {

    --ifond-white:    #FFFFFF;

    --ifond-blue:     #2342F7;

    --ifond-blue-dim: #1a34d4;

    --ifond-dark1:    #071338;

    --ifond-dark2:    #0A184B;

    --ifond-dark3:    #00158E;

    --ifond-bg-light: #dfe4fb;

    --ifond-gray:     #666666;

    --ifond-border:   #e2e7f5;

    --ifond-bg-page:  #f6f7fc;

}



/* ================================================================

   HERO

   ================================================================ */



.ifond-hero {

    margin-top: -100px; /* tire le hero vers le haut pour couvrir le padding-top:100px du <main> */

    background: linear-gradient(135deg, var(--ifond-dark1) 0%, var(--ifond-dark2) 60%, var(--ifond-dark3) 100%);

    position: relative;

    overflow: hidden;

    /* padding-top = 100px (navbar fixe) + 64px (espace visuel) */

    padding: 164px 80px 60px;

}



.ifond-hero-bg { position: absolute; inset: 0; pointer-events: none; }



.ifond-hero-circle {

    position: absolute;

    border-radius: 50%;

}

.ifond-hero-circle-1 {

    width: 460px; height: 460px;

    bottom: -200px; right: -100px;

    background: radial-gradient(circle, rgba(35,66,247,.22) 0%, transparent 70%);

}

.ifond-hero-circle-2 {

    width: 200px; height: 200px;

    top: -60px; left: 28%;

    background: radial-gradient(circle, rgba(35,66,247,.12) 0%, transparent 70%);

}



.ifond-hero-inner {

    max-width: 1200px;

    margin: 0 auto;

    position: relative;

    z-index: 2;

}



/* fil d'ariane */

.ifond-breadcrumb {

    display: flex;

    align-items: center;

    gap: 8px;

    font-size: 0.7rem;

    color: rgba(255,255,255,.55);

    margin-bottom: 18px;

}

.ifond-breadcrumb a {

    color: rgba(255,255,255,.55);

    text-decoration: none;

    transition: color .15s;

}

.ifond-breadcrumb a:hover { color: var(--ifond-white); }

.ifond-breadcrumb span:last-child { color: rgba(255,255,255,.8); }



/* titre */

.ifond-hero-title {

    font-size: 2.6rem;

    font-weight: 800;

    color: var(--ifond-white);

    line-height: 1.18;

    margin: 0 0 14px;

    letter-spacing: -0.01em;

}



/* description */

.ifond-hero-desc {

    font-size: .8rem;

    color: rgba(255,255,255,.6);

    line-height: 1.8;

    max-width: 560px;

    margin: 0 0 28px;

}



/* stats */

.ifond-hero-stats {

    display: flex;

    gap: 36px;

}

.ifond-hero-stat {

    display: flex;

    flex-direction: column;

    gap: 3px;

}

.ifond-hero-stat-num {

    font-size: 1.5rem;

    font-weight: 800;

    color: var(--ifond-white);

    line-height: 1;

}

.ifond-hero-stat-lbl {

    font-size: .6rem;

    color: rgba(255,255,255,.48);

    text-transform: uppercase;

    letter-spacing: .07em;

}



/* ================================================================

   FILTER BAR

   ================================================================ */



.ifond-filter-bar {

    background: var(--ifond-white);

    border-bottom: 1px solid var(--ifond-border);

    position: sticky;

    top: 0;

    z-index: 90;

    box-shadow: 0 2px 16px rgba(7,19,56,.05);

}



.ifond-filter-inner {

    max-width: 1200px;

    margin: 0 auto;

    display: flex;

    align-items: center;

    gap: 14px;

    flex-wrap: wrap;

    padding: 16px 80px;

}



/* form flex — aligne search + sort sur la même ligne */

.ifond-filter-form {

    display: flex;

    align-items: center;

    gap: 14px;

    width: 100%;

    flex-wrap: wrap;

}



/* search */

.ifond-search-box {

    position: relative;

    flex: 1;

    min-width: 200px;

}

.ifond-search-box > svg {

    position: absolute;

    left: 13px; top: 50%;

    transform: translateY(-50%);

    width: 14px; height: 14px;

    color: #999;

    pointer-events: none;

}

.ifond-search-box input {

    width: 100%;

    height: 38px;

    padding: 0 36px 0 38px;

    border: 1.5px solid var(--ifond-border);

    border-radius: 8px;

    font-family: inherit;

    font-size: .74rem;

    color: var(--ifond-dark2);

    background: #f7f8fd;

    outline: none;

    transition: border-color .2s, box-shadow .2s;

}

.ifond-search-box input:focus {

    border-color: var(--ifond-blue);

    box-shadow: 0 0 0 3px rgba(35,66,247,.09);

    background: var(--ifond-white);

}

.ifond-search-clear {

    position: absolute;

    right: 10px; top: 50%;

    transform: translateY(-50%);

    background: none;

    border: none;

    cursor: pointer;

    font-size: 12px;

    color: #aaa;

    padding: 2px 4px;

    line-height: 1;

    transition: color .15s;

}

.ifond-search-clear:hover { color: var(--ifond-dark2); }



/* sort */

.ifond-filter-sort {

    display: flex;

    align-items: center;

    gap: 8px;

    margin-left: auto;

    flex-shrink: 0;

}

.ifond-filter-sort label {

    font-size: .66rem;

    color: var(--ifond-gray);

    white-space: nowrap;

}

.ifond-filter-sort select {

    height: 36px;

    padding: 0 30px 0 10px;

    border: 1.5px solid var(--ifond-border);

    border-radius: 8px;

    font-family: inherit;

    font-size: .66rem;

    color: var(--ifond-dark2);

    background: #f7f8fd url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='11' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 9px center;

    -webkit-appearance: none;

    appearance: none;

    outline: none;

    cursor: pointer;

    transition: border-color .2s;

}

.ifond-filter-sort select:focus { border-color: var(--ifond-blue); }



/* ── Onglets catégories ── */

.ifond-cat-tabs {

    border-top: 1px solid var(--ifond-border);

    overflow-x: auto;

    scrollbar-width: none;

}

.ifond-cat-tabs::-webkit-scrollbar { display: none; }



.ifond-cat-tabs-inner {

    max-width: 1200px;

    margin: 0 auto;

    display: flex;

    gap: 0;

    padding: 0 80px;

}



.ifond-cat-tab {

    display: inline-flex;

    align-items: center;

    gap: 6px;

    height: 44px;

    padding: 0 16px;

    font-size: .7rem;

    font-weight: 600;

    color: var(--ifond-gray);

    text-decoration: none;

    border-bottom: 2px solid transparent;

    white-space: nowrap;

    transition: color .2s, border-color .2s;

}

.ifond-cat-tab:hover {

    color: var(--ifond-dark2);

    border-bottom-color: rgba(35,66,247,.3);

}

.ifond-cat-tab.active {

    color: var(--ifond-blue);

    border-bottom-color: var(--ifond-blue);

}



.ifond-cat-tab-count {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-width: 20px;

    height: 18px;

    padding: 0 5px;

    border-radius: 10px;

    font-size: .58rem;

    font-weight: 700;

    background: var(--ifond-bg-light);

    color: var(--ifond-blue);

    transition: background .2s, color .2s;

}

.ifond-cat-tab.active .ifond-cat-tab-count {

    background: var(--ifond-blue);

    color: var(--ifond-white);

}



/* ================================================================

   MAIN

   ================================================================ */



.ifond-main {

    background: var(--ifond-bg-page);

    min-height: 50vh;

}

.ifond-main-inner {

    max-width: 1200px;

    margin: 0 auto;

    padding: 48px 80px 72px;

}



/* ── En-tête de section ── */

.ifond-section-header {

    display: flex;

    align-items: flex-end;

    justify-content: space-between;

    margin-bottom: 28px;

    gap: 16px;

}

.ifond-section-title {

    font-size: 1.25rem;

    font-weight: 700;

    color: var(--ifond-dark2);

    margin: 0 0 4px;

}

.ifond-section-subtitle {

    font-size: .7rem;

    font-weight: 400;

    color: var(--ifond-gray);

    margin: 0;

}

.ifond-doc-count {

    font-size: .7rem;

    color: var(--ifond-gray);

    white-space: nowrap;

}



/* ================================================================

   GRILLE DE DOCUMENTS

   ================================================================ */



.ifond-docs-grid {

    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 22px;

    margin-bottom: 20px;

}



/* ── Carte document ── */

.ifond-doc-card {

    background: var(--ifond-white);

    border: 1px solid var(--ifond-border);

    border-radius: 10px;

    padding: 24px 22px 20px;

    display: flex;

    flex-direction: column;

    gap: 10px;

    text-decoration: none;

    transition: transform .25s, box-shadow .25s;

    animation: ifondFadeUp .45s ease both;

    opacity: 0;

    min-width: 0;

}

.ifond-doc-card:hover {

    transform: translateY(-3px);

    box-shadow: 0 10px 32px rgba(35,66,247,.11);

}



@keyframes ifondFadeUp {

    from { opacity: 0; transform: translateY(18px); }

    to   { opacity: 1; transform: translateY(0); }

}



/* ── En-tête de carte ── */

.ifond-doc-card-top {

    display: flex;

    align-items: flex-start;

    justify-content: space-between;

    gap: 10px;

}

.ifond-doc-type-badge {

    display: inline-block;

    font-size: .58rem;

    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: .09em;

    color: var(--ifond-blue);

    background: var(--ifond-bg-light);

    padding: 3px 10px;

    border-radius: 4px;

    white-space: nowrap;

}

.ifond-doc-format {

    display: flex;

    align-items: center;

    gap: 5px;

    font-size: .6rem;

    font-weight: 600;

    color: #888;

}

.ifond-doc-format svg { width: 13px; height: 13px; }

.ifond-doc-format--pdf  svg { color: #e74c3c; }

.ifond-doc-format--doc  svg,

.ifond-doc-format--docx svg { color: #2b579a; }

.ifond-doc-format--xls  svg,

.ifond-doc-format--xlsx svg { color: #217346; }

.ifond-doc-format--ppt  svg,

.ifond-doc-format--pptx svg { color: #d24726; }



/* ── Corps de carte ── */

.ifond-doc-title {

    font-size: .88rem;

    font-weight: 700;

    color: var(--ifond-dark1);

    line-height: 1.45;

    margin: 0;

    display: -webkit-box;

    -webkit-line-clamp: 3;

    line-clamp: 3;

    -webkit-box-orient: vertical;

    overflow: hidden;

    min-height: calc(.88rem * 1.45 * 3);

}



.ifond-doc-author {

    display: flex;

    align-items: center;

    gap: 6px;

    font-size: .65rem;

    color: var(--ifond-gray);

    white-space: nowrap;

    overflow: hidden;

    text-overflow: ellipsis;

    min-height: 1.4em;

}

.ifond-doc-author svg { width: 12px; height: 12px; color: var(--ifond-blue); flex-shrink: 0; }



/* ── Méta ── */

.ifond-doc-meta-row {

    display: flex;

    align-items: center;

    gap: 14px;

    padding-top: 10px;

    border-top: 1px solid #f0f3fb;

    flex-wrap: wrap;

}

.ifond-doc-meta-item {

    display: flex;

    align-items: center;

    gap: 5px;

    font-size: .6rem;

    color: #999;

}

.ifond-doc-meta-item svg { width: 11px; height: 11px; color: var(--ifond-blue); }



/* ── Actions ── */

.ifond-doc-card-actions {

    display: flex;

    align-items: center;

    justify-content: space-between;

    margin-top: auto;

    padding-top: 12px;

}



/* ── Specific Fixes for "Conférences" ── */

.is-type-conference .ifond-doc-title,

.ifond-cat-conference .ifond-doc-title,

.ifond-type-conference .ifond-doc-title {

    display: block;

    -webkit-line-clamp: unset;

    line-clamp: unset;

    min-height: auto;

}



.ifond-btn-consult {

    display: inline-flex;

    align-items: center;

    gap: 6px;

    font-size: .68rem;

    font-weight: 600;

    color: var(--ifond-blue);

    text-decoration: none;

    transition: gap .18s, color .18s;

}

.ifond-btn-consult:hover { gap: 10px; color: var(--ifond-dark2); }

.ifond-btn-consult svg  { width: 13px; height: 13px; }



.ifond-btn-download {

    display: inline-flex;

    align-items: center;

    gap: 5px;

    font-size: .62rem;

    font-weight: 600;

    color: var(--ifond-gray);

    background: #f4f5fb;

    border: 1px solid var(--ifond-border);

    border-radius: 6px;

    padding: 5px 12px;

    text-decoration: none;

    transition: background .2s, color .2s, border-color .2s;

}

.ifond-btn-download:hover {

    background: var(--ifond-blue);

    color: var(--ifond-white);

    border-color: var(--ifond-blue);

}

.ifond-btn-download svg { width: 12px; height: 12px; }



.ifond-btn-unavailable {

    font-size: .62rem;

    color: #aaa;

    font-style: italic;

}



/* ================================================================

   ÉTAT VIDE

   ================================================================ */



.ifond-empty {

    grid-column: 1 / -1;

    display: flex;

    flex-direction: column;

    align-items: center;

    gap: 14px;

    padding: 64px 20px;

    color: #bbb;

    text-align: center;

}

.ifond-empty svg { width: 48px; height: 48px; }

.ifond-empty p   { font-size: .9rem; color: var(--ifond-gray); margin: 0; }

.ifond-empty-reset {

    font-size: .78rem;

    font-weight: 600;

    color: var(--ifond-blue);

    text-decoration: none;

}

.ifond-empty-reset:hover { text-decoration: underline; }



/* ================================================================

   PAGINATION

   ================================================================ */



.ifond-pagination { margin-top: 40px; }

.ifond-pagination ul {

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 6px;

    list-style: none;

    margin: 0;

    padding: 0;

}

.ifond-pagination ul li a,

.ifond-pagination ul li span {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 38px;

    height: 38px;

    border-radius: 8px;

    border: 1.5px solid var(--ifond-border);

    background: var(--ifond-white);

    font-size: .72rem;

    font-weight: 600;

    color: var(--ifond-dark2);

    text-decoration: none;

    transition: all .2s;

}

.ifond-pagination ul li a:hover,

.ifond-pagination ul li span.current {

    background: var(--ifond-blue);

    border-color: var(--ifond-blue);

    color: var(--ifond-white);

}

.ifond-pagination ul li span.dots {

    background: transparent;

    border-color: transparent;

    cursor: default;

}



/* ================================================================

   RESPONSIVE

   ================================================================ */



@media (max-width: 1100px) {

    .ifond-hero             { padding: 152px 40px 52px; } /* 100px navbar + 52px espace */

    .ifond-filter-inner     { padding: 14px 40px; }

    .ifond-cat-tabs-inner   { padding: 0 40px; }

    .ifond-main-inner       { padding: 40px 40px 60px; }

}



@media (max-width: 900px) {

    .ifond-hero-title       { font-size: 2rem; }

    .ifond-docs-grid        { grid-template-columns: repeat(2, 1fr); }

}



@media (max-width: 640px) {

    .ifond-hero             { padding: 130px 20px 44px; } /* 100px navbar + 30px espace */

    .ifond-hero-title       { font-size: 1.65rem; }

    .ifond-hero-stats       { gap: 22px; }

    .ifond-filter-inner     { padding: 12px 20px; }

    .ifond-cat-tabs-inner   { padding: 0 20px; }

    .ifond-main-inner       { padding: 28px 20px 48px; }

    .ifond-docs-grid        { grid-template-columns: 1fr; }

    .ifond-section-header   { flex-direction: column; align-items: flex-start; gap: 6px; }

    .ifond-filter-sort      { margin-left: 0; }

}

