/* ===== Global fixes ===== */
html:root {
    --text-muted: #000000;
    --on-dark-muted: #FFFFFF;
}
.text-muted { color: #000000 !important; }
.qu-section-dark .text-muted, .qu-on-dark .text-muted, .qu-section-brand .text-muted,
.nba-footer .text-muted { color: #FFFFFF !important; }
.text-on-dark-muted, .qu-on-dark-muted, .qu-on-dark .text-on-dark-muted { color: #FFFFFF !important; }
.text-white-50 { color: #FFFFFF !important; }
.text-black-50 { color: #000000 !important; }

/* Header logo + one-line navigation */
.navbar-brand img.site-logo { height: 36px; width: 36px; object-fit: contain; }
.navbar-brand span { white-space: nowrap; font-size: 1.05rem; }
@media (min-width: 992px) {
    header .navbar .navbar-nav { flex-wrap: nowrap; gap: .15rem !important; }
    header .navbar .nav-link { font-size: .82rem; white-space: nowrap; padding-left: .45rem !important; padding-right: .45rem !important; }
    header .navbar .container { flex-wrap: nowrap; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    header .navbar .nav-link { font-size: .74rem; padding-left: .3rem !important; padding-right: .3rem !important; }
    header .navbar .navbar-brand span { font-size: .9rem; }
    header .navbar .d-lg-flex.gap-3 { display: none !important; }
}
.nba-footer__logo { width: 48px; height: 48px; object-fit: contain; flex-shrink: 0; }

/* La Grandeur de l'Evenement: white text */
.numbers-block, .numbers-block h2, .numbers-block h2 span, .numbers-block .qu-eyebrow,
.numbers-block p, .numbers-block h3, .numbers-block .display-4 { color: #FFFFFF !important; }

/* Requirements filter */
.js-req-item.is-hidden { display: none !important; }
.req-block .js-req-filter,
.req-block .js-req-filter.qu-btn-alt {
    background-color: var(--primary, #12884E) !important;
    border: 2px solid var(--primary, #12884E) !important;
    color: #FFFFFF !important;
    border-radius: 50rem; padding: .5rem 1.4rem; font-weight: 600;
}
.req-block .js-req-filter:hover { background-color: var(--primary-hover, #0E683C) !important; border-color: var(--primary-hover, #0E683C) !important; }
.req-block .js-req-filter.active {
    background-color: var(--primary-hover, #0E683C) !important;
    border-color: var(--primary-hover, #0E683C) !important;
    box-shadow: 0 0 0 3px rgba(18, 136, 78, .3);
}

/* Search inputs: text padding */
.js-match-search, .js-news-search { padding-left: .9rem !important; }

/* done.php secondary button */
.done-calendar-btn, .done-calendar-btn i, .done-calendar-btn span {
    color: #0D6439 !important;
}
.done-calendar-btn { border: 2px solid #0D6439 !important; background: #FFFFFF !important; }
.done-calendar-btn:hover, .done-calendar-btn:hover i { background: #0D6439 !important; color: #FFFFFF !important; }

/* Related match cards */
.match-detail-block__related-media { height: 200px; overflow: hidden; }
.match-detail-block__related-media img { object-fit: cover; }

/* Nav links: solid black instead of semi-transparent */
header .navbar-light .navbar-nav .nav-link { color: #000000; }
header .navbar-light .navbar-nav .nav-link:hover,
header .navbar-light .navbar-nav .nav-link.active { color: var(--primary, #12884E); }
/* Light cards inside dark sections keep black secondary text */
.qu-on-dark .bg-surface .text-muted, .qu-on-dark .bg-white .text-muted, .qu-on-dark .bg-light .text-muted,
.qu-section-dark .bg-surface .text-muted, .qu-section-dark .bg-white .text-muted, .qu-section-dark .bg-light .text-muted { color: #000000 !important; }
.qu-on-dark .qu-eyebrow, .qu-section-dark .qu-eyebrow { color: #FFFFFF !important; }
.qu-on-dark .bg-surface .qu-eyebrow, .qu-on-dark .bg-white .qu-eyebrow { color: var(--primary-text, #107644) !important; }

/* Light cards inside brand/dark sections: black secondary text (also for JS-rendered content) */
.qu-section-brand .bg-white .text-muted, .qu-section-brand .bg-surface .text-muted, .qu-section-brand .bg-light .text-muted,
.qu-section-brand .qu-card.bg-white, .inaction-cost-block .qu-card .text-muted, .inaction-cost-block .qu-card .step-text { color: #000000 !important; }

/* Mobile burger: round button, black bars */
header .navbar-toggler {
    width: 46px; height: 46px; padding: 0 !important;
    border-radius: 50% !important;
    display: inline-flex; align-items: center; justify-content: center;
    background: #FFFFFF !important; border: 2px solid #000000 !important;
    box-shadow: none !important;
}
header .navbar-toggler:focus { box-shadow: 0 0 0 3px rgba(0, 0, 0, .2) !important; }
header .navbar-toggler .navbar-toggler-icon {
    width: 22px; height: 22px;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='%23000000' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2.5' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

/* Contact page, mobile: contact list centered as a block, text left-aligned */
@media (max-width: 767.98px) {
    .contact-page-block .qu-card > .d-flex.flex-column { width: fit-content; max-width: 100%; margin-left: auto; margin-right: auto; align-items: flex-start; }
    .contact-page-block .qu-card > .d-flex.flex-column > .d-flex { justify-content: flex-start; text-align: left; gap: .75rem !important; }
    .contact-page-block .qu-card > .d-flex.flex-column > .d-flex > div:last-child { text-align: left; min-width: 0; }
    .contact-page-block .qu-card > .d-flex.flex-column .qu-icon { padding: .7rem !important; flex-shrink: 0; }
    .contact-page-block .qu-card > .d-flex.flex-column a { font-size: .95rem; word-break: normal; overflow-wrap: break-word; }
}
@media (max-width: 379.98px) {
    .contact-page-block .qu-card > .d-flex.flex-column a { font-size: .85rem; }
    .contact-page-block .qu-card > .d-flex.flex-column .qu-icon { padding: .55rem !important; }
}
@media (max-width: 379.98px) {
    .contact-page-block .qu-card { padding: 1rem !important; }
}

/* about: "L'arène des sommets" icons centered on mobile */
@media (max-width: 767.98px) {
    .arena-block .qu-card { text-align: center; }
    .arena-block .qu-card .qu-icon { margin-left: auto !important; margin-right: auto !important; }
}

/* Card meta (date • author) on one line */
.news-meta, .guide-meta { flex-wrap: nowrap !important; white-space: nowrap; min-width: 0; }
.news-meta > span, .guide-meta > span { white-space: nowrap; flex-shrink: 0; }
.news-meta > span:last-child, .guide-meta > span:last-child { flex-shrink: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.news-meta { justify-content: center; gap: .4rem !important; font-size: .8rem; }
.guide-meta { gap: .35rem !important; }
@media (max-width: 1199.98px) {
    .news-meta { font-size: .74rem; gap: .3rem !important; }
    .news-meta i { margin-right: .15rem !important; }
    .js-news-item .qu-card > .p-4 { padding: 1.1rem !important; }
}
@media (max-width: 575.98px) {
    .guide-meta--lg .qu-badge, .guide-meta--lg > span { font-size: .78rem !important; }
    .guide-meta--lg .qu-badge { padding: 3px 8px !important; }
}
@media (max-width: 379.98px), (min-width: 768px) and (max-width: 991.98px) {
    .news-meta { font-size: .68rem; gap: .25rem !important; }
    .js-news-item .qu-card > .p-4 { padding: .9rem !important; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
    .guide-meta:not(.guide-meta--lg) { font-size: .68rem !important; gap: .25rem !important; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .news-meta i { display: none; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
    .news-meta { font-size: .64rem; gap: .2rem !important; }
    .js-news-item .qu-card > .p-4 { padding: .7rem !important; }
}
