@charset "UTF-8";
/* CSS Document */

        /* --- Windows Flag Fix Font --- */
        @font-face {
            font-family: 'Twemoji Country Flags';
            unicode-range: U+1F1E6-1F1FF, U+1F3F4, U+E0062-E0063, U+E0065-E0067, U+E006C, U+E006E, U+E0073, U+E0074, U+E0077, U+E007F;
            src: url('https://cdn.jsdelivr.net/npm/country-flag-emoji-polyfill@2.0.0/dist/TwemojiCountryFlags.woff2') format('woff2');
            font-display: swap;
        }

        /* --- CSS Variables & Theme Configuration --- */
        :root {
            --color-bg-dark: #0b1120;
            --color-primary-yellow: #ffcc00;
            --color-primary-yellow-hover: #e6b800;
            --color-text-nav: #41454b;
            --color-text-nav-active: #2cb5ca;
            --color-text-muted: #b3bccc;
            --color-text-gray: #94a3b8;
            
            --color-box-days: #8fb9ed;
            --color-box-hours: #ef3e33;
            --color-box-min: #38a169;
            --color-box-sec: #b794f4;

            --font-main: 'Poppins', sans-serif;
            
            /* UPDATED: Placed 'Twemoji Country Flags' at the front to force Windows to use it for flags */
            --font-emoji: "Twemoji Country Flags", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif;
        }

        /* --- Global Reset --- */
        body {
            font-family: var(--font-main);
            margin: 0;
            padding: 0;
            background-color: #fbfaf9;
        }

        img, video {
            max-width: unset;
            height: unset;
        }

        /* --- Layout Components --- */
        .site-header {
            background-color: #f5f6f6;
            height: 73px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            
            position: sticky;
            top: 0;
            z-index: 50;
            border-bottom: 1px solid #e2e5e9;
        }

        /* Updated Hero Section container */
        .hero-section {
            min-height: auto; 
            width: 100%;
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: center;
            background-color: #0b1021;
            z-index: 1; /* Creates a clean layer for the background */
        }

        /* The actual background image layer */
        .hero-section::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background-image: url('../img/bg.jpg');
            background-size: cover;
            background-position: center 35%;
            background-repeat: no-repeat;
            opacity: 0; /* Hidden initially */
            transition: opacity 0.8s ease-in-out; /* Smooth 0.8s fade-in */
            z-index: -1; /* Keeps it behind the text and timer */
        }

        /* Class added by JavaScript once the image downloads */
        .hero-section.bg-loaded::before {
            opacity: 1;
        }

        .hero-overlay {
            background: linear-gradient(to bottom, rgba(15, 23, 42, 0.1) 0%, rgba(15, 23, 42, 0.2) 100%);
            width: 100%;
            flex-grow: 1;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: flex-start;
            padding-bottom: 40px;
            padding-left: 1rem;
            padding-right: 1rem;
            padding-bottom: 35px;
            padding-top: 30px;
        }

        /* --- Header Elements --- */
        .logo-container {
            display: flex;
            align-items: center;
        }

        .header-logo {
            width: 210px;
            height: auto;
        }

        .nav-container {
            display: none;
        }

        .nav-link {
            font-size: 20px;
            font-weight: 700;
            color: var(--color-text-nav);
            transition: color 0.2s ease;
            text-decoration: none;
        }

        .nav-link:hover, .nav-link.active {
            color: var(--color-text-nav-active);
        }

        .header-cta-container {
            display: none;
            padding-right: 13.5px;
        }

        .mobile-menu-trigger {
            padding-right: 13.5px;
            display: block;
            opacity: .5;
        }

        /* --- Buttons --- */
        .btn-primary {
            background-color: var(--color-primary-yellow);
            color: #000;
            transition: all 0.08s ease;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 9999px;
            line-height: 1;
            text-decoration: none;
        }

      .btn-primary:hover {
            background-color: #ffda45;
            outline: 2px solid var(--color-primary-yellow);
            outline-offset: 1px;
            /* 2s controls the speed of the blink, infinite keeps it looping */
            animation: border-blink 2.0s ease-in-out infinite;
        }
        @keyframes border-blink {
            0%, 80% { outline-color: var(--color-primary-yellow); }
            80% { outline-color: transparent; }
        }
        .btn-header {
            height: 46px;
            padding-left: 23px;
            padding-right: 23px;
            font-weight: 700;
            font-size: 20px;
            /* box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); */
        }

        .btn-hero {
            height: 70px;
            padding-left: 31px;
            padding-right: 31px;
            font-weight: 730; /* Extrabold */
            font-size: 31px;
            margin-bottom: 30px; /* mb-16 */
            box-shadow: none;
        }

        /* --- Hero Typography --- */
        .hero-text-container {
            text-align: center;
            margin-top: 0px;
            margin-bottom: 2rem;
        }

        .text-superhead {
            color: var(--color-text-muted);
            text-transform: uppercase;
            letter-spacing: 0.25em;
            font-weight: 500;
            font-size: 27px;
            margin: 0 0 2px 0;
            line-height: 1;
        }

        .text-main-title {
            color: white;
            font-size: 100px;
            font-weight: 800; /* Extrabold */
            line-height: 0.9;
            letter-spacing: -0.02em;
            margin: 0;
            filter: drop-shadow(0 20px 13px rgba(0, 0, 0, 0.1));
        }

        .text-sub-title {
            color: white;
            font-size: 24px;
            font-weight: 600; /* Semibold */
            text-transform: uppercase;
            letter-spacing: 0.18em;
            margin-right: -0.18em;
            margin-bottom: 0.75rem;
            filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07));
            line-height: 1;
        }

        .text-locations {
            color: var(--color-text-muted);
            font-weight: 400; /* Normal */
            text-transform: uppercase;
            letter-spacing: 0.15em;
            font-size: 23px;
            filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
            line-height: 1;
            margin: 0;
        }

        .text-kickoff {
            color: var(--color-text-muted);
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.2em;
            font-size: 20px;
            margin-bottom: 1.5rem;
            filter: drop-shadow(0 4px 3px rgba(0, 0, 0, 0.07));
        }

        /* --- Timer Components --- */
        .timer-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 1rem;
            width: 100%;
            max-width: 800px;
            margin-bottom: 2rem;
        }

        .timer-card {
            border-radius: 10px;
            padding: 0;
            padding-top: 0.6rem;
            padding-bottom: 0.6rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            /* box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); */
        }

        /* Timer Card Variants */
        .card-days { background-color: var(--color-box-days); }
        .card-hours { background-color: var(--color-box-hours); }
        .card-min { background-color: var(--color-box-min); }
        .card-sec { background-color: var(--color-box-sec); }

        .timer-number {
            font-size: 2.25rem;
            font-weight: 700; /* Bold */
            line-height: 1;
        }

        .timer-label {
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
            /* margin-top: 0.25rem; */
            letter-spacing: 0.05em;
        }

        .text-slate-900 { color: #0f172a; }
        .text-white { color: #ffffff; }

        /* --- Glass Info Box --- */
        .glass-container {
            /* Changed from light blue-grey to dark blue-grey for better contrast on dark bg */
            background: rgb(64 79 105 / 20%);
            backdrop-filter: blur(8px);
            -webkit-backdrop-filter: blur(8px);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 12px;
            padding: 1.2rem;
            width: 90%; /* Adjusted for mobile */
            max-width: 670px;
            display: flex;
            flex-direction: column; /* Stack vertically on mobile */
            align-items: center;
        }

        .glass-image {
            margin-bottom: 1rem; /* Space below image on mobile */
            position: relative; /* Added for sparkles */
        }

        .glass-content {
            border-left: none; /* No divider on mobile */
            padding-left: 0;
        }

        .glass-description {
            color: var(--color-text-gray);
            font-size: 17px;
            font-weight: 400;
            line-height: 1.625;
            text-align: center; /* Center text on mobile */
            margin: 0;
        }

        /* --- Retina & Images --- */
        .trophy-img {
            width: 47px; /* 50% size */
            height: auto;
            position: relative;
            z-index: 10;
        }

        /* --- Sparkles Animation --- */
        .sparkle-icon {
            position: absolute;
            color: #e2e8f0; /* Silver to match trophy */
            opacity: 0;
            z-index: 20;
            filter: drop-shadow(0 0 2px rgba(255, 255, 255, 0.6));
        }

        .sparkle-1 {
            top: -5px;
            right: 2px;
            width: 10px;
            height: 10px;
            animation: sparkle-twinkle 1.5s ease-in-out infinite;
            animation-delay: 0s;
        }

        .sparkle-2 {
            top: 5px;
            left: -5px;
            width: 8px;
            height: 8px;
            animation: sparkle-twinkle 2.2s ease-in-out infinite;
            animation-delay: 0.5s;
        }

        .sparkle-3 {
            top: -12px;
            left: 5px;
            width: 6px;
            height: 6px;
            animation: sparkle-twinkle 1.8s ease-in-out infinite;
            animation-delay: 1.1s;
        }
        
        .sparkle-4 {
            top: 8px;
            right: -8px;
            width: 9px;
            height: 9px;
            animation: sparkle-twinkle 2.5s ease-in-out infinite;
            animation-delay: 0.7s;
        }

        @keyframes sparkle-twinkle {
            0% { opacity: 0; transform: scale(0.5) rotate(0deg); }
            50% { opacity: 1; transform: scale(1.2) rotate(45deg); }
            100% { opacity: 0; transform: scale(0.5) rotate(90deg); }
        }

        /* --- Nations Section Styles --- */
        .nations-section {
            padding: 4rem 1rem 4rem 1rem;
            background-color: #f5f6f6;
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .nations-header {
            text-align: center;
            margin-bottom: 1.3rem;
        }

        .nations-subtitle {
            color: var(--color-text-nav-active); /* Light Blue */
            font-size: 20px;
            font-weight: 600;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            margin-bottom: 0.5rem;
        }

        .nations-title {
            color: var(--color-bg-dark);
            font-size: 55px;
            font-weight: 730;
            text-transform: uppercase;
            letter-spacing: -0.02em;
            line-height: 1.1;
        }

        .filter-container {
            display: flex;
            flex-wrap: wrap;
            justify-content: center;
            gap: 0.5rem;
            margin-bottom: 3rem;
        }

        .filter-btn {
            background-color: white;
            border: 1px solid #e2e8f0;
            color: #64748b;
            padding: 0.5rem 1.25rem;
            border-radius: 9999px;
            font-size: 12px;
            font-weight: 700;
            text-transform: uppercase;
            cursor: pointer;
            transition: all 0.2s ease;
        }

        .filter-btn:hover {
            border-color: var(--color-text-nav-active);
            color: var(--color-text-nav-active);
        }

        .filter-btn.active {
            background-color: var(--color-text-nav-active);
            color: white;
            border-color: var(--color-text-nav-active);
            box-shadow: 0 4px 6px -1px rgba(44, 181, 202, 0.2);
        }

        .nations-grid {
            display: grid;
            grid-template-columns: repeat(2, 1fr); /* Mobile: 2 cols */
            gap: 1rem;
            width: 100%;
            max-width: 1200px;
        }

        .nation-card {
            background-color: #efefef;
            border-radius: 12px;
            padding: .7rem 1rem .4rem 1rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: center;
            box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05);
            transition: transform 0.2s ease, box-shadow 0.2s ease;
            border: 1px solid #d4d7da;
        }

        .nation-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05);
            background-color: #f8f8f8;
        }

        .nation-flag {
            font-family: var(--font-emoji);
            font-size: 3.65rem;
            line-height: 1;
            margin-bottom: 0.45rem;
        }
        .nation-flag img {
            width: 70px !important;   
            height: 45px !important;  
            object-fit: cover;        
            border-radius: 4px;
        }
