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

 html {
     scroll-behavior: smooth;
 }

 body {
     font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
     line-height: 1.6;
 }

 /* Football Hub specific styles */
 .football-hero {
     background: radial-gradient(circle at top left, rgba(252, 190, 41, 0.16), transparent 18%),
         radial-gradient(circle at 88% 18%, rgba(18, 196, 255, 0.10), transparent 16%),
         linear-gradient(180deg, #08141f 0%, #051017 100%);
     color: #fff;
     padding: 48px 0;
 }

 .football-hero .hero-inner {
     display: flex;
     align-items: center;
     gap: 30px;
 }

 .football-hero .hero-text h1 {
     font-size: 2.2rem;
     margin: 0 0 12px 0;
     color: #fff;
 }

 .football-hero .subtitle {
     color: #e6fff1;
     margin-bottom: 18px;
 }

 .football-hero .hero-media img {
     width: 420px;
     height: auto;
     max-width: 40vw;
     border-radius: 8px;
     box-shadow: 0 8px 30px rgba(0, 0, 0, 0.5);
 }

 .container {
     max-width: 1100px;
     margin: 0 auto;
     padding: 60px 20px
 }

 .intro p {
     line-height: 1.8;
     color: #334155;
     font-size: 1.1rem;
     margin-bottom: 20px
 }

 .grid.cards {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
     gap: 18px
 }

 .card {
     background: #fff;
     border-radius: 12px;
     padding: 24px;
     box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
     border-top: 4px solid #007d56; /* Keep the accent border */
     transition: transform 0.3s ease, box-shadow 0.3s ease;
     position: relative; /* For the overlay */
     overflow: hidden; /* Ensure background image doesn't spill */
     color: #fff; /* Default text color for cards with background images */
 }

 /* Overlay for readability */
 .card::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.5); /* Dark semi-transparent overlay */
    z-index: 1;
    transition: background 0.3s ease;
 }

 .card:hover {
     transform: translateY(-5px);
     box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3); /* Darker shadow for dark cards */
 }

 .card:hover::before {
    background: rgba(0, 0, 0, 0.7); /* Darker overlay on hover */
 }

 .card h3 {
     margin-top: 0;
     color: #fff; /* Ensure text is white */
     margin-bottom: 12px;
     position: relative; /* Bring text above overlay */
     z-index: 2;
 }

 .card p {
     color: #e0e0e0; /* Slightly off-white for body text */
     font-size: 0.95rem;
     position: relative; /* Bring text above overlay */
     z-index: 2;
 }

 .card .link {
     display: inline-block;
     margin-top: 12px;
     color: #00ffc2; /* A brighter green for links */
     text-decoration: underline; /* Make links more visible */
     font-weight: 700; /* Make links bolder */
     position: relative; /* Bring text above overlay */
     z-index: 2;
     text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.7); /* Add shadow for better readability */
 }

 /* Specific background images for each card */
 .premier-league-card {
    background-image: url('../images/slider-sports/premier_league.webp');
    background-size: cover;
    background-position: center;
 }

 .la-liga-card {
    background-image: url('../images/slider-sports/laliga.webp');
    background-size: cover;
    background-position: center;
 }

 .serie-a-card {
    background-image: url('../images/slider-sports/football.webp'); /* Generic football image */
    background-size: cover;
    background-position: center;
 }

 .bundesliga-card {
    background-image: url('../images/slider-sports/bundesliga.webp');
    background-size: cover;
    background-position: center;
 }

 .ligue-1-card {
    background-image: url('../images/slider-sports/ligue1-uber-eats.webp');
    background-size: cover;
    background-position: center;
 }

 .champions-league-card {
    background-image: url('../images/slider-sports/football.webp'); /* Generic football image */
    background-size: cover;
    background-position: center;
 }

 .world-cup-card {
    background-image: url('../images/slider-sports/football.webp'); /* Generic football image */
    background-size: cover;
    background-position: center;
 }

 .guide-card {
    background: linear-gradient(145deg, #072a20, #0b3b2f) !important;
    text-decoration: none !important;
    border-top: 4px solid #fcbe29 !important; /* Golden accent for guide cards */
    display: flex;
    flex-direction: column;
    justify-content: space-between;
 }

 .guide-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(0, 255, 194, 0.1);
 }

 .club-list,
 .player-list {
     display: flex;
     flex-wrap: wrap;
     gap: 12px;
     list-style: none;
     padding: 0;
     margin-top: 20px
 }

 .club-list li,
 .player-list li {
     background: #ffffff;
     padding: 12px 20px;
     border-radius: 50px;
     border: 1px solid #e2e8f0;
     font-weight: 600;
     color: #072a20;
     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.04);
     transition: all 0.3s ease
 }

 .club-list li:hover,
 .player-list li:hover {
     border-color: #007d56;
     color: #007d56;
     background: #f0fdf4;
     transform: translateY(-2px)
 }

 .guide-list {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
     gap: 15px;
     list-style: none;
     padding: 0;
     margin-top: 20px
 }

 .guide-list li {
     background: #fff;
     padding: 18px;
     border-radius: 10px;
     border-left: 5px solid #007d56;
     box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
     color: #334155;
     font-weight: 500
 }

 #world-cup-history {
     background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
     border-radius: 32px;
     border: 1px solid #e2e8f0;
     padding: 80px 40px;
     margin-bottom: 60px;
     box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.04);
     position: relative;
 }

 #world-cup-history h3 {
     color: #072a20;
     margin: 45px 0 20px;
     font-size: 1.8rem;
     font-weight: 700;
     letter-spacing: -0.02em;
 }

 #world-cup-history .guide-list li {
     background: #ffffff;
     border-left: 6px solid #fcbe29; /* Golden accent for champions */
     padding: 22px;
     transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease;
 }

 #world-cup-history .guide-list li:hover {
     transform: scale(1.02) translateX(8px);
     box-shadow: 0 15px 30px rgba(0, 0, 0, 0.06);
 }

 #world-cup-history p {
     margin-bottom: 24px;
 }

 .glossary-list {
     display: grid;
     gap: 15px;
     list-style: none;
     padding: 0;
     margin-top: 20px
 }

 .glossary-list li {
     width: 100%;
     padding: 20px;
     background: #f8fafc;
     border-radius: 10px;
     border-bottom: none
 }

 .glossary-list li strong {
     color: #007d56;
     display: block;
     font-size: 1.15rem;
     margin-bottom: 5px
 }

 /* Football Hub FAQ Accordion Styles */
 .faq-section {
     padding: 60px 0;
     background-color: #f9fafb;
 }

 .faq-section h2 {
     text-align: center;
     margin-bottom: 40px;
     color: #072a20;
 }

 .faq-grid {
     display: grid;
     grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
     gap: 20px;
 }

 .faq-box {
     background: #ffffff;
     padding: 25px;
     border-radius: 12px;
     box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
     transition: all 0.4s ease;
     cursor: pointer;
     border: 1px solid #f1f5f9;
     border-left: 5px solid #007d56;
 }

 .faq-box h3 {
     font-size: 1.1rem;
     margin: 0;
     color: #072a20;
     display: flex;
     justify-content: space-between;
     align-items: center;
     gap: 15px;
     line-height: 1.4;
 }

 .faq-box h3::after {
     content: '+';
     font-size: 1.5rem;
     transition: transform 0.3s ease;
     color: #007d56;
 }

 .faq-box.active h3::after {
     transform: rotate(45deg);
 }

 .faq-box p {
     font-size: 0.95rem;
     color: #4b5563;
     max-height: 0;
     overflow: hidden;
     opacity: 0;
     transition: all 0.4s ease;
     margin-top: 0;
 }

 .faq-box.active p {
     max-height: 300px;
     opacity: 1;
     margin-top: 15px;
 }

 .faq-box:hover {
     transform: translateY(-3px);
     box-shadow: 0 8px 25px rgba(0, 255, 194, 0.15);
 }

 .future-pages ul {
     columns: 2;
     -webkit-columns: 2;
     list-style: disc;
     margin-left: 18px
 }

 .btn {
     display: inline-block;
     padding: 10px 16px;
     border-radius: 6px;
     text-decoration: none
 }

 .btn.primary {
     background: linear-gradient(90deg, #00ffc2, #00b37a);
     color: #00291a
 }

 /* Page-specific color tweaks to match main site */
 body.football-page {
     background: #ffffff;
     color: #0b1220
 }

 @media (max-width:900px) {
     .football-hero .hero-inner {
         flex-direction: column;
         text-align: center
     }

     .football-hero .hero-media img {
         max-width: 90vw;
         width: 320px
     }
 }

 @media (max-width:480px) {
     .football-hero .hero-text h1 {
         font-size: 1.6rem
     }

     .card {
         padding: 14px
     }

     #world-cup-history {
         padding: 40px 20px;
     }
 }

 /* small helpers */
 .container h2 {
     margin-top: 0;
     color: #072a20;
     font-size: 2rem;
     margin-bottom: 30px;
     position: relative;
     padding-bottom: 12px;
     text-align: center;
 }

 .container h2::after {
     content: '';
     position: absolute;
     bottom: 0;
     left: 50%;
     transform: translateX(-50%);
     width: 60px;
     height: 4px;
     background: #fcbe29;
     border-radius: 2px;
 }

 /* League Comparison Table Styles */
 .league-table-container {
     overflow-x: auto;
     margin: 40px 0;
     border-radius: 16px;
     box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
     border: 1px solid #e2e8f0;
 }

 .league-table {
     width: 100%;
     border-collapse: collapse;
     background: #fff;
     min-width: 750px;
 }

 .league-table th, .league-table td {
     padding: 20px;
     text-align: left;
     border-bottom: 1px solid #f1f5f9;
 }

 .league-table th {
     background-color: #072a20;
     color: #fff;
     font-weight: 700;
     text-transform: uppercase;
     font-size: 0.85rem;
     letter-spacing: 0.05em;
 }

 .league-table tr:hover {
     background-color: #f8fafc;
 }

 .league-table td strong {
     color: #007d56;
 }

 /* World Cup Countdown Styles */
 .world-cup-countdown {
     background: linear-gradient(135deg, #0b3b2f 0%, #072a20 100%);
     color: #fff;
     padding: 60px 0;
     text-align: center;
     margin-bottom: 20px;
     border-bottom: 4px solid #00ffc2;
     border-top: 4px solid #00ffc2;
 }

 .world-cup-countdown h2.wc-title {
     color: #00ffc2;
     margin-bottom: 15px;
     font-size: 2.2rem;
 }

 .countdown-display {
     display: flex;
     justify-content: center;
     gap: 15px;
     margin-top: 25px;
     flex-wrap: wrap;
 }

 .time-block {
     background: rgba(255, 255, 255, 0.05);
     padding: 15px 10px;
     border-radius: 10px;
     min-width: 90px;
     border: 1px solid rgba(0, 255, 194, 0.2);
 }

 .time-block span {
     display: block;
     font-size: 2.2rem;
     font-weight: 800;
     color: #fcbe29;
     line-height: 1;
 }

 .time-block p {
     margin: 5px 0 0;
     font-size: 0.8rem;
     text-transform: uppercase;
     color: #e6fff1;
     letter-spacing: 1px;
 }