/* =====================================================
   MAMMOUTH V2 - Homepage styles
   ===================================================== */

/* ===== SEARCH ZONE ===== */
.mv2-search-zone {
    background: #f5f5f0;
    padding: 10px 16px;
    border-bottom: 1px solid #ddd;
}
.mv2-search-form {}
.mv2-search-row {
    display: flex;
    gap: 8px;
    margin-bottom: 8px;
    align-items: center;
}
.mv2-search-wrap {
    flex: 1;
    display: flex;
    border: 1px solid #ccc;
    border-radius: 4px;
    overflow: hidden;
    background: #fff;
}
.mv2-search-input {
    flex: 1;
    border: none;
    padding: 8px 12px;
    font-size: 13px;
    outline: none;
    background: transparent;
    color: #111;
    font-family: inherit;
}
.mv2-search-input::placeholder { color: #aaa; }
.mv2-search-submit {
    background: #111;
    border: none;
    padding: 8px 14px;
    color: #a6f9e8;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
}
.mv2-search-submit:hover { background: #222; }
.mv2-adv-toggle {
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 7px 12px;
    font-size: 11px;
    color: #555;
    cursor: pointer;
    font-family: inherit;
    white-space: nowrap;
}
.mv2-adv-toggle:hover { background: #f0f0f0; }

/* Chips rapides */
.mv2-filter-chips {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 6px;
}
.mv2-chip {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 12px;
    border: 1px solid #ccc;
    font-size: 11px;
    color: #555;
    text-decoration: none;
    background: #fff;
    transition: all .15s;
}
.mv2-chip:hover,
.mv2-chip.active {
    background: #111;
    color: #a6f9e8;
    border-color: #111;
    font-weight: 600;
}

/* Recherche avancée */
.mv2-adv {
    display: none;
    background: #eee;
    border-radius: 4px;
    padding: 10px 14px;
    margin-top: 8px;
}
.mv2-adv.open { display: block; }
.mv2-adv-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}
@media (max-width: 700px) {
    .mv2-adv-grid { grid-template-columns: 1fr 1fr; }
}
.mv2-adv-group label {
    display: block;
    font-size: 10px;
    color: #666;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 4px;
}
.mv2-adv-group select {
    width: 100%;
    font-size: 12px;
    padding: 5px 8px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    color: #333;
    font-family: inherit;
}
.mv2-adv-footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 10px;
    align-items: center;
}
.mv2-adv-reset {
    font-size: 11px;
    color: #888;
    text-decoration: underline;
}
.mv2-adv-apply {
    font-size: 12px;
    background: #111;
    color: #a6f9e8;
    border: none;
    border-radius: 4px;
    padding: 6px 14px;
    cursor: pointer;
    font-family: inherit;
    font-weight: 600;
}

/* ===== FILTRES ACTIFS ===== */
.mv2-active-filters {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 6px 16px;
    background: #f9f9f9;
    border-bottom: 1px solid #eee;
}
.mv2-af-label {
    font-size: 11px;
    color: #888;
    font-weight: 500;
}
.mv2-af-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #111;
    color: #a6f9e8;
    border-radius: 12px;
    padding: 3px 10px;
    font-size: 11px;
    font-weight: 600;
}
.mv2-af-rm {
    color: #a6f9e8;
    text-decoration: none;
    font-size: 14px;
    line-height: 1;
    opacity: .7;
}
.mv2-af-rm:hover { opacity: 1; }
.mv2-af-count {
    font-size: 11px;
    color: #888;
    margin-left: 4px;
}
.mv2-af-reset {
    font-size: 11px;
    color: #e63946;
    margin-left: auto;
    text-decoration: underline;
}

