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

body {
    font-family: 'Lato', sans-serif;
    color: #333;
    line-height: 1.8;
    font-size: 1.1rem;
    background: #f8f9fa;
    margin: 0;
    padding: 0;
}

main {
    max-width: 1200px; /* Restrict the width of the text */
    margin: 2em auto; /* Center the content */
    padding: 1.5em; /* Add padding around the text */
    background: #fff; /* Add a background to the text block */
    border-radius: 12px; /* Smooth rounded corners */
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); /* Add a subtle shadow */
}

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

/* Header */
/* General Header Styling */
header {
    background: #004080;
    color: #fff;
    padding: 1em;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap; /* Allow items to wrap on smaller screens */
}

header .logo h1 {
    font-size: 1.8rem;
    margin: 0;
}

header nav {
    display: flex;
    gap: 1.5em;
}

header nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 1em;
}

header nav ul li a {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    padding: 0.5em 1em;
    border-radius: 5px;
    transition: background 0.3s, color 0.3s; /* Smooth transition for hover effects */
}

header nav ul li a:hover {
    background: #ffcc00; /* Bright yellow background for visibility */
    color: #004080; /* Dark blue text color for contrast */
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2); /* Add subtle shadow for depth */
}

/* Mobile Menu Toggle */
.header-menu {
    display: none; /* Hidden by default */
    cursor: pointer;
    font-size: 1.5rem;
}

header nav {
    flex-direction: row;
}

header nav ul {
    flex-direction: row;
}

/* Responsive Design */
@media (max-width: 768px) {
    header {
        flex-direction: column; /* Stack elements vertically */
    }

    .header-menu {
        display: block; /* Show the menu toggle */
    }

    header nav {
        display: none; /* Hide navigation by default */
        flex-direction: column; /* Stack nav items vertically */
        width: 100%;
        text-align: center;
    }

    header nav.active {
        display: flex; /* Show navigation when active */
    }

    header nav ul {
        flex-direction: column; /* Stack links vertically */
        gap: 0;
    }

    header nav ul li a {
        padding: 1em;
        display: block; /* Full-width links */
        border-bottom: 1px solid rgba(255, 255, 255, 0.1); /* Add a divider */
    }
}


