:root {
    --mt-radius: .75rem;
}

html,
body {
    height: 100%
}

.article-body p {
    margin-bottom: .8rem
}

.object-fit-cover {
    object-fit: cover
}

.card {
    border-radius: var(--mt-radius)
}

.card img {
    border-top-left-radius: var(--mt-radius);
    border-top-right-radius: var(--mt-radius)
}

.card:hover {
    transform: translateY(-1px);
    box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .08);
    transition: .2s
}

.text-clamp-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 2;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.text-clamp-3 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    line-clamp: 3;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.navbar-brand img {
    border-radius: 6px
}

.pagination .page-link {
    border-radius: .5rem;
    margin: 0 .15rem
}

.sidebar-card {
    border-radius: .75rem
}

.sidebar-card .list-group-item {
    display: flex;
    justify-content: space-between;
    align-items: center
}

.sidebar-search input {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0
}

.sidebar-search button {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0
}

/* Base: one SVG that follows currentColor */
.navbar-toggler-icon {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    color: #212529;
    /* dark on light */
    background: center/100% 100% no-repeat url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
    /* override Bootstrap */
}

/* Light theme hover/focus: gray */
.navbar-toggler:hover .navbar-toggler-icon,
.navbar-toggler:focus .navbar-toggler-icon {
    color: #6c757d;
}

/* Dark theme (manual Bootstrap toggle) */
[data-bs-theme="dark"] .navbar-toggler-icon {
    color: #ffffff;
    /* white on dark */
}

[data-bs-theme="dark"] .navbar-toggler:hover .navbar-toggler-icon,
[data-bs-theme="dark"] .navbar-toggler:focus .navbar-toggler-icon {
    color: #adb5bd;
    /* light gray on hover */
}

/* Dark theme (auto, if you rely on system preference and do NOT set data-bs-theme) */
@media (prefers-color-scheme: dark) {
    :root {
        color-scheme: dark;
    }

    html:not([data-bs-theme]) .navbar-toggler-icon {
        color: #ffffff;
    }

    html:not([data-bs-theme]) .navbar-toggler:hover .navbar-toggler-icon,
    html:not([data-bs-theme]) .navbar-toggler:focus .navbar-toggler-icon {
        color: #adb5bd;
    }
}

/* === Dark theme accessibility fixes === */
[data-bs-theme="dark"] {
    /* 1) Outline Secondary – ensure ≥4.5:1 contrast on dark bg */
    --mt-outline-sec-text: #e9ecef;
    /* near gray-200 */
    --mt-outline-sec-border: #c8cfd6;
    /* between gray-300/400 for contrast */
    --mt-outline-sec-hover-bg: #e9ecef;
    --mt-outline-sec-hover-text: #212529;

    /* 2) Sidebar card contrast */
    --mt-sidebar-bg: #1e2329;
    /* slightly lighter than body bg for separation */
    --mt-sidebar-border: #2b3138;

    /* 3) Footer "Donează" green (ensure contrast) */
    --mt-success-bright: #4BE38F;
    /* brighter success green on dark */
}

/* Buttons: outline-secondary in dark */
[data-bs-theme="dark"] .btn.btn-outline-secondary {
    color: var(--mt-outline-sec-text);
    border-color: var(--mt-outline-sec-border);
}

[data-bs-theme="dark"] .btn.btn-outline-secondary:hover,
[data-bs-theme="dark"] .btn.btn-outline-secondary:active,
[data-bs-theme="dark"] .btn.btn-outline-secondary.active {
    color: var(--mt-outline-sec-hover-text);
    background-color: var(--mt-outline-sec-hover-bg);
    border-color: var(--mt-outline-sec-hover-bg);
}

/* Visible focus ring for keyboard users (both themes) */
.btn.btn-outline-secondary:focus-visible {
    outline: 2px solid #6ea8fe;
    /* accessible blue ring */
    outline-offset: 2px;
    box-shadow: none;
    /* avoid double glow */
}

/* Sidebar cards: stronger separation in dark */
[data-bs-theme="dark"] .card.sidebar-card {
    background-color: var(--mt-sidebar-bg);
    border-color: var(--mt-sidebar-border);
}

[data-bs-theme="dark"] .card.sidebar-card .list-group-item {
    background-color: transparent;
    border-color: rgba(255, 255, 255, 0.05);
}

[data-bs-theme="dark"] .card.sidebar-card .list-group-item:hover {
    background-color: rgba(255, 255, 255, 0.04);
}

/* Footer "Donează" link: brighter + underline on hover for clarity */
[data-bs-theme="dark"] footer a.text-success.fw-semibold {
    color: var(--mt-success-bright) !important;
}

footer a.text-success.fw-semibold:hover {
    text-decoration: underline;
}

/* (Optional) Pagination link contrast in dark (subtle lift) */
[data-bs-theme="dark"] .pagination .page-link {
    border-color: rgba(255, 255, 255, 0.18);
}

[data-bs-theme="dark"] .pagination .page-link:hover {
    background-color: rgba(255, 255, 255, 0.06);
}