 /* ============================================================
           CSS CUSTOM PROPERTIES
           ============================================================ */
        :root {
            /* Core palette — dartboard + pub atmosphere */
            --clr-bg:            #0E0F0E;
            --clr-bg-elevated:   #161816;
            --clr-bg-card:       #1C1E1C;
            --clr-surface:       #232623;
            --clr-border:        #2E322E;
            --clr-border-subtle: #252825;

            /* Text hierarchy */
            --clr-text:          #D6D9D3;
            --clr-text-strong:   #F0F2EE;
            --clr-text-muted:    #8A8F87;
            --clr-text-faint:    #5C615A;

            /* Accents — dartboard red & scoring green */
            --clr-accent:        #C23B2E;
            --clr-accent-glow:   #E04A3C;
            --clr-accent-soft:   rgba(194, 59, 46, 0.12);
            --clr-green:         #3EA66B;
            --clr-green-soft:    rgba(62, 166, 107, 0.12);
            --clr-gold:          #C9A84C;
            --clr-gold-soft:     rgba(201, 168, 76, 0.10);

            /* Typography */
            --ff-display: 'DM Serif Display', Georgia, 'Times New Roman', serif;
            --ff-body:    'Outfit', system-ui, -apple-system, sans-serif;
            --ff-mono:    'JetBrains Mono', 'Courier New', monospace;

            --fs-h1:   clamp(2.1rem, 4.5vw, 3.2rem);
            --fs-h2:   clamp(1.55rem, 3vw, 2.1rem);
            --fs-h3:   clamp(1.2rem, 2.2vw, 1.5rem);
            --fs-body: clamp(1rem, 1.1vw, 1.125rem);
            --fs-small: clamp(0.82rem, 0.9vw, 0.9rem);
            --fs-tiny:  0.78rem;

            --lh-body:    1.72;
            --lh-heading: 1.18;

            /* Spacing scale */
            --sp-xs:  0.5rem;
            --sp-sm:  1rem;
            --sp-md:  1.5rem;
            --sp-lg:  2.5rem;
            --sp-xl:  4rem;
            --sp-2xl: 6rem;

            /* Layout */
            --content-width: 72ch;
            --wide-width:    90ch;
            --gutter: clamp(1.25rem, 4vw, 3rem);

            /* Effects */
            --radius:    6px;
            --radius-lg: 10px;
            --shadow-sm: 0 1px 3px rgba(0,0,0,0.35);
            --shadow-md: 0 4px 16px rgba(0,0,0,0.4);
            --shadow-lg: 0 12px 40px rgba(0,0,0,0.5);
            --ease-out:  cubic-bezier(0.16, 1, 0.3, 1);
            --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
            --transition: 0.25s var(--ease-out);
        }
        /* ============================================================
           RESET & BASE
           ============================================================ */
        *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

        html {
            scroll-behavior: smooth;
            -webkit-text-size-adjust: 100%;
            hanging-punctuation: first last;
        }

        body {
            font-family: var(--ff-body);
            font-size: var(--fs-body);
            font-weight: 400;
            line-height: var(--lh-body);
            color: var(--clr-text);
            background: var(--clr-bg);
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
            overflow-x: hidden;
        }

        /* Decorative background texture */
        body::before {
            content: '';
            position: fixed;
            inset: 0;
            pointer-events: none;
            z-index: -1;
            background:
                radial-gradient(ellipse 60% 50% at 15% 10%, var(--clr-accent-soft) 0%, transparent 70%),
                radial-gradient(ellipse 50% 40% at 85% 80%, var(--clr-green-soft) 0%, transparent 70%);
        }

        ::selection {
            background: var(--clr-accent);
            color: #fff;
        }

        :focus-visible {
            outline: 2px solid var(--clr-accent);
            outline-offset: 3px;
            border-radius: 2px;
        }

        img { max-width: 100%; height: auto; display: block; }
        a { color: var(--clr-accent-glow); text-decoration: none; transition: color var(--transition); }
        a:hover { color: var(--clr-gold); }

        /* ============================================================
           HEADER
           ============================================================ */
        body > header {
            /* Reserved — empty per spec */
        }

        /* ============================================================
           NAVIGATION (Table of Contents)
           ============================================================ */
        nav[aria-label="Inhaltsverzeichnis"] {
            max-width: var(--content-width);
            margin: var(--sp-lg) auto;
            padding: var(--sp-md) var(--sp-lg);
            background: var(--clr-bg-card);
            border: 1px solid var(--clr-border);
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow-sm);
        }

        nav[aria-label="Inhaltsverzeichnis"] p {
            font-family: var(--ff-mono);
            font-size: var(--fs-tiny);
            font-weight: 500;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: var(--clr-accent);
            margin-bottom: var(--sp-sm);
        }

        nav[aria-label="Inhaltsverzeichnis"] ul {
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 2px;
        }

        nav[aria-label="Inhaltsverzeichnis"] li {
            border-radius: var(--radius);
        }

        nav[aria-label="Inhaltsverzeichnis"] a {
            display: flex;
            align-items: center;
            gap: var(--sp-xs);
            padding: 0.55rem 0.75rem;
            font-size: var(--fs-small);
            font-weight: 500;
            color: var(--clr-text);
            border-radius: var(--radius);
            transition: background var(--transition), color var(--transition), transform var(--transition);
        }

        nav[aria-label="Inhaltsverzeichnis"] a::before {
            content: '';
            flex-shrink: 0;
            width: 5px;
            height: 5px;
            background: var(--clr-accent);
            border-radius: 50%;
            opacity: 0;
            transition: opacity var(--transition), transform var(--transition);
            transform: scale(0.5);
        }

        nav[aria-label="Inhaltsverzeichnis"] a:hover {
            background: var(--clr-accent-soft);
            color: var(--clr-text-strong);
            transform: translateX(2px);
        }

        nav[aria-label="Inhaltsverzeichnis"] a:hover::before {
            opacity: 1;
            transform: scale(1);
        }

        /* ============================================================
           MAIN — Content Container
           ============================================================ */
        main {
            max-width: var(--content-width);
            margin: 0 auto;
            padding: 0 var(--gutter) var(--sp-2xl);
        }

        /* ============================================================
           TYPOGRAPHY — Article Content
           ============================================================ */

        /* — H1 — */
        main h1 {
            font-family: var(--ff-display);
            font-size: var(--fs-h1);
            font-weight: 400;
            line-height: var(--lh-heading);
            color: var(--clr-text-strong);
            margin-top: var(--sp-xl);
            margin-bottom: var(--sp-lg);
            letter-spacing: -0.01em;
            text-wrap: balance;
            position: relative;
            padding-bottom: var(--sp-md);
        }

        main h1::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 64px;
            height: 3px;
            background: linear-gradient(90deg, var(--clr-accent), var(--clr-accent-glow));
            border-radius: 2px;
        }

        /* — H2 — */
        main h2 {
            font-family: var(--ff-display);
            font-size: var(--fs-h2);
            font-weight: 400;
            line-height: var(--lh-heading);
            color: var(--clr-text-strong);
            margin-top: var(--sp-2xl);
            margin-bottom: var(--sp-md);
            letter-spacing: -0.005em;
            text-wrap: balance;
            position: relative;
            padding-left: 1.1rem;
        }

        main h2::before {
            content: '';
            position: absolute;
            left: 0;
            top: 0.18em;
            bottom: 0.18em;
            width: 3px;
            background: var(--clr-accent);
            border-radius: 2px;
        }

        /* — H3 — */
        main h3 {
            font-family: var(--ff-body);
            font-size: var(--fs-h3);
            font-weight: 600;
            line-height: 1.3;
            color: var(--clr-text-strong);
            margin-top: var(--sp-xl);
            margin-bottom: var(--sp-sm);
            letter-spacing: -0.005em;
            display: flex;
            align-items: baseline;
            gap: 0.6rem;
        }

        main h3::before {
            content: '\2022';
            color: var(--clr-green);
            font-size: 0.7em;
            flex-shrink: 0;
            transform: translateY(-0.04em);
        }

        /* — Paragraphs — */
        main p {
            margin-bottom: var(--sp-md);
            color: var(--clr-text);
            max-width: 68ch;
        }

        main p:last-child { margin-bottom: 0; }

        /* — Strong & Em — */
        main strong {
            font-weight: 600;
            color: var(--clr-text-strong);
        }

        main em {
            font-style: italic;
            color: var(--clr-text);
        }

        /* — Links inside content — */
        main a {
            color: var(--clr-accent-glow);
            text-decoration-line: underline;
            text-decoration-color: rgba(194, 59, 46, 0.3);
            text-underline-offset: 3px;
            text-decoration-thickness: 1px;
            transition: text-decoration-color var(--transition), color var(--transition);
        }

        main a:hover {
            color: var(--clr-accent);
            text-decoration-color: var(--clr-accent);
        }

        /* — Lists — */
        main ul, main ol {
            margin-bottom: var(--sp-md);
            padding-left: 0;
            list-style: none;
        }

        main ul li, main ol li {
            position: relative;
            padding-left: 1.5rem;
            margin-bottom: 0.6rem;
            color: var(--clr-text);
        }

        main ul li::before {
            content: '';
            position: absolute;
            left: 0;
            top: 0.7em;
            width: 6px;
            height: 6px;
            background: var(--clr-accent);
            border-radius: 50%;
            opacity: 0.7;
        }

        main ol {
            counter-reset: ol-counter;
        }

        main ol li {
            counter-increment: ol-counter;
        }

        main ol li::before {
            content: counter(ol-counter);
            position: absolute;
            left: 0;
            top: 0;
            font-family: var(--ff-mono);
            font-size: var(--fs-tiny);
            font-weight: 500;
            color: var(--clr-accent);
            min-width: 1.1rem;
        }

        /* — Blockquote — */
        main blockquote {
            margin: var(--sp-lg) 0;
            padding: var(--sp-md) var(--sp-lg);
            background: var(--clr-bg-card);
            border-left: 3px solid var(--clr-gold);
            border-radius: 0 var(--radius) var(--radius) 0;
            box-shadow: var(--shadow-sm);
            position: relative;
        }

        main blockquote::before {
            content: '\201C';
            position: absolute;
            top: -0.1em;
            left: 0.6rem;
            font-family: var(--ff-display);
            font-size: 3.5rem;
            color: var(--clr-gold);
            opacity: 0.25;
            line-height: 1;
        }

        main blockquote p {
            font-style: italic;
            color: var(--clr-text-muted);
            font-size: calc(var(--fs-body) * 1.02);
        }

        /* — Figure / Images — */
        main figure {
            margin: var(--sp-xl) 0;
            border-radius: var(--radius-lg);
            overflow: hidden;
            box-shadow: var(--shadow-md);
        }

        main figure img,
        main .hero-image,
        main .article-image {
            width: 100%;
            height: auto;
            display: block;
            border-radius: var(--radius-lg);
            box-shadow: var(--shadow-md);
            transition: transform 0.5s var(--ease-out), box-shadow 0.5s var(--ease-out);
        }

        main figure img {
            border-radius: 0;
            box-shadow: none;
        }

        main .hero-image {
            margin: var(--sp-lg) 0 var(--sp-xl);
            max-height: 480px;
            object-fit: cover;
        }

        main .article-image {
            margin: var(--sp-lg) 0;
        }

        main figure img:hover,
        main .article-image:hover {
            transform: scale(1.008);
            box-shadow: var(--shadow-lg);
        }

        main figcaption {
            padding: var(--sp-xs) var(--sp-sm);
            font-size: var(--fs-tiny);
            font-family: var(--ff-mono);
            color: var(--clr-text-faint);
            text-align: center;
            letter-spacing: 0.01em;
        }

        /* — Code — */
        main code {
            font-family: var(--ff-mono);
            font-size: 0.88em;
            padding: 0.15em 0.4em;
            background: var(--clr-surface);
            border: 1px solid var(--clr-border-subtle);
            border-radius: 3px;
            color: var(--clr-green);
        }

        main pre {
            margin: var(--sp-md) 0;
            padding: var(--sp-md);
            background: var(--clr-bg-elevated);
            border: 1px solid var(--clr-border);
            border-radius: var(--radius);
            overflow-x: auto;
        }

        main pre code {
            padding: 0;
            background: none;
            border: none;
            font-size: var(--fs-small);
        }

        /* — Horizontal rules — */
        main hr {
            border: none;
            height: 1px;
            background: var(--clr-border);
            margin: var(--sp-xl) 0;
            position: relative;
        }

        main hr::after {
            content: '\25C6';
            position: absolute;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            background: var(--clr-bg);
            padding: 0 0.8rem;
            color: var(--clr-text-faint);
            font-size: 0.6rem;
        }

        /* — Tables — */
        main table {
            width: 100%;
            margin: var(--sp-lg) 0;
            border-collapse: collapse;
            font-size: var(--fs-small);
        }

        main th {
            font-family: var(--ff-mono);
            font-size: var(--fs-tiny);
            font-weight: 500;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            text-align: left;
            padding: 0.75rem 1rem;
            background: var(--clr-surface);
            color: var(--clr-text-muted);
            border-bottom: 2px solid var(--clr-border);
        }

        main td {
            padding: 0.7rem 1rem;
            border-bottom: 1px solid var(--clr-border-subtle);
            color: var(--clr-text);
        }

        main tr {
            transition: background var(--transition);
        }

        main tr:hover {
            background: var(--clr-accent-soft);
        }

        /* ============================================================
           SPECIAL CONTENT PATTERNS
           ============================================================ */

        /* Hint / Disclaimer box (for 18+ warning etc.) */
        main p > strong:first-child:only-child,
        main p:has(> strong:first-child) {
            /* Targets paragraphs starting with bold (like **Hinweis:**) */
        }

        /* Info callout styling via bold-first paragraphs */
        main p strong:first-child {
            color: var(--clr-gold);
        }

        /* ============================================================
           SCROLL PROGRESS INDICATOR
           ============================================================ */
        body::after {
            content: '';
            position: fixed;
            top: 0;
            left: 0;
            width: 0%;
            height: 2px;
            background: linear-gradient(90deg, var(--clr-accent), var(--clr-gold), var(--clr-green));
            z-index: 1000;
            transition: width 0.1s linear;
        }

        /* ============================================================
           BACK TO TOP BUTTON
           ============================================================ */
        .back-to-top {
            position: fixed;
            bottom: 2rem;
            right: 2rem;
            width: 44px;
            height: 44px;
            display: grid;
            place-items: center;
            background: var(--clr-bg-card);
            border: 1px solid var(--clr-border);
            border-radius: 50%;
            box-shadow: var(--shadow-md);
            color: var(--clr-text-muted);
            font-size: 1.1rem;
            cursor: pointer;
            opacity: 0;
            transform: translateY(12px);
            transition: opacity var(--transition), transform var(--transition), background var(--transition), color var(--transition);
            z-index: 99;
        }

        .back-to-top.visible {
            opacity: 1;
            transform: translateY(0);
        }

        .back-to-top:hover {
            background: var(--clr-accent);
            color: #fff;
            border-color: var(--clr-accent);
            transform: translateY(-2px);
        }

        /* ============================================================
           FOOTER
           ============================================================ */
        body > footer {
            /* Reserved — empty per spec */
        }

        /* ============================================================
           RESPONSIVE
           ============================================================ */
        @media (max-width: 640px) {
            :root {
                --sp-xl:  2.5rem;
                --sp-2xl: 3.5rem;
            }

            main h1 { margin-top: var(--sp-lg); }

            main h2 {
                padding-left: 0.85rem;
                margin-top: var(--sp-xl);
            }

            main h3 {
                margin-top: var(--sp-lg);
            }

            nav[aria-label="Inhaltsverzeichnis"] {
                margin-left: var(--gutter);
                margin-right: var(--gutter);
                padding: var(--sp-sm) var(--sp-md);
            }

            main blockquote {
                padding: var(--sp-sm) var(--sp-md);
            }

            main blockquote::before {
                font-size: 2.5rem;
                left: 0.4rem;
            }

            .back-to-top {
                bottom: 1.25rem;
                right: 1.25rem;
                width: 40px;
                height: 40px;
            }
        }

        @media (min-width: 1024px) {
            main .hero-image {
                margin-left: calc(var(--gutter) * -1);
                margin-right: calc(var(--gutter) * -1);
                max-width: calc(100% + var(--gutter) * 2);
                border-radius: var(--radius-lg);
            }

            main figure {
                margin-left: -1.5rem;
                margin-right: -1.5rem;
            }
        }

        /* ============================================================
           PRINT
           ============================================================ */
        @media print {
            body::before, body::after, .back-to-top { display: none; }
            body { background: #fff; color: #111; font-size: 11pt; }
            main { max-width: 100%; padding: 0; }
            main h1, main h2, main h3 { color: #111; break-after: avoid; }
            main h2::before { background: #111; }
            main a { color: #111; text-decoration: underline; }
            main a::after { content: ' (' attr(href) ')'; font-size: 0.8em; color: #555; }
        }

        /* ============================================================
           REDUCED MOTION
           ============================================================ */
        @media (prefers-reduced-motion: reduce) {
            *, *::before, *::after {
                animation-duration: 0.01ms !important;
                transition-duration: 0.01ms !important;
            }
            html { scroll-behavior: auto; }
        }

        /* ============================================================
   IMAGES — Hero & Article Images for Darts Wetten Guide
   ============================================================ */

.hero-image {
    width: 100%;
    max-height: 480px;
    object-fit: cover;
    margin: var(--sp-lg) 0 var(--sp-xl);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    display: block;
}

.article-image {
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: var(--sp-lg) 0;
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
    display: block;
    transition: transform 0.5s var(--ease-out), box-shadow 0.5s var(--ease-out);
}

.article-image:hover {
    transform: scale(1.008);
    box-shadow: var(--shadow-lg);
}

/* Responsive adjustments */
@media (min-width: 1024px) {
    .hero-image {
        margin-left: calc(var(--gutter) * -1);
        margin-right: calc(var(--gutter) * -1);
        max-width: calc(100% + var(--gutter) * 2);
    }
}

@media (max-width: 640px) {
    .hero-image {
        max-height: 320px;
        border-radius: var(--radius);
    }

    .article-image {
        border-radius: var(--radius);
    }
}

/* Print */
@media print {
    .hero-image,
    .article-image {
        box-shadow: none;
        break-inside: avoid;
        max-height: 300px;
    }
}

/* --- Footer Styling --- */

.site-footer {
    background-color: #111; /* Dark background like screenshot */
    color: #ccc;
    padding: 60px 20px 20px;
    font-size: 14px;
    line-height: 1.6;
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Grid Layout for 4 Columns */
.footer-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-bottom: 50px;
}

/* Headings */
.footer-heading {
    color: #f1c40f; /* Yellow color from screenshot */
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 20px;
    text-transform: capitalize;
}

/* Lists and Links */
.footer-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-list li {
    margin-bottom: 12px;
    position: relative;
    padding-left: 15px;
}

/* Red bullet points */
.footer-list li::before {
    content: "•";
    color: #e74c3c; /* Red bullets */
    position: absolute;
    left: 0;
    font-weight: bold;
}

.footer-list a {
    color: #ccc;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer-list a:hover {
    color: #fff;
    text-decoration: underline;
}

/* Specific highlight for BZgA link if needed */
.warning-list a {
    color: #e74c3c;
}

/* Copyright Section */
.footer-bottom {
    border-top: 1px solid #333;
    padding-top: 20px;
    text-align: center;
    font-size: 12px;
    color: #888;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .footer-grid {
        grid-template-columns: 1fr; /* Stack columns on mobile */
        text-align: left;
    }
}

/* --- Header Layout --- */
.site-header {
    background-color: #0a0a0a; /* Deep dark background */
    border-bottom: 1px solid #222; /* Subtle separation line */
    padding: 15px 0;
    position: sticky; /* Sticky header */
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 10px rgba(0,0,0,0.5);
}

.header-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between; /* Logo left, Menu right */
}

/* --- Logo Styling --- */
.site-logo-link {
    text-decoration: none;
    font-size: 24px;
    font-weight: 800;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.site-logo-link .highlight {
    color: #f1c40f; /* Yellow accent to match footer */
}

/* --- Desktop Menu Styling --- */
.site-nav--desktop {
    display: block;
}

/* Reset list styles */
.menu-desktop {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 30px; /* Space between links */
}

.menu-desktop li {
    position: relative;
}

.menu-desktop a {
    color: #e0e0e0;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    padding: 10px 0;
    transition: color 0.3s ease;
    display: block;
}

/* Hover Effect */
.menu-desktop a:hover {
    color: #f1c40f; /* Yellow highlight */
}

/* Active Page Highlight (WordPress adds current-menu-item class) */
.menu-desktop .current-menu-item > a {
    color: #f1c40f;
    border-bottom: 2px solid #f1c40f;
}

/* Hide Mobile Controls on Desktop */
.mobile-controls {
    display: none;
}

/* --- Mobile Responsiveness --- */
@media (max-width: 992px) {
    /* Hide Desktop Menu on smaller screens */
    .site-nav--desktop {
        display: none;
    }

    /* Show Burger Menu */
    .mobile-controls {
        display: block;
    }
    
    /* Adjust header height for mobile */
    .site-header {
        padding: 10px 0;
    }
}

.burger {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px; 
    z-index: 1001; 
}

.burger span {
    display: block;
    width: 30px;
    height: 3px;
    background-color: #f1c40f; 
    border-radius: 3px;
    transition: all 0.3s ease;
}

.burger:hover span {
    background-color: #fff;
}

.mobile-menu {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 300px; 
    max-width: 85%;
    background-color: #111; 
    z-index: 9999;
    transform: translateX(100%); 
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: -5px 0 20px rgba(0,0,0,0.5);
    display: flex;
    flex-direction: column;
}

.mobile-menu.is-open {
    transform: translateX(0);
}

.mobile-menu__inner {
    padding: 20px 30px;
    overflow-y: auto; 
    height: 100%;
}

.mobile-menu__close {
    align-self: flex-end; 
    margin: 20px 20px 0 0;
    background: none;
    border: none;
    font-size: 36px;
    color: #888;
    cursor: pointer;
    line-height: 1;
    transition: color 0.3s;
}

.mobile-menu__close:hover {
    color: #f1c40f; 
}

/* --- 4. Menu Links Styling --- */
.menu-mobile {
    list-style: none;
    padding: 0;
    margin-top: 20px;
}

.menu-mobile li {
    border-bottom: 1px solid #222; 
}

.menu-mobile a {
    display: block;
    padding: 15px 0;
    color: #fff; 
    font-size: 18px;
    font-weight: 500;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
}

.menu-mobile a:hover {
    color: #f1c40f; 
    padding-left: 10px; 
}

.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7); 
    z-index: 9998; 
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    backdrop-filter: blur(2px); 
}

.mobile-menu-overlay.is-active {
    opacity: 1;
    visibility: visible;
}

/* --- 404 Page Styling --- */

/* Main Container - Centers everything vertically and horizontally */
.error-404-wrapper {
    min-height: 70vh; /* Takes up most of the screen */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: #0a0a0a; /* Match site background */
    padding: 40px 20px;
}

.error-404-content {
    max-width: 600px;
    width: 100%;
}

/* Big 404 Number */
.error-code {
    font-size: 150px;
    line-height: 1;
    font-weight: 900;
    margin: 0 0 20px;
    color: #333; /* Dark grey for the numbers */
    position: relative;
    letter-spacing: -10px;
}

/* Styling the '0' as a Target/Bullseye */
.error-code .bullseye {
    color: #e74c3c; /* Red like a bullseye */
    text-shadow: 0 0 30px rgba(231, 76, 60, 0.5); /* Glowing effect */
}

/* Headline */
.error-title {
    font-size: 32px;
    color: #f1c40f; /* Yellow accent */
    margin-bottom: 20px;
    text-transform: uppercase;
    font-weight: 800;
}

/* Text */
.error-text p {
    font-size: 18px;
    color: #ccc;
    margin-bottom: 10px;
    line-height: 1.6;
}

/* Button Styling */
.error-actions {
    margin-top: 40px;
}

.btn-primary {
    display: inline-block;
    background-color: #f1c40f; /* Yellow */
    color: #000; /* Black text */
    padding: 15px 30px;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.btn-primary:hover {
    background-color: #fff;
    color: #000;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(241, 196, 15, 0.3);
}

/* Search Form Styling (Simple) */
.error-search {
    margin-top: 40px;
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
}

.error-search input {
    background: #1a1a1a;
    border: 1px solid #333;
    color: #fff;
    padding: 10px;
    border-radius: 4px;
    width: 100%;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
    .error-code {
        font-size: 100px;
    }
    .error-title {
        font-size: 24px;
    }
}

#crumbs {
    padding: 10px 0;
    margin-bottom: 20px;
    font-size: 14px;
    color: #666;
    text-align: center; 
}

#crumbs a {
    text-decoration: none;
    color: #0073aa; 
}

#crumbs a:hover {
    text-decoration: underline;
}

#crumbs .current {
    font-weight: bold;
    color: rgb(255, 255, 255);
}
