/* ============================================
           CSS CUSTOM PROPERTIES
           ============================================ */
        :root {
            /* --- Palette: Ally Pally Stage --- */
            --clr-bg:           #0c0e12;
            --clr-bg-elevated:  #14171e;
            --clr-bg-card:      #1a1e28;
            --clr-surface:      #222738;
            --clr-border:       #2a3045;
            --clr-border-subtle:#1e2233;

            /* Text */
            --clr-text:         #d6dae6;
            --clr-text-muted:   #8891a8;
            --clr-text-heading: #eef0f6;

            /* Dartboard Accents */
            --clr-accent:       #c8342b;       /* Dartboard red */
            --clr-accent-glow:  #e0443a;
            --clr-accent-green: #1f8c50;       /* Dartboard green */
            --clr-accent-gold:  #c9a84c;       /* Trophy / scoring gold */
            --clr-accent-wire:  #6e7590;       /* Wire silver */

            /* Functional */
            --clr-link:         var(--clr-accent-gold);
            --clr-link-hover:   #dfc06a;
            --clr-selection-bg: rgba(200, 52, 43, .25);
            --clr-selection-fg: #fff;
            --clr-focus:        var(--clr-accent-gold);

            /* Shadows */
            --shadow-sm:  0 1px 3px rgba(0,0,0,.4);
            --shadow-md:  0 4px 16px rgba(0,0,0,.45);
            --shadow-lg:  0 12px 40px rgba(0,0,0,.55);
            --shadow-glow: 0 0 30px rgba(200, 52, 43, .12);

            /* Spacing */
            --space-xs:  .5rem;
            --space-sm:  1rem;
            --space-md:  1.75rem;
            --space-lg:  3rem;
            --space-xl:  5rem;
            --space-2xl: 8rem;

            /* Typography */
            --font-display: 'DM Serif Display', Georgia, 'Times New Roman', serif;
            --font-body:    'Source Sans 3', 'Segoe UI', system-ui, sans-serif;

            --fs-base:   clamp(1.05rem, 0.95rem + 0.35vw, 1.2rem);
            --fs-sm:     clamp(.85rem, .8rem + .2vw, .95rem);
            --fs-lg:     clamp(1.15rem, 1rem + .45vw, 1.35rem);
            --fs-h3:     clamp(1.25rem, 1.05rem + .65vw, 1.6rem);
            --fs-h2:     clamp(1.55rem, 1.2rem + 1.1vw, 2.2rem);
            --fs-h1:     clamp(2rem, 1.4rem + 2vw, 3.2rem);

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

            /* Layout */
            --content-width: 52rem;
            --wide-width:    68rem;

            /* Transitions */
            --ease-out: cubic-bezier(.22, .61, .36, 1);
            --dur-fast: .18s;
            --dur-mid:  .3s;
        }

        /* ============================================
           RESET & BASE
           ============================================ */
        *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

        ::selection {
            background: var(--clr-selection-bg);
            color: var(--clr-selection-fg);
        }

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

        body {
            font-family: var(--font-body);
            font-size: var(--fs-base);
            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;
        }

        /* Stage light — subtle radial glow at top */
        body::before {
            content: '';
            position: fixed;
            inset: -30% 0 auto;
            height: 70vh;
            background: radial-gradient(ellipse 60% 45% at 50% 0%, rgba(200,52,43,.06) 0%, transparent 70%);
            pointer-events: none;
            z-index: -1;
        }

        /* ============================================
           FOCUS & ACCESSIBILITY
           ============================================ */
        :focus-visible {
            outline: 2.5px solid var(--clr-focus);
            outline-offset: 3px;
            border-radius: 2px;
        }

        .sr-only {
            position: absolute;
            width: 1px; height: 1px;
            padding: 0; margin: -1px;
            overflow: hidden;
            clip: rect(0,0,0,0);
            white-space: nowrap;
            border: 0;
        }

        /* ============================================
           HEADER (empty, as specified)
           ============================================ */
        body > header {
            display: block;
        }

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

        @media (max-width: 640px) {
            main {
                padding: var(--space-lg) var(--space-sm) var(--space-xl);
            }
        }

        /* ============================================
           TYPOGRAPHY — Headings
           ============================================ */
        main h1 {
            font-family: var(--font-display);
            font-size: var(--fs-h1);
            font-weight: 400;
            line-height: var(--lh-heading);
            color: var(--clr-text-heading);
            letter-spacing: -.01em;
            margin-bottom: var(--space-lg);
            position: relative;
            padding-bottom: var(--space-md);
        }

        /* Red underline accent beneath H1 */
        main h1::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: clamp(60px, 12vw, 120px);
            height: 3px;
            background: linear-gradient(90deg, var(--clr-accent), var(--clr-accent-glow));
            border-radius: 2px;
        }

        main h2 {
            font-family: var(--font-display);
            font-size: var(--fs-h2);
            font-weight: 400;
            line-height: var(--lh-heading);
            color: var(--clr-text-heading);
            letter-spacing: -.005em;
            margin-top: var(--space-xl);
            margin-bottom: var(--space-md);
            padding-top: var(--space-lg);
            border-top: 1px solid var(--clr-border);
            position: relative;
        }

        /* Small vertical red bar before H2 */
        main h2::before {
            content: '';
            position: absolute;
            top: var(--space-lg);
            left: -1.5rem;
            width: 3.5px;
            height: 1.4em;
            background: var(--clr-accent);
            border-radius: 2px;
        }

        @media (max-width: 640px) {
            main h2::before { left: -.85rem; width: 3px; }
        }

        main h3 {
            font-family: var(--font-display);
            font-size: var(--fs-h3);
            font-weight: 400;
            line-height: 1.3;
            color: var(--clr-text-heading);
            margin-top: var(--space-lg);
            margin-bottom: var(--space-sm);
        }

        /* ============================================
           TYPOGRAPHY — Body
           ============================================ */
        main p {
            margin-bottom: var(--space-md);
            max-width: 65ch;
        }

        main strong {
            font-weight: 700;
            color: var(--clr-text-heading);
        }

        main em {
            font-style: italic;
        }

        main a {
            color: var(--clr-link);
            text-decoration: underline;
            text-decoration-thickness: 1px;
            text-underline-offset: 3px;
            transition: color var(--dur-fast) var(--ease-out),
                        text-decoration-color var(--dur-fast) var(--ease-out);
        }

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

        /* ============================================
           LISTS
           ============================================ */
        main ul, main ol {
            margin-bottom: var(--space-md);
            padding-left: 1.4em;
            max-width: 62ch;
        }

        main li {
            margin-bottom: var(--space-xs);
            padding-left: .35em;
        }

        main li::marker {
            color: var(--clr-accent);
            font-weight: 700;
        }

        main ol li::marker {
            color: var(--clr-accent-gold);
            font-weight: 700;
        }

        /* ============================================
           BLOCKQUOTE
           ============================================ */
        main blockquote {
            margin: var(--space-lg) 0;
            padding: var(--space-md) var(--space-md) var(--space-md) var(--space-lg);
            border-left: 3.5px solid var(--clr-accent);
            background: var(--clr-bg-elevated);
            border-radius: 0 6px 6px 0;
            box-shadow: var(--shadow-sm);
            position: relative;
        }

        main blockquote::before {
            content: '\201E'; /* German opening quote */
            position: absolute;
            top: -.2em;
            left: .6rem;
            font-family: var(--font-display);
            font-size: 3em;
            color: var(--clr-accent);
            opacity: .25;
            line-height: 1;
        }

        main blockquote p {
            font-size: var(--fs-lg);
            color: var(--clr-text-heading);
            font-style: italic;
        }

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

        /* ============================================
           IMAGES — Hero & Article
           ============================================ */
        main figure {
            margin: var(--space-lg) 0;
        }

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

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

        main figcaption {
            margin-top: var(--space-xs);
            font-size: var(--fs-sm);
            color: var(--clr-text-muted);
            text-align: center;
        }

        /* Hero image — full-bleed on mobile */
        main .hero-image {
            margin: 0 calc(-1 * var(--space-md)) var(--space-lg);
            position: relative;
            overflow: hidden;
            border-radius: 0 0 8px 8px;
        }

        main .hero-image img {
            border-radius: 0 0 8px 8px;
            aspect-ratio: 21 / 9;
            object-fit: cover;
        }

        /* Subtle bottom gradient on hero for text overlay readability */
        main .hero-image::after {
            content: '';
            position: absolute;
            inset: 50% 0 0;
            background: linear-gradient(to top, var(--clr-bg) 0%, transparent 100%);
            pointer-events: none;
        }

        @media (min-width: 641px) {
            main .hero-image {
                margin-left: calc(-1 * var(--space-lg));
                margin-right: calc(-1 * var(--space-lg));
                border-radius: 8px;
            }
            main .hero-image img {
                border-radius: 8px;
            }
            main .hero-image::after {
                border-radius: 0 0 8px 8px;
            }
        }

        main .article-image {
            margin: var(--space-lg) 0;
            border-radius: 6px;
            overflow: hidden;
        }

        /* ============================================
           HORIZONTAL RULES (section separators)
           ============================================ */
        main hr {
            border: none;
            height: 1px;
            background: var(--clr-border);
            margin: var(--space-xl) 0;
            position: relative;
        }

        /* Diamond accent at center of HR */
        main hr::after {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 8px;
            height: 8px;
            background: var(--clr-accent);
            transform: translate(-50%, -50%) rotate(45deg);
            border-radius: 1px;
        }

        /* ============================================
           TABLE OF CONTENTS (nav styling)
           ============================================ */
        main nav {
            margin: var(--space-lg) 0;
            padding: var(--space-md);
            background: var(--clr-bg-card);
            border: 1px solid var(--clr-border);
            border-radius: 8px;
            box-shadow: var(--shadow-sm);
        }

        main nav ul {
            list-style: none;
            padding-left: 0;
            margin-bottom: 0;
        }

        main nav li {
            padding-left: 0;
            margin-bottom: .4rem;
        }

        main nav a {
            font-size: var(--fs-sm);
            font-weight: 600;
            color: var(--clr-text-muted);
            text-decoration: none;
            display: inline-block;
            padding: .25em .4em;
            border-radius: 4px;
            transition: color var(--dur-fast) var(--ease-out),
                        background var(--dur-fast) var(--ease-out),
                        transform var(--dur-fast) var(--ease-out);
        }

        main nav a:hover {
            color: var(--clr-text-heading);
            background: var(--clr-surface);
            transform: translateX(4px);
        }

        /* ============================================
           SPECIAL CONTENT BLOCKS
           ============================================ */

        /* Info/callout box */
        main aside {
            margin: var(--space-lg) 0;
            padding: var(--space-md);
            background: linear-gradient(135deg, var(--clr-bg-card), var(--clr-bg-elevated));
            border: 1px solid var(--clr-border);
            border-left: 3.5px solid var(--clr-accent-gold);
            border-radius: 0 6px 6px 0;
            box-shadow: var(--shadow-sm);
        }

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

        /* Code inline */
        main code {
            font-size: .9em;
            padding: .15em .4em;
            background: var(--clr-surface);
            border: 1px solid var(--clr-border-subtle);
            border-radius: 4px;
            color: var(--clr-accent-gold);
        }

        /* Pre block */
        main pre {
            margin: var(--space-md) 0;
            padding: var(--space-md);
            background: var(--clr-bg-elevated);
            border: 1px solid var(--clr-border);
            border-radius: 6px;
            overflow-x: auto;
            box-shadow: var(--shadow-sm);
        }

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

        /* ============================================
           FAQ (dl styling)
           ============================================ */
        main dl {
            margin: var(--space-md) 0;
        }

        main dt {
            font-family: var(--font-display);
            font-size: var(--fs-lg);
            color: var(--clr-text-heading);
            margin-top: var(--space-md);
        }

        main dd {
            margin-left: 0;
            margin-top: var(--space-xs);
            padding-left: var(--space-md);
            border-left: 2px solid var(--clr-border);
        }

        /* ============================================
           TABLE (for data comparisons)
           ============================================ */
        main table {
            width: 100%;
            border-collapse: collapse;
            margin: var(--space-md) 0;
            font-size: var(--fs-sm);
        }

        main th {
            text-align: left;
            font-weight: 700;
            color: var(--clr-text-heading);
            padding: var(--space-xs) var(--space-sm);
            border-bottom: 2px solid var(--clr-accent);
            background: var(--clr-bg-elevated);
        }

        main td {
            padding: var(--space-xs) var(--space-sm);
            border-bottom: 1px solid var(--clr-border-subtle);
        }

        main tr:hover td {
            background: var(--clr-bg-card);
        }

        /* ============================================
           FOOTER (empty, as specified)
           ============================================ */
        body > footer {
            display: block;
        }

        /* ============================================
           SCROLL-DRIVEN FADE-IN (progressive enhancement)
           ============================================ */
        @supports (animation-timeline: view()) {
            main h2,
            main h3,
            main blockquote,
            main figure,
            main aside {
                animation: fadeSlideIn linear both;
                animation-timeline: view();
                animation-range: entry 0% entry 25%;
            }

            @keyframes fadeSlideIn {
                from { opacity: 0; transform: translateY(16px); }
                to   { opacity: 1; transform: translateY(0); }
            }
        }

        /* ============================================
           PRINT STYLES
           ============================================ */
        @media print {
            body { background: #fff; color: #111; }
            body::before { display: none; }
            main { padding: 0; max-width: 100%; }
            main h2 { border-top: 1px solid #ccc; }
            main h2::before { background: #111; }
            main h1::after { background: #111; }
            main hr::after { background: #111; }
            main blockquote { border-left-color: #111; background: #f5f5f5; }
            main a { color: inherit; text-decoration: underline; }
        }

        /* ============================================
   IMAGES STYLES — Darts WM Article
   ============================================ */

.hero-image {
    width: 100%;
    margin: 0 0 2rem;
    overflow: hidden;
    border-radius: 12px;
    position: relative;
}

.hero-image img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
    aspect-ratio: 1200 / 630;
    object-fit: cover;
}

.article-image {
    margin: 2rem 0;
    text-align: center;
    overflow: hidden;
    border-radius: 8px;
}

.article-image img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    border-radius: 8px;
    aspect-ratio: 800 / 500;
    object-fit: cover;
}

@media (max-width: 640px) {
    .hero-image,
    .hero-image img {
        border-radius: 0;
    }

    .article-image {
        margin: 1.5rem -1rem;
        border-radius: 0;
    }

    .article-image img {
        border-radius: 0;
        width: 100%;
    }
}

/* =========================================
   Header Styles
   ========================================= */

/* Header Container */
.site-header {
    background-color: #0a0a0a; /* Dark background matching the site */
    border-bottom: 1px solid #222; /* Subtle separation line */
    padding: 0 20px;
    position: sticky; /* Sticks to top when scrolling */
    top: 0;
    z-index: 1000;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.5);
}

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

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 80px; /* Fixed height for the header */
}

/* =========================================
   Logo / Branding
   ========================================= */
.site-branding a {
    font-size: 24px;
    font-weight: 800;
    color: #ffffff;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.site-branding .highlight {
    color: #e63946; /* Red accent color */
}

/* =========================================
   Desktop Menu
   ========================================= */
.site-nav--desktop {
    display: none; /* Hidden on mobile by default */
}

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

/* Menu Items */
.menu-desktop li {
    position: relative;
}

/* Links Styling */
.menu-desktop a {
    color: #e0e0e0;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    padding: 10px 0;
    transition: color 0.3s ease;
    letter-spacing: 0.5px;
}

/* Hover Effect - Color */
.menu-desktop a:hover {
    color: #ffffff;
}

/* Hover Effect - Underline Animation */
.menu-desktop a::after {
    content: '';
    position: absolute;
    width: 0;
    height: 2px;
    bottom: 5px;
    left: 0;
    background-color: #e63946; /* Red underline */
    transition: width 0.3s ease;
}

.menu-desktop a:hover::after {
    width: 100%;
}

/* Active Page State (if WordPress adds current-menu-item class) */
.menu-desktop .current-menu-item > a {
    color: #ffffff;
}

.menu-desktop .current-menu-item > a::after {
    width: 100%;
}

/* =========================================
   Submenus (Dropdowns)
   ========================================= */
.menu-desktop .menu-item-has-children:hover .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.menu-desktop .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: #1a1a1a;
    min-width: 220px;
    padding: 10px 0;
    list-style: none;
    border-radius: 4px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.5);
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.3s ease;
    z-index: 999;
}