/* ===== ONGLETS FORMATS ===== */
.mv2-format-tabs {
    display: flex;
    overflow-x: auto;
    border-bottom: 1px solid #eee;
    padding: 0 16px;
    scrollbar-width: none;
    background: #fff;
}
.mv2-format-tabs::-webkit-scrollbar { display: none; }
.mv2-ftab {
    white-space: nowrap;
    padding: 8px 10px;
    font-size: 11px;
    color: #888;
    text-decoration: none;
    border-bottom: 2px solid transparent;
    font-weight: 500;
    transition: all .15s;
}
.mv2-ftab:hover { color: #111; }
.mv2-ftab.active {
    color: #111;
    border-bottom-color: #111;
    font-weight: 600;
}
.mv2-ftab-count { font-size: 10px; color: #bbb; margin-left: 2px; }

/* ===== HERO ===== */
.mv2-hero {
    display: grid;
    grid-template-columns: 3fr 2fr;
    min-height: 220px;
    border-bottom: 1px solid #eee;
}
@media (max-width: 700px) {
    .mv2-hero { grid-template-columns: 1fr; }
}
.mv2-hero-main {
    background: #111;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 16px;
    min-height: 220px;
}
.mv2-hero-bg {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.mv2-play-btn {
    width: 48px;
    height: 48px;
    background: rgba(166, 249, 232, .85);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    cursor: pointer;
    position: relative;
    z-index: 2;
}
.mv2-hero-info { position: relative; z-index: 2; }
.mv2-hero-title { font-size: 18px; font-weight: 600; color: #fff; line-height: 1.4; margin: 6px 0 4px; }
.mv2-hero-title a { color: #fff; text-decoration: none; }
.mv2-hero-title a:hover { text-decoration: underline; }
.mv2-hero-meta { font-size: 11px; color: #888; }

.mv2-hero-side { display: flex; flex-direction: column; border-left: 1px solid #eee; }
.mv2-side-item {
    padding: 12px 14px;
    border-bottom: 1px solid #eee;
    flex: 1;
    cursor: pointer;
}
.mv2-side-item:hover { background: #fafafa; }
.mv2-side-item:last-child { border-bottom: none; }
.mv2-side-title { font-size: 12px; font-weight: 500; color: #111; line-height: 1.4; margin: 4px 0 3px; }
.mv2-side-title a { color: #111; text-decoration: none; }
.mv2-side-title a:hover { text-decoration: underline; }
.mv2-side-meta { font-size: 10px; color: #888; }

/* ===== FORMAT BADGES ===== */
.mv2-format-badge {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 2px 7px;
    border-radius: 2px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    margin-bottom: 4px;
}
.mv2-badge-video    { background: #e63946; color: #fff; }
.mv2-badge-audio    { background: #f4a261; color: #111; }
.mv2-badge-post     { background: #2d6a4f; color: #fff; }
.mv2-badge-         { background: #2d6a4f; color: #fff; }
.mv2-badge-gallery  { background: #7b2d8b; color: #fff; }

/* ===== PILLS SUJETS ===== */
.mv2-subject-row {
    padding: 8px 16px;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    border-bottom: 1px solid #eee;
    background: #fafafa;
}
.mv2-subj {
    font-size: 11px;
    padding: 3px 10px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid #ddd;
    color: #666;
    text-decoration: none;
    transition: all .15s;
}
.mv2-subj:hover,
.mv2-subj.active {
    background: #111;
    color: #a6f9e8;
    border-color: #111;
    font-weight: 600;
}

/* ===== EN-TÊTE GRILLE ===== */
.mv2-grid-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 16px;
    border-bottom: 1px solid #eee;
}
.mv2-grid-title { font-size: 13px; font-weight: 600; color: #111; }
.mv2-sort-row { display: flex; gap: 8px; }
.mv2-sort-opt {
    font-size: 11px;
    color: #888;
    text-decoration: none;
    padding: 2px 8px;
    border-radius: 3px;
}
.mv2-sort-opt:hover { background: #f0f0f0; color: #111; }
.mv2-sort-opt.active { background: #f0f0f0; color: #111; font-weight: 500; }

/* ===== GRILLE MÉDIAS ===== */
.mv2-media-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    background: transparent;
}
@media (max-width: 900px) { .mv2-media-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .mv2-media-grid { grid-template-columns: repeat(2, 1fr); } }

.mv2-mitem { background: #fff; }
.mv2-mitem-link { display: block; padding: 10px; text-decoration: none; }
.mv2-mitem-link:hover { background: #fafafa; }

.mv2-thumb {
    border-radius: 4px;
    height: 90px;
    margin-bottom: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    background: #1a1a1a;
}
.mv2-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .85;
}
.mv2-thumb-icon { font-size: 22px; opacity: .4; }
.mv2-thumb-video { background: #1a0808; }
.mv2-thumb-audio { background: #1a1000; }
.mv2-thumb-post  { background: #081a0c; }
.mv2-thumb-      { background: #0a0a0a; }

.mv2-mitem-tag {
    font-size: 9px;
    color: #a6f9e8;
    background: #111;
    padding: 1px 5px;
    border-radius: 2px;
    display: inline-block;
    margin-bottom: 4px;
    font-weight: 600;
}
.mv2-mitem-title {
    font-size: 12px;
    font-weight: 500;
    color: #111;
    line-height: 1.4;
    margin-bottom: 4px;
}
.mv2-mitem-meta { font-size: 10px; color: #888; }

/* ===== NO RESULTS ===== */
.mv2-no-results {
    grid-column: span 4;
    padding: 40px;
    text-align: center;
    color: #888;
    font-size: 14px;
    background: #fff;
}

/* ===== PAGINATION ===== */
.mv2-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 16px;
    border-top: 1px solid #eee;
}
.mv2-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    font-size: 12px;
    border-radius: 4px;
    border: 1px solid #ddd;
    color: #666;
    text-decoration: none;
    transition: all .15s;
}
.mv2-pagination .page-numbers:hover { background: #f0f0f0; color: #111; }
.mv2-pagination .page-numbers.current { background: #111; color: #a6f9e8; border-color: #111; font-weight: 600; }
.mv2-pagination .page-numbers.dots { border: none; }

/* =====================================================
   IVOIRE V2 - Archive, Taxonomy, Search, Page, 404
   ===================================================== */

/* ===== BANDEAU TAXONOMIE ===== */
.ivoire-tax-banner {
    background: #111;
    padding: 32px 0 28px;
    border-bottom: 3px solid #a6f9e8;
}
.ivoire-tax-inner {
    max-width: 900px;
    margin: 0 auto;
    padding: 0 20px;
}
.ivoire-tax-label {
    display: inline-block;
    background: #a6f9e8;
    color: #111;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    padding: 3px 10px;
    border-radius: 2px;
    margin-bottom: 10px;
}
.ivoire-tax-title {
    font-size: 32px;
    font-weight: 700;
    color: #fff;
    line-height: 1.2;
    margin: 0 0 8px;
}
.ivoire-tax-desc {
    font-size: 14px;
    color: #888;
    margin: 0;
    max-width: 600px;
    line-height: 1.6;
}

/* ===== AUTEUR ===== */
.ivoire-author-meta {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 14px;
}
.ivoire-author-meta img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #a6f9e8;
}
.ivoire-author-name {
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    display: block;
}
.ivoire-author-desc {
    font-size: 13px;
    color: #888;
    margin: 4px 0 0;
}

/* ===== FILTRES ARCHIVE ===== */
.ivoire-archive-filters {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    padding: 12px 20px;
    background: #1a1a1a;
    border-bottom: 1px solid #333;
}
.ivoire-filter-chip {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 12px;
    border: 1px solid #444;
    font-size: 11px;
    color: #aaa;
    text-decoration: none;
    background: #2a2a2a;
    transition: all .15s;
}
.ivoire-filter-chip:hover,
.ivoire-filter-chip.active {
    background: #a6f9e8;
    color: #111;
    border-color: #a6f9e8;
    font-weight: 600;
}

/* ===== PAGINATION ===== */
.ivoire-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 20px;
    border-top: 1px solid #eee;
}
.ivoire-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    font-size: 13px;
    border-radius: 4px;
    border: 1px solid #ddd;
    color: #666;
    text-decoration: none;
    transition: all .15s;
}
.ivoire-pagination .page-numbers:hover { background: #f0f0f0; color: #111; }
.ivoire-pagination .page-numbers.current { background: #111; color: #a6f9e8; border-color: #111; font-weight: 600; }
.ivoire-pagination .page-numbers.dots { border: none; }

/* ===== NO RESULTS ===== */
.ivoire-no-results {
    padding: 60px 20px;
    text-align: center;
    color: #888;
    font-size: 16px;
}
.ivoire-back-home {
    display: inline-block;
    margin-top: 16px;
    padding: 10px 20px;
    background: #111;
    color: #a6f9e8;
    text-decoration: none;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
}
.ivoire-back-home:hover { background: #222; }

/* ===== SEARCH BAR (page résultats) ===== */
.ivoire-search-form-bar {
    padding: 12px 20px;
    background: #f5f5f0;
    border-bottom: 1px solid #ddd;
}
.ivoire-search-form {
    display: flex;
    gap: 8px;
    max-width: 700px;
    margin: 0 auto;
}
.ivoire-search-input {
    flex: 1;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 8px 14px;
    font-size: 14px;
    outline: none;
    font-family: inherit;
}
.ivoire-search-submit {
    background: #111;
    border: none;
    border-radius: 4px;
    padding: 8px 18px;
    color: #a6f9e8;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
}
.ivoire-search-submit:hover { background: #222; }

/* ===== PAGE STATIQUE ===== */
.ivoire-page {}
.ivoire-page-header {
    position: relative;
    background: #111;
    min-height: 180px;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
}
.ivoire-page-thumb {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: .4;
}
.ivoire-page-header-inner {
    position: relative;
    z-index: 2;
    padding: 24px 20px;
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
}
.ivoire-page-title {
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    margin: 0;
    line-height: 1.3;
}
.ivoire-page-content {
    max-width: 780px;
    margin: 0 auto;
    padding: 30px 20px 60px;
    font-size: 16px;
    line-height: 1.7;
    color: #333;
}
.ivoire-page-content h2 { font-size: 22px; margin: 28px 0 12px; }
.ivoire-page-content h3 { font-size: 18px; margin: 22px 0 10px; }
.ivoire-page-content p { margin: 0 0 16px; }
.ivoire-page-content img { max-width: 100%; height: auto; border-radius: 4px; }
.ivoire-page-content a { color: #111; text-decoration: underline; }
.ivoire-page-content a:hover { color: #555; }

/* =====================================================
   IVOIRE V2 - Cartes grille mockup (ivg-*)
   ===================================================== */

/* ===== CARTE DE BASE ===== */
.ivg-card {
    background: #fff;
}
.ivg-card-link {
    display: block;
    padding: 10px;
    text-decoration: none;
    height: 100%;
}
.ivg-card-link:hover { background: #fafafa; }

/* ===== THUMB ===== */
.ivg-thumb {
    border-radius: 4px;
    height: 90px;
    margin-bottom: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    background: #1a1a1a;
}
.ivg-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .85;
    transition: opacity .2s;
}
.ivg-card-link:hover .ivg-thumb-img { opacity: 1; }
.ivg-thumb-icon { font-size: 22px; opacity: .35; }

/* Couleurs thumb par format */
.ivg-fmt-video   { background: #1a0808; }
.ivg-fmt-audio   { background: #1a1000; }
.ivg-fmt-post    { background: #081a0c; }
.ivg-fmt-gallery { background: #0a0a14; }
.ivg-fmt-        { background: #0d0d0d; }

/* Overlay play */
.ivg-play-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 28px;
    height: 28px;
    background: rgba(166, 249, 232, .85);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    color: #111;
    opacity: 0;
    transition: opacity .2s;
}
.ivg-card-link:hover .ivg-play-overlay { opacity: 1; }

/* Durée */
.ivg-duration {
    position: absolute;
    bottom: 4px;
    right: 5px;
    background: rgba(0,0,0,.75);
    color: #fff;
    font-size: 9px;
    padding: 1px 4px;
    border-radius: 2px;
    font-weight: 500;
}

/* ===== BODY CARTE ===== */
.ivg-body { }
.ivg-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 7px;
    border-radius: 2px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .07em;
    text-transform: uppercase;
    margin-bottom: 4px;
    margin-right: 4px;
}
.ivg-badge--video   { background: #e63946; color: #fff; }
.ivg-badge--audio   { background: #f4a261; color: #111; }
.ivg-badge--post    { background: #2d6a4f; color: #fff; }
.ivg-badge--gallery { background: #7b2d8b; color: #fff; }
.ivg-badge--        { background: #2d6a4f; color: #fff; }

.ivg-topic {
    display: inline-block;
    font-size: 9px;
    color: #a6f9e8;
    background: #111;
    padding: 1px 5px;
    border-radius: 2px;
    margin-bottom: 4px;
    font-weight: 600;
}
.ivg-title {
    font-size: 12px;
    font-weight: 500;
    color: #111;
    line-height: 1.4;
    margin: 0 0 4px;
}
.ivg-meta {
    display: flex;
    flex-direction: column;
    gap: 1px;
}
.ivg-author {
    font-size: 10px;
    color: #555;
    font-weight: 500;
}
.ivg-date { font-size: 10px; color: #aaa; }

/* ===== CARTE FEATURED (hero) ===== */
.ivg-featured {
    position: relative;
    min-height: 220px;
    background: #111;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
}
.ivg-featured-link {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 220px;
    text-decoration: none;
    padding: 16px;
    position: relative;
    z-index: 2;
}
.ivg-featured-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: .45;
    transition: opacity .3s;
}
.ivg-featured-link:hover .ivg-featured-bg { opacity: .6; }
.ivg-featured-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-60%);
    width: 48px;
    height: 48px;
    background: rgba(166,249,232,.85);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    z-index: 3;
}
.ivg-featured-info { position: relative; z-index: 2; }
.ivg-featured-title {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    line-height: 1.35;
    margin: 6px 0 5px;
}
.ivg-featured-meta { font-size: 11px; color: #aaa; }

/* ===== GRILLE RESPONSIVE ===== */
.mv2-media-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    background: transparent;
}
@media (max-width: 900px) { .mv2-media-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .mv2-media-grid { grid-template-columns: repeat(2, 1fr); } }

/* ===== HEADER IVOIRE ===== */
.ivoire-topbar {
    background: #1a1a1a;
    padding: 4px 16px;
    font-size: 10px;
    color: #666;
    text-align: right;
}
.ivoire-main-nav {
    background: #111;
    border-bottom: 2px solid #a6f9e8;
    position: sticky;
    top: 0;
    z-index: 1000;
}
.ivoire-nav-inner {
    display: flex;
    align-items: center;
    padding: 0 16px;
    gap: 20px;
    max-width: 1400px;
    margin: 0 auto;
}
.ivoire-logo-link img {
    height: 50px;
    width: auto;
    display: block;
    padding: 6px 0;
}
.ivoire-nav-items { flex: 1; }
.ivoire-menu-list {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
}
.ivoire-menu-list > li > a {
    display: block;
    padding: 14px 12px;
    font-size: 11px;
    font-weight: 700;
    color: #ccc;
    text-decoration: none;
    letter-spacing: .06em;
    text-transform: uppercase;
    border-bottom: 2px solid transparent;
    transition: all .15s;
}
.ivoire-menu-list > li > a:hover,
.ivoire-menu-list > li.current-menu-item > a,
.ivoire-menu-list > li.current-menu-ancestor > a {
    color: #a6f9e8;
    border-bottom-color: #a6f9e8;
}
.ivoire-menu-list .sub-menu {
    display: none;
    position: absolute;
    background: #1a1a1a;
    border: 1px solid #333;
    border-radius: 4px;
    min-width: 180px;
    padding: 4px 0;
    z-index: 100;
    list-style: none;
    margin: 0;
}
.ivoire-menu-list > li {
    position: relative;
}
.ivoire-menu-list > li:hover .sub-menu { display: block; }
.ivoire-menu-list .sub-menu li a {
    display: block;
    padding: 6px 14px;
    font-size: 11px;
    color: #aaa;
    text-decoration: none;
}
.ivoire-menu-list .sub-menu li a:hover { background: #333; color: #a6f9e8; }

/* Search nav */
.ivoire-search-form-nav {
    display: flex;
    align-items: center;
    border: 1px solid #333;
    border-radius: 4px;
    overflow: hidden;
    background: #1a1a1a;
}
.ivoire-search-field-nav {
    background: transparent;
    border: none;
    padding: 6px 10px;
    font-size: 11px;
    color: #ccc;
    outline: none;
    width: 140px;
}
.ivoire-search-field-nav::placeholder { color: #555; }
.ivoire-search-btn-nav {
    background: transparent;
    border: none;
    padding: 6px 10px;
    color: #a6f9e8;
    cursor: pointer;
    font-size: 12px;
}

/* ===== CORRECTIONS HOMEPAGE ===== */

/* Header turquoise */
.ivoire-main-nav { background: #111 !important; border-bottom: 4px solid #a6f9e8 !important; }
.ivoire-topbar { background: #a6f9e8 !important; color: #111 !important; font-weight: 600 !important; }

/* Menu turquoise + police plus grande */
.ivoire-menu-list > li > a { font-size: 14px !important; color: #a6f9e8 !important; padding: 16px 14px !important; }
.ivoire-menu-list > li > a:hover { color: #fff !important; }

/* Hero - hauteur réduite */
.mv2-hero { height: 180px !important; max-height: 180px !important; }
.mv2-hero-main { height: 180px !important; min-height: 0 !important; padding: 10px 14px !important; }
.mv2-hero-bg img { max-height: 160px !important; width: auto !important; object-fit: contain !important; }
.mv2-hero-title { font-size: 14px !important; }

/* Cartes format 3/4 portrait */
.mv2-media-grid { grid-template-columns: repeat(5, 1fr) !important; }
.ivg-thumb { height: 0 !important; padding-bottom: 133% !important; position: relative !important; }
.ivg-thumb-img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }
.ivg-thumb-icon { position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%,-50%) !important; }

/* ===== FILIGRANE CARTES + HARMONISATION HAUTEUR (style prod) ===== */
@font-face {
  font-family: 'special_eliteregular';
  src: url('../fonts/SpecialElite-webfont.woff') format('woff'),
       url('../fonts/SpecialElite-webfont.ttf') format('truetype');
  font-weight: normal; font-style: normal; font-display: swap;
}
.ivg-card-link { position: relative !important; display: block !important; }
.ivg-card-link:hover { background: transparent !important; }
.ivg-thumb { overflow: hidden !important; }
.ivg-thumb-img { opacity: 1 !important; z-index: 0; }
.ivg-thumb-icon { z-index: 0; }
.ivg-scrim { position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(to bottom, rgba(0,0,0,.10) 0%, rgba(0,0,0,.58) 100%); }
.ivg-thumb .ivg-badge { position: absolute; top: 8px; left: 8px; z-index: 3; margin: 0; font-size: 10px; }
.ivg-play-overlay, .ivg-duration { z-index: 3; }
.ivg-overlay { position: absolute; inset: 0; z-index: 2; display: flex; flex-direction: column;
  align-items: center; justify-content: center; text-align: center; padding: 14px; box-sizing: border-box;
  transition: opacity .25s ease; color: #fff; }
.ivg-overlay--rest { opacity: 1; }
.ivg-overlay--hover { opacity: 0; background: rgba(17,17,17,.80); }
.ivg-card-link:hover .ivg-overlay--rest { opacity: 0; }
.ivg-card-link:hover .ivg-overlay--hover { opacity: 1; }
.ivg-o-topic { font-family: 'Titillium Web', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 18px; line-height: 1.1; letter-spacing: .3px; text-shadow: 0 1px 4px rgba(0,0,0,.6); }
.ivg-o-author { font-family: 'special_eliteregular', serif; font-size: 13px; margin-top: 8px;
  text-shadow: 0 1px 4px rgba(0,0,0,.6); }
.ivg-o-title { font-family: 'Titillium Web', sans-serif; font-weight: 900; text-transform: uppercase;
  font-size: 16px; line-height: 1.15; margin: 0; color: #a6f9e8;
  display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
.ivg-o-date { font-family: 'special_eliteregular', serif; font-size: 11px; color: #ddd; margin-top: 10px; }

/* ===== LOGO SUR FOND TURQUOISE (logo noir lisible) ===== */
.ivoire-logo { background: #a6f9e8 !important; border-radius: 4px; padding: 4px 8px !important; display: inline-block; }
.ivoire-logo-link img { display: block; }

/* ===== HERO SIDE SCROLLABLE ===== */
.mv2-hero-side { overflow-y: auto !important; max-height: 180px !important;
  scrollbar-width: thin; scrollbar-color: #a6f9e8 #f0f0f0; }
.mv2-hero-side::-webkit-scrollbar { width: 7px; }
.mv2-hero-side::-webkit-scrollbar-track { background: #f0f0f0; }
.mv2-hero-side::-webkit-scrollbar-thumb { background: #a6f9e8; border-radius: 4px; }

/* ===== LIENS TURQUOISE - UNIQUEMENT DANS LE TEXTE (pages/articles) ===== */
.ivoire-page-content a,
.article p a, .article li a,
.mammouth__container-block p a, .mammouth__container-block li a {
  color: #a6f9e8 !important; text-decoration: underline;
}
.ivoire-page-content a:hover,
.article p a:hover, .article li a:hover,
.mammouth__container-block p a:hover, .mammouth__container-block li a:hover { color: #7fe9d4 !important; }

/* ===== RESPONSIVE TABLETTE & MOBILE ===== */
/* Tablette */
@media (max-width: 1024px) {
  .mv2-media-grid { grid-template-columns: repeat(3, 1fr) !important; }
  .ivoire-nav-inner { flex-wrap: wrap; gap: 10px; }
  .ivoire-menu-list { flex-wrap: wrap; }
  .ivoire-menu-list > li > a { padding: 12px 10px !important; }
}
/* Mobile */
@media (max-width: 640px) {
  .mv2-media-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
  .mv2-hero { grid-template-columns: 1fr !important; height: auto !important; max-height: none !important; }
  .mv2-hero-main { height: auto !important; min-height: 160px !important; }
  .mv2-hero-bg img { max-height: 200px !important; }
  .mv2-hero-side { max-height: none !important; border-left: none !important; border-top: 1px solid #eee; }
  .ivoire-nav-inner { flex-direction: column; align-items: stretch; padding: 8px; }
  .ivoire-logo { align-self: center; }
  .ivoire-menu-list { justify-content: center; }
  .ivoire-menu-list > li > a { font-size: 12px !important; padding: 8px 7px !important; }
  .ivoire-nav-search { width: 100%; }
  .ivoire-search-field-nav { width: 100% !important; }
  .ivg-o-topic { font-size: 15px !important; }
  .ivg-o-title { font-size: 14px !important; }
}
/* Tres petit mobile */
@media (max-width: 380px) {
  .mv2-media-grid { grid-template-columns: 1fr !important; }
}

/* ===== AJUST. v2.4 : espacement tuiles + titre par defaut ===== */
.mv2-media-grid { gap: 34px !important; background: #fff !important; }
@media (max-width: 640px) { .mv2-media-grid { gap: 14px !important; } }

/* Au repos : TITRE en gros (aligne bas, sur le scrim) */
.ivg-overlay--rest { justify-content: flex-end !important; }
.ivg-overlay--rest .ivg-o-title {
  color: #fff !important; font-size: 16px !important; line-height: 1.18 !important;
  -webkit-line-clamp: 4 !important; text-shadow: 0 2px 6px rgba(0,0,0,.8) !important;
}
/* Au survol : rubrique + auteur + date */
.ivg-overlay--hover { background: rgba(17,17,17,.86) !important; justify-content: center !important; }
.ivg-overlay--hover .ivg-o-topic  { color: #a6f9e8 !important; font-size: 18px !important; }
.ivg-overlay--hover .ivg-o-author { color: #fff !important; margin-top: 8px !important; }
.ivg-overlay--hover .ivg-o-date   { color: #cfcfcf !important; margin-top: 8px !important; }

/* ===== v2.5 : espacement horizontal = vertical (symetrique) ===== */
.ivg-thumb { margin-bottom: 0 !important; }
.mv2-media-grid { gap: 40px !important; row-gap: 40px !important; column-gap: 40px !important; background: #fff !important; }
@media (max-width: 640px) { .mv2-media-grid { gap: 14px !important; row-gap: 14px !important; column-gap: 14px !important; } }

/* ===== v2.6 : doubler l'espacement horizontal (column-gap 80, row-gap 40) ===== */
.mv2-media-grid { column-gap: 80px !important; row-gap: 40px !important; }
@media (max-width: 640px) { .mv2-media-grid { column-gap: 14px !important; row-gap: 14px !important; } }

/* ===== v2.7 : INVERSE - doubler l'espace entre RANGEES (row-gap), colonnes a 40 ===== */
.mv2-media-grid { column-gap: 40px !important; row-gap: 80px !important; }
@media (max-width: 640px) { .mv2-media-grid { column-gap: 14px !important; row-gap: 28px !important; } }

/* ===== v2.8 : contenu accueil a 90% de largeur, centre ===== */
.mammouth-v2-home { width: 90% !important; max-width: 1700px !important; margin-left: auto !important; margin-right: auto !important; box-sizing: border-box; }

/* ===== v2.9 : column-gap aussi a 80 (les deux gaps = 80) ===== */
.mv2-media-grid { column-gap: 80px !important; row-gap: 80px !important; }
@media (max-width: 640px) { .mv2-media-grid { column-gap: 16px !important; row-gap: 28px !important; } }

/* ===== v3.0 : les deux gaps a 40 ===== */
.mv2-media-grid { column-gap: 40px !important; row-gap: 40px !important; }
@media (max-width: 640px) { .mv2-media-grid { column-gap: 16px !important; row-gap: 16px !important; } }

/* ===== v3.1 : row-gap 60, column-gap 40 ===== */
.mv2-media-grid { column-gap: 40px !important; row-gap: 60px !important; }
@media (max-width: 640px) { .mv2-media-grid { column-gap: 16px !important; row-gap: 24px !important; } }

/* ===== v3.2 : recherche turquoise + hover tuile + hero main 1/3 / side 2 colonnes ===== */

/* Recherche header : bordure + placeholder turquoise */
.ivoire-search-form-nav { border-color: #a6f9e8 !important; }
.ivoire-search-field-nav::placeholder { color: #a6f9e8 !important; opacity: 1; }
.ivoire-search-field-nav::-webkit-input-placeholder { color: #a6f9e8 !important; }

/* Tuile : pas de retrecissement au survol -> overlay allege + image qui grossit legerement */
.ivg-thumb-img { transition: transform .3s ease, opacity .2s ease !important; }
.ivg-card-link:hover .ivg-thumb-img { transform: scale(1.05); }
.ivg-overlay--hover { background: rgba(17,17,17,.52) !important; }
.ivg-overlay--hover .ivg-o-topic { text-shadow: 0 1px 6px rgba(0,0,0,.85) !important; }
.ivg-overlay--hover .ivg-o-author { text-shadow: 0 1px 6px rgba(0,0,0,.85) !important; }

/* Hero : main ~1/3 largeur, side ~2/3 avec items sur 2 colonnes */
.mv2-hero { grid-template-columns: 1fr 2fr !important; }
.mv2-hero-side {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 !important;
  align-content: start !important;
  overflow-y: auto !important;
  max-height: 180px !important;
}
.mv2-side-item { flex: none !important; border-right: 1px solid #eee; }
@media (max-width: 700px) {
  .mv2-hero { grid-template-columns: 1fr !important; }
  .mv2-hero-side { max-height: none !important; }
}

/* ===== v3.3 : hero-side bordure noire ===== */
.mv2-hero-side { border: 2px solid #111 !important; box-sizing: border-box; }

/* ===== FIX version A : equilibrage hero-main = hero-side (hauteur via conteneur) ===== */
.mv2-hero { min-height: 0 !important; height: 180px !important; max-height: 180px !important; grid-template-rows: 180px !important; align-items: stretch !important; }
.mv2-hero-main { height: auto !important; min-height: 0 !important; max-height: none !important; align-self: stretch !important; overflow: hidden !important; }
.mv2-hero-side { height: auto !important; min-height: 0 !important; max-height: none !important; align-self: stretch !important; overflow-y: auto !important; }
