/* ── Brand Colours ──────────────────────────────────────────────── */
:root {
    --dh-bg: #111111;
    --dh-bg-card: #1a1a1a;
    --dh-bg-footer: #0a0a0a;
    --dh-text: #f5f5f5;
    --dh-text-muted: #999999;
    --dh-accent: #ff4a1c;
    --dh-accent-hover: #e63e12;
    --dh-border: #2a2a2a;
}

/* ── Base ───────────────────────────────────────────────────────── */
body {
    background: var(--dh-bg);
    color: var(--dh-text);
}

a {
    color: var(--dh-accent);
    transition: color 0.15s ease;
}

a:hover {
    color: var(--dh-accent-hover);
}

/* ── Navigation ────────────────────────────────────────────────── */
.nav-link {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.85rem;
    font-weight: 500;
    color: var(--dh-text-muted) !important;
    transition: color 0.15s ease;
}

.nav-link:hover,
.nav-link:focus {
    color: var(--dh-text) !important;
}

/* ── Hero ───────────────────────────────────────────────────────── */
.hero-section {
    padding: 6rem 0 5rem;
}

.hero-title {
    font-size: clamp(2.5rem, 7vw, 5rem);
    font-weight: 900;
    text-transform: uppercase;
    line-height: 0.95;
    letter-spacing: -0.02em;

}

.hero-subtitle {
    color: var(--dh-accent);
    font-size: clamp(1rem, 2.5vw, 1.35rem);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.hero-lead {
    color: var(--dh-text-muted);
    font-size: 1.15rem;
    line-height: 1.7;
    max-width: 540px;
}

/* ── Buttons ────────────────────────────────────────────────────── */
.btn-accent {
    background: var(--dh-accent);
    color: #fff;
    border: 2px solid var(--dh-accent);
    border-radius: 0;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.9rem;
    padding: 0.7rem 1.8rem;
    transition: background 0.15s ease, border-color 0.15s ease;
}

.btn-accent:hover {
    background: var(--dh-accent-hover);
    border-color: var(--dh-accent-hover);
    color: #fff;
}

.btn-outline-light {
    border-radius: 0;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.9rem;
    padding: 0.7rem 1.8rem;
    border-width: 2px;
}

.btn-outline-light:hover {
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

/* ── Section Backgrounds ────────────────────────────────────────── */
.section-card-bg {
    background: var(--dh-bg-card);
}

/* ── Cards ──────────────────────────────────────────────────────── */
.blog-card {
    background: var(--dh-bg-card);
    border: 1px solid var(--dh-border);
    border-radius: 0;
    transition: border-color 0.2s ease, transform 0.2s ease;
    height: 100%;
}

.blog-card:hover {
    border-color: var(--dh-accent);
    transform: translateY(-3px);
}

.blog-card a {
    text-decoration: none;
}

.blog-card .card-title {
    color: var(--dh-text);
}

.blog-card .card-text {
    color: var(--dh-text-muted);
}

/* ── Category Badge ─────────────────────────────────────────────── */
.badge-category {
    background: var(--dh-accent);
    color: #fff;
    font-weight: 600;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    border-radius: 0;
    padding: 0.35em 0.65em;
}

/* ── Footer ─────────────────────────────────────────────────────── */
.site-footer {
    background: var(--dh-bg-footer);
}

.footer-links a {
    color: var(--dh-text-muted);
    text-decoration: none;
    transition: color 0.15s ease;
}

.footer-links a:hover {
    color: var(--dh-accent);
}

.footer-social {
    color: var(--dh-text-muted);
    font-size: 1.25rem;
    text-decoration: none;
    transition: color 0.15s ease;
}

.footer-social:hover {
    color: var(--dh-accent);
}

/* ── Blog Content ───────────────────────────────────────────────── */
.post-content h2 {
    margin-top: 2.5rem;
    margin-bottom: 1rem;
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--dh-text);
}

.post-content h3 {
    margin-top: 2rem;
    margin-bottom: 0.75rem;
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--dh-text);
}

.post-content p {
    margin-bottom: 1.25rem;
    line-height: 1.8;
    color: var(--dh-text-muted);
}

.post-content ul,
.post-content ol {
    color: var(--dh-text-muted);
    line-height: 1.8;
    margin-bottom: 1.25rem;
}

.post-content a {
    color: var(--dh-accent);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.post-content pre {
    background: var(--dh-bg-card);
    border: 1px solid var(--dh-border);
    border-radius: 0;
    padding: 1.25rem;
    overflow-x: auto;
    color: var(--dh-text);
}

.post-content code {
    color: var(--dh-accent);
}

.post-content pre code {
    color: var(--dh-text);
}

.post-content blockquote {
    border-left: 4px solid var(--dh-accent);
    padding: 1rem 1.5rem;
    margin: 2rem 0;
    background: var(--dh-bg-card);
    color: var(--dh-text-muted);
    font-style: italic;
}

.post-content img {
    max-width: 100%;
    height: auto;
    border-radius: 0;
    margin: 1.5rem 0;
}

/* ── Pagination ─────────────────────────────────────────────────── */
.pagination .page-link {
    background: var(--dh-bg-card);
    color: var(--dh-text-muted);
    border-color: var(--dh-border);
    border-radius: 0;
}

.pagination .page-link:hover {
    background: var(--dh-border);
    color: var(--dh-text);
    border-color: var(--dh-border);
}

.pagination .page-item.active .page-link {
    background: var(--dh-accent);
    border-color: var(--dh-accent);
    color: #fff;
}

.pagination .page-item.disabled .page-link {
    background: var(--dh-bg);
    color: var(--dh-border);
    border-color: var(--dh-border);
}

/* ── Offcanvas (mobile nav) ─────────────────────────────────────── */
.offcanvas {
    background: var(--dh-bg) !important;
}

.offcanvas .nav-link {
    font-size: 1.5rem;
    padding: 0.75rem 0;
}

.offcanvas .btn-close {
    filter: invert(1);
}