.menu-desktop .sub-menu li a {
    display: block;
    padding: 10px 20px;
    font-size: 14px;
    color: #ccc;
    text-transform: none; /* Usually better to not uppercase submenus */
}

.menu-desktop .sub-menu li a:hover {
    background: #2a2a2a;
    color: #e63946;
}

.menu-desktop .sub-menu li a::after {
    display: none; /* Remove underline for submenus */
}

/* =========================================
   Responsive Logic
   ========================================= */
@media (min-width: 992px) {
    .site-nav--desktop {
        display: block;
    }
    .mobile-controls {
        display: none;
    }
}

@media (max-width: 991px) {
    .site-nav--desktop {
        display: none;
    }
    .mobile-controls {
        display: block;
    }
}

/* =========================================
   Mobile Menu Styles 
   ========================================= */

@media (max-width: 991px) {
    .site-nav--desktop {
        display: none !important;
    }
}

.burger {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 10px;
    z-index: 10001;
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    width: 45px;
    height: 40px;
}

.burger span {
    display: block;
    width: 100%;
    height: 3px;
    background-color: #ffffff;
    border-radius: 2px;
    transition: all 0.3s ease;
    transform-origin: 1px;
}

.burger.is-active span:first-child {
    transform: rotate(45deg);
}
.burger.is-active span:nth-child(2) {
    opacity: 0;
    transform: translateX(20px);
}
.burger.is-active span:nth-child(3) {
    transform: rotate(-45deg);
}