.nation-flag {
    width: 70px;
    height: 46px;
    position: relative;
    overflow: hidden;
    margin-bottom: 0.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sss {
font-size: 1.5rem;
  font-weight: 700;     /* net bold */
  line-height: 1.4;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;     /* üstte 1 satır boşluk hissi */
 /* altta 1 satır boşluk hissi */
  color: darkorange;
}     

 .article-detail-body h2 {
  font-size: 1.5rem;
  font-weight: 700;     /* net bold */
  line-height: 1.4;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;     /* üstte 1 satır boşluk hissi */
 /* altta 1 satır boşluk hissi */
  color: #000;
}

.nation-flag img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    
    /* Maska tworząca kształt fali (inline SVG) */
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 60'%3E%3Cpath d='M0 5 Q 25 0, 50 5 T 100 5 V 55 Q 75 60, 50 55 T 0 55 Z' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 60'%3E%3Cpath d='M0 5 Q 25 0, 50 5 T 100 5 V 55 Q 75 60, 50 55 T 0 55 Z' fill='black'/%3E%3C/svg%3E");
    
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}


.nation-flag::after {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    pointer-events: none;
    /* Gradient udający światło i cień na fali */
    background: linear-gradient(
        105deg,
        rgba(255,255,255,0.2) 0%,
        rgba(0,0,0,0.1) 25%,
        rgba(255,255,255,0.15) 50%,
        rgba(0,0,0,0.1) 75%,
        rgba(255,255,255,0.1) 100%
    );
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 60'%3E%3Cpath d='M0 5 Q 25 0, 50 5 T 100 5 V 55 Q 75 60, 50 55 T 0 55 Z' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 60'%3E%3Cpath d='M0 5 Q 25 0, 50 5 T 100 5 V 55 Q 75 60, 50 55 T 0 55 Z' fill='black'/%3E%3C/svg%3E");
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
}
        .nation-name {
            font-size: 14px;
            font-weight: 700;
            color: #1e293b;
            line-height: 1.2;
            margin-bottom: 0.25rem;
        }

        .nation-fed {
            font-size: 11px;
            color: #94a3b8;
            font-weight: 500;
            text-transform: uppercase;
        }

        /* --- Blog & News Sections Styles --- */
        .content-section {
            padding: 4rem 1rem;
            background-color: #fcfcfc; /* Very light off-white to make cards pop */
            width: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
        }

        .content-header {
            text-align: center;
            margin-bottom: 3rem;
        }

        .content-subtitle {
            color: var(--color-text-nav-active);
            letter-spacing: 0.15em;
            text-transform: uppercase;
            margin-bottom: 0.5rem;
            font-size: 20px;
            font-weight: 600;
        }

        .content-title {
            color: var(--color-bg-dark);
            /* font-size: 36px; */
            /* font-weight: 900; */ /* Extra bold */
            text-transform: uppercase;
            letter-spacing: -0.01em;
            line-height: 1.1;
            font-size: 55px;
            font-weight: 730;
        }

        .content-grid {
            display: grid;
            grid-template-columns: repeat(1, 1fr); /* Mobile default */
            gap: 2rem;
            width: 100%;
            max-width: 1200px;
        }

        /* --- Updated Article Card Style --- */
        .article-card {
            display: flex;
            flex-direction: column;
            text-align: left;
            cursor: pointer;
            transition: transform 0.2s ease, box-shadow 0.2s ease;
            background-color: white; /* Bright white card */
            border: 1px solid #dcdfe9; /* Soft gray border */
            border-radius: 12px;
            overflow: hidden; /* Ensures image corners match card */
            box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.05);
        }

        .article-card:hover {
            /* transform: translateY(-4px); */
            border: 1px solid #c0c0c0;
            box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.065);
    
        }
        .article-card:hover h4 {
            text-decoration: underline;
        } 
        .article-image-container {
            width: 100%;
            margin-bottom: 0; /* Remove gap */
            border-radius: 0; /* Let card radius handle it */
            overflow: hidden;
            aspect-ratio: 16/9;
        }

        .article-image {
            width: 100%;
            height: 100%;
            object-fit: cover;
            border-radius: 0;
        }

        .article-content {
            padding: 1.5rem; /* Padding for text area */
        }

        .article-title {
            color: #000;
            font-size: 21px;
            font-weight: 610; /* Very bold */
            line-height: 1.3;
            margin-bottom: 0.5rem;
        }

        .article-excerpt {
            color: #64748b;
            font-size: 16px;
            line-height: 1.5;
            font-weight: 400;
        }

        /* --- Footer Styles --- */
        .site-footer {
            padding: 3rem 1rem;
            background-color: white;
            border-top: 1px solid #e2e5e9;
            text-align: center;
        }

        .footer-links {
            display: flex;
            justify-content: center;
            gap: 2rem;
            margin-bottom: 1rem;
        }

        .footer-link {
            color: #64748b;
            font-size: 13px;
            font-weight: 500;
            text-decoration: none;
            transition: color 0.2s;
        }

        .footer-link:hover {
            color: var(--color-text-nav-active);
        }

        .footer-copyright {
            color: #94a3b8;
            font-size: 12px;
        }

        /* --- Media Queries --- */
        @media (min-width: 768px) {
            .header-logo { width: 297px; }
            .nav-container {display: flex;align-items: center;column-gap: 2rem;margin-left: -2rem;}
            .header-cta-container { display: flex; }
            .mobile-menu-trigger { display: none; }
            
            .text-main-title { font-size: 240px; }
            .text-sub-title { font-size: 40px; }
            
            .timer-grid { grid-template-columns: repeat(4, 1fr); }
            .timer-number { font-size: 3.75rem; /* 6xl */ }
            
            /* Glass Info Box Desktop Styles */
            .glass-container {
                flex-direction: row; /* Horizontal layout on desktop */
                width: 58%; /* Revert to original width */
            }
            .glass-image {
                margin-bottom: 0;
                margin-right: 1.5rem; /* Space to the right of image on desktop */
            }
            .glass-content {
                border-left: 1px solid rgba(107, 114, 128, 0.3); /* Restore divider */
                padding-left: 1.5rem;
            }
            .glass-description {
                text-align: left; /* Left align text on desktop */
            }

            /* Nations Grid Desktop */
            .nations-grid {
                grid-template-columns: repeat(8, 1fr); /* Desktop: 8 cols based on reference */
                gap: .70rem;
            }
            
            .nations-title {
                font-size: 55px;
            }

            /* Content Grid Desktop */
            .content-grid {
                grid-template-columns: repeat(3, 1fr); /* Desktop: 3 cols */
                gap: 1.4rem;
            }
        }
        
     @media (max-width: 932px) {
        /* Mobile Header Overrides: Logo Center, Hamburger Left */
         .site-header {
             justify-content: center;
             position: sticky;
             top: 0;
             box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); /* Adds the soft separation shadow */
         }
         .mobile-menu-trigger {
             position: absolute;
             left: 13.5px;
             padding-right: 0;
             display: block;
         }
         .logo-container {
             position: absolute;
             left: 50%;
             transform: translateX(-50%);
         }
         .nav-container, .header-cta-container { 
             display: none !important; 
         }
         .mobile-cta-container.w-full {margin-left: -6px;}

         /* Existing Mobile Overrides */
         .mr-6 {margin-right: 0px;}
         .text-kickoff {font-size: 16px;letter-spacing: 2px;margin-bottom: 19px;}
         .text-locations {font-size: 12px;margin-bottom: -6px;}
         .text-superhead {font-size: 19px;}
         .hero-text-container{transform: scale(1.04);}
         .hero-overlay {padding-top: 35px;padding-bottom: 35px;}
         .timer-card {padding-top: 5px;padding-bottom: 4px;}
         .timer-number {font-size: 1.4rem;}
         .timer-grid {margin-bottom: 10px;}
         .btn-primary{font-size: 25px;padding: 16px 25px;}
         .btn-primary font {font-size: 19px;}
         .btn-primary .btn-icon {margin-left: 12px;margin-right: -2px;width:  18px; height:  18px;}
         .btn-hero {height: 56px;}
         .timer-grid { gap: 0.5rem;}
         .glass-container {padding: 20px;margin: 0px;width: 100%;background: rgb(104 134 185 / 20%);}
         .trophy-img {transform: scale(0.8);margin: 0px;padding: 0px;}
         .glass-description {line-height: 23px;font-size: .9rem;}
         .w-full .btn-primary .btn-icon {
             width: 28px;
         }
         
         .nations-grid {
             grid-template-columns: repeat(3, 1fr); /* 3 cols on mobile looks better than 2 for flags */
             gap: 0.5rem;
         }
         .nation-flag { font-size: 2rem; margin-bottom: 0.2rem; }
         .nation-name {font-size: 12px;}
         .nation-fed { font-size: 9px; }
         .nation-card {padding: 0.2rem 0.12rem;}
         .header-logo { max-width: none;}
         .nations-title {font-size: 33px;}
         .nations-subtitle {font-size: 14px;letter-spacing: 1px;}         
         .nations-section {padding-top: 28px;padding-bottom: 28px;}
         .nations-header { text-align: center; margin-bottom: 1.3rem;}
        .filter-btn {
             font-size: 11px;
             padding: 7px 4px;
             min-width: 115px;
             flex-shrink: 0; /* Prevents button squishing */
         }
         
         .filter-container {
             margin-bottom: 25px;
             width: 100%; /* Limits container to screen width */
             flex-wrap: nowrap;
             justify-content: flex-start;
             overflow-x: auto;
             -webkit-overflow-scrolling: touch;
             scrollbar-width: none; /* Ukrywa pasek w Firefox */
         }
         
         .filter-container::-webkit-scrollbar {
             display: none; /* Ukrywa pasek w Chrome/Safari/Edge */
         }
         .content-subtitle {letter-spacing: 1px;font-size: 14px;line-height: 14px;}
         .content-title { font-size: 33px;}
         .content-section {padding-top: 28px;padding-bottom:  28px;}
         .content-header { margin-bottom: 28px;}
         .footer-links a { display: block;}
         .footer-links {display: grid;grid-template-columns: repeat(1, 1fr);gap: 3px;}
         .footer-copyright {width: 60%; margin: auto;}
     }
     
             /* --- Article Detail Specific Styles --- */
        .article-detail-section {
            padding: 4rem 1rem 2rem;
            max-width: 850px;
            margin: 0 auto; /* Centers the article */
            display: flex;
            flex-direction: column;
        }

        .article-detail-header {
            margin-bottom: 2rem;
        }

        .article-detail-subtitle {
            color: var(--color-text-nav-active);
            font-size: 16px;
            font-weight: 600;
            letter-spacing: 0.15em;
            text-transform: uppercase;
            margin-bottom: 0.75rem;
            display: block;
        }

        .article-detail-title {
            color: var(--color-bg-dark);
            font-size: 46px; 
            font-weight: 800; /* Extrabold */
            line-height: 1.1;
            letter-spacing: -0.01em;
            margin-bottom: 1rem;
            margin-top: 0;
        }

        .article-detail-meta {
            display: flex;
            align-items: center;
            gap: 1.5rem;
            color: #64748b;
            font-size: 14px;
            font-weight: 500;
        }

        .article-detail-image-wrapper {
            width: 100%;
            border-radius: 12px;
            overflow: hidden;
            margin-bottom: 2.5rem;
        }

        .article-detail-image {
            width: 100%;
            height: auto;
            display: block;
            object-fit: cover;
        }

        .article-detail-body {
            color: #334155;
            font-size: 17px;
            line-height: 1.8;
            font-weight: 400;
        }

        .article-detail-body p {
            margin-bottom: 1.5rem;
        }

        /* Responsive adjustments for mobile */
        @media (max-width: 768px) {
            .article-detail-section {
                padding: 2rem 1rem 1rem;
            }
            .article-detail-title {
                font-size: 32px;
            }
            .article-detail-meta {
                gap: 1rem;
                font-size: 12px;
            }
            .article-detail-body {
                font-size: 16px;
            }
        }
        
        /* --- Mobile Slide-out Menu Styles --- */
        .mobile-menu-overlay {
            position: fixed;
            top: 0; left: 0; right: 0; bottom: 0;
            background-color: rgba(0, 0, 0, 0.6);
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.3s ease;
            z-index: 99; /* Sits above the header but below the drawer */
        }

         .mobile-menu-drawer {
            position: fixed;
            top: 0;
            left: 0;
            bottom: 0;
            width: 76%;
            max-width: 320px;
            background-color: #fbfaf9; /* Matches your body background */
            background-image: linear-gradient(rgba(251, 250, 249, 0.8), rgba(251, 250, 249, 0.8)), url('../img/trophy.png');
            background-repeat: no-repeat;
            background-position: center 32%;
            background-size: 200px auto;
            z-index: 100;
            transform: translateX(-100%); /* Hides it off-screen to the left */
            transition: transform 0.3s ease;
            display: flex;
            flex-direction: column;
            justify-content: space-between; /* Pushes nav up and button down */
            padding: 2rem 1rem 2rem 2rem;
            /* box-shadow: 2px 0 15px rgba(0,0,0,0.15); */
        }

        /* Spacing for the links inside the drawer */
        .mobile-nav {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
        }

        .mobile-nav .nav-link {
            font-size: 20px;
            display: block;
        }

        /* Active states triggered by JavaScript */
        body.menu-open {
            overflow: hidden; /* Prevents the background page from scrolling */
        }
        body.menu-open .mobile-menu-overlay {
            opacity: 1;
            pointer-events: auto;
        }
        body.menu-open .mobile-menu-drawer {
            transform: translateX(0); /* Slides it in */
        }