/* Hero Section */
.hero {
    background: linear-gradient(to bottom right, #004080, #0080ff);
    color: #fff;
    text-align: center;
    padding: 3em 1em;
    margin-bottom: 2em;
}

.hero h2 {
    font-size: 2.5rem;
    margin-bottom: 1em;
}



/* Footer */
footer {
    background: #004080;
    color: #fff;
    text-align: center;
    padding: 2em 0;
}

footer .footer-links a {
    color: #ffcc00;
    text-decoration: none;
    margin: 0 0.5em;
    font-weight: bold;
}

footer .logos img {
    width: 100px;
    margin: 1em;
    transition: transform 0.3s;
}

footer .logos img:hover {
    transform: scale(1.1);
}


/* Pros and Cons Section */
.pros-cons {
    display: flex;
    gap: 2em;
    margin-top: 3em;
    flex-wrap: wrap;
}

.pros, .cons {
    flex: 1;
    padding: 2em;
    border-radius: 12px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    position: relative;
    min-width: 280px;
    color: #0047AB;
}

.pros {
    background: linear-gradient(to right, #4caf50, #81c784); /* Green Gradient */
}

.cons {
    background: linear-gradient(to right, #d32f2f, #e57373); /* Red Gradient */
}

/* Decorative Circles for Pros and Cons */
/* Pros and Cons Section */
.pros-cons {
    display: flex;
    gap: 1.5em;
    margin: 3em auto;
    max-width: 900px;
    justify-content: space-between;
}

.pros, .cons {
    flex: 1;
    max-width: 400px;
    padding: 1.5em;
    border-radius: 15px;
    background: #f9f9f9;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    border: 3px solid transparent;
    transition: border 0.3s, transform 0.3s;
}

.pros:hover {
    border: 3px solid #4caf50;
    transform: translateY(-5px);
}

.cons:hover {
    border: 3px solid #d32f2f;
    transform: translateY(-5px);
}

.pros h3, .cons h3 {
    font-size: 1.5rem;
    margin-bottom: 1em;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.pros ul, .cons ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pros ul li, .cons ul li {
    display: flex;
    align-items: center;
    margin-bottom: 0.8em;
    font-size: 1.1rem;
}

.pros ul li::before {
    content: "✔";
    margin-right: 0.5em;
    color: #4caf50;
    font-weight: bold;
    font-size: 1.2rem;
}

.cons ul li::before {
    content: "✖";
    margin-right: 0.5em;
    color: #d32f2f;
    font-weight: bold;
    font-size: 1.2rem;
}


/* Custom h3 Block */
/* Custom h3 Block with Text */
.custom-h3-block {
    max-width: 800px;
    margin: 2em auto;
    padding: 2em;
    border-radius: 15px;
    background: linear-gradient(135deg, #004d99, #0073e6);
    color: #fff;
    text-align: center;
    box-shadow: 0px 6px 12px rgba(0, 0, 0, 0.15);
}

.custom-h3-block h3 {
    font-size: 2rem;
    margin-bottom: 0.5em;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    color: #fff;
}

.custom-h3-block p {
    font-size: 1.2rem;
    margin-top: 0.5em;
    line-height: 1.8;
    color: #fff;
}


p {
    margin-bottom: 1.5em;
    text-align: justify; /* Justify the text for cleaner alignment */
}

/* Headings */
/* Headings */

/* Main Page Title */
h1 {
    font-size: 2.5rem; /* Larger font size for main titles */
    margin-bottom: 1.5em;
    color: #fff; /* Darker blue for strong emphasis */
    text-align: center;
    font-weight: bold;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    border-bottom: 4px solid #0073e6; /* Decorative underline */
    padding-bottom: 0.5em;
}

/* Section Titles */
h2 {
    font-size: 2rem; /* Slightly smaller than h1 */
    margin-top: 2em;
    margin-bottom: 1em;
    color: #004d99; /* Bright blue for clarity */
    text-transform: uppercase;
    font-weight: bold;
    letter-spacing: 1.2px;
    text-align: left;
    border-left: 5px solid #0073e6; /* Vertical line for decoration */
    padding-left: 1em; /* Add spacing from the border */
}

/* Subsection Titles */
.container h3 {
    font-size: 1.8rem;
    margin-top: 1.5em;
    margin-bottom: 1em;
    color: #004d99;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    font-weight: bold;
    text-align: left;
}


h4 {
    font-size: 1.5rem;
    margin-top: 1.5em;
    margin-bottom: 0.8em;
    color: #0073e6;
    font-weight: bold;
}

a {
    color: #0073e6;
    text-decoration: none;
    border-bottom: 1px dashed #0073e6;
    transition: color 0.3s, border-bottom 0.3s;
}

a:hover {
    color: #004d99;
    border-bottom: 1px solid #004d99;
}


/* Styled Numbered List */
/* Styled Numbered List */
/* Styled Numbered List */
ol {
    counter-reset: custom-counter; /* Reset custom counter */
    list-style: none; /* Remove default numbering */
    margin: 2em 0;
    padding: 0;
}

ol li {
    counter-increment: custom-counter; /* Increment custom counter */
    position: relative;
    margin-bottom: 1.5em;
    padding: 1em 1.5em 1em 4em; /* Add more left padding for the number */
    background: #eef7ff; /* Light blue background */
    border-radius: 10px; /* Smooth rounded corners */
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); /* Subtle shadow */
    overflow: hidden; /* Ensure no overlap */
}

ol li::before {
    content: counter(custom-counter); /* Display the correct custom counter */
    position: absolute;
    top: 50%;
    left: 1em;
    transform: translateY(-50%); /* Center the number vertically */
    background: #0073e6; /* Blue background for numbers */
    color: #fff; /* White text for numbers */
    font-weight: bold;
    font-size: 1.2rem;
    width: 2.5em;
    height: 2.5em;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%; /* Make it a circle */
    box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1); /* Subtle shadow */
}





/* 1) Casino TOP Styles */

/* 2) Wrapper */
.casino-list {
  max-width: 1100px;
  margin: 0 auto;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* 3) Card */
.casino-card {
  position: relative;              /* for rank badge */
  display: flex;
  flex-direction: row;
  background: #212936;             /* card background */
  border-radius: 8px;
  overflow: hidden;
  width: 100%;
  border-left: 4px solid #4e80ee;  /* accent border */
}

/* 4) Rank badge */
.rank {
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 32px;
  background: #4e80ee;             /* primary accent */
  color: #ffffff;
  border-radius: 0 0 8px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}

/* 5) Image column and responsive tweaks */
.card-image {
  flex: 0 0 20%;                   /* ~20% of card width */
  max-width: 240px;                /* desktop limit */
  min-width: 120px;                /* mobile limit */
  aspect-ratio: 1 / 1;             /* square */
  background: #f7f7f7;             /* neutral frame */
  padding: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
}
.card-image img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
@media (max-width: 768px) {
  .card-image {
    flex: 0 0 auto;
    width: 100%;
    aspect-ratio: 4 / 3;
    margin: 0 auto 1rem;
  }
}

/* 6) Main content area - FIXED: Using CSS Grid for consistent layout */
.card-content {
  flex: 1;
  display: grid;
  grid-template-columns: 1fr 180px 200px; /* casino-info | offers | actions */
  align-items: center;
  padding: 1rem;
  gap: 2rem;
}

/* 7) Casino info (title + rating) */
.casino-info {
  display: flex;
  flex-direction: column;
  min-width: 0; /* Allow text to wrap/truncate if needed */
}
.casino-title {
  font-size: 1.25rem;
  font-weight: bold;
  color: #ffffff;
}
.rating {
  margin-top: 0.25rem;
  display: flex;
}
.rating .star {
  color: #FFD700;
  font-size: 1rem;
  margin-right: 2px;
}

/* 8) Offers block - FIXED: Removed auto margins */
.offers {
  width: 180px;
  padding: 1rem 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: rgba(140, 172, 229, 0.1);
  border: 1px solid #4e80ee;
  border-radius: 4px;
  justify-self: center; /* Center within its grid cell */
}
.offers .bonus,
.offers .freespins {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.offers .bonus::before,
.offers .freespins::before {
  content: attr(data-label);
  font-size: 1.25rem;
  font-weight: bold;
  color: #4e80ee;
  margin-bottom: 0.25rem;
}
.offers .amount {
  font-size: 1rem;
  font-weight: bold;
  color: #ffffff;
  margin: 0;
}

/* 9) Actions (buttons + disclaimer) - FIXED: Positioned in grid */
.actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  justify-self: center; /* Center within its grid cell */
}
.btn-primary,
.btn-secondary {
  text-align: center;
  border-radius: 4px;
  text-decoration: none;
  font-weight: bold;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
.btn-primary {
  padding: 1rem 1.5rem;
  font-size: 1rem;
  background: linear-gradient(45deg, #4e80ee, #8cace5);
  color: #ffffff;
  animation: earthquake 4s ease-in-out infinite;
}
.btn-primary:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
  background: linear-gradient(45deg, #8cace5, #4e80ee);
}
.btn-secondary {
  width: 160px;
  padding: 0.75rem;
  font-size: 0.85rem;
  background: #212936;
  color: #8cace5;
  border: 1px solid #8cace5;
}
.btn-secondary:hover {
  transform: scale(1.05);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}
.disclaimer {
  font-size: 0.75rem;
  color: #ffffff;
  margin-top: 0.5rem;
  text-align: center;
}

/* 10) Shake animation */
@keyframes earthquake {
  0%   { transform: translate(0, 0) rotate(0deg); }
  2%   { transform: translate(-2px, 1px) rotate(-1deg); }
  4%   { transform: translate(-2px, -1px) rotate(1deg); }
  6%   { transform: translate(2px, 1px) rotate(0deg); }
  8%   { transform: translate(2px, -1px) rotate(1deg); }
  10%  { transform: translate(-2px, 1px) rotate(-1deg); }
  11%, 100% { transform: translate(0, 0) rotate(0deg); }
}

/* 11) Mobile adaptation - FIXED: Better responsive grid */
@media (max-width: 768px) {
  .casino-card {
    flex-direction: column;
  }
  .card-content {
    display: flex; /* Switch back to flexbox on mobile */
    flex-direction: column;
    gap: 1rem;
  }
  .casino-info {
    align-items: center;
    text-align: center;
  }
  .offers {
    width: 80%;
    margin: 0 auto 1rem;
  }
  .actions {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
  }
  .btn-primary,
  .btn-secondary {
    width: 48%;
  }
  .disclaimer {
    order: 1;
    width: 100%;
    margin-top: 0.75rem;
  }
}

/* Section title */
.section-title {
  font-size: 1.75rem;
  font-weight: bold;
  color: #212936;
  text-align: center;
  margin: 2rem 0 1rem;
}