.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(3px); 
}

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

.mobile-menu {
    position: fixed;
    top: 0;
    right: 0; 
    width: 85%; 
    max-width: 400px;
    height: 100vh;
    background-color: #0a0a0a;
    z-index: 9999;
    padding: 80px 40px;
    transform: translateX(100%); 
    transition: transform 0.4s cubic-bezier(0.77, 0.2, 0.05, 1.0);
    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__close {
    position: absolute;
    top: 20px;
    right: 20px;
    background: none;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 24px;
    color: #ffffff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.mobile-menu__close:hover {
    background-color: #e63946;
    border-color: #e63946;
    transform: rotate(90deg);
}

.menu-mobile {
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu-mobile li {
    margin-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    padding-bottom: 20px;
}

.menu-mobile a {
    font-size: 20px;
    font-weight: 600;
    color: #e0e0e0;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    transition: color 0.3s ease, padding-left 0.3s ease;
}

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

@media (min-width: 992px) {
    .mobile-controls, .mobile-menu, .mobile-menu-overlay {
        display: none;
    }
}

main .hero-image {
    display: flex;             
    justify-content: center;   
    width: 100%;
    margin: 0 auto 20px;       
}

main .hero-image img {
    display: block;
    margin: 0 auto;            
    width: 100%;               
    max-width: 100%;          
    height: auto;
    
    object-fit: cover;         
    object-position: center center;
    
    border-radius: 8px;        
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}

@media (max-width: 768px) {
    main .hero-image img {
      
        aspect-ratio: 16 / 9; 
    }
}

/* =========================================
   Footer Styles
   ========================================= */
.site-footer {
    background-color: #111;
    color: #ccc;
    padding: 40px 20px 20px;
    font-family: sans-serif;
    font-size: 14px;
    line-height: 1.6;
    border-top: 1px solid #222; /* Optional: adds subtle separation from main content */
}

.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.footer-col h3 {
    color: #f1c40f; 
    font-size: 18px;
    margin-bottom: 20px;
    font-weight: bold;
    text-transform: uppercase;
}

.footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-col ul li {
    margin-bottom: 10px;
    position: relative;
    padding-left: 15px;
}

.footer-col ul li::before {
    content: "•";
    color: #d32f2f; 
    position: absolute;
    left: 0;
}

.footer-col.resources ul li::before {
     color: #f1c40f; 
}


.site-footer a,
.site-footer a:visited,
.site-footer a:active {
    color: #ccc !important;
    text-decoration: none;
    transition: color 0.3s ease;
    border-bottom: 1px solid transparent;
}

.site-footer a:hover {
    color: #f1c40f !important; 
    border-bottom: 1px solid #f1c40f;
}

.site-info {
    border-top: 1px solid #333;
    margin-top: 40px;
    padding-top: 20px;
    text-align: center;
    font-size: 12px;
    color: #777;
}

@media (max-width: 768px) {
    .footer-container {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .footer-col ul li {
        padding-left: 0; 
    }
    
    .footer-col ul li::before {
        display: none; 
    }
}

/* =========================================
   404 Page Styles
   ========================================= */

/* Main Wrapper to center everything vertically */
.error-404-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 60vh; /* Occupies at least 60% of the screen height */
    text-align: center;
    padding: 60px 20px;
    background-color: #0c0e12; /* Matches your main bg color */
}

.container-404 {
    max-width: 600px;
    margin: 0 auto;
}

/* Big 404 Number */
.error-code {
    font-size: clamp(80px, 20vw, 180px); /* Responsive giant text */
    font-weight: 900;
    line-height: 1;
    margin: 0 0 10px;
    color: #c8342b; /* Dartboard red accent */
    text-shadow: 0 0 30px rgba(200, 52, 43, 0.2); /* Subtle glow */
    font-family: var(--font-display, sans-serif); /* Uses your theme font */
}

/* "Ziel verfehlt!" Headline */
.error-title {
    font-size: clamp(1.5rem, 4vw, 2.5rem);
    color: #ffffff;
    margin-bottom: 20px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    border: none; /* Removes any default borders from H2 */
}

.error-title::before {
    display: none; /* Removes the red bar from your standard H2 style */
}

/* Description Text */
.error-text {
    color: #8891a8;
    font-size: 1.1rem;
    margin-bottom: 40px;
    line-height: 1.6;
}

/* "Back to Home" Button */
.btn-home {
    display: inline-block;
    padding: 15px 35px;
    background-color: #c8342b; /* Red background */
    color: #ffffff !important;
    text-decoration: none !important;
    font-weight: 700;
    font-size: 1rem;
    text-transform: uppercase;
    border-radius: 4px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(200, 52, 43, 0.3);
}

.btn-home:hover {
    background-color: #e0443a; /* Lighter red on hover */
    transform: translateY(-2px); /* Slight lift effect */
    box-shadow: 0 6px 20px rgba(200, 52, 43, 0.5);
}

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

/* Link styling within breadcrumbs */
#crumbs a {
    text-decoration: none;
    color: #0073aa; 
}

/* Hover effect for links */
#crumbs a:hover {
    text-decoration: underline;
}

/* Current page styling */
#crumbs .current {
    font-weight: bold;
    color: rgb(255, 255, 255);
}
