body {
    font-family: 'Poppins', sans-serif;
}

.font-festive {
    font-family: 'Pacifico', cursive;
}

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

.hero-section {
    background-color: #0F6A34;
}

/* Ensure buttons don't have underlines */
button {
    text-decoration: none !important;
}

/* Responsive typography for headings */
@media (min-width: 1024px) {
    h1 {
        font-size: 4.5rem; /* ~72px */
    }
    h2 {
        font-size: 3.5rem; /* ~56px */
    }
    h3 {
        font-size: 2.5rem; /* ~40px */
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    h1 {
        font-size: 3.5rem; /* ~56px */
    }
    h2 {
        font-size: 2.8rem; /* ~45px */
    }
    h3 {
        font-size: 2.2rem; /* ~35px */
    }
}

@media (max-width: 767px) {
    h1 {
        font-size: 2.25rem; /* ~36px */
    }
    h2 {
        font-size: 1.8rem; /* ~29px */
    }
    h3 {
        font-size: 1.5rem; /* ~24px */
    }
    .font-festive {
        font-size: 1.25rem; /* ~20px for site name on mobile */
    }
}

/* Ensure mobile menu closes on scroll */
body.mobile-menu-open {
    overflow: hidden;
}

/* Specific styles for game cards to ensure equal height if content varies slightly */
.game-card {
    display: flex;
    flex-direction: column;
}

.game-card img {
    flex-shrink: 0;
}

.game-card .p-6 {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.game-card .btn-play {
    margin-top: auto; /* Push button to bottom */
}

/* Fix for mobile header sticky top */
@media (max-width: 767px) {
    header {
        top: 0; /* Adjust if global disclaimer is also sticky */
    }
    .global-disclaimer {
        top: 0;
    }
    header {
        top: 2.5rem; /* Height of the global disclaimer */
    }
}

/* Ensure iframe modal content scrolls if necessary */
#gameModal #gameIframe {
    width: 100%;
    height: 100%;
    display: block;
}

#gameModal {
    overflow-y: auto;
}

/* Testimonial card uniform height */
.testimonial-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.testimonial-card p.italic {
    flex-grow: 1;
}
/*
 * Stock styles for policy content wrapper.
 * These styles define basic typography for headings, paragraphs, and lists
 * within the .policyScopeWrap container, ensuring readability and consistent
 * spacing without overly large font sizes for headings.
 */

.policyScopeWrap {
    /* Padding for the main content wrapper */
    padding-top: 40px; /* Top padding */
    padding-left: 20px; /* Left padding */
    padding-right: 20px; /* Right padding */
    padding-bottom: 40px; /* Optional: add bottom padding as well for consistency */

    /* Optional: Max width and center alignment for better readability on large screens */
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.policyScopeWrap h1 {
    /* H1 heading styles */
    font-size: 28px; /* Not a large size */
    line-height: 1.3;
    margin-top: 30px;
    margin-bottom: 15px;
    font-weight: 700; /* Bold */
}

.policyScopeWrap h2 {
    /* H2 heading styles */
    font-size: 24px; /* Not a large size */
    line-height: 1.3;
    margin-top: 25px;
    margin-bottom: 12px;
    font-weight: 700;
}

.policyScopeWrap h3 {
    /* H3 heading styles */
    font-size: 20px; /* Not a large size */
    line-height: 1.4;
    margin-top: 20px;
    margin-bottom: 10px;
    font-weight: 600; /* Semi-bold */
}

.policyScopeWrap h4 {
    /* H4 heading styles */
    font-size: 18px; /* Not a large size */
    line-height: 1.4;
    margin-top: 18px;
    margin-bottom: 8px;
    font-weight: 600;
}

.policyScopeWrap h5 {
    /* H5 heading styles */
    font-size: 16px; /* Not a large size, often body text size */
    line-height: 1.5;
    margin-top: 15px;
    margin-bottom: 6px;
    font-weight: 500; /* Medium weight */
}

.policyScopeWrap p {
    /* Paragraph styles */
    font-size: 16px; /* Standard body text size */
    line-height: 1.6; /* Good for readability */
    margin-bottom: 1em; /* Space between paragraphs */
}

.policyScopeWrap ul {
    /* Unordered list styles */
    list-style-type: disc; /* Default bullet points */
    margin-top: 1em; /* Space above the list */
    margin-bottom: 1em; /* Space below the list */
    margin-left: 20px; /* Indent for bullet points */
    padding: 0; /* Reset default browser padding */
}

.policyScopeWrap li {
    /* List item styles */
    line-height: 1.6; /* Readability for list items */
    margin-bottom: 0.5em; /* Space between individual list items */
}
