:root {
    --primary-bg: #F5F3FF;
    --text-main: #0F172A;
    --text-secondary: #64748B;
    --card-bg: #FFFFFF;
    --accent: #7C3AED;
    --accent-hover: #6D28D9;
    --accent-text: #FFFFFF;
    --warning-bg: #EF4444;
    --warning-text: #FFFFFF;
    --disclaimer-bg: #E2E8F0;
    --disclaimer-border: #94A3B8;
    --disclaimer-text: #1E293B;
}

* {
    box-sizing: border-box;
}

body {
    font-family: 'Inter', sans-serif;
    background-color: var(--primary-bg);
    color: var(--text-main);
    margin: 0;
    padding: 0;
    line-height: 1.625;
    scroll-behavior: smooth;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 700;
    letter-spacing: -0.025em;
    margin-bottom: 1rem;
}

a,
a:hover,
a:focus {
    text-decoration: none;
    transition: color 0.3s ease;
}

img {
    max-width: 100%;
    display: block;
    height: auto;
}

button {
    cursor: pointer;
    border: none;
    transition: all 0.2s ease-in-out;
}

ul,
ol {
    list-style: none;
    padding: 0;
    margin: 0;
}

@media (max-width: 768px) {
    h1 {
        font-size: clamp(1.875rem, 8vw, 2.25rem);
    }

    h2 {
        font-size: clamp(1.5rem, 6vw, 1.875rem);
    }

    h3 {
        font-size: clamp(1.25rem, 5vw, 1.5rem);
    }

    p,
    a,
    span,
    label {
        font-size: 0.9375rem;
        word-wrap: break-word;
    }
}

.rounded-xl {
    border-radius: 0.75rem;
}

.shadow-2xl {
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

/* ===== pre_header ===== */
#warning-bar {
    width: 100%;
}

/* ===== header ===== */
#header {
    background-color: var(--card-bg);
}

.js-mobile-menu {
    background-color: var(--card-bg);
}

.js-age-modal {
    backdrop-filter: blur(8px);
}

/* ===== hero_section ===== */
#home {
    width: 100%
}

.js-hero-fade {
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

/* ===== about_us ===== */
.wager-about-section {
    width: 100%
}

/* ===== offers_grid ===== */
.js-card {
    transition: transform 0.2s ease-in-out;
}

.js-card:hover {
    transform: translateY(-4px);
}

/* ===== info_block_1 ===== */
#trends {
    width: 100%;
    font-family: sans-serif;
}

#trends .card {
    height: 100%;
}

/* ===== info_block_2 ===== */
#popularity {
    background-color: var(--primary-bg);
}

#popularity h2,
#popularity h3 {
    color: var(--text-main);
}

#popularity p {
    color: var(--text-secondary);
}

.shadow-sm {
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

/* ===== faq_section ===== */
#faq .js-faq-wrapper {
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

#faq .collapse-title {
    cursor: pointer;
}

/* ===== reviews_section ===== */
#reviews {
    width: 100%;
    background-color: var(--primary-bg)
}

.js-review-card {
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease
}

.js-review-card:hover {
    border-color: var(--accent);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1)
}

/* ===== contact_form ===== */
#contact {
    width: 100%;
}

input::placeholder,
textarea::placeholder {
    color: var(--text-secondary);
    opacity: 0.6;
}

.checkbox-primary:checked {
    background-color: var(--accent);
    border-color: var(--accent);
}

/* ===== legal_disclaimer ===== */
#disclaimer {
    width: 100%;
}

/* ===== footer ===== */
.footer-wide {
    width: 100%
}

#showcase img{
    width: 100%;
    height: 220px;
}

#footer a img{
    filter: drop-shadow(0px 0px 15px black);
    --webkit-filter: drop-shadow(0px 0px 15px black);
}

@media(max-width: 575px){
    #disclaimer span{
        font-size: 14px;
    }
}