@font-face {
    font-family: "FF Daxline Pro";
    src: url("../fonts/FF-Daxline-Pro-Regular.woff2") format("woff2"),
        url("../fonts/FF-Daxline-Pro-Regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "FF Daxline Pro";
    src: url("../fonts/FF-Daxline-Pro-Bold.woff2") format("woff2"),
        url("../fonts/FF-Daxline-Pro-Bold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

:root {
    /* Brand Colors */
    --primary-blue: #003DA5;
    --secondary-yellow: #FFD700;
    --accent-purple: #5c2d91;
    --accent-red: #e31b23;
    --accent-gold: #c39b32;
    --white: #FFFFFF;
    --black: #0a0a0a;
    --gray-bg: #f8fafc;

    /* EuroJackpot (EJ) - Brand Standards */
    --ej-primary: #CA7F26;
    --ej-secondary: #F6C758;
    --ej-black: #1a1a1a;
    --ej-red: #e30613;

    /* EuroMillions (EM) - Brand Standards */
    --em-primary: #0070E1;
    --em-secondary: #6DB5E0;
    --em-red: #e31b23;

    /* Lotto 6aus49 - Brand Standards */
    --lotto-primary: #FAC200;
    --lotto-secondary: #FCD652;
    --lotto-blue: #000E54;
    /* Derived from the logo image */

    /* EuroDreams (ED) - Brand Standards */
    --ed-primary: #A15AB5;
    --ed-secondary: #00A88C;

    /* MegaMillions (MM) - Brand Standards */
    --mm-primary: #3957C8;
    --mm-secondary: #88ADDF;

    /* PowerBall (PB) - Brand Standards */
    --pb-primary: #E92A2A;
    --pb-secondary: #FA6A52;

    /* Heritage/Alias Support */
    --mega-blue: var(--em-primary);
    --mega-yellow: #FFCC00;
    --ej-gold: var(--ej-primary);
    --ej-gold-dark: var(--ej-secondary);

    /* Typography - Matched with lottoland.com */
    --font-main: "Aptos", "FF Daxline Pro", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    --font-headings: "Aptos", "FF Daxline Pro", "Outfit", "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

    /* Layout */
    --header-height: 80px;
    --max-width: 960px;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    overflow-x: hidden;
    width: 100%;
}

body {
    font-family: var(--font-main);
    background-color: var(--gray-bg);
    color: var(--black);
    line-height: 1.6;
}

.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;
}

.container {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 24px;
}

/* Header - Dual Bar System */
.main-header {
    background: var(--white);
    display: flex;
    flex-direction: column;
    position: sticky;
    top: 0;
    z-index: 1000;
}

.top-bar {
    height: 72px;
    padding: 0;
    display: flex;
    align-items: center;
    border: 0;
}

@media (max-width: 768px) {
    .main-header {
        position: relative;
        z-index: 1000;
    }

    /* Single header bar with logo left, burger right */
    .top-bar {
        height: 64px;
        min-height: 64px;
        padding-top: 8px;
        display: flex;
        align-items: center;
    }

    .top-bar .container-nav {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 16px;
        width: 100%;
    }

    .logo {
        padding: 0;
        height: 100%;
        display: flex;
        align-items: center;
    }

    .logo img {
        height: 28px;
        width: auto;
    }

    /* Hide secondary nav background, position burger in top-bar area */
    .secondary-nav {
        position: absolute !important;
        top: 8px !important;
        right: 0 !important;
        left: auto !important;
        width: auto !important;
        height: 56px !important;
        min-height: 56px !important;
        background: transparent !important;
        display: flex !important;
        align-items: center;
        z-index: 1001;
        box-shadow: none !important;
    }

    .secondary-nav .container-nav {
        padding: 0 16px;
        width: auto;
        justify-content: flex-end;
    }

    /* Nav links dropdown - improved styling */
    .nav-links {
        position: fixed !important;
        top: 64px !important;
        left: auto !important;
        right: 0 !important;
        width: 280px !important;
        max-width: 85vw;
        max-height: calc(100vh - 64px);
        overflow-y: auto;
        background: #fff !important;
        box-shadow: -4px 4px 20px rgba(0, 0, 0, 0.15);
        border-radius: 0 0 0 12px;
        padding: 8px 0;
    }

    .nav-links li {
        border-bottom: 1px solid #f1f5f9;
    }

    .nav-links li:last-child {
        border-bottom: none;
    }

    .nav-links li {
        width: 100%;
    }

    .nav-links a {
        padding: 14px 20px;
        font-size: 0.95rem;
        display: flex !important;
        align-items: center;
        gap: 12px;
        color: #1e293b;
        transition: background 0.2s ease, color 0.2s ease;
        width: 100%;
        box-sizing: border-box;
    }

    .nav-links a:hover,
    .nav-links a:focus {
        background: #f1f5f9;
        color: #0070E1;
    }

    .nav-links a.active {
        background: linear-gradient(90deg, #fef3c7 0%, #fff 100%);
        color: #b45309;
        font-weight: 700;
        border-left: 3px solid #f59e0b;
    }

    .nav-links .nav-icon {
        width: 24px;
        height: 24px;
        opacity: 0.7;
        flex-shrink: 0;
        display: inline-block !important;
    }
}

/* Hide nav icons on desktop */
.nav-links .nav-icon {
    display: none;
}

.top-bar-actions {
    display: none;
}

.secondary-nav {
    height: 52px;
    display: flex;
    align-items: center;
    background: linear-gradient(to bottom, #f8fafc, #f1f5f9);
    border: 0;
    box-shadow: none;
    outline: 0;
}

.container-nav {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
}

.secondary-nav .container-nav {
    justify-content: flex-start;
}

.top-bar .container-nav,
.secondary-nav .container-nav {
    padding: 0 24px;
}

.logo-h1 {
    margin: 0;
    padding: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
}

.logo {
    display: flex;
    align-items: center;
    height: 100%;
    text-decoration: none;
    padding: 27px 0 20px 0;
}

.logo img {
    height: 32px;
    width: auto;
    display: block;
    object-fit: contain;
    margin: 0;
}

.nav-links {
    display: flex;
    list-style: none;
    gap: 0;
    height: 100%;
}

.nav-toggle {
    display: none;
    background: transparent;
    border: 0;
    padding: 10px;
    margin-right: 4px;
    cursor: pointer;
}

.nav-toggle-lines {
    width: 18px;
    height: 12px;
    display: inline-flex;
    flex-direction: column;
    justify-content: space-between;
}

.nav-toggle-lines span {
    display: block;
    height: 2px;
    background: #012406;
    border-radius: 2px;
}

.nav-links li {
    height: 100%;
    display: flex;
    align-items: center;
}

.nav-links a {
    font-size: 14px;
    font-weight: 700;
    color: #012406;
    text-decoration: none;
    padding: 0 15px;
    margin: 0 4px;
    display: flex;
    align-items: center;
    height: 100%;
    transition: all 0.2s ease;
    text-transform: none;
    position: relative;
    z-index: 0;
}

.nav-links a::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    border-radius: 0;
    background: rgba(229, 231, 230, 0.5);
    opacity: 0;
    transition: opacity 0.2s ease;
    z-index: -1;
}

.nav-links a::after {
    content: "";
    width: 0;
    height: 0;
    margin-left: 8px;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 7px solid currentColor;
    opacity: 1;
    filter: drop-shadow(0 0 0.01px currentColor);
}

.nav-links a:hover {
    background: transparent;
    padding: 0 15px;
}

.nav-links a:hover::before {
    opacity: 1;
}

.nav-links a.active {
    background: transparent !important;
    color: #000000 !important;
    padding: 0 15px;
}

.nav-links a.active::before {
    background: #ffd205;
    opacity: 1;
}

@media (max-width: 960px) {
    .container-nav {
        padding: 0 16px;
    }

    .secondary-nav .container-nav {
        justify-content: space-between;
    }

    .nav-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    /* Hide nav links ONLY when JS is active (progressive enhancement).
       Without JS (crawlers, no-script): links remain visible and crawlable. */
    .secondary-nav.js-nav-ready .nav-links {
        display: none;
        position: absolute;
        left: 0;
        right: 0;
        top: calc(100% + 0px);
        height: auto;
        background: #f5f6f5;
        border-bottom: 2px solid #e5e7e6;
        flex-direction: column;
        padding: 8px 0;
        z-index: 1001;
    }

    .secondary-nav {
        position: relative;
    }

    .secondary-nav.js-nav-ready .nav-links--open {
        display: flex;
    }

    .nav-links li {
        height: auto;
    }

    .nav-links a {
        padding: 12px 16px;
        margin: 0;
        height: auto;
    }

    .nav-links a::after {
        content: none;
    }
}

/* Hero Section Base */
.results-hero {
    max-width: var(--max-width);
    margin: 30px auto;
    padding: 70px 40px;
    color: var(--white);
    text-align: center;
    border-radius: 24px;
    position: relative;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

.results-hero h1 {
    font-size: 72px;
    font-weight: 800;
    margin-bottom: 24px;
    letter-spacing: -2px;
    line-height: 1;
}

.badget {
    display: inline-block;
    background: rgba(255, 255, 255, 0.2);
    padding: 8px 20px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 32px;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.glass-panel {
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 32px;
    padding: 60px 40px;
    width: 100%;
    max-width: 700px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

/* Lottery Themes */
.purple-bg {
    background: linear-gradient(135deg, #5c2d91 0%, #3a1c5d 100%);
}

.euromillions-blue-bg {
    background: #0076ff;
    background: radial-gradient(circle at top right, #0084ff, #0056ff);
}

.yellow-bg {
    background: linear-gradient(135deg, #FFD700 0%, #e6c200 100%);
    color: var(--black);
}

.red-bg {
    background: linear-gradient(135deg, #e31b23 0%, #901116 100%);
}

.blue-bg {
    background: linear-gradient(135deg, #003DA5 0%, #002666 100%);
}

.gold-bg {
    background: linear-gradient(135deg, #c39b32 0%, #8c6e23 100%);
}

.dark-red-bg {
    background: linear-gradient(135deg, #901116 0%, #600b0f 100%);
}

/* Jackpot Elements */
.jackpot-container {
    margin-bottom: 40px;
}

.next-jackpot-label {
    display: block;
    font-size: 18px;
    opacity: 0.9;
    margin-bottom: 8px;
    font-weight: 400;
}

.jackpot-display {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0.5px;
}

/* CTA Styles */
.cta-box {
    margin-top: 40px;
}

.cta-button {
    background: linear-gradient(180deg, #69a507 0%, #69a507 100%);
    color: #012406;
    padding: 0 48px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 24px;
    text-transform: none;
    letter-spacing: normal;
    font-weight: 900;
    font-size: 16px;
    border: none;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease;
}

.cta-button:hover {
    background: linear-gradient(180deg, #87b739 0%, #87b739 100%);
    color: #012406;
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
}

.cta-green {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #8CC33F !important;
    color: rgb(1, 36, 6) !important;
    padding: 0 32px;
    height: 56px;
    border-radius: 24px;
    font-weight: 900;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.2s ease;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 4px 8px 0px;
    border: none;
}

.cta-green:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
    background: #5a9c0d !important;
    color: #ffffff !important;
}

a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid #1d4ed8;
    outline-offset: 3px;
}

/* Lottery Sub-header Bar */
.lottery-sub-header {
    background: #ffffff;
    border-bottom: 1px solid #e5e7e6;
    height: 70px;
    display: flex;
    align-items: center;
    position: sticky;
    top: 132px;
    /* main-header height (top-bar + secondary-nav) */
    z-index: 998;
}

.lottery-sub-header .container-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0 24px;
}

.lottery-info-group {
    display: flex;
    align-items: center;
    gap: 32px;
}

.info-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.info-item-label {
    font-size: 12px;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}

.info-item-value {
    font-size: 15px;
    font-weight: 700;
    color: #012406;
}

@media (max-width: 960px) {
    .lottery-sub-header {
        height: auto;
        padding: 12px 0;
        top: 108px;
    }

    .lottery-info-group {
        display: none;
    }

    .lottery-sub-header .container-nav {
        justify-content: center;
    }
}

.pulse-button {
    animation: pulse-glow 2s infinite;
}

@keyframes pulse-glow {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 215, 0, 0.7);
    }

    70% {
        box-shadow: 0 0 0 20px rgba(255, 215, 0, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255, 215, 0, 0);
    }
}

.hero-cta {
    margin-top: 32px;
}

.cta-subtext {
    font-size: 16px;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 16px;
    font-weight: 400;
}

/* Balls Styling (Keep for other pages) */
.results-balls {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin: 32px 0;
    flex-wrap: wrap;
}

.ball,
.super-ball,
.mega-ball,
.power-ball {
    width: 64px;
    height: 64px;
    font-size: 24px;
    background: radial-gradient(circle at 30% 30%, #ffffff 0%, #f0f0f0 50%, #dcdcdc 100%);
    border: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: inset -4px -4px 10px rgba(0, 0, 0, 0.1), 0 10px 20px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.star {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at 40% 40%, #fff700 0%, #ffc107 100%);
    filter: drop-shadow(0 5px 15px rgba(255, 193, 7, 0.4));
}

.star-ej {
    background: #ffeb3b;
    position: relative;
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
    width: 60px;
    height: 60px;
}

.dream-ball {
    background: #03a9f4;
    color: var(--white);
}

/* Info Section */
.info-content {
    padding: 80px 0;
    background: var(--white);
}

.info-content h2 {
    font-size: 32px;
    margin-bottom: 24px;
}

.info-content p {
    margin-bottom: 20px;
    font-size: 18px;
    color: #475569;
}

/* Footer */
/* ===== FOOTER STYLES ===== */

.main-footer {
    background: #f5f6f5;
    /* Unified footer color */
    margin-top: 0;
}

/* Footer Links Section */
.footer-links {
    padding: 50px 0 40px;
}

.footer-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 40px;
}

.footer-column {
    min-width: 0;
}

.footer-heading {
    font-size: 0.8rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
}

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

.footer-list li {
    margin-bottom: 10px;
}

.footer-list a {
    color: #1e293b;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
    transition: color 0.2s ease;
}

.footer-list a:hover {
    color: var(--mega-blue);
}

/* Footer Bottom Section - Stacked Layout */
.footer-bottom {
    padding: 50px 0 30px;
}

.footer-bottom .container-nav {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Section 1: Brand Identity At Top */
.footer-main-identity {
    text-align: center;
    margin-bottom: 50px;
}

.footer-logo-row {
    margin-bottom: 15px;
}

.footer-logo-row img {
    height: 32px;
    width: auto;
    mix-blend-mode: multiply;
}

.footer-tagline {
    font-size: 0.85rem;
    color: #475569;
    font-weight: 500;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    opacity: 1;
}


/* Section 2: Trust Badges (The "rest of logos") */
.footer-badges-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
    margin-bottom: 40px;
    padding: 30px 0;
    border-top: 1px solid #f1f5f9;
    border-bottom: 1px solid #f1f5f9;
}

.footer-badges-row .badge-item img {
    height: 50px;
    width: auto;
    object-fit: contain;
    opacity: 0.5;
    filter: grayscale(100%);
    transition: all 0.4s ease;
}


.footer-badges-row .badge-item:hover img {
    opacity: 1;
    filter: grayscale(0%);
    transform: translateY(-2px);
}

/* Section 3: Legal Literature */
.footer-legal-section {
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
}

.legal-text {
    color: #64748b;
    font-size: 0.7rem;
    line-height: 1.6;
    margin-bottom: 20px;
    opacity: 1;
}

.footer-warning {
    color: #475569 !important;
    font-weight: 500;
    font-size: 0.75rem;
    opacity: 1;
    letter-spacing: 0.01em;
}

.footer-warning a {
    color: #0f172a;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Footer Legal Navigation - clearly crawlable link */
.footer-legal-nav {
    margin-top: 16px;
    display: flex;
    justify-content: center;
    gap: 24px;
}

.footer-legal-link {
    color: #475569;
    font-size: 0.8rem;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color 0.2s ease;
}

.footer-legal-link:hover {
    color: #0f172a;
}


/* Responsive */
@media (max-width: 768px) {
    .footer-badges-row {
        gap: 20px;
    }

    .footer-badges-row .badge-item img {
        height: 40px;
    }
}


/* Responsive Footer */
@media (max-width: 1024px) {
    .footer-grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 30px;
    }
}

@media (max-width: 768px) {
    .footer-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }

    .footer-links {
        padding: 40px 0 30px;
    }

    .footer-badges {
        gap: 15px;
    }
}

@media (max-width: 480px) {
    .footer-grid {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .footer-column {
        text-align: center;
    }

    .footer-badges {
        flex-direction: column;
        gap: 12px;
    }
}

/* --- Option 4: Mega-Information Hub (Single Column & Vibrant) --- */

:root {
    --mega-blue: #0066d4;
    /* Vibrant Lottoland Blue */
    --mega-blue-dark: #002561;
    --mega-yellow: #ffcc00;
    --mega-bg: #f4f7fa;
    --mega-text: #1e293b;
}

body {
    background: #ffffff;
    color: var(--mega-text);
    font-family: 'Inter', sans-serif;
}

/* Unified Hero Title & Logo */
.hero-logo {
    width: 120px;
    height: auto;
    margin-bottom: 20px;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.hero-title {
    font-size: 4rem;
    font-weight: 800;
    margin-top: 10px;
    margin-bottom: 5px;
    line-height: 1.1;
    letter-spacing: -2px;
    text-align: center;
}

.hero-subtitle {
    font-size: 1.6rem;
    font-weight: 600;
    margin-bottom: 30px;
    line-height: 1.2;
    opacity: 0.95;
}

/* 1. Mega Hero (EuroMillions) */
.mega-hero {
    background: linear-gradient(135deg, #6DB5E0 0%, #0070E1 100%);
    padding: 70px 0 100px 0;
    color: white;
    text-align: center;
    border-bottom-left-radius: 50% 40px;
    border-bottom-right-radius: 50% 40px;
    position: relative;
    z-index: 1;
}

.mega-logo {
    width: 120px;
    height: auto;
    margin-bottom: 20px;
    filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.25));
}

.mega-title {
    font-size: 4rem;
    font-weight: 800;
    margin-bottom: 0px;
    line-height: 1.1;
    letter-spacing: -2px;
}

.mega-subtitle-yellow {
    font-size: 1.6rem;
    font-weight: 600;
    color: var(--mega-yellow);
    margin-bottom: 30px;
    line-height: 1.2;
    opacity: 0.95;
}

.hero-intro-text {
    font-size: 1.35rem;
    line-height: 1.6;
    max-width: 900px;
    margin: 0 auto 40px;
    opacity: 0.95;
    font-weight: 500;
}

/* EuroJackpot Hero */
.ej-hero {
    background: linear-gradient(135deg, #F6C758 0%, #CA7F26 100%);
    padding: 70px 0 100px 0;
    /* Added bottom padding for the curve */
    color: var(--ej-black);
    text-align: center;
    border-bottom-left-radius: 50% 40px;
    border-bottom-right-radius: 50% 40px;
    position: relative;
    z-index: 1;
}

.ej-logo {
    width: 120px;
    height: auto;
    margin-bottom: 20px;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
}

.lotto-logo {
    width: 120px;
    height: auto;
    margin-bottom: 20px;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
}

.ed-logo {
    width: 120px;
    height: auto;
    margin-bottom: 20px;
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.1));
}

.ej-title {
    font-size: 4rem;
    font-weight: 800;
    margin-bottom: 0px;
    line-height: 1.1;
    letter-spacing: -2px;
    color: var(--ej-black);
}

.ej-subtitle-black {
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--ej-black);
    margin-bottom: 30px;
    line-height: 1.2;
    letter-spacing: 1px;
}

/* Base Widget Style - Standardized */
.hero-widgets {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 40px;
    flex-wrap: wrap;
    align-items: stretch;
    /* Ensure equal height */
}

.hero-widget {
    position: relative;
    /* Added for pseudo-border alignment */
    overflow: hidden;
    /* Ensures the top accent follows the curve */
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(5px);
    border: none;
    padding: 30px 20px;
    width: 200px;
    /* Slightly wider for better breathing room */
    min-width: 180px;
    border-radius: 16px;
    /* Increased rounding */
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    /* Align content to top */
    gap: 12px;
    /* Increased gap */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    height: auto;
}

/* Standardized Top Accent Border */
.hero-widget::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 5px;
    /* Unified thickness */
    background-color: var(--widget-accent, transparent);
    border-radius: 16px 16px 0 0;
    z-index: 1;
}

.hero-widget:hover {
    transform: translateY(-8px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

.widget-icon {
    margin-bottom: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.widget-icon svg {
    width: 40px;
    height: 40px;
    stroke-width: 1.5px;
    transition: transform 0.3s ease;
}

.hero-widget:hover .widget-icon svg {
    transform: scale(1.1);
}

.widget-label {
    font-size: 0.7rem;
    /* Standardized to 0.7rem */
    font-weight: 700;
    letter-spacing: 0.5px;
    /* Reduced to 0.5px */
    text-transform: uppercase;
    opacity: 0.9;
    margin-bottom: 5px;
    text-align: center;
    white-space: nowrap;
    /* Force single line */
}

.widget-value {
    font-size: 1.8rem;
    /* Increased to 1.8rem to match Lotto/EuroDreams style */
    font-weight: 800;
    line-height: 1.1;
    text-align: center;
}

.widget-sub {
    font-size: 0.85rem;
    font-weight: 600;
    opacity: 0.8;
    margin-top: 2px;
}

/* --- Lottery Specific Widget Themes --- */

.lotto-page .hero-widget {
    --widget-accent: #E30613;
    background-color: #FCD652;
    color: var(--lotto-blue);
}

.lotto-page .hero-widget .widget-icon svg {
    stroke: var(--lotto-blue);
}

.lotto-page .hero-widget .widget-label {
    color: var(--lotto-blue);
    opacity: 0.85;
}

.lotto-page .hero-widget .widget-value {
    color: var(--lotto-blue);
    font-weight: 800;
}

/* 2. EuroMillions Widget */
.mega-hero .hero-widget {
    --widget-accent: var(--mega-yellow);
    background-color: rgba(255, 255, 255, 0.15);
    color: white;
}

.mega-hero .widget-icon svg {
    stroke: var(--mega-yellow);
}

.mega-hero .widget-label {
    color: white;
}

.mega-hero .widget-value {
    color: white;
}

/* 3. EuroJackpot Widget */
.ej-hero .hero-widget {
    --widget-accent: #1a1a1a;
    background-color: #dcb348;
    /* Darker Gold from theme */
    color: #1a1a1a;
}

.ej-hero .widget-icon svg {
    stroke: #1a1a1a;
}

.ej-hero .widget-label {
    color: #1a1a1a;
}

.ej-hero .widget-value {
    color: #1a1a1a;
}

/* 4. EuroDreams Widget */
.ed-hero .hero-widget {
    --widget-accent: var(--ed-secondary);
    background-color: #ffffff;
    /* Pure white */
    color: var(--ed-primary);
    /* Purple */
}

.ed-hero .widget-icon svg {
    stroke: var(--ed-secondary);
    /* Teal Icon */
}

.ed-hero .widget-label {
    color: #c084fc;
    /* Lighter Purple for Label */
    opacity: 1;
}

.ed-hero .widget-value {
    color: var(--ed-primary);
    /* Deep Purple for Value */
}

.ed-hero .widget-sub {
    color: #a855f7;
    /* Medium Purple for Subtext */
    opacity: 0.9;
}

/* 5. MegaMillions Widget */
.mm-widget {
    --widget-accent: #fcd34d;
    background-color: rgba(255, 255, 255, 0.95);
    color: #003DA5;
    /* Blue */
}

.mm-widget .widget-icon svg {
    stroke: #fcd34d;
}

.mm-widget .widget-label {
    color: #003DA5;
}

.mm-widget .widget-value {
    color: #003DA5;
}

/* 6. PowerBall Widget */
.pb-widget {
    --widget-accent: #C8102E;
    background-color: rgba(255, 255, 255, 0.95);
    color: #1e293b;
}

.pb-widget .widget-icon svg {
    stroke: #C8102E;
}

.pb-widget .widget-label {
    color: #1e293b;
}

.pb-widget .widget-value {
    color: #1e293b;
}

/* 2. Unified Container */
.container-mega {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px;
}

/* 3. Result Modules (Full Width) */
.result-section-mega {
    padding: 60px 0;
}

.mega-card {
    background: white;
    border-radius: 12px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    padding: 40px;
    margin-bottom: 40px;
    border: 1px solid #f1f5f9;
}

.card-title-mega {
    font-size: 1.4rem;
    color: #1e293b;
    margin-bottom: 30px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 20px;
    text-align: center;
    font-weight: 700;
}

.balls-mega {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin: 30px 0;
}

.b-ball,
.s-star,
.ej-ball,
.ej-euro,
.ed-ball,
.ed-dream,
.mm-ball,
.mm-mega,
.pb-ball,
.pb-power {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    font-weight: 700;
}

.b-ball {
    background: white;
    color: var(--mega-blue);
    border: 2px solid var(--mega-blue);
}

.s-star {
    background: var(--mega-yellow);
    color: var(--mega-blue-dark);
    border: none;
}

.ej-ball {
    background: white;
    color: #333;
    border: 2px solid var(--ej-gold);
}

.ej-euro {
    background: var(--ej-gold);
    color: var(--ej-black);
    border: none;
}

/* EuroDreams Balls */
.ed-ball {
    background: white;
    color: var(--ed-primary);
    border: 2px solid var(--ed-primary);
}

.ed-dream {
    background: linear-gradient(135deg, var(--ed-primary) 0%, var(--ed-secondary) 100%);
    color: white;
    border: none;
}

/* EuroDreams Archive Small Balls */
.ed-small {
    background: white !important;
    color: var(--ed-primary) !important;
    border: 2px solid var(--ed-primary) !important;
}

.ed-dream-small {
    background: linear-gradient(135deg, var(--ed-primary) 0%, var(--ed-secondary) 100%) !important;
    color: white !important;
    border: none !important;
}

/* EuroDreams Table Highlight */
.highlight-purple-bg {
    background-color: #f3e8ff;
    font-weight: 600;
}

/* EuroDreams Record Cards - Minimalist Theme */
.record-card--v2.purple-header .card-header {
    border-top-color: var(--ed-primary);
    background: white;
}

.record-card--v2.pink-header .card-header {
    border-top-color: var(--ed-secondary);
    background: white;
}

/* Icon Styling */
.record-card--v2.purple-header .record-icon svg circle {
    fill: var(--ed-primary);
    stroke: none;
}

.record-card--v2.purple-header .record-icon svg ellipse {
    fill: none;
    stroke: white;
    stroke-width: 2px;
}

.record-card--v2.purple-header .record-icon svg line {
    stroke: white;
    stroke-width: 2px;
}

.record-card--v2.purple-header .record-icon svg path {
    fill: var(--ed-primary);
}

.record-card--v2.pink-header .record-icon svg path {
    fill: var(--ed-secondary);
}

/* Text Styling */
.record-card--v2.purple-header .record-label {
    color: var(--ed-primary) !important;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.8rem;
    margin-bottom: 5px;
}

.record-card--v2.purple-header .record-amount {
    color: var(--ed-primary);
}

.record-card--v2.pink-header .record-amount {
    color: var(--ed-secondary);
}

/* EuroDreams How-to-Play Styles */
.ed-selected {
    background: var(--ed-primary) !important;
    color: white !important;
    border-color: var(--ed-primary) !important;
}

.ed-dream-selected {
    background: linear-gradient(135deg, var(--ed-primary) 0%, var(--ed-secondary) 100%) !important;
    color: white !important;
    border: none !important;
}

.dream-grid {
    display: flex;
    justify-content: center;
    gap: 12px;
    max-width: 300px;
    margin: 0 auto;
}

.dream-number {
    width: 50px;
    height: 50px;
    border: 2px solid var(--ed-secondary);
    color: var(--ed-secondary);
}

/* Prize Visual for EuroDreams */
.prize-visual {
    text-align: center;
    padding: 30px;
    background: linear-gradient(135deg, #f3e8ff 0%, #fce7f3 100%);
    border-radius: 16px;
}

.prize-amount {
    font-size: 2.5rem;
    font-weight: 800;
    color: var(--ed-primary);
    line-height: 1.1;
}

.prize-period {
    font-size: 1.2rem;
    color: #a855f7;
    font-weight: 600;
    margin-top: 5px;
}

.prize-duration {
    font-size: 1rem;
    color: var(--ed-secondary);
    font-weight: 700;
    margin-top: 10px;
}

.prize-total {
    font-size: 0.9rem;
    color: #64748b;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px dashed #c4b5fd;
}

/* EuroDreams Day Badge */
.day-badge.ed-day {
    background: var(--ed-primary);
    color: white;
}

/* MegaMillions Balls */
.mm-ball {
    background: white;
    color: #003DA5;
    border: 2px solid #003DA5;
}

.mm-mega {
    background: linear-gradient(135deg, #fcd34d 0%, #f59e0b 100%);
    color: #1a1a1a;
    border: none;
}

/* MegaMillions Archive Small Balls */
.mm-small {
    background: white !important;
    color: #003DA5 !important;
    border: 2px solid #003DA5 !important;
}

.mm-mega-small {
    background: linear-gradient(135deg, #fcd34d 0%, #f59e0b 100%) !important;
    color: #1a1a1a !important;
    border: none !important;
}

/* MegaMillions Table Highlight */
.highlight-gold-bg {
    background-color: #fef3c7;
    font-weight: 600;
}

/* MegaMillions Record Cards - Minimalist Theme */
.mm-page .record-card--v2.gold-header .card-header {
    border-top-color: #f59e0b;
    background: white;
}

.mm-page .record-card--v2.blue-header .card-header {
    border-top-color: var(--mm-primary);
    background: white;
}

.mm-page .record-card--v2.red-header .card-header {
    border-top-color: #D12F2F;
    background: white;
}

/* MegaMillions Record Card Icons */
.mm-page .record-card--v2.gold-header .record-icon svg path {
    fill: #f59e0b;
}

.mm-page .record-card--v2.blue-header .record-icon svg circle,
.mm-page .record-card--v2.blue-header .record-icon svg path {
    fill: var(--mm-primary);
}

.mm-page .record-card--v2.red-header .record-icon svg rect {
    fill: #D12F2F;
}

.mm-page .record-card--v2.red-header .record-icon svg rect:nth-child(2) {
    fill: var(--mm-primary);
}

/* MegaMillions Record Card Text Colors */
.mm-page .record-card--v2.gold-header .record-amount {
    color: #f59e0b;
}

.mm-page .record-card--v2.blue-header .record-amount,
.mm-page .record-card--v2.blue-header .record-label {
    color: var(--mm-primary);
}

.mm-page .record-card--v2.red-header .record-label {
    color: #D12F2F;
}

.mm-page .record-card--v2 .record-label {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.8rem;
    margin-bottom: 5px;
}

.mm-page .record-card--v2 .record-card-text strong {
    color: var(--mm-primary);
}

/* MegaMillions How-to-Play Styles */
.mm-selected {
    background: var(--mm-primary) !important;
    color: white !important;
    border-color: var(--mm-primary) !important;
}

.mm-mega-selected {
    background: linear-gradient(135deg, #fcd34d 0%, #f59e0b 100%) !important;
    color: #1a1a1a !important;
    border: none !important;
}

.megaball-grid {
    display: flex;
    justify-content: center;
    gap: 12px;
    max-width: 300px;
    margin: 0 auto;
}

.mega-number {
    width: 50px;
    height: 50px;
    border: 2px solid #f59e0b;
    color: #f59e0b;
}

/* Multiplier Badge & Visual */
.multiplier-badge {
    text-align: center;
    background: linear-gradient(135deg, #fcd34d 0%, #f59e0b 100%);
    color: #1a1a1a;
    padding: 8px 20px;
    border-radius: 20px;
    font-weight: 700;
    display: inline-block;
    margin: 10px auto;
    width: fit-content;
}

.multiplier-visual {
    text-align: center;
    padding: 30px;
    background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
    border-radius: 16px;
}

.multiplier-options {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 15px;
}

.mult-option {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: white;
    border: 2px solid #f59e0b;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    color: #f59e0b;
}

.mult-option.highlight {
    background: linear-gradient(135deg, #fcd34d 0%, #f59e0b 100%);
    color: #1a1a1a;
    border: none;
    transform: scale(1.1);
}

.multiplier-info {
    font-size: 0.9rem;
    color: #92400e;
    font-weight: 500;
}

/* MegaMillions Day Badge */
.day-badge.mm-day {
    background: #003DA5;
    color: white;
}

/* MegaMillions Hero Section */
.mm-hero {
    background: linear-gradient(135deg, #88ADDF 0%, #3957C8 100%);
    color: white;
    padding: 70px 0 100px 0;
    text-align: center;
    border-bottom-left-radius: 50% 40px;
    border-bottom-right-radius: 50% 40px;
    position: relative;
    z-index: 1;
}

.mm-hero .hero-trust-bar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.1);
    margin-bottom: 0;
    color: white;
}

.mm-hero .trust-item svg {
    stroke: white;
}

.mm-hero .hero-title {
    color: #fcd34d;
}

.mm-hero .hero-subtitle,
.mm-hero .hero-intro-text {
    color: white;
}

/* PowerBall Balls */
.pb-ball {
    background: white;
    color: #1e293b;
    border: 2px solid #1e293b;
}

.pb-power {
    background: linear-gradient(135deg, #C8102E 0%, #ef4444 100%);
    color: white;
    border: none;
}

/* PowerBall Archive Small Balls */
.pb-small {
    background: white !important;
    color: #1e293b !important;
    border: 2px solid #1e293b !important;
}

.pb-power-small {
    background: linear-gradient(135deg, #C8102E 0%, #ef4444 100%) !important;
    color: white !important;
    border: none !important;
}

/* PowerBall Table Highlight */
.highlight-red-bg {
    background-color: #fee2e2;
    font-weight: 600;
}

/* PowerBall Record Cards - Minimalist Theme */
.pb-page .record-card--v2.darkred-header .card-header {
    border-top-color: var(--pb-primary);
    background: white;
}

.pb-page .record-card--v2.white-header .card-header {
    border-top-color: var(--pb-primary);
    background: white;
}

.pb-page .record-card--v2.gray-header .card-header {
    border-top-color: #1e293b;
    background: white;
}

/* PowerBall Record Card Icons */
.pb-page .record-card--v2.darkred-header .record-icon svg path {
    fill: var(--pb-primary);
}

.pb-page .record-card--v2.white-header .record-icon svg path {
    fill: var(--pb-primary);
}

.pb-page .record-card--v2.gray-header .record-icon svg path {
    fill: #1e293b;
}

/* PowerBall Record Card Text Colors */
.pb-page .record-card--v2.darkred-header .record-amount {
    color: var(--pb-primary);
}

.pb-page .record-card--v2.white-header .record-label,
.pb-page .record-card--v2.gray-header .record-label {
    color: #1e293b;
}

.pb-page .record-card--v2 .record-label {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.8rem;
    margin-bottom: 5px;
}

.pb-page .record-card--v2 .record-card-text strong {
    color: #991b1b;
}

/* PowerBall How-to-Play Styles */
.pb-selected {
    background: #1e293b !important;
    color: white !important;
    border-color: #1e293b !important;
}

.pb-power-selected {
    background: linear-gradient(135deg, #C8102E 0%, #ef4444 100%) !important;
    color: white !important;
    border: none !important;
}

.powerball-grid {
    display: flex;
    justify-content: center;
    gap: 12px;
    max-width: 300px;
    margin: 0 auto;
}

.power-number {
    width: 50px;
    height: 50px;
    border: 2px solid #C8102E;
    color: #C8102E;
}

.lottery-number.power-number {
    border-color: #991b1b;
    color: #991b1b;
    font-weight: 700;
}

/* Power Play Badge & Visual */
.powerplay-badge {
    text-align: center;
    background: linear-gradient(135deg, #C8102E 0%, #ef4444 100%);
    color: white;
    padding: 8px 20px;
    border-radius: 20px;
    font-weight: 700;
    display: inline-block;
    margin: 10px auto;
    width: fit-content;
}

.powerplay-visual {
    text-align: center;
    padding: 30px;
    background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
    border-radius: 16px;
}

.powerplay-options {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-bottom: 15px;
}

.pp-option {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: white;
    border: 2px solid #C8102E;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.9rem;
    color: #C8102E;
}

.pp-option.highlight {
    background: linear-gradient(135deg, #C8102E 0%, #ef4444 100%);
    color: white;
    border: none;
    transform: scale(1.15);
}

.powerplay-info {
    font-size: 0.9rem;
    color: #991b1b;
    font-weight: 500;
}

/* PowerBall Day Badge */
.day-badge.pb-day {
    background: #991b1b;
    color: white;
}

/* PowerBall Hero Section */
.pb-hero {
    background: linear-gradient(135deg, #FA6A52 0%, #E92A2A 100%);
    color: white;
    padding: 70px 0 100px 0;
    text-align: center;
    border-bottom-left-radius: 50% 40px;
    border-bottom-right-radius: 50% 40px;
    position: relative;
    z-index: 1;
}

.pb-hero .hero-trust-bar {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.1);
    margin-bottom: 0;
    color: white;
}

.pb-hero .trust-item svg {
    stroke: white;
}

.pb-hero .hero-title {
    color: #fca5a5;
}

.pb-hero .hero-subtitle,
.pb-hero .hero-intro-text {
    color: white;
}

/* ==========================================
   HOME PAGE STYLES
   ========================================== */

/* Home Hero */
.home-hero {
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
    color: #333;
    padding: 80px 0 100px 0;
    margin-top: 30px;
    border-bottom-left-radius: 50% 40px;
    border-bottom-right-radius: 50% 40px;
}

.hero-content-grid {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 60px;
    align-items: center;
}

.hero-text {
    text-align: left;
}

.hero-eyebrow {
    display: inline-block;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    opacity: 0.9;
    margin-bottom: 16px;
}

.home-hero-title {
    font-family: 'Outfit', sans-serif;
    font-size: 3.5rem;
    font-weight: 800;
    margin-bottom: 20px;
    color: #333;
    line-height: 1.1;
}

.home-hero-title .highlight {
    color: white;
}

.home-hero-subtitle {
    font-size: 1.15rem;
    max-width: 500px;
    opacity: 0.95;
    line-height: 1.7;
    margin-bottom: 30px;
}

.hero-cta .btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #69a507 0%, #69a507 100%);
    color: #012406;
    padding: 0 32px;
    height: 56px;
    border-radius: 24px;
    font-weight: 900;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.2s ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border: none;
    cursor: pointer;
    animation: cta-pulse-zoom 2s ease-in-out infinite;
}

@keyframes cta-pulse-zoom {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }
}

.hero-cta .btn-primary:hover {
    transform: scale(1.05) translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
    background: linear-gradient(180deg, #87b739 0%, #87b739 100%);
    color: #012406;
    animation-play-state: paused;
}

/* Hero Stats Card - Vertical Stacked Layout */
.hero-stats-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 380px;
    width: 100%;
}

.stats-card-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    text-align: left;
    gap: 16px;
    /* Semi-transparent white to blend with yellow */
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px);
    position: relative;

    /* The Lottoland Signature: Green Top Border */
    border-top: 4px solid #69a507;
    border-radius: 8px;
    /* Classic Lottoland radius */

    padding: 20px 24px;

    /* Clean, structured shadow */
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
    transition: transform 0.2s ease;

    min-height: auto;
    width: 100%;
}

.stats-card-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.12);
}

.stats-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.stats-icon--users {
    background: linear-gradient(135deg, #F3E650 0%, #FFD205 100%);
}

.stats-icon--users svg {
    stroke: #012406;
}

.stats-icon--check {
    background: linear-gradient(135deg, #A5CD28 0%, #69A507 100%);
}

.stats-icon--check svg {
    stroke: white;
}

.stats-icon--shield {
    background: linear-gradient(135deg, #A30855 0%, #5B0841 100%);
}

.stats-icon--shield svg {
    stroke: white;
}

.stats-content {
    display: flex;
    flex-direction: column;
    gap: 4px;
    flex: 1;
}

.stats-value {
    font-family: 'Outfit', sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: #012406 !important;
    /* Force readability and contrast */
    line-height: 1.2;
}

.stats-label {
    color: #333333 !important;
    /* Force readability and contrast */
    /* Standard Lottoland subtext */
    font-size: 14px;
    font-weight: 600;
}


.stats-label {
    font-size: 0.9rem;
    color: #ffffff;
    line-height: 1.4;
    font-weight: 500;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
    /* Subtle shadow for legibility */
}

/* Lottery Cards Grid */
.lottery-cards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
    margin-top: 40px;
}

.lottery-card {
    background: white;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
    text-decoration: none;
    color: inherit;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #f1f5f9;
}

.lottery-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.15);
}

.lottery-card-header {
    padding: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 140px;
    position: relative;
}

.lottery-draw-time {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 13px;
    font-weight: 700;
    color: #1a1a1a;
    background: rgba(255, 255, 255, 0.6);
    padding: 6px 12px;
    border-radius: 6px;
    z-index: 10;
    line-height: 1;
}

.lottery-card-logo {
    max-height: 80px;
    /* Increased size */
    max-width: 200px;
    width: auto;
    object-fit: contain;
    background: rgba(255, 255, 255, 0.9);
    padding: 10px 14px;
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
}

.lottery-card-body {
    padding: 0 24px 24px;
    text-align: center;
}

.lottery-card-body h3 {
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: 10px;
    color: #1e293b;
}

.lottery-card-body p {
    font-size: 0.95rem;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 15px;
}

.lottery-card-info {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.lottery-tag {
    background: #f1f5f9;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 0.8rem;
    color: #475569;
}

/* Redesigned Location Pill */
.lottery-card-location {
    display: flex;
    justify-content: center;
    margin-top: -16px;
    margin-bottom: 16px;
    position: relative;
    z-index: 5;
}

.loc-pill {
    background: white;
    padding: 6px 12px;
    border-radius: 100px;
    font-size: 0.7rem;
    font-weight: 800;
    color: #64748b;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.06);
    display: flex;
    align-items: center;
    gap: 6px;
    letter-spacing: 0.5px;
    border: 1px solid #f1f5f9;
}

.flag-icon {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    display: inline-block;
}

.flag-de {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23ffce44" d="M0 341.3h512V512H0z"/><path d="M0 0h512v170.7H0z"/><path fill="%23d00" d="M0 170.7h512v170.6H0z"/></svg>');
}

.flag-eu {
    background-color: #003399;
    /* Official EU Blue */
    background-image: url('data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 50 512 512%22%3E%3Cpath fill=%22%23ffcc00%22 d=%22M256 61.4l12.3 37.9h39.8l-32.2 23.4 12.3 37.9-32.2-23.4-32.2 23.4 12.3-37.9-32.2-23.4h39.8zM368 91.4l12.3 37.9h39.8l-32.2 23.4 12.3 37.9-32.2-23.4-32.2 23.4 12.3-37.9-32.2-23.4h39.8zM450.6 174l12.3 37.9h39.8l-32.2 23.4 12.3 37.9-32.2-23.4-32.2 23.4 12.3-37.9-32.2-23.4h39.8zM480.6 286l12.3 37.9h39.8l-32.2 23.4 12.3 37.9-32.2-23.4-32.2 23.4 12.3-37.9-32.2-23.4h39.8zM450.6 398l12.3 37.9h39.8l-32.2 23.4 12.3 37.9-32.2-23.4-32.2 23.4 12.3-37.9-32.2-23.4h39.8zM368 480.6l12.3 37.9h39.8l-32.2 23.4 12.3 37.9-32.2-23.4-32.2 23.4 12.3-37.9-32.2-23.4h39.8zM256 510.6l12.3 37.9h39.8l-32.2 23.4 12.3 37.9-32.2-23.4-32.2 23.4 12.3-37.9-32.2-23.4h39.8zM144 480.6l12.3 37.9h39.8l-32.2 23.4 12.3 37.9-32.2-23.4-32.2 23.4 12.3-37.9-32.2-23.4h39.8zM61.4 398l12.3 37.9h39.8l-32.2 23.4 12.3 37.9-32.2-23.4-32.2 23.4 12.3-37.9-32.2-23.4h39.8zM31.4 286l12.3 37.9h39.8l-32.2 23.4 12.3 37.9-32.2-23.4-32.2 23.4 12.3-37.9-32.2-23.4h39.8zM61.4 174l12.3 37.9h39.8l-32.2 23.4 12.3 37.9-32.2-23.4-32.2 23.4 12.3-37.9-32.2-23.4h39.8zM144 91.4l12.3 37.9h39.8l-32.2 23.4 12.3 37.9-32.2-23.4-32.2 23.4 12.3-37.9-32.2-23.4h39.8z%22/%3E%3C/svg%3E');
    background-size: 14px;
    /* Reduced to ensure absolute safety from clipping */
    background-position: center;
    /* Perfectly centered thanks to viewBox fix */
    background-repeat: no-repeat;
}

.flag-us {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="%23fff" d="M0 0h512v512H0z"/><path fill="%23b22234" d="M0 0h512v39.4H0zm0 78.8h512v39.4H0zm0 78.7h512v39.4H0zm0 78.8h512v39.4H0zm0 78.8h512v39.4H0zm0 78.7h512v39.4H0zm0 78.8h512v39.4H0z"/><path fill="%233c3b6e" d="M0 0h204.8v275.7H0z"/></svg>');
}

/* Jackpot Styling */
.lottery-card-jackpot {
    margin: 16px 0 20px;
}

.jackpot-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    color: #475569;
    letter-spacing: 1px;
    margin-bottom: 2px;
}

.jackpot-value {
    display: block;
    font-size: 1.8rem;
    font-weight: 900;
    color: var(--black);
    line-height: 1;
}

/* CTA Styles */
.lottery-card-cta-row {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px dashed #e2e8f0;
}

.lottery-card-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #69a507 0%, #69a507 100%);
    color: #012406;
    padding: 0 32px;
    height: 56px;
    border-radius: 24px;
    font-weight: 900;
    font-size: 16px;
    transition: all 0.2s ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border: none;
    width: 100%;
}

.lottery-card:hover .lottery-card-btn {
    background: linear-gradient(180deg, #87b739 0%, #87b739 100%);
    color: #012406;
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
}

/* Lottery Card Color Accents */
.lottery-card.lotto-card .lottery-card-header {
    background: linear-gradient(135deg, #FCD652 0%, #FAC200 100%);
}

.lottery-card.ej-card .lottery-card-header {
    background: linear-gradient(135deg, #F6C758 0%, #CA7F26 100%);
}

.lottery-card.em-card .lottery-card-header {
    background: linear-gradient(135deg, #6DB5E0 0%, #0070E1 100%);
}

.lottery-card.ed-card .lottery-card-header {
    background: linear-gradient(135deg, #00A88C 0%, #A15AB5 100%);
}

.lottery-card.mm-card .lottery-card-header {
    background: linear-gradient(135deg, #88ADDF 0%, #3957C8 100%);
}

.lottery-card.pb-card .lottery-card-header {
    background: linear-gradient(135deg, #FA6A52 0%, #E92A2A 100%);
}

/* Trust Features Grid */
.trust-features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* Cuadrícula de 2x2 */
    gap: 30px;
    margin: 40px auto 0;
    max-width: 900px;
    /* Limitar el ancho para que el 2x2 se vea bien */
}

.trust-feature {
    text-align: center;
    padding: 40px 30px;
    background: #f8fafc;
    border-radius: 20px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #f1f5f9;
}

.trust-feature:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.trust-feature-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 25px;
    background: linear-gradient(135deg, #A5CD28 0%, #69A507 100%);
    /* Verde Lottoland */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 20px rgba(165, 205, 40, 0.3);
}

.trust-feature-icon svg {
    stroke: white;
    width: 32px;
    height: 32px;
}

.trust-feature h3 {
    font-size: 1.2rem;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 12px;
}

.trust-feature p {
    font-size: 0.95rem;
    color: #64748b;
    line-height: 1.6;
}

/* Trust Badges Section */
.trust-badges-section {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    flex-wrap: wrap;
    margin-top: 50px;
    padding: 30px;
    background: #f8fafc;
    border-radius: 16px;
}

.trust-badge-item img {
    max-height: 50px;
    width: auto;
    opacity: 0.8;
    transition: opacity 0.3s ease;
}

.trust-badge-item img:hover {
    opacity: 1;
}

/* About Section */
.about-content {
    max-width: 800px;
    margin: 0 auto;
}

.about-text p {
    font-size: 1.05rem;
    line-height: 1.8;
    color: #475569;
    margin-bottom: 20px;
}

.about-text strong {
    color: #1e293b;
}

.about-list {
    list-style: none;
    padding: 0;
    margin: 20px 0;
}

.about-list li {
    padding: 10px 0 10px 30px;
    position: relative;
    font-size: 1rem;
    color: #475569;
}

.about-list li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #22c55e;
    font-weight: 700;
}

.about-list li strong {
    color: #1e293b;
}

/* Responsive Home */
@media (max-width: 900px) {
    .hero-content-grid {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
    }

    .hero-text {
        text-align: center;
    }

    .home-hero-subtitle {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
    }

    .hero-stats-card {
        max-width: 450px;
        margin: 0 auto;
    }

    .stats-card-item:hover {
        transform: translateY(-3px);
    }

    .trust-features-grid {
        grid-template-columns: 1fr;
        /* Columna única en móviles */
    }
}

@media (max-width: 768px) {
    .home-hero {
        padding: 60px 0 80px 0;
    }

    .home-hero-title {
        font-size: 2.2rem;
    }

    .home-hero-subtitle {
        font-size: 1rem;
    }

    .lottery-cards-grid {
        grid-template-columns: 1fr;
    }

    .trust-features-grid {
        grid-template-columns: 1fr;
    }

    .stat-number {
        font-size: 1.2rem;
    }
}

/* 4. Single Column Tables */
.mega-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    font-size: 0.95rem;
}

.mega-table thead,
.ej-table thead {
    background: transparent;
    color: #64748b;
    border-bottom: 2px solid #e2e8f0;
}

.mega-table th {
    text-align: left;
    padding: 14px 16px;
    font-weight: 700;
    font-size: 0.95rem;
}

.mega-table td {
    padding: 12px 16px;
    border-bottom: 1px solid #e2e8f0;
    font-weight: 500;
    color: #475569;
}

.mega-table tbody tr:nth-child(even) {
    background-color: #f1f5f9;
}

.mega-table tbody tr:hover {
    background-color: #e2e8f0;
}

.highlight-yellow-bg {
    background: #fffbeb !important;
}

/* 5. Result Archive List */
.archive-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.archive-item {
    background: transparent;
    padding: 25px 15px;
    border-bottom: 1px solid #f1f5f9;
    display: flex;
    flex-direction: column;
    gap: 15px;
    transition: background-color 0.2s;
}

/* Zebra Striping */
.archive-item:nth-child(even) {
    background-color: #f8fafc;
    border-radius: 8px;
    border-bottom: none;
}

/* Zebra Striping - Combined block removed */

.archive-item:last-child {
    border-bottom: none;
}

.archive-jackpot-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

.archive-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.archive-balls {
    display: flex;
    gap: 8px;
}

.b-small {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: white;
    border: 1.5px solid var(--mega-blue);
    color: var(--mega-blue);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 700;
}

.s-small {
    background: var(--mega-yellow);
    border: none;
    color: var(--mega-blue-dark);
}

.view-prizes-btn {
    background: transparent;
    color: #64748b;
    border: 1px solid #e2e8f0;
    padding: 6px 16px;
    border-radius: 20px;
    font-size: 0.8rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.view-prizes-btn:hover {
    border-color: #94a3b8;
    color: #1e293b;
    background: white;
}

/* Small EJ Balls */
.ej-ball-small {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: white;
    border: 1.5px solid var(--ej-gold);
    color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.85rem;
    font-weight: 700;
}

.ej-euro-small {
    background: var(--ej-gold);
    border: none;
    color: var(--ej-black);
}

.prize-table-container {
    margin-top: 12px;
    padding-top: 15px;
    border-top: 2px solid #e2e8f0;
}

.prize-breakdown-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.95rem;
    margin-top: 8px;
}

.prize-breakdown-table thead {
    background: transparent;
    color: #64748b;
    border-bottom: 2px solid #e2e8f0;
}

.prize-breakdown-table th {
    padding: 14px 16px;
    text-align: left;
    font-weight: 700;
    font-size: 0.95rem;
}

.prize-breakdown-table td {
    padding: 12px 16px;
    border-bottom: 1px solid #e2e8f0;
    color: #475569;
    font-weight: 500;
}

.prize-breakdown-table tbody tr:first-child {
    background-color: #fffbeb;
}

.prize-breakdown-table tbody tr:nth-child(even) {
    background-color: #f1f5f9;
}

.prize-breakdown-table tbody tr:hover {
    background-color: #e2e8f0;
}

/* Hidden Archive Items */
.hidden-archive-item {
    display: none;
}

/* Load More Button Container */
.load-more-container {
    text-align: center;
    margin-top: 30px;
}

.load-more-btn {
    background: white;
    color: #475569;
    border: 1px solid #e2e8f0;
    padding: 12px 30px;
    border-radius: 30px;
    font-size: 0.95rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03);
}

.load-more-btn:hover {
    border-color: #cbd5e1;
    color: #1e293b;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* 6. Deep Content Sections - STRICT SINGLE COLUMN */
.full-width-section {
    padding: 80px 0;
}

.full-width-section.white {
    background: white;
}

.section-title-mega {
    font-size: 2.5rem;
    color: var(--mega-blue-dark);
    margin-bottom: 20px;
    text-align: center;
}

.section-intro-mega {
    font-size: 1.25rem;
    color: #475569;
    text-align: center;
    max-width: 800px;
    margin: 0 auto 50px;
    line-height: 1.6;
}

.content-block-mega {
    max-width: 800px;
    margin: 0 auto 40px;
}

.content-block-mega h3 {
    font-size: 1.5rem;
    color: var(--mega-blue);
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-align: center;
}

.content-block-mega h3::before {
    content: "🔵";
    /* Placeholder for icon color instruction */
    font-size: 1.2rem;
}

.content-block-mega p {
    font-size: 1.1rem;
    line-height: 1.8;
    color: #475569;
    font-weight: 400;
}

.content-block-mega p strong {
    color: var(--mega-blue);
    font-weight: 700;
}

/* Records Section - Enhanced Alternative Style */
.records-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-top: 50px;
}

.record-card--v2 {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    display: flex;
    flex-direction: column;
    height: 100%;
    border: 1px solid #f1f5f9;
}

.record-card--v2:hover {
    transform: translateY(-10px);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.12);
}

.record-card--v2 .card-header {
    padding: 40px 30px 20px;
    text-align: center;
    position: relative;
    background: white;
    border-top: 4px solid #cbd5e1;
}

.record-card--v2.blue-header .card-header {
    border-top-color: var(--mega-blue);
}

.record-card--v2.yellow-header .card-header {
    border-top-color: var(--mega-yellow);
}

.record-icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8fafc;
    border-radius: 12px;
    padding: 12px;
}

.record-icon svg {
    width: 40px;
    height: 40px;
}

/* EuroMillions Record Icons - Default Blue Theme */
.record-card--v2.blue-header .record-icon svg,
.record-card--v2.blue-header .record-icon path {
    fill: var(--mega-blue);
}

.record-card--v2.yellow-header .record-icon svg,
.record-card--v2.yellow-header .record-icon path {
    fill: #d97706;
}

/* EuroMillions Page - Blue Icons */
.em-page .record-icon svg,
.em-page .record-icon path {
    fill: var(--em-primary);
}

/* EuroJackpot Page - Gold Icons */
.ej-page .record-icon svg,
.ej-page .record-icon path {
    fill: var(--ej-primary);
}

/* EuroDreams Page - Purple Icons */
.ed-page .record-icon svg,
.ed-page .record-icon path {
    fill: var(--ed-primary);
}

/* Lotto 6aus49 Page - Yellow Icons */
.lotto-page .record-icon svg,
.lotto-page .record-icon path {
    fill: var(--lotto-primary);
}

/* MegaMillions Page - Blue Icons */
.mm-page .record-icon svg,
.mm-page .record-icon path {
    fill: var(--mm-primary);
}

/* PowerBall Page - Red Icons */
.pb-page .record-icon svg,
.pb-page .record-icon path {
    fill: var(--pb-primary);
}

.record-card--v2 .record-amount {
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 8px;
    color: #1e293b;
    letter-spacing: -0.02em;
}

.record-card--v2 .record-card-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0;
}

.record-card--v2 .card-body {
    padding: 0 30px 40px;
    flex-grow: 1;
}

.record-card--v2 .record-card-text {
    font-size: 0.95rem;
    line-height: 1.7;
    color: #64748b;
    text-align: center;
}

.record-card--v2 .record-card-text strong {
    color: var(--mega-blue);
    font-weight: 700;
}

/* EuroJackpot Specific Step Styles - Gold/Black */
.ej-steps .step-number-circle {
    background-color: var(--ej-gold-dark);
    /* Secondary Gold */
    color: var(--ej-black);
    font-weight: 700;
}

.ej-steps .card-title {
    color: var(--ej-black);
}

.ej-steps .record-card-text strong {
    color: var(--ej-black);
}

.ej-steps .mini-ball--yellow {
    background-color: var(--ej-gold-dark);
    color: var(--ej-black);
}

.ej-steps .acceptance-time {
    color: var(--ej-black);
}

.record-card--v2.blue-header .record-card-text strong {
    color: var(--mega-blue);
}

@media (max-width: 1024px) {
    .records-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .record-card {
        padding: 35px 30px;
    }

    .record-amount {
        font-size: 2.4rem;
    }

    .record-icon {
        font-size: 3rem;
    }
}

/* Step-by-Step Visual Guide - EuroMillions Theme (Centered Breakout) */
.step-cards-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
    margin-top: 50px;

    /* Break out of parent container to ensure perfect centering */
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 0 max(20px, calc(50vw - 600px));
    /* Max content width ~1200px */
}

.step-card {
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 30px 20px;
    text-align: center;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
}

.step-card:hover {
    border-color: var(--mega-blue);
    box-shadow: 0 10px 20px rgba(0, 102, 212, 0.1);
    transform: translateY(-5px);
}

.step-number {
    width: 36px;
    height: 36px;
    background: var(--mega-blue);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: 700;
    margin: 0 auto 15px;
    box-shadow: 0 2px 5px rgba(0, 102, 212, 0.25);
}

.step-number::before {
    content: "";
}

.step-title {
    font-size: 1.05rem;
    font-weight: 600;
    color: #1e293b;
    margin-bottom: 0;
}

.step-visual {
    margin: 30px 0;
    min-height: 160px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border-radius: 8px;
    padding: 10px;
}

.step-description {
    font-size: 0.9rem;
    line-height: 1.7;
    color: #64748b;
    max-width: 240px;
    margin: 20px auto 0;
}

/* Lottery Grids */
.lottery-grid {
    display: grid;
    gap: 4px;
    max-width: 100%;
}

.main-grid {
    grid-template-columns: repeat(10, 1fr);
}

.star-grid {
    grid-template-columns: repeat(6, 1fr);
}

.lottery-number {
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 500;
    color: #475569;
    transition: all 0.2s ease;
}

.lottery-number.selected {
    background: var(--mega-yellow);
    border-color: #d97706;
    color: var(--mega-blue-dark);
    font-weight: 800;
    box-shadow: 0 2px 8px rgba(255, 204, 0, 0.4);
}

.ej-page .lottery-number {
    color: #475569;
    border-color: #cbd5e1;
}

.star-number {
    font-size: 0.7rem;
}

/* System Diagram */
.system-diagram {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

/* Lotto 6aus49 Standard Style - Aligned with EuroJackpot/EuroMillions */
.lotto-steps-guide .step-card:hover {
    border-color: #FFD200;
    box-shadow: 0 10px 20px rgba(255, 210, 0, 0.1);
}

.lotto-steps-guide .step-number {
    background: #FFD200;
    color: #000;
}

.lotto-steps-guide .lottery-number.selected {
    background: #FFD200;
    border-color: #e6bd00;
    color: #000;
}

.lotto-steps-guide .lottery-number.selected-red {
    background: #E30613;
    border-color: #b3050f;
    color: white;
}

.lotto-steps-guide .mini-number.highlight {
    background: #FFD200;
    color: #000;
}

.system-source,
.system-results {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.mini-ticket {
    display: flex;
    gap: 4px;
    padding: 6px;
    background: white;
    border: 1px solid #e2e8f0;
    border-radius: 6px;
}

.mini-number {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f1f5f9;
    border-radius: 3px;
    font-size: 0.65rem;
    font-weight: 600;
    color: #64748b;
}

.mini-number.highlight {
    background: var(--mega-yellow);
    color: var(--mega-blue-dark);
    font-weight: 700;
}

.system-arrow {
    font-size: 2rem;
    color: var(--mega-blue);
    font-weight: 700;
}

.system-results {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
}

.mini-ticket-small {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 4px;
    font-size: 0.65rem;
    font-weight: 700;
    color: var(--mega-blue);
}

.system-label {
    font-size: 0.8rem;
    font-weight: 600;
    color: #64748b;
    margin-top: 4px;
}

/* Deadline Visual */
.deadline-visual {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.deadline-clock {
    text-align: center;
}

.clock-icon {
    font-size: 3rem;
    margin-bottom: 10px;
}

.deadline-time {
    font-size: 2.2rem;
    font-weight: 800;
    color: var(--mega-blue);
    line-height: 1;
    margin-bottom: 5px;
    letter-spacing: -0.02em;
}

.deadline-label {
    font-size: 0.85rem;
    font-weight: 600;
    color: #64748b;
}

.deadline-days {
    display: flex;
    gap: 12px;
}

.day-badge {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--mega-yellow);
    border-radius: 6px;
    font-size: 1rem;
    font-weight: 700;
    color: var(--mega-blue-dark);
}

/* Responsive */
@media (max-width: 1024px) {
    .step-cards-container {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .step-cards-container {
        grid-template-columns: 1fr;
    }

    .lottery-number {
        font-size: 0.7rem;
    }
}

/* 7. Mega FAQ List - Minimalist Version */
.faq-mega-list {
    display: flex;
    flex-direction: column;
    max-width: 900px;
    margin: 40px auto 0;
}

.faq-mega-item {
    border-bottom: 1px solid #f1f5f9;
    background: transparent;
    transition: all 0.3s ease;
}

.faq-mega-item:first-child {
    border-top: 1px solid #f1f5f9;
}

.faq-q-mega {
    font-size: 1.15rem;
    font-weight: 500;
    color: #1e293b;
    padding: 24px 0;
    display: flex;
    justify-content: flex-start;
    gap: 16px;
    align-items: center;
    cursor: pointer;
    transition: all 0.3s ease;
    user-select: none;
    position: relative;
}



.faq-q-mega:hover {
    color: var(--mega-blue);
}

/* Minimalist Plus/Minus Icon */
.faq-q-mega::after {
    content: "+";
    margin-left: auto;
    font-family: monospace;
    font-size: 1.4rem;
    font-weight: 300;
    color: #94a3b8;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #f1f5f9;
    border-radius: 50%;
}

.faq-mega-item.active .faq-q-mega {
    color: var(--mega-blue);
}

.faq-mega-item.active .faq-q-mega::after {
    content: "−";
    background: var(--mega-blue);
    color: white;
    border-color: var(--mega-blue);
    transform: rotate(180deg);
}

/* Home Page FAQ - Lottoland Green Theme */
.home-page .faq-q-mega:hover {
    color: #69A507;
}

.home-page .faq-mega-item.active .faq-q-mega {
    color: #69A507;
}

.home-page .faq-mega-item.active .faq-q-mega::after {
    background: linear-gradient(135deg, #A5CD28 0%, #69A507 100%);
    color: white;
    border-color: #69A507;
}

.home-page .faq-q-mega::after {
    color: #69A507;
}

.faq-a-mega {
    max-height: 0;
    overflow: hidden;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 0;
    opacity: 0;
    color: #475569;
    line-height: 1.8;
    font-size: 1rem;
}

.faq-mega-item.active .faq-a-mega {
    max-height: 500px;
    padding-bottom: 24px;
    opacity: 1;
}

@media (max-width: 768px) {
    .mega-title {
        font-size: 2.2rem;
    }

    .balls-mega {
        gap: 8px;
        margin: 50px auto 0;
    }

    .faq-mega-item {
        margin-bottom: 20px;
        background: #fff;
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        overflow: hidden;
        transition: all 0.3s ease;
    }

    .faq-mega-item.active {
        border-color: var(--mega-blue);
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    }

    .faq-q-mega {
        font-size: 1.1rem;
        font-weight: 700;
        color: var(--mega-blue-dark);
        padding: 20px 25px;
        margin-bottom: 0;
        display: flex;
        justify-content: space-between;
        align-items: center;
        cursor: pointer;
        transition: background 0.2s ease;
        user-select: none;
    }

    .faq-q-mega:hover {
        background: #f8fafc;
    }

    .faq-q-mega span:first-child {
        color: var(--mega-blue);
        margin-right: 10px;
    }

    /* Plus/Minus Indicator */
    .faq-q-mega::after {
        content: "+";
        font-size: 1.5rem;
        color: var(--mega-blue);
        transition: transform 0.3s ease;
    }

    .faq-mega-item.active .faq-q-mega::after {
        content: "−";
        transform: rotate(180deg);
    }

    .faq-a-mega {
        max-height: 0;
        overflow: hidden;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        padding: 0 25px;
        opacity: 0;
        color: #475569;
        line-height: 1.7;
    }

    .faq-mega-item.active .faq-a-mega {
        max-height: 500px;
        /* Large enough for content */
        padding-bottom: 25px;
        opacity: 1;
    }

    @media (max-width: 768px) {
        .mega-title {
            font-size: 2.2rem;
        }

        .balls-mega {
            gap: 8px;
            flex-wrap: wrap;
        }

        .b-ball,
        .s-star {
            width: 45px;
            height: 45px;
            font-size: 1.1rem;
        }
    }
}

/* EuroJackpot Steps Guide Theme */
.ej-steps-guide .step-card:hover {
    border-color: var(--ej-gold);
    box-shadow: 0 10px 20px rgba(246, 199, 88, 0.2);
}

.ej-steps-guide .step-number {
    background: var(--ej-gold);
    color: var(--ej-black);
    box-shadow: 0 2px 5px rgba(246, 199, 88, 0.25);
}

.ej-steps-guide .lottery-number.selected {
    background: var(--ej-gold);
    border-color: var(--ej-gold-dark);
    color: var(--ej-black);
    box-shadow: 0 2px 8px rgba(246, 199, 88, 0.4);
}

.ej-steps-guide .star-number.selected {
    background: var(--ej-gold);
    border-color: var(--ej-gold-dark);
    color: var(--ej-black);
}

/* Separation of Hero from Header */
.mega-hero,
.ej-hero,
.ed-hero,
.mm-hero,
.pb-hero {
    margin-top: 30px;
}

/* EuroJackpot System Grid Highlight Override */
.ej-page .mega-table th {
    background-color: var(--ej-black);
}

/* EuroJackpot Specific Overrides - NO BLUE */
.ej-page .section-title-mega {
    color: var(--ej-black);
}

/* Step Guide Overrides */
.ej-page .step-number {
    background: var(--ej-gold);
    color: var(--ej-black);
    box-shadow: 0 2px 5px rgba(246, 199, 88, 0.4);
}

.ej-page .step-card:hover {
    border-color: var(--ej-gold);
    box-shadow: 0 10px 20px rgba(246, 199, 88, 0.15);
}

.ej-page .lottery-number.selected,
.ej-page .star-number.selected {
    background: var(--ej-gold);
    border-color: var(--ej-gold-dark);
    color: var(--ej-black);
    box-shadow: 0 2px 8px rgba(246, 199, 88, 0.4);
}

.ej-page .clock-icon circle[stroke="#0066D4"] {
    stroke: var(--ej-gold);
}

.ej-page .clock-icon line[stroke="#0066D4"] {
    stroke: var(--ej-black);
}

.ej-page .clock-icon circle[fill="#0066D4"] {
    fill: var(--ej-black);
}

/* FAQ Overrides */
.ej-page .faq-q-mega {
    color: var(--ej-black);
}

.ej-page .faq-q-mega span:first-child {
    color: var(--ej-gold-dark);
}

.ej-page .faq-q-mega::after {
    color: var(--ej-gold-dark);
}

.ej-page .faq-mega-item.active .faq-q-mega::after {
    background: var(--ej-gold);
    border-color: var(--ej-gold);
    color: var(--ej-black);
}

/* Record Card Overrides - STRICTLY NO BLUE */
.ej-page .record-card--v2.blue-header .card-header {
    border-top-color: var(--ej-black) !important;
}

/* Force icons in 'blue-header' cards (now black-header) to be Gold */
.ej-page .record-card--v2.blue-header .record-icon svg,
.ej-page .record-card--v2.blue-header .record-icon path {
    fill: var(--ej-gold) !important;
}

/* Force bold text in cards to be Black, not Blue */
.ej-page .record-card--v2 .record-card-text strong {
    color: var(--ej-black) !important;
}

.ej-page .record-card--v2.yellow-header .card-header {
    border-top-color: var(--ej-gold);
}

/* EuroJackpot System & Deadline Overrides - NO MORE BLUE */
.ej-page .system-arrow {
    color: var(--ej-black);
}

.ej-page .mini-ticket-small {
    color: var(--ej-black);
    background: #fffcf5;
    border-color: var(--ej-gold);
}

.ej-page .deadline-time {
    color: var(--ej-black);
}

.ej-page .deadline-label {
    color: #64748b;
    /* Keep slate gray */
}

/* Hero Trust Bar Style */
.hero-trust-bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    padding: 8px 0;
    min-height: 44px;
    background: rgba(0, 0, 0, 0.08);
    font-weight: 700;
    color: var(--ej-black);
    font-size: 0.85rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}

.mega-hero,
.ej-hero,
.ed-hero,
.mm-hero,
.pb-hero,
.lotto-page .mega-hero {
    padding-top: 70px;
}

.trust-item {
    display: flex;
    align-items: center;
    gap: 8px;
}

.trust-item svg {
    width: 16px;
    height: 16px;
}

/* Force FAQ Color Override with !important to fix blue text issue */
.ej-page .faq-q-mega {
    color: var(--ej-black) !important;
}

.ej-page .faq-q-mega::after {
    color: var(--ej-gold-dark) !important;
}

/* EuroMillions FAQ Theme */
.em-page .faq-q-mega:hover {
    color: var(--em-primary);
}

.em-page .faq-mega-item.active .faq-q-mega {
    color: var(--em-primary);
}

.em-page .faq-mega-item.active .faq-q-mega::after {
    background: linear-gradient(135deg, var(--em-secondary) 0%, var(--em-primary) 100%);
    color: white;
    border-color: var(--em-primary);
}

.em-page .faq-q-mega::after {
    color: var(--em-primary);
}

/* EuroDreams FAQ Theme */
.ed-page .faq-q-mega:hover {
    color: var(--ed-primary);
}

.ed-page .faq-mega-item.active .faq-q-mega {
    color: var(--ed-primary);
}

.ed-page .faq-mega-item.active .faq-q-mega::after {
    background: linear-gradient(135deg, var(--ed-secondary) 0%, var(--ed-primary) 100%);
    color: white;
    border-color: var(--ed-primary);
}

.ed-page .faq-q-mega::after {
    color: var(--ed-primary);
}

/* MegaMillions FAQ Theme */
.mm-page .faq-q-mega:hover {
    color: var(--mm-primary);
}

.mm-page .faq-mega-item.active .faq-q-mega {
    color: var(--mm-primary);
}

.mm-page .faq-mega-item.active .faq-q-mega::after {
    background: linear-gradient(135deg, var(--mm-secondary) 0%, var(--mm-primary) 100%);
    color: white;
    border-color: var(--mm-primary);
}

.mm-page .faq-q-mega::after {
    color: var(--mm-primary);
}

/* PowerBall FAQ Theme */
.pb-page .faq-q-mega:hover {
    color: var(--pb-primary);
}

.pb-page .faq-mega-item.active .faq-q-mega {
    color: var(--pb-primary);
}

.pb-page .faq-mega-item.active .faq-q-mega::after {
    background: linear-gradient(135deg, var(--pb-secondary) 0%, var(--pb-primary) 100%);
    color: white;
    border-color: var(--pb-primary);
}

.pb-page .faq-q-mega::after {
    color: var(--pb-primary);
}

/* EuroMillions Specific Trust Bar Overrides */
.mega-hero .hero-trust-bar {
    background: rgba(0, 0, 0, 0.15);
    /* Darker overlay for blue background */
    color: var(--white);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* FAQ Icon Override for EuroJackpot */
.ej-page .faq-q-mega::before {
    background-color: var(--ej-gold);
}

/* EJ FAQ Hover - Gold color */
.ej-page .faq-q-mega:hover {
    color: var(--ej-gold) !important;
}

.ej-page .faq-mega-item.active .faq-q-mega {
    color: var(--ej-gold);
}

.ej-page .faq-mega-item.active .faq-q-mega::after {
    background: linear-gradient(135deg, var(--ej-secondary) 0%, var(--ej-primary) 100%);
    color: var(--ej-black);
    border-color: var(--ej-primary);
}

/* LOTTO 6aus49 Specific Styles */
/* Heritage/Alias Support - Already at top, removing redundant block */

/* Hero Split Layout - Two Column */
.hero-split {
    display: grid;
    grid-template-columns: 1fr 380px;
    gap: 60px;
    align-items: start;
    text-align: left;
}

.hero-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.hero-left .hero-logo {
    margin: 0 0 20px 0;
}

.hero-left .hero-title {
    text-align: left;
    margin-bottom: 10px;
}

.hero-left .hero-subtitle {
    text-align: left;
    margin-bottom: 20px;
}

.hero-left .hero-intro-text {
    text-align: left;
    margin-bottom: 25px;
    max-width: 100%;
}

/* Hero Features List */
.hero-features {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.hero-features li {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 1.05rem;
    color: var(--lotto-blue);
}

.feature-check {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background: var(--lotto-blue);
    color: white;
    border-radius: 50%;
    font-size: 0.85rem;
    font-weight: 700;
}

/* Hero CTA Card */
.hero-right {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

/* Hero CTA Card - Minimalist Redesign */
/* Hero CTA Card - Modern-Premium 'Mesh' Design */
.hero-cta-card {
    background-color: #fdfdfc;
    background-image:
        repeating-linear-gradient(45deg, rgba(0, 0, 0, 0.005) 0px, rgba(0, 0, 0, 0.005) 1px, transparent 1px, transparent 3px);
    border-radius: 24px;
    padding: 40px 24px;
    margin-top: 24px;
    box-shadow:
        0 20px 25px -5px rgba(0, 0, 0, 0.1),
        0 10px 10px -5px rgba(0, 0, 0, 0.04),
        inset 0 0 0 1px rgba(0, 0, 0, 0.05),
        inset 0 0 15px rgba(0, 0, 0, 0.02);
    /* Subtle Inner Depth */
    text-align: center;
    width: 100%;
    max-width: 380px;
    border: none;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    /* Centra el alto de los contenidos */
}

/* Mesh Bloom Pseudo-element */
.hero-cta-card::before {
    content: "";
    position: absolute;
    top: -100px;
    left: 50%;
    transform: translateX(-50%);
    width: 300px;
    height: 200px;
    background: radial-gradient(circle, var(--lotto-primary) 0%, rgba(255, 255, 255, 0) 70%);
    opacity: 0.15;
    pointer-events: none;
    z-index: 1;
}

.cta-jackpot-label {
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: #64748b;
    margin-bottom: 4px;
    font-weight: 700;
    position: relative;
    z-index: 2;
}

.cta-jackpot-amount {
    font-size: 3.2rem;
    font-weight: 900;
    color: var(--lotto-primary);
    margin-bottom: 20px;
    line-height: 1;
    letter-spacing: -1.5px;
    position: relative;
    z-index: 2;
    animation: jackpotPulse 3s ease-in-out infinite;
}

@keyframes jackpotPulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.03);
    }
}

/* Minimalist Divider */
.ticket-divider {
    position: relative;
    height: 1px;
    background: rgba(0, 0, 0, 0.06);
    margin: 4px 0 24px 0;
}

.cta-offer-badge {
    display: inline-block;
    background: #A30855;
    /* Rich Pink/Plum */
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    padding: 6px 14px;
    border-radius: 6px;
    /* Slightly squared for premium look */
    margin-bottom: 20px;
    align-self: center;
    box-shadow: 0 4px 12px rgba(163, 8, 85, 0.3);
    position: relative;
}

/* Tagged Deal Box */
.cta-deal-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 24px;
    padding: 16px 20px;
    background: #ffffff;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    border-left: 5px solid var(--lotto-primary);
    /* Tag Look */
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

.cta-deal-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cta-offer-number {
    font-size: 2.2rem;
    font-weight: 900;
    color: var(--black);
    line-height: 1;
}

.cta-offer-text {
    font-size: 0.9rem;
    font-weight: 700;
    color: #334155;
    text-align: left;
    line-height: 1.2;
}

.cta-deal-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.cta-price-old {
    font-size: 0.85rem;
    color: #94a3b8;
    text-decoration: line-through;
}

.cta-price-new {
    font-size: 1.8rem;
    font-weight: 900;
    color: var(--black);
}

.cta-play-button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 56px;
    padding: 0 24px;
    background: linear-gradient(180deg, #69a507 0%, #69a507 100%) !important;
    color: #012406 !important;
    font-size: 1.1rem;
    font-weight: 900;
    text-decoration: none;
    border-radius: 24px;
    transition: all 0.2s ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    border: none;
}

.cta-play-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
    background: linear-gradient(180deg, #87b739 0%, #87b739 100%) !important;
    color: #012406 !important;
}

.jackpot-number {
    font-size: 2.8rem;
    font-weight: 800;
}

.jackpot-unit {
    font-size: 1.2rem;
    font-weight: 600;
    opacity: 0.9;
}

.cta-next-draw {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    margin: 16px 0 24px 0 !important;
    padding: 10px 24px !important;
    background: #f2f2f2 !important;
    border-radius: 10px !important;
    border: 1px solid #e0e0e0 !important;
    text-align: center !important;
}

.cta-next-draw .next-draw-label {
    display: block !important;
    width: 100% !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px !important;
    color: #666 !important;
    margin-bottom: 12px !important;
    font-weight: 600 !important;
}

.cta-next-draw .next-draw-date {
    display: block !important;
    width: 100% !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    color: #1a1a1a !important;
    line-height: 1.2 !important;
    letter-spacing: -0.5px !important;
}

.cta-terms {
    font-size: 0.7rem;
    color: #94a3b8;
    margin-top: 16px;
}

/* ===== CTA Card & Features Per-Lottery Overrides ===== */

/* EuroJackpot CTA - Primary #CA7F26 */
.ej-page .hero-cta-card::before {
    background: radial-gradient(circle, var(--ej-primary) 0%, rgba(255, 255, 255, 0) 70%);
}

.ej-page .cta-jackpot-label {
    color: #5a3e10;
}

.ej-page .cta-jackpot-amount {
    color: var(--ej-primary);
    /* Layout: Force single line, center, align baseline */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 24px;
    padding-top: 10px;
}

.ej-page .cta-jackpot-amount .jackpot-number {
    font-size: 5rem;
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -3px;
}

.ej-page .cta-jackpot-amount .jackpot-unit {
    font-size: 2.2rem;
    font-weight: 800;
    text-transform: uppercase;
}


.ej-page .cta-offer-badge {
    background: var(--ej-primary);
    color: #fff;
    box-shadow: 0 4px 12px rgba(202, 127, 38, 0.3);
}

.ej-page .cta-offer-number {
    color: var(--ej-primary);
}

.ej-page .cta-deal-box {
    border-left-color: var(--ej-primary);
    background: rgba(202, 127, 38, 0.05);
}

.ej-page .cta-price-new {
    color: #5a3e10;
}

.ej-page .ticket-divider::before,
.ej-page .ticket-divider::after {
    background: linear-gradient(135deg, #F6C758, #CA7F26);
}

/* EuroMillions CTA - Primary #0070E1 */
.em-page .hero-cta-card::before {
    background: radial-gradient(circle, var(--em-primary) 0%, rgba(255, 255, 255, 0) 70%);
}

.em-page .cta-jackpot-label {
    color: #004a96;
}

.em-page .cta-jackpot-amount {
    color: var(--em-primary);
    /* Layout: Force single line, center, align baseline */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 24px;
    padding-top: 10px;
}

.em-page .cta-jackpot-amount .jackpot-number {
    font-size: 5rem;
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -3px;
}

.em-page .cta-jackpot-amount .jackpot-unit {
    font-size: 2.2rem;
    font-weight: 800;
    text-transform: uppercase;
}

.em-page .cta-offer-badge {
    background: var(--em-primary);
    color: #fff;
    box-shadow: 0 4px 12px rgba(0, 112, 225, 0.3);
}

.em-page .cta-offer-number {
    color: var(--em-primary);
}

.em-page .cta-deal-box {
    border-left-color: var(--em-primary);
    background: rgba(0, 112, 225, 0.05);
}

.em-page .cta-price-new {
    color: #004a96;
}

.em-page .ticket-divider::before,
.em-page .ticket-divider::after {
    background: linear-gradient(135deg, #6DB5E0, #0070E1);
}

/* EuroDreams CTA - Primary #A15AB5 */
.ed-page .hero-cta-card::before {
    background: radial-gradient(circle, var(--ed-primary) 0%, rgba(255, 255, 255, 0) 70%);
}

.ed-page .cta-jackpot-label {
    color: #6b3a7d;
}

.ed-page .cta-jackpot-amount {
    color: var(--ed-primary);
    /* Layout: Force single line, center, align baseline */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 24px;
    padding-top: 10px;
}

.ed-page .cta-jackpot-amount .jackpot-number {
    font-size: 4rem;
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -3px;
}

.ed-page .cta-jackpot-amount .jackpot-unit {
    font-size: 1.8rem;
    font-weight: 800;
    text-transform: uppercase;
}

.ed-page .cta-jackpot-subtext {
    font-size: 14px;
    opacity: 1;
    margin: 6px 0 18px 0;
    color: #6b3a7d;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.2px;
}

.ed-page .cta-offer-badge {
    background: var(--ed-primary);
    color: #fff;
    box-shadow: 0 4px 12px rgba(161, 90, 181, 0.3);
}

.ed-page .cta-offer-number {
    color: var(--ed-primary);
}

.ed-page .cta-deal-box {
    border-left-color: var(--ed-primary);
    background: rgba(161, 90, 181, 0.05);
}

.ed-page .cta-price-new {
    color: #6b3a7d;
}

.ed-page .ticket-divider::before,
.ed-page .ticket-divider::after {
    background: linear-gradient(135deg, #c48ad6, #A15AB5);
}

/* MegaMillions CTA - Primary #3957C8 */
.mm-page .hero-cta-card::before {
    background: radial-gradient(circle, var(--mm-primary) 0%, rgba(255, 255, 255, 0) 70%);
}

.mm-page .cta-jackpot-label {
    color: #1e3178;
}

.mm-page .cta-jackpot-amount {
    color: var(--mm-primary);
    /* Layout: Force single line, center, align baseline */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 24px;
    padding-top: 10px;
}

.mm-page .cta-jackpot-amount .jackpot-number {
    font-size: 5rem;
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -3px;
}

.mm-page .cta-jackpot-amount .jackpot-unit {
    font-size: 2.2rem;
    font-weight: 800;
    text-transform: uppercase;
}

.mm-page .cta-offer-badge {
    background: var(--mm-primary);
    color: #fff;
    box-shadow: 0 4px 12px rgba(57, 87, 200, 0.3);
}

.mm-page .cta-offer-number {
    color: var(--mm-primary);
}

.mm-page .cta-deal-box {
    border-left-color: var(--mm-primary);
    background: rgba(57, 87, 200, 0.05);
}

.mm-page .cta-price-new {
    color: #1e3178;
}

.mm-page .ticket-divider::before,
.mm-page .ticket-divider::after {
    background: linear-gradient(135deg, #7b93e0, #3957C8);
}

/* PowerBall CTA - Primary #E92A2A */
.pb-page .hero-cta-card::before {
    background: radial-gradient(circle, var(--pb-primary) 0%, rgba(255, 255, 255, 0) 70%);
}

.pb-page .cta-jackpot-label {
    color: #8b1a1a;
}

.pb-page .cta-jackpot-amount {
    color: var(--pb-primary);
    /* Layout: Force single line, center, align baseline */
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 24px;
    padding-top: 10px;
}

.pb-page .cta-jackpot-amount .jackpot-number {
    font-size: 5rem;
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -3px;
}

.pb-page .cta-jackpot-amount .jackpot-unit {
    font-size: 2.2rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pb-page .cta-offer-badge {
    background: var(--pb-primary);
    color: #fff;
    box-shadow: 0 4px 12px rgba(233, 42, 42, 0.3);
}

.pb-page .cta-offer-number {
    color: var(--pb-primary);
}

.pb-page .cta-deal-box {
    border-left-color: var(--pb-primary);
    background: rgba(233, 42, 42, 0.05);
}

.pb-page .cta-price-new {
    color: #8b1a1a;
}

.pb-page .ticket-divider::before,
.pb-page .ticket-divider::after {
    background: linear-gradient(135deg, #f27474, #E92A2A);
}

/* Lotto 6aus49 CTA - Primary #FAC200, Secondary #FCD652 */


.lotto-page .hero-cta-card::before {
    background: radial-gradient(circle, var(--lotto-primary) 0%, rgba(255, 255, 255, 0) 70%);
}

.lotto-page .cta-jackpot-label {
    color: #8B6914;
}

.lotto-page .cta-jackpot-amount {
    color: #D4A300;
    /* Layout: Force single line, center, align baseline */
    display: flex;
    align-items: center;
    /* Centra el alto de la unidad con el número */
    justify-content: center;
    gap: 10px;
    margin-bottom: 24px;
    padding-top: 10px;
    /* Added breathing room */
}

.lotto-page .cta-jackpot-amount .jackpot-number {
    font-size: 5rem;
    font-weight: 900;
    line-height: 0.9;
    letter-spacing: -3px;
}

.lotto-page .cta-jackpot-amount .jackpot-unit {
    font-size: 2.2rem;
    font-weight: 800;
    text-transform: uppercase;
}

.lotto-page .cta-offer-number {
    color: #D4A300;
}

.lotto-page .cta-deal-box {
    border-left-color: var(--lotto-primary);
    background: rgba(250, 194, 0, 0.06);
}

.lotto-page .cta-price-new {
    color: #8B6914;
}


/* Responsive Hero Split */
@media (max-width: 900px) {
    .hero-split {
        grid-template-columns: 1fr;
        gap: 40px;
        text-align: center;
    }

    .hero-left {
        align-items: center;
    }

    .hero-left .hero-title,
    .hero-left .hero-subtitle,
    .hero-left .hero-intro-text {
        text-align: center;
    }

    .hero-features {
        align-items: center;
    }

    .hero-right {
        order: -1;
    }

    .hero-cta-card {
        margin-top: 0;
    }
}

/* Refined Soft Glass Styles */
.lotto-page .mega-hero {
    background: linear-gradient(135deg, #FCD652 0%, #FAC200 100%);
    /* Product gradient using brand standards */
    position: relative;
    overflow: hidden;
}

/* Replaced Watermark with Abstract Light */
.lotto-page .mega-hero::after {
    content: "";
    /* No Text */
    position: absolute;
    top: -50%;
    right: -20%;
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.2) 0%, transparent 60%);
    border-radius: 50%;
    pointer-events: none;
    z-index: 0;
}

.lotto-page .mega-subtitle-yellow {
    color: var(--ej-black);
    position: relative;
    z-index: 1;
}

/* Balls - Standard Polish */
.lotto-page .b-ball {
    background: white;
    color: var(--ej-black);
    width: 44px;
    height: 44px;
    font-size: 1.2rem;
    border: 2px solid #e2e8f0;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.lotto-page .s-star {
    /* Superzahl */
    background: #E30613;
    color: white;
    border: none;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    font-size: 1.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(227, 6, 19, 0.3);
    /* Softer shadow */
}

.lotto-page .highlight-yellow-bg {
    background-color: #fff9db !important;
}

.lotto-page .hero-trust-bar {
    background: rgba(0, 0, 0, 0.03);
    /* Lighter */
    color: var(--ej-black);
    border-bottom: 1px solid rgba(0, 0, 0, 0.03);
}

.lotto-page .hero-intro-text {
    position: relative;
    z-index: 1;
    color: var(--ej-black);
    opacity: 0.9;
}

.lotto-page .card-title-mega {
    color: #1a1a1a;
    font-weight: 800;
}

/* Archive & Results - No Blue Alignment */
.lotto-page .b-small {
    border-color: #cbd5e1;
    color: #1a1a1a;
}

.lotto-page .jackpot-info-small {
    color: #475569;
    font-weight: 600;
}

.lotto-page .view-prizes-btn,
.lotto-page .load-more-btn {
    color: #475569;
    border-color: #e2e8f0;
}

.lotto-page .view-prizes-btn:hover,
.lotto-page .load-more-btn:hover {
    border-color: #94a3b8;
    color: #1a1a1a;
    background: #f8fafc;
}

.lotto-page .mega-table thead th,
.lotto-page .prize-breakdown-table thead th {
    color: #475569;
}

/* How to Play - Gray Theme Overrides */
.lotto-page .step-title {
    color: #1a1a1a;
}

.lotto-page .step-description {
    color: #4b5563;
    /* Neutral gray-600 */
}

.lotto-page .system-arrow {
    color: #94a3b8;
    /* Soft neutral gray */
}

.lotto-page .mini-ticket-small {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #1a1a1a;
}

.lotto-page .deadline-time {
    color: #1a1a1a;
}

.lotto-page .deadline-label {
    color: #4b5563;
}

.lotto-page .mini-number.highlight {
    background: #FAC200;
    color: #000;
}

.lotto-page .step-card:hover {
    border-color: #FAC200;
    box-shadow: 0 10px 20px rgba(250, 194, 0, 0.15);
}

/* FAQ - Lotto 6aus49 Theme Overrides */
.lotto-page .faq-q-mega:hover {
    color: var(--lotto-primary);
}

.lotto-page .faq-q-mega::after {
    color: var(--lotto-primary);
}

.lotto-page .faq-mega-item.active .faq-q-mega {
    color: var(--lotto-primary);
}

.lotto-page .faq-mega-item.active .faq-q-mega::after {
    background: linear-gradient(135deg, var(--lotto-secondary) 0%, var(--lotto-primary) 100%);
    border-color: var(--lotto-primary);
    color: #000;
}

/* 8. Lottery Overview/Quick Facts Section */
.lotto-page .overview-section,
.ej-page .overview-section,
.em-page .overview-section,
.ed-page .overview-section,
.mm-page .overview-section,
.pb-page .overview-section {
    padding: 80px 0;
    background: #f8fafc;
}

.lotto-page .overview-intro,
.ej-page .overview-intro,
.em-page .overview-intro,
.ed-page .overview-intro,
.mm-page .overview-intro,
.pb-page .overview-intro {
    text-align: center;
    color: #64748b;
    max-width: 700px;
    margin: 0 auto 50px;
    font-size: 1.1rem;
    line-height: 1.6;
}

.lotto-page .overview-grid,
.ej-page .overview-grid,
.em-page .overview-grid,
.ed-page .overview-grid,
.mm-page .overview-grid,
.pb-page .overview-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
    margin-bottom: 40px;
}

.lotto-page .info-card,
.ej-page .info-card,
.em-page .info-card,
.ed-page .info-card,
.mm-page .info-card,
.pb-page .info-card {
    background: #fff;
    border-radius: 16px;
    padding: 40px;
    border: 1px solid #e2e8f0;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
    display: flex;
    flex-direction: column;
    gap: 30px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.lotto-page .info-card:hover,
.ej-page .info-card:hover,
.em-page .info-card:hover,
.ed-page .info-card:hover,
.mm-page .info-card:hover,
.pb-page .info-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.lotto-page .card-header-flex,
.ej-page .card-header-flex,
.em-page .card-header-flex,
.ed-page .card-header-flex,
.mm-page .card-header-flex,
.pb-page .card-header-flex {
    display: flex;
    align-items: center;
    gap: 20px;
}

.lotto-page .header-icon-box,
.ej-page .header-icon-box,
.em-page .header-icon-box,
.ed-page .header-icon-box,
.mm-page .header-icon-box,
.pb-page .header-icon-box {
    width: 60px;
    height: 60px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-icon-box svg {
    width: 36px;
    height: 36px;
    stroke-width: 2.5px !important;
}

.row-icon svg {
    stroke-width: 2.5px !important;
}

.lotto-page .header-icon-box.yellow,
.ej-page .header-icon-box.yellow,
.em-page .header-icon-box.yellow,
.ed-page .header-icon-box.yellow,
.mm-page .header-icon-box.yellow,
.pb-page .header-icon-box.yellow {
    background: #fffbeb;
    /* Very light gold/yellow */
    color: #f59e0b;
    /* Warm amber/gold icon */
    border: 1px solid #fef3c7;
}

.lotto-page .header-icon-box.red,
.ej-page .header-icon-box.red,
.em-page .header-icon-box.red,
.ed-page .header-icon-box.red,
.mm-page .header-icon-box.red,
.pb-page .header-icon-box.red {
    background: #fff1f2;
    /* Very light red/rose */
    border-color: #e11d48;
    /* Refined rose icon */
    border: 1px solid #ffe4e6;
}

/* EuroDreams Hero */
.ed-hero {
    background: linear-gradient(135deg, #00A88C 0%, #A15AB5 100%);
    padding: 70px 0 100px 0;
    color: white;
    text-align: center;
    border-bottom-left-radius: 50% 40px;
    border-bottom-right-radius: 50% 40px;
    position: relative;
    z-index: 1;
    margin-top: 30px;
    /* Space from header */
    padding-top: 70px;
    /* Adjust internal padding to accommodate trust bar */
}

.ed-hero .hero-trust-bar {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
    padding: 8px 0;
    background: rgba(255, 255, 255, 0.1);
    font-weight: 700;
    color: white;
    font-size: 0.85rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

/* Ensure CTA button has good contrast */
.ed-hero .hero-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(180deg, #69a507 0%, #69a507 100%);
    color: #012406;
    font-weight: 900;
    padding: 0 48px;
    height: 56px;
    border-radius: 24px;
    text-decoration: none;
    font-size: 16px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease;
    margin-top: 40px;
}

.ed-hero .hero-cta-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
    background: linear-gradient(180deg, #87b739 0%, #87b739 100%);
    color: #012406;
}

/* Branded Overrides for Quick Facts Icons */
/* EuroJackpot: Pure Gold Standards (Removing Red) */
.ej-page .header-icon-box.yellow {
    background: #fffdf5;
    color: var(--ej-primary);
    border-color: #fcf1d4;
}

.ej-page .header-icon-box.red {
    background: #fffdf5;
    color: var(--ej-primary);
    border-color: #fcf1d4;
}

/* EuroMillions: Pure Blue Standards (Removing Red) */
.em-page .header-icon-box.yellow {
    background: #f0f7ff;
    color: var(--em-primary);
    border-color: #e0efff;
}

.em-page .header-icon-box.red {
    background: #f0f7ff;
    color: var(--em-primary);
    border-color: #e0efff;
}

/* Lotto 6aus49: Yellow & Navy Blue branding */
.lotto-page .header-icon-box.yellow {
    background: #fffdf5;
    color: var(--lotto-primary);
    border-color: #fef3c7;
}

.lotto-page .header-icon-box.red {
    background: #f0f4ff;
    color: var(--lotto-blue);
    border-color: #e8eefc;
}

/* EuroDreams: Teal & Purple branding */
.ed-page .header-icon-box.yellow {
    background: #f0fdfa;
    color: var(--ed-secondary);
    border-color: #ccfbf1;
}

/* Teal for time */
.ed-page .header-icon-box.red {
    background: #fdf4ff;
    color: var(--ed-primary);
    border-color: #fae8ff;
}

/* Purple for facts */

.lotto-page .info-card h3,
.ej-page .info-card h3,
.em-page .info-card h3,
.ed-page .info-card h3,
.mm-page .info-card h3,
.pb-page .info-card h3 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #1e293b;
    margin: 0;
}

.lotto-page .info-rows-stack,
.ej-page .info-rows-stack,
.em-page .info-rows-stack,
.ed-page .info-rows-stack,
.mm-page .info-rows-stack,
.pb-page .info-rows-stack {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.lotto-page .info-row-flex,
.ej-page .info-row-flex,
.em-page .info-row-flex,
.ed-page .info-row-flex,
.mm-page .info-row-flex,
.pb-page .info-row-flex {
    display: flex;
    align-items: center;
    gap: 15px;
}

.lotto-page .row-icon,
.ej-page .row-icon,
.em-page .row-icon,
.ed-page .row-icon,
.mm-page .row-icon,
.pb-page .row-icon {
    width: 40px;
    height: 40px;
    background: #f8fafc;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #475569;
}

.lotto-page .row-content,
.ej-page .row-content,
.em-page .row-content,
.ed-page .row-content,
.mm-page .row-content,
.pb-page .row-content {
    display: flex;
    flex-direction: column;
}

.lotto-page .row-label,
.ej-page .row-label,
.em-page .row-label,
.ed-page .row-label,
.mm-page .row-label,
.pb-page .row-label {
    font-size: 0.85rem;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 600;
}

.lotto-page .row-value,
.ej-page .row-value,
.em-page .row-value,
.ed-page .row-value,
.mm-page .row-value,
.pb-page .row-value {
    font-size: 1.1rem;
    font-weight: 600;
    color: #1a1a1a;
}

.lotto-page .facts-sub-grid,
.ej-page .facts-sub-grid,
.em-page .facts-sub-grid,
.ed-page .facts-sub-grid,
.mm-page .facts-sub-grid,
.pb-page .facts-sub-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 25px;
}

.lotto-page .fact-item,
.ej-page .fact-item,
.em-page .fact-item,
.ed-page .fact-item,
.mm-page .fact-item,
.pb-page .fact-item {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.lotto-page .fact-label,
.ej-page .fact-label,
.em-page .fact-label,
.ed-page .fact-label,
.mm-page .fact-label,
.pb-page .fact-label {
    font-size: 0.8rem;
    color: #64748b;
    text-transform: uppercase;
    font-weight: 700;
}

.lotto-page .fact-value,
.ej-page .fact-value,
.em-page .fact-value,
.ed-page .fact-value,
.mm-page .fact-value,
.pb-page .fact-value {
    font-size: 1.4rem;
    font-weight: 800;
    color: #1a1a1a;
    /* Sophisticated Black */
    letter-spacing: -0.5px;
}

.lotto-page .card-footer-note,
.ej-page .card-footer-note,
.em-page .card-footer-note,
.ed-page .card-footer-note,
.mm-page .card-footer-note,
.pb-page .card-footer-note {
    margin-top: auto;
    padding-top: 25px;
    border-top: 1px solid #f1f5f9;
    font-size: 0.82rem;
    color: #64748b;
    line-height: 1.6;
}

.lotto-page .odds-badge,
.ej-page .odds-badge,
.em-page .odds-badge,
.ed-page .odds-badge,
.mm-page .odds-badge,
.pb-page .odds-badge {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 15px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.lotto-page .odds-icon,
.ej-page .odds-icon,
.em-page .odds-icon,
.ed-page .odds-icon,
.mm-page .odds-icon,
.pb-page .odds-icon {
    color: #f59e0b;
}

.lotto-page .odds-text,
.ej-page .odds-text,
.em-page .odds-text,
.ed-page .odds-text,
.mm-page .odds-text,
.pb-page .odds-text {
    font-size: 0.9rem;
    color: #1e293b;
    font-weight: 700;
}

@media (max-width: 968px) {
    .lotto-page .overview-grid {
        grid-template-columns: 1fr;
    }
}


/* Hero Jackpot Display (Lotto 6aus49) */
/* Minimalist Capsule Jackpot Badge */
/* Architectural Underscore Jackpot Display */
.lotto-big-jackpot {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 24px 0 24px 0;
    position: relative;
    z-index: 2;
    background: transparent;
    box-shadow: none;
    border: none;
    padding: 0;
}

.lotto-big-jackpot .jackpot-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
    color: #64748b;
    margin-bottom: 4px;
    margin-right: 0;
}

.lotto-big-jackpot .jackpot-amount {
    font-size: 2.5rem;
    /* Moderate size */
    font-weight: 800;
    line-height: 1.1;
    color: var(--ej-black);
    /* Black text */
    letter-spacing: -1px;
    position: relative;
    padding-bottom: 8px;
    /* Space for underscore */
}

/* The Subtle Red Underscore */
.lotto-big-jackpot .jackpot-amount::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 40px;
    /* Small width */
    height: 3px;
    background: #c90713;
    border-radius: 2px;
    display: block;
}

@media (max-width: 768px) {
    .lotto-big-jackpot {
        padding: 0;
        border-radius: 0;
    }

    .lotto-big-jackpot .jackpot-label {
        font-size: 0.7rem;
    }
}

/* ========================================
   MOBILE RESPONSIVE IMPROVEMENTS
   ======================================== */

/* === 1. RESPONSIVE TABLES - Card Style for Mobile === */
@media (max-width: 640px) {

    /* Hide table header on mobile */
    .mega-table thead,
    .prize-breakdown-table thead {
        display: none;
    }

    /* Convert table to block layout */
    .mega-table,
    .prize-breakdown-table {
        display: block;
        width: 100%;
    }

    .mega-table tbody,
    .prize-breakdown-table tbody {
        display: block;
    }

    /* Each row becomes a card */
    .mega-table tr,
    .prize-breakdown-table tr {
        display: block;
        background: #fff;
        border-radius: 12px;
        padding: 16px;
        margin-bottom: 12px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
        border: 1px solid #e2e8f0;
    }

    .mega-table tr:first-child,
    .prize-breakdown-table tbody tr:first-child {
        background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
        border-color: #fcd34d;
    }

    /* Each cell becomes a row within the card */
    .mega-table td,
    .prize-breakdown-table td {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 8px 0;
        border: none;
        border-bottom: 1px solid #f1f5f9;
        font-size: 0.95rem;
    }

    .mega-table td:last-child,
    .prize-breakdown-table td:last-child {
        border-bottom: none;
    }

    /* Add labels before each cell */
    .mega-table td::before,
    .prize-breakdown-table td::before {
        font-weight: 700;
        color: #64748b;
        font-size: 0.8rem;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    /* Labels for main prize table (4 columns) */
    .mega-table td:nth-child(1)::before {
        content: "Klasse";
    }

    .mega-table td:nth-child(2)::before {
        content: "Richtige";
    }

    .mega-table td:nth-child(3)::before {
        content: "Gewinn";
    }

    .mega-table td:nth-child(4)::before {
        content: "Mit Multiplier";
    }

    /* Labels for archive prize table (4 columns) */
    .prize-breakdown-table td:nth-child(1)::before {
        content: "Klasse";
    }

    .prize-breakdown-table td:nth-child(2)::before {
        content: "Richtige";
    }

    .prize-breakdown-table td:nth-child(3)::before {
        content: "Gewinner";
    }

    .prize-breakdown-table td:nth-child(4)::before {
        content: "Gewinn";
    }

    /* Highlight first row class number */
    .mega-table tr:first-child td:first-child,
    .prize-breakdown-table tbody tr:first-child td:first-child {
        font-weight: 800;
        color: #b45309;
    }

    /* Prize amount styling */
    .mega-table td:nth-child(3),
    .mega-table td:nth-child(4),
    .prize-breakdown-table td:nth-child(4) {
        font-weight: 700;
        color: #1e293b;
    }

    /* Jackpot row special styling */
    .mega-table tr.highlight-gold-bg,
    .mega-table tr.highlight-red-bg {
        background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%) !important;
        border-color: #fcd34d !important;
    }
}

/* === 2. HERO SECTIONS MOBILE === */
@media (max-width: 768px) {

    /* Main hero containers - remove top padding */
    .mega-hero,
    .ej-hero,
    .em-hero,
    .ed-hero,
    .mm-hero,
    .pb-hero,
    .lotto-hero,
    .lotto-page .mega-hero {
        padding-top: 0 !important;
    }

    /* Trust bar positioning - override all absolute positioning */
    .hero-trust-bar,
    .ej-hero .hero-trust-bar,
    .em-hero .hero-trust-bar,
    .ed-hero .hero-trust-bar,
    .mm-hero .hero-trust-bar,
    .pb-hero .hero-trust-bar,
    .lotto-hero .hero-trust-bar,
    .mega-hero .hero-trust-bar,
    .lotto-page .hero-trust-bar,
    .lotto-page .mega-hero .hero-trust-bar {
        position: relative !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 16px 24px !important;
        flex-direction: column !important;
        gap: 8px !important;
        min-height: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }

    .trust-item {
        font-size: 0.8rem;
        display: flex !important;
        align-items: center;
        justify-content: center !important;
        text-align: center;
        gap: 8px;
    }

    .trust-item svg {
        width: 16px;
        height: 16px;
        flex-shrink: 0;
    }

    /* Container padding */
    .container-mega {
        padding: 0 16px !important;
    }

    .hero-split {
        grid-template-columns: 1fr !important;
        gap: 24px !important;
        text-align: center;
        padding: 24px 0;
    }

    .hero-left {
        order: 1;
    }

    .hero-right {
        order: 2;
    }

    .hero-title {
        font-size: clamp(1.6rem, 7vw, 2.5rem) !important;
        line-height: 1.2;
    }

    .hero-subtitle {
        font-size: clamp(0.95rem, 3.5vw, 1.2rem) !important;
        line-height: 1.4;
    }

    .hero-intro-text {
        font-size: 0.9rem;
        padding: 0;
        line-height: 1.5;
    }

    .hero-features {
        justify-content: center;
        flex-wrap: wrap;
        gap: 8px;
    }

    .hero-features li {
        font-size: 0.8rem;
        padding: 6px 10px;
    }

    .hero-logo {
        max-width: 100px !important;
        margin: 0 auto 12px auto;
    }
}

/* === 3. CTA WIDGET MOBILE === */
@media (max-width: 768px) {
    .hero-cta-card {
        max-width: 100% !important;
        margin: 0 auto;
        padding: 24px 20px !important;
    }

    .cta-jackpot-amount {
        font-size: clamp(2rem, 10vw, 3.5rem) !important;
    }

    .cta-deal-box {
        flex-direction: column;
        gap: 8px;
        align-items: center !important;
        justify-content: center !important;
        padding: 16px !important;
        text-align: center;
    }

    .cta-deal-left {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        gap: 10px;
        width: 100%;
    }

    .cta-offer-number {
        display: inline-block !important;
    }

    .cta-offer-text {
        text-align: left !important;
        display: inline-block !important;
    }

    .cta-deal-right {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 12px;
        width: 100%;
    }

    .cta-price-old,
    .cta-price-new {
        display: inline-block;
    }

    .cta-button {
        width: 100%;
        min-height: 48px;
        font-size: 1rem;
    }
}

/* === 4. TRUST BAR MOBILE === */
@media (max-width: 768px) {
    .hero-trust-bar {
        flex-direction: column;
        gap: 8px;
        padding: 12px 16px;
    }

    .trust-item {
        font-size: 0.8rem;
        justify-content: center;
    }

    .trust-item svg {
        width: 16px;
        height: 16px;
    }
}

/* === 5. ARCHIVE SECTIONS MOBILE === */
@media (max-width: 640px) {
    .archive-item {
        padding: 16px;
    }

    .archive-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .archive-balls {
        justify-content: center;
        width: 100%;
    }

    .b-small {
        width: 32px;
        height: 32px;
        font-size: 0.75rem;
    }

    .archive-jackpot-row {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
    }

    .jackpot-info-small {
        text-align: center;
    }

    .view-prizes-btn {
        width: 100%;
        min-height: 44px;
    }
}

/* === 6. STEP CARDS MOBILE === */
@media (max-width: 640px) {
    .step-cards-container {
        grid-template-columns: 1fr !important;
        gap: 16px;
    }

    .step-card {
        padding: 20px;
    }

    .step-number {
        width: 36px;
        height: 36px;
        font-size: 1rem;
    }

    .step-title {
        font-size: 1.1rem;
    }

    .lottery-grid {
        gap: 4px !important;
    }

    .lottery-number {
        width: 28px;
        height: 28px;
        font-size: 0.7rem;
    }
}

/* === 7. RECORDS GRID MOBILE === */
@media (max-width: 768px) {
    .records-grid {
        grid-template-columns: 1fr !important;
        gap: 20px;
    }

    .record-card--v2 {
        padding: 0;
    }

    .record-amount {
        font-size: clamp(1.5rem, 6vw, 2.5rem);
    }
}

/* === 8. FAQ SECTIONS MOBILE === */
@media (max-width: 640px) {
    .faq-mega-item {
        padding: 16px;
    }

    .faq-q-mega {
        font-size: 1rem;
    }

    .faq-a-mega {
        font-size: 0.9rem;
    }
}

/* === 9. OVERVIEW/FACTS SECTIONS MOBILE === */
@media (max-width: 768px) {
    .overview-grid {
        grid-template-columns: 1fr !important;
        gap: 20px;
    }

    .facts-sub-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .fact-item {
        padding: 12px;
    }

    .fact-value {
        font-size: 1.1rem;
    }
}

/* === 10. GENERAL MOBILE TYPOGRAPHY === */
@media (max-width: 768px) {
    .section-title-mega {
        font-size: clamp(1.4rem, 5vw, 2rem);
        padding: 0 16px;
    }

    .section-intro-mega,
    .overview-intro {
        font-size: 0.95rem;
        padding: 0 16px;
    }

    .container-mega {
        padding: 0 16px;
    }

    .full-width-section {
        padding: 40px 0;
    }
}

/* === 11. TOUCH TARGETS (min 44px) === */
@media (max-width: 768px) {

    .cta-button,
    .load-more-btn,
    .view-prizes-btn,
    .nav-toggle {
        min-height: 44px;
        min-width: 44px;
    }

    .nav-links a {
        min-height: 44px;
        display: flex;
        align-items: center;
    }
}

/* === 12. FOOTER MOBILE === */
@media (max-width: 640px) {
    .footer-bottom {
        padding: 30px 16px;
    }

    .footer-main-identity {
        text-align: center;
    }

    .footer-badges-row {
        flex-wrap: wrap;
        justify-content: center;
        gap: 16px;
    }

    .badge-item img {
        max-height: 40px;
    }

    .footer-legal {
        font-size: 0.75rem;
        text-align: center;
    }
}

/* === 13. MEGA CARD MOBILE === */
@media (max-width: 640px) {
    .mega-card {
        padding: 20px 16px;
        margin: 0 -16px;
        border-radius: 0;
    }

    .card-title-mega {
        font-size: 1.2rem;
    }
}