/* ===========================
   VARIABLES
   =========================== */
:root {
    /* ─── Primary palette ─── */
    --color-primary: #14805C;
    --color-primary-light: rgba(20, 128, 92, 0.07);
    --color-primary-border: rgba(20, 128, 92, 0.3);
    --color-primary-border-light: rgba(20, 128, 92, 0.12);
    --color-primary-border-medium: rgba(20, 128, 92, 0.4);
    --color-primary-border-weak: rgba(20, 128, 92, 0.2);
    --color-primary-end: #34B37D;              /* gradient end */
    --color-primary-end-alt: #33B27C;          /* gradient end (alt) */

    /* ─── Accent / neon green ─── */
    --color-green-accent: #FFC629;
    --color-green-accent-alt: #FFE07A;
    --color-green-accent-glow: rgba(255, 198, 41, 0.75);
    --color-green-accent-shadow: rgba(20, 128, 92, 0.18);
    --color-green-btn-shadow: rgba(20, 128, 92, 0.3);
    --color-green-badge-shadow: rgba(20, 128, 92, 0.25);

    /* ─── Text ─── */
    --color-text: #323232;
    --color-text-dark: #0E2A21;
    --color-text-black: #000;
    --color-text-muted: #848484;
    --color-text-dark-alt: #313131;

    /* ─── Backgrounds ─── */
    --color-white: #FFFFFF;
    --color-bg: #FFFFFF;
    --color-bg-light: #E9F6F0;
    --color-bg-light-green: #E7F6EE;
    --color-bg-light-green-badge: #FFF7E0;
    --color-bg-section: #F7FBF9;
    --color-bg-neutral: #F5F5F5;
    --color-bg-neutral-alt: #F7F7F7;
    --color-bg-neutral-light: #F8F8F8;
    --color-bg-neutral-warm: #F4F4F4;
    --color-bg-icon: #E2F3EA;
    --color-dark: #0C2A20;
    --color-footer-bg: #F9FAFC;

    /* ─── Borders & dividers ─── */
    --color-border: rgba(0, 41, 74, 0.12);
    --color-border-light: #ECEEF8;
    --color-border-header: rgba(0, 41, 74, 0.12);
    --color-border-neutral: #DADADA;
    --color-border-row: #EBEBEB;
    --color-border-badge-divider: #E0E5EF;
    --color-border-card: rgba(0, 23, 56, 0.1);
    --color-border-footer: rgba(0, 0, 0, 0.08);
    --color-border-copyright: rgba(0, 0, 0, 0.2);
    --color-border-dark: #606060;

    /* ─── Status colors ─── */
    --color-success: #0E9F6E;
    --color-error: #F71A37;
    --color-yellow: #FFD607;
    --color-warning: #FFF0F0;
    --color-warning-border: rgba(255, 0, 0, 0.1);

    /* ─── Time badge — orange ─── */
    --color-time-orange-bg: #FFFAF3;
    --color-time-orange-border: rgba(124, 62, 0, 0.2);
    --color-time-orange-text: #915E00;

    /* ─── Time badge — pink ─── */
    --color-time-pink-bg: #FFF3FB;
    --color-time-pink-border: rgba(124, 0, 79, 0.2);
    --color-time-pink-text: #7C0040;

    /* ─── Badge gold ─── */
    --color-gold-start: rgba(255, 157, 0, 1);
    --color-gold-end: rgba(255, 198, 7, 1);
    --color-gold-border: #E6C105;
    --color-gold-shadow: rgba(255, 162, 0, 0.25);

    /* ─── Badge pink ─── */
    --color-badge-pink-start: #D1005D;
    --color-badge-pink-end: #E90194;
    --color-badge-pink-shadow: rgba(255, 0, 157, 0.25);

    /* ─── Badge — decorative gradients ─── */
    --color-badge-yellow-start: #FFC607;
    --color-badge-yellow-end: #FF9D00;
    --color-badge-purple-start: #A407FF;
    --color-badge-purple-end: #DD00FF;
    --color-badge-red-start: #FF0783;
    --color-badge-red-end: #FF0004;
    --color-badge-blue-start: #0055FF;
    --color-badge-blue-end: #07A8FF;

    /* ─── Regulation section ─── */
    --color-regulation: #14805C;

    /* ─── Shadows ─── */
    --shadow-sm: 0px 2px 6px 0px rgba(0, 35, 74, 0.08);
    --shadow-header: 0px 1px 4px 0px rgba(0, 0, 0, 0.12);
    --shadow-card: 0 12px 26px rgba(0, 35, 74, 0.07);
    --shadow-mobile-nav: 0 8px 24px rgba(0, 0, 0, 0.12);

    /* ─── Typography ─── */
    --font-primary: 'Montserrat', sans-serif;
    --font-body: 'Manrope', sans-serif;
    --font-rating: 'Lato', sans-serif;

    /* ─── Sizes ─── */
    --container-width: 1364px;
    --container-padding: 278px;
    --border-radius: 20px;
    --border-radius-sm: 12px;
    --border-radius-pill: 30px;

    /* ─── Transitions ─── */
    --transition: 0.3s ease;
}

/* ===========================
   RESET
   =========================== */
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-primary);
    color: var(--color-text);
    background-color: var(--color-bg);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

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

a {
    text-decoration: none;
    color: inherit;
}

ul, ol {
    list-style: none;
}

button {
    cursor: pointer;
    border: none;
    background: none;
    font-family: inherit;
}

input, select {
    font-family: inherit;
    border: none;
    outline: none;
}

/* ===========================
   ICONS (SVG sprite)
   =========================== */
.icon {
    display: inline-block;
    vertical-align: middle;
    flex-shrink: 0;
    fill: currentColor;
    color: inherit;
}

/* ===========================
   LAYOUT
   =========================== */
.container {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 0 20px;
}

.section {
    padding: 40px 0;
}

.section__header {
    text-align: center;
    margin-bottom: 40px;
}

.section__title {
    font-family: var(--font-primary);
    font-weight: 800;
    font-size: 32px;
    color: var(--color-text);
    margin-bottom: 12px;
}

.section__title span {
    color: var(--color-primary);
}

.section__subtitle {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 18px;
    line-height: 36px;
    letter-spacing: 0.02em;
    color: var(--color-text);
    opacity: 0.6;
    max-width: 800px;
    margin: 0 auto;
}

/* ===========================
   TYPOGRAPHY
   =========================== */
.text-primary {
    color: var(--color-primary);
}

.text-muted {
    opacity: 0.6;
}

/* ===========================
   HEADER
   =========================== */
.header {
    position: sticky;
    top: 0;
    z-index: 100;
    background-color: var(--color-white);
    border-bottom: 1px solid var(--color-border-header);
    box-shadow: var(--shadow-header);
}

.header__inner {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 12px 20px;
    display: flex;
    align-items: center;
    gap: 32px;
}

.header__logo {
    flex-shrink: 0;
    width: 142px;
    display: block;
}

.header__logo img {
    width: 142px;
    height: 42px;
    object-fit: contain;
}

.header__nav {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    align-items: stretch;
    height: 44px;
}

.header__link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 16px;
    line-height: 20px;
    color: var(--color-text);
    white-space: nowrap;
    transition: color var(--transition);
}

.header__link:hover {
    color: var(--color-primary);
}

.header__link--accent {
    color: var(--color-primary);
}

.header__link-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 10px;
    background-color: var(--color-primary-light);
    border-radius: 40px;
    flex-shrink: 0;
    color: var(--color-primary);
}

.header__link-icon img {
    width: 20px;
    height: 20px;
}

/* Header responsive */
@media (max-width: 1200px) {
    .header__link {
        padding: 12px 10px;
        font-size: 14px;
    }
}

@media (max-width: 992px) {
    .header__link {
        padding: 8px 8px;
        font-size: 13px;
    }

    .header__link-icon {
        width: 32px;
        height: 32px;
        padding: 6px;
    }
}

/* ===========================
   HERO
   =========================== */
.hero {
    position: relative;
    overflow: hidden;
}

.hero__inner {
    max-width: var(--container-width);
    margin: 0 auto;
    padding: 10px 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.hero__content {
    width: 680px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
}

/* Badge */
.hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px 12px 16px;
    background: var(--color-white);
    border: 1px solid var(--color-primary-border-medium);
    border-radius: 26px;
    align-self: flex-start;
}

.hero__badge-group {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    letter-spacing: 0.02em;
    color: var(--color-primary);
}

.hero__badge-group img {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

.hero__badge-group strong {
    color: var(--color-text);
}

.hero__badge-divider {
    width: 1px;
    align-self: stretch;
    background-color: var(--color-border-badge-divider);
}

.hero__badge-text {
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 12px;
    line-height: 14px;
    color: var(--color-text);
    opacity: 0.6;
}

/* Title */
.hero__title {
    font-family: var(--font-primary);
    font-weight: 800;
    font-size: 54px;
    line-height: 1.1;
    color: var(--color-text);
}

.hero__title span {
    color: var(--color-primary);
}

/* Description */
.hero__description {
    max-width: 480px;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 18px;
    line-height: 36px;
    letter-spacing: 0.02em;
    color: var(--color-text);
    opacity: 0.6;
}

/* Hero image */
.hero__image {
    position: relative;
    width: 624px;
    height: 520px;
    flex-shrink: 0;
    overflow: hidden;
}

.hero__image img {
    width: 780px;
    height: 520px;
    object-fit: cover;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
}

.hero__image::before,
.hero__image::after {
    content: '';
    position: absolute;
    z-index: 1;
    pointer-events: none;
}

/* Gradient fade on right */
.hero__image::after {
    top: 0;
    right: 0;
    width: 151px;
    height: 100%;
    background: linear-gradient(270deg, var(--color-bg) 0%, transparent 100%);
}

/* Gradient fade on left */
.hero__image::before {
    top: 0;
    left: 0;
    width: 130px;
    height: 100%;
    background: linear-gradient(90deg, var(--color-bg) 0%, transparent 100%);
}

.hero__image-fade-top,
.hero__image-fade-bottom {
    position: absolute;
    left: 0;
    width: 100%;
    z-index: 1;
    pointer-events: none;
}

.hero__image-fade-top {
    top: 0;
    height: 75px;
    background: linear-gradient(180deg, var(--color-bg) 0%, transparent 100%);
}

.hero__image-fade-bottom {
    bottom: 0;
    height: 114px;
    background: linear-gradient(0deg, var(--color-bg) 0%, transparent 100%);
}

/* ===========================
   HERO STATS
   =========================== */
.hero__stats {
    max-width: var(--container-width);
    margin: -40px auto 0;
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 0 20px 5px 20px;
}

.hero__stat {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 32px;
    background: var(--color-white);
    border-radius: 20px;
    box-shadow: var(--shadow-sm);
}

.hero__stat-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    padding: 16px;
    background: var(--color-bg-light);
    border-radius: 40px;
    flex-shrink: 0;
    color: var(--color-primary);
}

.hero__stat-icon img {
    width: 32px;
    height: 32px;
}

.hero__stat-text {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.hero__stat-value {
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 24px;
    text-transform: uppercase;
    color: var(--color-text);
}

.hero__stat-value small {
    text-transform: none;
}

.hero__stat-label {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    color: var(--color-text);
    opacity: 0.6;
}

/* Hero responsive */
@media (max-width: 1200px) {
    .hero__content {
        width: 450px;
    }

    .hero__title {
        font-size: 36px;
    }

    .hero__description {
        font-size: 16px;
        line-height: 28px;
        max-width: 100%;
    }

    .hero__image {
        width: 400px;
        height: 360px;
    }

    .hero__image img {
        width: 500px;
        height: 360px;
    }

    .hero__stats {
        flex-wrap: wrap;
    }

    .hero__stat {
        flex: 1 1 calc(50% - 12px);
        min-width: 280px;
    }
}

@media (max-width: 992px) {
    .hero__inner {
        padding: 40px 20px;
        flex-direction: column;
        gap: 40px;
    }

    .hero__content {
        width: 100%;
    }

    .hero__title {
        font-size: 32px;
    }

    .hero__image {
        width: 100%;
        height: 300px;
    }

    .hero__image img {
        width: 100%;
        height: 300px;
    }

    .hero__stats {
        margin-top: -20px;
        flex-direction: column;
    }

    .hero__stat {
        flex: 1 1 100%;
        width: 100%;
    }
}

/* ===========================
   TOP 5 FASTEST PAYING
   =========================== */
.top5 {
    padding-top: 80px;
    padding-bottom: 80px;
}

/* Filter tabs */
.top5__filters {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    margin-bottom: 40px;
}

.top5__filter {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 16px 32px;
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    text-transform: capitalize;
    color: var(--color-text);
    background: var(--color-white);
    border: 1px solid var(--color-primary-border);
    border-radius: var(--border-radius-pill);
    cursor: pointer;
    transition: all var(--transition);
    white-space: nowrap;
}

.top5__filter .icon {
    color: var(--color-primary);
}

.top5__filter img {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.top5__filter:hover {
    background: var(--color-primary-light);
}

.top5__filter--active {
    background: var(--color-primary);
    color: var(--color-white);
    border-color: var(--color-primary);
}

.top5__filter--active .icon {
    color: var(--color-white);
}

/* Table */
.top5__table {
    background: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius);
    overflow: visible;
}

.top5__table-header,
.top5__row {
    display: flex;
    align-items: center;
    padding: 20px 32px;
    border-bottom: 1px solid var(--color-border);
}

.top5__table-header .top5__col {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    color: var(--color-text);
}

/* Column widths — shared between header and rows */
.top5__col--num {
    width: 42px;
    flex-shrink: 0;
    margin-right: 36px;
}

.top5__col--casino {
    width: 280px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 16px;
    margin-right: 36px;
}

.top5__col--payout {
    flex-shrink: 0;
    margin-right: 36px;
    white-space: nowrap;
}

.top5__col--bonus {
    width: 292px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    margin-right: 36px;
}

.top5__col--rails {
    flex: 1;
    min-width: 0;
}

.top5__col--actions {
    width: 180px;
    flex-shrink: 0;
    margin-left: 36px;
}

/* Row */
.top5__row {
    position: relative;
}

.top5__row:last-child {
    border-bottom: none;
}

/* Number */
.top5__number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 12px;
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 14px;
    text-align: center;
    color: var(--color-text);
    background: var(--color-bg-neutral);
    border-radius: 30px;
}

.top5__number--gold {
    background: linear-gradient(90deg, var(--color-gold-start) 40%, var(--color-gold-end) 100%);
    border: 1px solid var(--color-gold-border);
    color: var(--color-text);
}

/* Casino logo + badge */
.top5__casino-logo {
    position: relative;
    width: 140px;
    height: 80px;
    flex-shrink: 0;
    border-radius: 16px;
    overflow: visible;
}

.top5__casino-logo img {
    width: 140px;
    height: 80px;
    border-radius: 16px;
    object-fit: cover;
}

.top5__casino-badge {
    position: absolute;
    top: -13px;
    left: 12px;
    padding: 8px 12px;
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 12px;
    line-height: 14px;
    color: var(--color-white);
    border-radius: 10px;
    white-space: nowrap;
}

.top5__casino-badge--yellow {
    background: linear-gradient(90deg, var(--color-gold-start) 40%, var(--color-gold-end) 100%);
    box-shadow: 0px 4px 20px 0px var(--color-gold-shadow);
}

.top5__casino-badge--green {
    background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-end) 100%);
    box-shadow: 0px 4px 20px 0px var(--color-green-badge-shadow);
}

.top5__casino-badge--pink {
    background: linear-gradient(90deg, var(--color-badge-pink-start) 0%, var(--color-badge-pink-end) 100%);
    box-shadow: 0px 4px 20px 0px var(--color-badge-pink-shadow);
}

/* Casino info */
.top5__casino-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
}

.top5__casino-name {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 18px;
    line-height: 24px;
    color: var(--color-text);
    white-space: nowrap;
}

.top5__casino-rating {
    display: flex;
    align-items: center;
    align-self: stretch;
    gap: 8px;
}

.top5__casino-rating .icon {
    color: var(--color-yellow);
}

.top5__casino-rating img {
    width: 20px;
    height: 20px;
}

.top5__casino-rating span {
    font-family: var(--font-rating);
    font-weight: 400;
    font-size: 14px;
    color: var(--color-text);
}

.top5__casino-rating strong {
    font-weight: 700;
}

/* Time badge */
.top5__time {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px 12px 16px;
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    border-radius: 14px;
}

.top5__time img {
    width: 20px;
    height: 20px;
}

.top5__time--orange {
    background: var(--color-time-orange-bg);
    border: 1px solid var(--color-time-orange-border);
    color: var(--color-time-orange-text);
}

.top5__time--green {
    background: var(--color-bg-light-green-badge);
    border: 1px solid var(--color-primary-border-weak);
    color: var(--color-primary);
}

.top5__time--pink {
    background: var(--color-time-pink-bg);
    border: 1px solid var(--color-time-pink-border);
    color: var(--color-time-pink-text);
}

/* Bonus */
.top5__bonus-title {
    display: block;
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 18px;
    line-height: 24px;
    color: var(--color-text);
    white-space: nowrap;
}

.top5__bonus-sub {
    display: block;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 18px;
    line-height: 24px;
    letter-spacing: 0.02em;
    color: var(--color-text);
    opacity: 0.6;
    white-space: nowrap;
}

/* Payments */
.top5__payments {
    display: flex;
    gap: 4px;
}

.top5__payment {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 40px;
    padding: 4px 0;
    background: var(--color-bg-neutral-alt);
    border-radius: 6px;
    overflow: hidden;
}

.top5__payment img {
    width: 48px;
    height: 36px;
    object-fit: contain;
}

.top5__payment--more {
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 12px;
    color: var(--color-text);
}

/* Action buttons */
.top5__col--actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
}

.top5__btn-visit {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 16px 32px;
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 16px;
    line-height: 20px;
    color: var(--color-white);
    background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-end) 100%);
    box-shadow: 0px 8px 10px 0px var(--color-green-accent-shadow);
    border-radius: 16px;
    transition: opacity var(--transition);
    white-space: nowrap;
}

.top5__btn-visit:hover {
    opacity: 0.9;
}

.top5__btn-review {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 16px;
    line-height: 20px;
    color: var(--color-text);
    border-radius: 10px;
    transition: color var(--transition);
    white-space: nowrap;
}

.top5__btn-review img {
    width: 20px;
    height: 20px;
    opacity: 0.6;
}

.top5__btn-review:hover {
    color: var(--color-primary);
}

.top5__btn-review .icon {
    transition: transform var(--transition);
}

/* Active review button */
.top5__btn-review--active {
    color: var(--color-primary);
}

.top5__btn-review--active .icon {
    color: var(--color-primary);
    transform: rotate(180deg);
}

/* Expandable detail block */
.top5__detail {
    padding: 20px 32px;
    border-bottom: 1px solid var(--color-border);
}

.top5__detail:last-child {
    border-bottom: none;
}

.top5__detail[hidden] {
    display: none;
}

.top5__detail-block {
    display: flex;
    gap: 60px;
    padding: 32px;
    background: var(--color-bg-section);
    border-radius: var(--border-radius);
}

.top5__detail-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.top5__detail-title {
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: var(--color-text);
}

.top5__detail-desc {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.02em;
    color: var(--color-text);
    opacity: 0.6;
}

.top5__detail-points {
    width: 520px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.top5__detail-group {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.top5__detail-group-title {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 16px;
    line-height: 20px;
    color: var(--color-text);
}

.top5__detail-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.top5__detail-item {
    display: flex;
    align-items: center;
    gap: 16px;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: var(--color-text);
    padding: 2px 0;
}

.top5__detail-item--pro .icon {
    color: var(--color-success);
}

.top5__detail-item--con .icon {
    color: var(--color-error);
}

.top5__detail-divider {
    display: none;
}

/* Top 5 responsive */
@media (max-width: 1200px) {
    .top5__filters {
        flex-wrap: wrap;
    }

    .top5__filter {
        padding: 12px 20px;
        font-size: 13px;
    }

    .top5__table-header {
        display: none;
    }

    .top5__row {
        flex-wrap: wrap;
        gap: 16px;
        padding: 24px 20px;
    }

    .top5__detail-block {
        flex-direction: column;
        gap: 24px;
    }

    .top5__detail-points {
        width: 100%;
    }

    .top5__col--num {
        width: auto;
        margin-right: 16px;
    }

    .top5__col--casino {
        width: auto;
        flex: 1;
        margin-right: 0;
    }

    .top5__col--payout {
        margin-right: 0;
    }

    .top5__col--bonus {
        width: 100%;
        margin-right: 0;
    }

    .top5__col--rails {
        width: 100%;
    }

    .top5__col--actions {
        width: 100%;
        flex-direction: row;
        margin-left: 0;
    }

    .top5__btn-visit,
    .top5__btn-review {
        flex: 1;
    }
}

@media (max-width: 768px) {
    .top5__filter {
        padding: 10px 16px;
        font-size: 12px;
    }

    .top5__col--casino {
        flex-direction: column;
        align-items: flex-start;
    }

    .top5__bonus-title,
    .top5__bonus-sub {
        font-size: 14px;
        line-height: 20px;
        white-space: normal;
    }
}

/* ===========================
   SCORING (Why these five)
   =========================== */
.scoring {
    border-top: 1px solid var(--color-border);
}

.scoring__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 24px;
}

.scoring__card {
    display: flex;
    gap: 24px;
    padding: 24px 32px;
    background: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: var(--border-radius);
}

.scoring__card-icon {
    flex-shrink: 0;
}

.scoring__icon-circle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background: var(--color-bg-light);
    border-radius: 50%;
    color: var(--color-primary);
}

.scoring__card-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.scoring__weight {
    display: inline-flex;
    align-self: flex-start;
    padding: 4px 12px;
    background: var(--color-bg-light-green-badge);
    border-radius: 6px;
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-primary);
}

.scoring__card-title {
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: var(--color-text);
}

.scoring__card-desc {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.02em;
    color: var(--color-text);
    opacity: 0.6;
}

/* Warning card */
.scoring__warning {
    display: flex;
    gap: 24px;
    padding: 32px;
    background: var(--color-white);
    border: 1px solid var(--color-primary);
    border-radius: var(--border-radius);
    max-width: 1000px;
    margin: 0 auto;
}

.scoring__warning-icon {
    flex-shrink: 0;
    color: var(--color-primary);
}

.scoring__warning-text {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.scoring__warning-title {
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: var(--color-text-dark);
}

.scoring__warning-desc {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    letter-spacing: 0.02em;
    color: var(--color-text);
    opacity: 0.6;
}

/* Scoring responsive */
@media (max-width: 1200px) {
    .scoring__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .scoring__grid {
        grid-template-columns: 1fr;
    }

    .scoring__warning {
        flex-direction: column;
        gap: 16px;
    }
}

/* ========================
   SECTION 4: PICK BY WHAT MATTERS
   ======================== */
.pick__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 24px;
}

/* Card */
.pick__card {
    position: relative;
    display: flex;
    gap: 24px;
    padding: 32px;
    background: var(--color-white);
    border: 1px solid var(--color-primary);
    border-radius: 20px;
}

/* Icon circle */
.pick__card-icon {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-bg-section);
    border-radius: 50%;
    color: var(--color-primary);
}

/* Card body */
.pick__card-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.pick__card-title {
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: var(--color-text);
    margin: 0;
}

/* Badges — absolutely positioned overlapping top border */
.pick__badge {
    position: absolute;
    top: -15px;
    left: 80px;
    display: inline-block;
    padding: 8px 12px;
    border-radius: 10px;
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 12px;
    line-height: 1;
    color: var(--color-white);
    white-space: nowrap;
}

.pick__badge--yellow {
    background: linear-gradient(90deg, var(--color-badge-yellow-start), var(--color-badge-yellow-end));
    color: var(--color-text);
}

.pick__badge--purple {
    background: linear-gradient(90deg, var(--color-badge-purple-start), var(--color-badge-purple-end));
}

.pick__badge--red {
    background: linear-gradient(90deg, var(--color-badge-red-start), var(--color-badge-red-end));
}

.pick__badge--blue {
    background: linear-gradient(90deg, var(--color-badge-blue-start), var(--color-badge-blue-end));
}

.pick__badge--pink {
    background: linear-gradient(90deg, var(--color-badge-pink-start), var(--color-badge-pink-end));
}

.pick__badge--green {
    background: linear-gradient(90deg, var(--color-primary), var(--color-primary-end-alt));
}

/* Description */
.pick__card-desc {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 18px;
    color: var(--color-text);
    margin: 0;
}

/* Link */
.pick__card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 14px;
    line-height: 17px;
    color: var(--color-primary);
    text-decoration: none;
}

.pick__card-link .icon {
    color: var(--color-primary);
}

/* Pick responsive */
@media (max-width: 1200px) {
    .pick__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .pick__grid {
        grid-template-columns: 1fr;
    }

    .pick__card {
        flex-direction: column;
        gap: 16px;
    }
}

/* ========================
   SECTION 5: PAYOUT METHODS TABLE
   ======================== */
.methods {
    padding-top: 0;
}

.methods__table {
    border: 1px solid var(--color-border-light);
    border-radius: 20px;
    overflow: hidden;
}

/* Row layout */
.methods__row {
    display: flex;
    background: var(--color-white);
    border-bottom: 1px solid var(--color-border-row);
}

.methods__row:last-child {
    border-bottom: none;
}

/* Header row */
.methods__row--head {
    background: var(--color-bg-section);
}

.methods__row--head .methods__col {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    color: var(--color-text);
    padding: 18px 24px;
    text-transform: uppercase;
}

/* Columns */
.methods__col {
    padding: 24px;
    display: flex;
    align-items: flex-start;
}

.methods__col--method {
    width: 320px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 16px;
}

.methods__col--time {
    width: 260px;
    flex-shrink: 0;
    align-items: center;
}

.methods__col--cost {
    width: 200px;
    flex-shrink: 0;
    align-items: center;
}

.methods__col--note {
    flex: 1;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 16px;
    line-height: 24px;
    color: var(--color-text);
}

/* Method icon */
.methods__icon {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-bg-light);
    border-radius: 50%;
    color: var(--color-primary);
}

/* Method text */
.methods__method-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.methods__method-text strong {
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: var(--color-text);
}

.methods__method-text span {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-text);
}

/* Time badge */
.methods__time-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    background: var(--color-bg-neutral-light);
    border: 1px solid var(--color-border-dark);
    border-radius: 14px;
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    color: var(--color-text);
}

.methods__time-badge .icon {
    color: var(--color-text);
}

/* Cost text */
.methods__cost-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.methods__cost-text strong {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 18px;
    line-height: 24px;
    color: var(--color-text);
}

.methods__cost-text span {
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 18px;
    line-height: 24px;
    color: var(--color-text);
}

/* Methods responsive */
@media (max-width: 1200px) {
    .methods__row {
        flex-wrap: wrap;
    }

    .methods__col--method {
        width: 50%;
    }

    .methods__col--time {
        width: 25%;
    }

    .methods__col--cost {
        width: 25%;
    }

    .methods__col--note {
        width: 100%;
        border-top: 1px solid var(--color-border-row);
    }
}

@media (max-width: 768px) {
    .methods__row--head {
        display: none;
    }

    .methods__row {
        flex-direction: column;
        padding: 24px;
        gap: 16px;
    }

    .methods__col {
        padding: 0;
        width: 100% !important;
    }

    .methods__col--note {
        border-top: none;
    }
}

/* ========================
   SECTION 6: WHAT TO AVOID
   ======================== */
/* no extra padding — inherits .section */

.avoid__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

/* Card */
.avoid__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding: 32px;
    background: var(--color-white);
    border: 1px solid var(--color-border-card);
    border-radius: 20px;
    box-shadow: var(--shadow-card);
}

/* Icon circle */
.avoid__card-icon {
    width: 92px;
    height: 92px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-bg-light-green);
    border: 2px solid var(--color-white);
    border-radius: 50%;
    color: var(--color-primary);
    box-shadow: 0 0 0 1px var(--color-bg-light-green);
}

/* Card body — stretches full width */
.avoid__card-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-self: stretch;
}

.avoid__card-title {
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: var(--color-text);
    margin: 0;
    text-align: center;
}

.avoid__card-desc {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-text);
    margin: 0;
    text-transform: capitalize;
    opacity: 0.6;
}

/* Separator */
.avoid__card-line {
    height: 1px;
    background: var(--color-border-light);
}

/* Instead tip */
.avoid__card-tip {
    display: flex;
    gap: 12px;
}

.avoid__card-tip strong {
    flex-shrink: 0;
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-primary);
    text-transform: uppercase;
}

.avoid__card-tip span {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-text);
    text-transform: capitalize;
    opacity: 0.8;
}

/* Warning block */
.avoid__warning {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 32px;
    margin-top: 40px;
    background: var(--color-white);
    border: 1px solid var(--color-primary-border);
    border-radius: 20px;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    box-shadow: var(--shadow-sm);
}

.avoid__warning-icon {
    flex-shrink: 0;
    color: var(--color-primary);
}

.avoid__warning-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-top: 4px;
}

.avoid__warning-img {
    flex-shrink: 0;
    width: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.avoid__warning-img img {
    max-width: 100%;
    height: auto;
}

.avoid__warning-title {
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: var(--color-text-dark);
    margin: 0;
}

.avoid__warning-desc {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-text);
    margin: 0;
    text-transform: capitalize;
    opacity: 0.6;
}

/* Avoid responsive */
@media (max-width: 1200px) {
    .avoid__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {
    .avoid__grid {
        grid-template-columns: 1fr;
    }

    .avoid__warning {
        flex-direction: column;
        gap: 16px;
    }
}

/* ========================
   SECTION 7: HOW TO WITHDRAW (STEPS)
   ======================== */
.steps {
    max-width: 800px;
    margin: 0 auto;
}

.steps__header {
    display: flex;
    align-items: center;
    gap: 60px;
}

.steps__num {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-primary);
    border-radius: 30px;
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 14px;
    color: var(--color-white);
}

.steps__num--outline {
    background: transparent;
    border: 2px solid var(--color-primary);
    color: var(--color-primary);
}

.steps__title {
    flex: 1;
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: var(--color-text);
    margin: 0;
}

.steps__badge {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px 12px 16px;
    background: var(--color-bg-light-green);
    border: 1px solid var(--color-primary);
    border-radius: 14px;
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    color: var(--color-primary);
    white-space: nowrap;
}

.steps__body {
    display: flex;
    gap: 60px;
}

.steps__line {
    flex-shrink: 0;
    width: 52px;
    display: flex;
    justify-content: center;
}

.steps__line::after {
    content: '';
    display: block;
    width: 2px;
    background: var(--color-primary);
}

.steps__desc {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-text);
    opacity: 0.6;
    padding-top: 16px;
    padding-bottom: 40px;
}

.steps__item:last-child .steps__desc {
    padding-bottom: 0;
}

.steps__item:last-child .steps__line::after {
    height: 100%;
}

/* Steps responsive */
@media (max-width: 768px) {
    .steps__header {
        flex-wrap: wrap;
        gap: 16px;
    }

    .steps__body {
        gap: 16px;
    }

    .steps__badge {
        margin-left: 76px;
    }
}

/* ========================
   SECTION 8: GET PAID FASTER (TIPS)
   ======================== */
.tips {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.tips__header {
    display: flex;
    align-items: center;
    gap: 32px;
}

.tips__num {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-bg-neutral-warm);
    border: 1px solid var(--color-border-neutral);
    border-radius: 30px;
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 14px;
    color: var(--color-text-black);
}

.tips__title {
    flex: 1;
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: var(--color-text);
    margin: 0;
}

.tips__badge {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px 12px 16px;
    background: var(--color-bg-neutral-light);
    border: 1px solid var(--color-border-neutral);
    border-radius: 14px;
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    color: var(--color-text-dark-alt);
    white-space: nowrap;
}

.tips__body {
    padding-left: 84px;
}

.tips__line {
    display: none;
}

.tips__desc {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-text);
    opacity: 0.6;
    padding-top: 16px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--color-border-light);
}

.tips__item:last-child .tips__desc {
    border-bottom: none;
    padding-bottom: 0;
}

/* Tips responsive */
@media (max-width: 768px) {
    .tips__header {
        flex-wrap: wrap;
        gap: 12px;
    }

    .tips__body {
        gap: 16px;
    }

    .tips__badge {
        margin-left: 76px;
    }
}

/* ========================
   SECTION 9: SPEED CALCULATOR
   ======================== */
.calculator {
    background: var(--color-bg-section);
}

.calculator__block {
    display: flex;
    gap: 32px;
    padding: 32px;
    background: var(--color-white);
    border: 1px solid var(--color-primary);
    border-radius: 20px;
}

/* Form side */
.calculator__form {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.calculator__row {
    display: flex;
    gap: 20px;
}

.calculator__field {
    flex: 1;
}

.calculator__field--full {
    width: 100%;
}

.calculator__label {
    display: block;
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    color: var(--color-text);
    opacity: 0.8;
    margin-bottom: 12px;
}

/* Select / dropdown */
.calculator__select {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    border: 1px solid var(--color-border-neutral);
    border-radius: 12px;
    cursor: pointer;
    height: 56px;
    box-sizing: border-box;
}

.calculator__select .icon {
    flex-shrink: 0;
    color: var(--color-primary);
}

.calculator__select-text {
    flex: 1;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    color: var(--color-text);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.calculator__select-arrow {
    flex-shrink: 0;
    color: var(--color-primary);
}

/* Number input */
.calculator__input {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    border: 1px solid var(--color-border-neutral);
    border-radius: 12px;
    height: 56px;
    box-sizing: border-box;
}

.calculator__input .icon {
    flex-shrink: 0;
    color: var(--color-primary);
}

.calculator__input-field {
    flex: 1;
    border: none;
    outline: none;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    color: var(--color-text);
    background: none;
    -moz-appearance: textfield;
    appearance: textfield;
}

.calculator__input-field::-webkit-inner-spin-button,
.calculator__input-field::-webkit-outer-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
}

/* Toggle buttons (Yes/No) */
.calculator__toggle {
    display: flex;
    border: 1px solid var(--color-border-neutral);
    border-radius: 12px;
    overflow: hidden;
    height: 56px;
    box-sizing: border-box;
}

.calculator__toggle-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding: 16px 20px;
    border: none;
    background: none;
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 16px;
    line-height: 26px;
    color: var(--color-text);
    opacity: 0.6;
    cursor: pointer;
    border-radius: 12px;
}

.calculator__toggle-btn .icon {
    display: none;
}

.calculator__toggle-btn--active {
    background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-end-alt) 100%);
    color: var(--color-white);
    opacity: 1;
    box-shadow: 2px 2px 8px var(--color-green-btn-shadow);
}

.calculator__toggle-btn--active .icon {
    display: block;
    color: var(--color-white);
}

/* Time selector (3 options) */
.calculator__time {
    display: flex;
    border: 1px solid var(--color-border-neutral);
    border-radius: 12px;
    overflow: hidden;
    height: 78px;
    box-sizing: border-box;
}

.calculator__time-btn {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    border: none;
    background: none;
    cursor: pointer;
    border-radius: 12px;
    color: var(--color-text);
    opacity: 0.6;
}

.calculator__time-btn .icon {
    flex-shrink: 0;
}

.calculator__time-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: left;
}

.calculator__time-title {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 16px;
    line-height: 26px;
}

.calculator__time-sub {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 12px;
    line-height: 16px;
}

.calculator__time-btn--active {
    background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-primary-end-alt) 100%);
    color: var(--color-white);
    opacity: 1;
    box-shadow: 2px 2px 8px var(--color-green-btn-shadow);
}

/* Result panel */
.calculator__result {
    width: 528px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 32px;
    background: var(--color-dark);
    border-radius: 16px;
    position: relative;
    overflow: hidden;
}

.calculator__result-label {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--color-green-accent-alt);
}

.calculator__result-label span {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 16px;
}

.calculator__result-time {
    font-family: var(--font-primary);
    font-weight: 800;
    font-size: 54px;
    line-height: 66px;
    color: var(--color-white);
}

/* Progress bar */
.calculator__result-bar {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.calculator__result-track {
    position: relative;
    height: 4px;
    background: linear-gradient(90deg, var(--color-green-accent-alt) 0%, var(--color-green-accent) 100%);
    border-radius: 10px;
}

.calculator__result-point {
    position: absolute;
    top: 50%;
    left: 30%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    background: var(--color-green-accent-alt);
    border-radius: 50%;
    box-shadow: 0 0 10px var(--color-green-accent-glow);
}

.calculator__result-range {
    display: flex;
    justify-content: space-between;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 12px;
    color: var(--color-white);
    opacity: 0.6;
}

/* Info section */
.calculator__result-info {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.calculator__result-adds {
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-white);
}

.calculator__result-adds strong {
    color: var(--color-green-accent-alt);
}

.calculator__result-line {
    height: 1px;
    background: var(--color-border-light);
    opacity: 0.2;
}

.calculator__result-note {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 12px;
    line-height: 20px;
    color: var(--color-white);
}

/* Calculator responsive */
@media (max-width: 1200px) {
    .calculator__block {
        flex-direction: column;
    }

    .calculator__result {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .calculator__row {
        flex-direction: column;
    }

    .calculator__time {
        flex-direction: column;
        height: auto;
    }

    .calculator__result-time {
        font-size: 36px;
        line-height: 44px;
    }
}

/* ========================
   SECTION 10: FAQ
   ======================== */
.faq {
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
    padding-top: 80px;
    padding-bottom: 80px;
}

.faq .section__header {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
    text-align: left;
}

.faq__list {
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.faq__item {
    background: var(--color-white);
    border: 1px solid var(--color-border);
    border-radius: 20px;
    overflow: hidden;
}

.faq__question {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 24px;
    border: none;
    background: none;
    cursor: pointer;
    text-align: left;
}

.faq__question span {
    flex: 1;
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 18px;
    line-height: 26px;
    color: var(--color-text);
}

.faq__question .icon {
    flex-shrink: 0;
    color: var(--color-primary);
    transition: transform var(--transition);
}

.faq__answer {
    display: none;
    padding: 0 24px 24px;
}

.faq__answer p {
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 18px;
    line-height: 32px;
    color: var(--color-text);
}

/* Open state */
.faq__item--open .faq__question {
    background: var(--color-bg-section);
    border-bottom: 1px solid var(--color-border);
}

.faq__item--open .faq__question .icon {
    transform: rotate(180deg);
}

.faq__item--open .faq__answer {
    display: block;
    padding-top: 24px;
}

/* FAQ responsive */
@media (max-width: 768px) {
    .faq__question span {
        font-size: 16px;
        line-height: 24px;
    }

    .faq__answer p {
        font-size: 16px;
        line-height: 28px;
    }
}

/* ========================
   SECTION 11: HOW WE TEST
   ======================== */
.methodology {
    border-top: 1px solid var(--color-border);
    border-bottom: 1px solid var(--color-border);
}

.methodology__container {
    max-width: 1000px;
}

.section__header--left {
    align-items: flex-start;
}


/* 4 methodology cards */
.methodology__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.methodology__card {
    display: flex;
    gap: 24px;
    padding: 32px;
    background: var(--color-white);
    border: 1px solid var(--color-primary);
    border-radius: 20px;
}

.methodology__card-icon {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-bg-icon);
    border-radius: 40px;
    color: var(--color-primary);
}

.methodology__card-text {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.methodology__card-title {
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: var(--color-text);
    margin: 0;
}

.methodology__card-desc {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-text);
    opacity: 0.6;
    margin: 0;
}

/* Disclosure */
.methodology__disclosure {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-text);
    opacity: 0.6;
    margin: 24px 0 40px;
}

/* Play it safe + Regulation — shared card styles */
.methodology__safe,
.methodology__regulation {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 32px;
    background: var(--color-white);
    border: 1px solid var(--color-primary);
    border-left: 3px solid var(--color-primary);
    border-radius: 20px;
    box-shadow: var(--shadow-sm);
    margin-bottom: 40px;
}

.methodology__regulation {
    border-color: var(--color-regulation);
    border-left-color: var(--color-regulation);
}

/* Header (image + text) */
.methodology__safe-header,
.methodology__regulation-header {
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

.methodology__safe-icon,
.methodology__regulation-icon {
    flex-shrink: 0;
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.methodology__safe-icon img,
.methodology__regulation-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.methodology__safe-intro,
.methodology__regulation-intro {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.methodology__safe-title,
.methodology__regulation-title {
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    color: var(--color-text);
    margin: 0;
}

.methodology__safe-desc,
.methodology__regulation-desc {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-text);
    opacity: 0.6;
    margin: 0;
}

/* Resource list */
.methodology__safe-list,
.methodology__regulation-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0 120px;
}

.methodology__safe-item,
.methodology__regulation-item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--color-border-light);
}

.methodology__safe-item--last,
.methodology__regulation-item--last {
    border-bottom: none;
    padding-bottom: 0;
}

.methodology__safe-item .icon,
.methodology__regulation-item .icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: var(--color-primary);
    margin-top: 0;
}

.methodology__regulation-item .icon {
    color: var(--color-primary);
}

.methodology__safe-item span,
.methodology__regulation-item span {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-text-muted);
}

/* Divider */
.methodology__safe-divider,
.methodology__regulation-divider {
    height: 1px;
    background: var(--color-border-light);
}

/* Age notice */
.methodology__safe-age {
    display: flex;
    align-items: center;
    gap: 16px;
    opacity: 0.6;
}

.methodology__safe-age span {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-text);
}

/* Regulation note */
.methodology__regulation-note {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

.methodology__regulation-note .icon {
    flex-shrink: 0;
    color: var(--color-text-muted);
    margin-top: 2px;
}

.methodology__regulation-note span {
    font-family: var(--font-primary);
    font-weight: 600;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-text-muted);
}

/* Methodology responsive */
@media (max-width: 768px) {
    .methodology__grid {
        grid-template-columns: 1fr;
    }

    .methodology__safe-list,
    .methodology__regulation-list {
        padding: 0;
    }

    .methodology__safe-header,
    .methodology__regulation-header {
        flex-direction: column;
    }
}

/* ========================
   FOOTER
   ======================== */
.footer {
    background: var(--color-footer-bg);
    padding: 60px 0 0;
    border-top: 1px solid var(--color-border-footer);
}

.footer__top {
    display: flex;
    gap: 60px;
    padding-bottom: 40px;
}

.footer__about {
    width: 300px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.footer__logo {
    display: inline-block;
}

.footer__logo img {
    width: 200px;
    height: auto;
}

.footer__disclaimer {
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-text);
    opacity: 0.6;
    margin: 0;
}

.footer__col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.footer__col-title {
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    color: var(--color-text);
    margin: 0;
}

.footer__links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer__links li a {
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-text);
    opacity: 0.6;
    transition: opacity var(--transition);
}

.footer__links li a:hover {
    opacity: 1;
    color: var(--color-primary);
}

.footer__divider {
    height: 1px;
    background: var(--color-border-footer);
}

.footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
}

.footer__copyright {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-text);
    opacity: 0.6;
}

.footer__copyright span:first-child {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1.5px solid var(--color-border-copyright);
    border-radius: 50%;
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 11px;
    color: var(--color-text);
    opacity: 1;
}

.footer__helpline {
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 14px;
    line-height: 24px;
    color: var(--color-text);
    opacity: 0.6;
}

/* Footer responsive */
@media (max-width: 1200px) {
    .footer__top {
        flex-wrap: wrap;
    }

    .footer__about {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .footer__top {
        flex-direction: column;
        gap: 32px;
    }

    .footer__bottom {
        flex-direction: column;
        gap: 16px;
        text-align: center;
    }
}

/* ===========================
   BURGER MENU
   =========================== */
.header__burger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 40px;
    height: 40px;
    padding: 8px;
    background: none;
    border: none;
    cursor: pointer;
    position: relative;
    z-index: 110;
    flex-shrink: 0;
    margin-left: auto;
}

.header__burger span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--color-text);
    border-radius: 2px;
    transition: all 0.3s ease;
}

.header__burger--active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}

.header__burger--active span:nth-child(2) {
    opacity: 0;
}

.header__burger--active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

body.body--menu-open {
    overflow: hidden;
}

/* ===========================
   TABLET — max-width: 768px
   =========================== */
@media (max-width: 768px) {

    /* Burger visible */
    .header__burger {
        display: flex;
    }

    /* Nav becomes slide-down panel */
    .header__nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        flex-direction: column;
        background: var(--color-white);
        box-shadow: var(--shadow-mobile-nav);
        padding: 8px 20px 24px;
        z-index: 100;
        height: auto;
    }

    .header__nav--open {
        display: flex;
    }

    .header__link {
        padding: 12px 0;
        font-size: 16px;
        border-bottom: 1px solid var(--color-border);
    }

    .header__link:last-child {
        border-bottom: none;
    }

    .header__inner {
        position: relative;
    }

    /* Global */
    .section {
        padding: 32px 0;
    }

    .section__title {
        font-size: 24px;
        line-height: 1.2;
    }

    .section__subtitle {
        font-size: 16px;
        line-height: 28px;
    }

    .section__header {
        margin-bottom: 24px;
    }

    /* Hero */
    .hero__inner {
        padding: 24px 20px;
        flex-direction: column;
        gap: 24px;
    }

    .hero__content {
        width: 100%;
        gap: 16px;
    }

    .hero__title {
        font-size: 28px;
    }

    .hero__description {
        font-size: 15px;
        line-height: 26px;
        max-width: 100%;
    }

    .hero__badge {
        font-size: 12px;
        padding: 10px 14px;
        flex-wrap: wrap;
        gap: 8px;
    }

    .hero__image {
        width: 100%;
        height: 240px;
    }

    .hero__image img {
        width: 100%;
        height: 240px;
    }

    .hero__stats {
        margin-top: -16px;
        flex-direction: column;
        gap: 12px;
    }

    .hero__stat {
        flex: 1 1 100%;
        width: 100%;
        padding: 20px;
        gap: 16px;
    }

    .hero__stat-icon {
        width: 48px;
        height: 48px;
        padding: 12px;
    }

    .hero__stat-icon .icon {
        width: 24px;
        height: 24px;
    }

    .hero__stat-value {
        font-size: 20px;
    }

    .hero__stat-text {
        gap: 6px;
    }

    /* Top 5 */
    .top5 {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .top5__filters {
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 24px;
    }

    .top5__filter {
        padding: 10px 16px;
        font-size: 13px;
    }

    .top5__table-header {
        display: none;
    }

    .top5__row {
        display: grid;
        grid-template-columns: auto 1fr auto;
        grid-template-areas:
            "num casino payout"
            "bonus bonus bonus"
            "rails rails rails"
            "actions actions actions";
        gap: 12px 12px;
        align-items: center;
        padding: 20px 16px;
    }

    .top5__col--num {
        grid-area: num;
        width: auto;
        margin-right: 0;
    }

    .top5__col--casino {
        grid-area: casino;
        width: auto;
        margin-right: 0;
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 12px;
    }

    .top5__casino-logo {
        width: 72px;
        height: 44px;
    }

    .top5__casino-logo img {
        width: 72px;
        height: 44px;
        border-radius: 10px;
    }

    .top5__casino-badge {
        top: -10px;
        left: 4px;
        padding: 4px 8px;
        font-size: 10px;
        line-height: 12px;
        border-radius: 6px;
    }

    .top5__casino-name {
        font-size: 15px;
        line-height: 20px;
    }

    .top5__casino-info {
        gap: 4px;
    }

    .top5__col--payout {
        grid-area: payout;
        margin-right: 0;
        justify-self: end;
    }

    .top5__time {
        padding: 8px 12px;
        font-size: 13px;
        line-height: 18px;
        border-radius: 10px;
    }

    .top5__col--bonus {
        grid-area: bonus;
        width: 100%;
        margin-right: 0;
        padding-top: 4px;
        border-top: 1px solid var(--color-border);
    }

    .top5__col--rails {
        grid-area: rails;
        width: 100%;
    }

    .top5__col--actions {
        grid-area: actions;
        width: 100%;
        display: flex;
        flex-direction: row;
        margin-left: 0;
    }

    .top5__btn-visit,
    .top5__btn-review {
        flex: 1;
        padding: 12px 16px;
        font-size: 14px;
    }

    .top5__detail-block {
        flex-direction: column;
        gap: 20px;
        padding: 20px;
    }

    .top5__detail-points {
        width: 100%;
    }

    .top5__detail {
        padding: 16px;
    }

    .top5__bonus-title,
    .top5__bonus-sub {
        font-size: 14px;
        line-height: 20px;
        white-space: normal;
    }

    /* Scoring */
    .scoring__grid {
        grid-template-columns: 1fr;
    }

    .scoring__card {
        padding: 20px;
    }

    .scoring__warning {
        flex-direction: column;
        gap: 16px;
        padding: 20px;
    }

    /* Pick */
    .pick__grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .pick__card {
        padding: 24px;
    }

    /* Methods */
    .methods__row--head {
        display: none;
    }

    .methods__row {
        flex-direction: column;
        padding: 20px;
        gap: 12px;
    }

    .methods__col {
        padding: 0;
        width: 100% !important;
    }

    .methods__col--note {
        border-top: none;
        font-size: 14px;
        line-height: 22px;
    }

    .methods__col--method {
        gap: 12px;
    }

    .methods__icon {
        width: 48px;
        height: 48px;
    }

    .methods__method-text strong {
        font-size: 18px;
    }

    /* Avoid */
    .avoid__grid {
        grid-template-columns: 1fr;
    }

    .avoid__card {
        padding: 24px;
    }

    .avoid__card-icon {
        width: 72px;
        height: 72px;
    }

    .avoid__warning {
        flex-direction: column;
        gap: 16px;
        padding: 24px;
    }

    .avoid__warning-img {
        width: 100%;
        max-width: 200px;
        margin: 0 auto;
    }

    /* Steps */
    .steps__header {
        flex-wrap: wrap;
        gap: 12px;
    }

    .steps__body {
        gap: 16px;
    }

    .steps__badge {
        width: 100%;
        margin-left: 0;
        order: 3;
        justify-content: center;
        padding: 8px 16px;
        font-size: 13px;
    }

    .steps__num {
        width: 44px;
        height: 44px;
    }

    .steps__title {
        font-size: 18px;
    }

    .steps__line {
        width: 44px;
    }

    .steps__desc {
        padding-bottom: 32px;
    }

    /* Tips */
    .tips__header {
        flex-wrap: wrap;
        gap: 12px;
    }

    .tips__body {
        padding-left: 0;
    }

    .tips__badge {
        width: 100%;
        margin-left: 0;
        order: 3;
        justify-content: center;
        padding: 8px 16px;
        font-size: 13px;
    }

    .tips__num {
        width: 44px;
        height: 44px;
    }

    .tips__title {
        font-size: 18px;
    }

    /* Calculator */
    .calculator__block {
        flex-direction: column;
        padding: 20px;
    }

    .calculator__result {
        width: 100%;
        padding: 24px;
    }

    .calculator__row {
        flex-direction: column;
    }

    .calculator__time {
        flex-direction: column;
        height: auto;
    }

    .calculator__time-btn {
        padding: 12px 16px;
    }

    .calculator__result-time {
        font-size: 36px;
        line-height: 44px;
    }

    /* FAQ */
    .faq {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    .faq__question {
        padding: 16px;
    }

    .faq__question span {
        font-size: 16px;
        line-height: 24px;
    }

    .faq__answer {
        padding: 0 16px 16px;
    }

    .faq__answer p {
        font-size: 15px;
        line-height: 26px;
    }

    /* Methodology */
    .methodology__grid {
        grid-template-columns: 1fr;
    }

    .methodology__card {
        padding: 20px;
    }

    .methodology__safe-list,
    .methodology__regulation-list {
        padding: 0;
    }

    .methodology__safe-header,
    .methodology__regulation-header {
        flex-direction: column;
    }

    .methodology__safe,
    .methodology__regulation {
        padding: 20px;
    }

    /* Footer */
    .footer {
        padding-top: 40px;
    }

    .footer__top {
        flex-direction: column;
        gap: 24px;
    }

    .footer__about {
        width: 100%;
    }

    .footer__bottom {
        flex-direction: column;
        gap: 12px;
        text-align: center;
    }
}

/* ===========================
   MOBILE — max-width: 480px
   =========================== */
@media (max-width: 480px) {

    .container {
        padding: 0 16px;
    }

    .section__title {
        font-size: 20px;
    }

    .section__subtitle {
        font-size: 14px;
        line-height: 24px;
    }

    /* Hero */
    .hero__title {
        font-size: 24px;
    }

    .hero__description {
        font-size: 14px;
        line-height: 24px;
    }

    .hero__badge {
        padding: 8px 12px;
        font-size: 11px;
        gap: 6px;
    }

    .hero__badge-group {
        font-size: 12px;
    }

    .hero__image {
        height: 180px;
    }

    .hero__image img {
        height: 180px;
    }

    .hero__stat {
        padding: 16px;
        gap: 12px;
    }

    .hero__stat-icon {
        width: 40px;
        height: 40px;
        padding: 8px;
    }

    .hero__stat-value {
        font-size: 18px;
    }

    .hero__stat-label {
        font-size: 12px;
    }

    /* Top 5 */
    .top5__filters {
        gap: 6px;
    }

    .top5__filter {
        padding: 8px 12px;
        font-size: 12px;
        gap: 4px;
    }

    .top5__filter .icon {
        width: 16px;
        height: 16px;
    }

    .top5__row {
        padding: 16px 12px;
        gap: 10px 10px;
    }

    .top5__casino-logo {
        width: 56px;
        height: 36px;
    }

    .top5__casino-logo img {
        width: 56px;
        height: 36px;
        border-radius: 8px;
    }

    .top5__casino-badge {
        top: -8px;
        left: 2px;
        padding: 3px 6px;
        font-size: 8px;
        line-height: 10px;
    }

    .top5__casino-name {
        font-size: 14px;
        line-height: 18px;
    }

    .top5__casino-rating .icon {
        width: 14px;
        height: 14px;
    }

    .top5__casino-rating span {
        font-size: 12px;
    }

    .top5__number {
        width: 32px;
        height: 32px;
        font-size: 12px;
    }

    .top5__time {
        padding: 6px 10px;
        font-size: 12px;
        line-height: 16px;
        border-radius: 8px;
    }

    .top5__time .icon {
        width: 14px;
        height: 14px;
    }

    .top5__btn-visit,
    .top5__btn-review {
        padding: 10px;
        font-size: 13px;
    }

    .top5__detail-block {
        padding: 16px;
    }

    .top5__detail-item {
        font-size: 14px;
        gap: 10px;
    }

    /* Scoring */
    .scoring__card {
        flex-direction: column;
        gap: 16px;
        padding: 16px;
    }

    .scoring__icon-circle {
        width: 52px;
        height: 52px;
    }

    .scoring__card-title {
        font-size: 18px;
    }

    .scoring__warning {
        padding: 16px;
    }

    /* Pick */
    .pick__card {
        flex-direction: column;
        gap: 16px;
        padding: 20px;
    }

    .pick__badge {
        left: 20px;
    }

    .pick__card-icon {
        width: 52px;
        height: 52px;
    }

    .pick__card-title {
        font-size: 18px;
    }

    /* Methods */
    .methods__row {
        padding: 16px;
    }

    .methods__method-text strong {
        font-size: 16px;
    }

    .methods__time-badge {
        padding: 8px 14px;
        font-size: 14px;
    }

    .methods__cost-text strong,
    .methods__cost-text span {
        font-size: 14px;
    }

    .methods__col--note {
        font-size: 13px;
        line-height: 20px;
    }

    /* Avoid */
    .avoid__card {
        padding: 20px;
    }

    .avoid__card-icon {
        width: 60px;
        height: 60px;
    }

    .avoid__card-icon .icon {
        width: 32px;
        height: 32px;
    }

    .avoid__card-title {
        font-size: 18px;
    }

    .avoid__warning {
        padding: 16px;
    }

    /* Steps */
    .steps__header {
        gap: 10px;
    }

    .steps__num {
        width: 38px;
        height: 38px;
        font-size: 13px;
    }

    .steps__title {
        font-size: 16px;
        line-height: 22px;
    }

    .steps__line {
        width: 38px;
    }

    .steps__desc {
        font-size: 13px;
        line-height: 22px;
        padding-bottom: 24px;
    }

    .steps__badge {
        font-size: 12px;
        padding: 6px 12px;
    }

    /* Tips */
    .tips__num {
        width: 38px;
        height: 38px;
        font-size: 13px;
    }

    .tips__title {
        font-size: 16px;
        line-height: 22px;
    }

    .tips__desc {
        font-size: 13px;
        line-height: 22px;
    }

    .tips__badge {
        font-size: 12px;
        padding: 6px 12px;
    }

    /* Calculator */
    .calculator__block {
        padding: 16px;
    }

    .calculator__result {
        padding: 20px;
    }

    .calculator__result-time {
        font-size: 28px;
        line-height: 36px;
    }

    .calculator__label {
        font-size: 14px;
    }

    .calculator__select,
    .calculator__input,
    .calculator__toggle {
        height: 48px;
    }

    .calculator__select-text {
        font-size: 14px;
    }

    .calculator__toggle-btn {
        font-size: 14px;
        padding: 12px 16px;
    }

    .calculator__time-title {
        font-size: 14px;
    }

    /* FAQ */
    .faq__question {
        padding: 14px;
    }

    .faq__question span {
        font-size: 15px;
    }

    .faq__answer p {
        font-size: 14px;
        line-height: 24px;
    }

    /* Methodology */
    .methodology__card {
        flex-direction: column;
        gap: 16px;
        padding: 16px;
    }

    .methodology__card-icon {
        width: 52px;
        height: 52px;
    }

    .methodology__card-title {
        font-size: 18px;
    }

    .methodology__safe,
    .methodology__regulation {
        padding: 16px;
    }

    .methodology__safe-icon,
    .methodology__regulation-icon {
        width: 64px;
        height: 64px;
    }

    .methodology__safe-icon .icon,
    .methodology__regulation-icon .icon {
        width: 32px;
        height: 32px;
    }

    .methodology__safe-item span,
    .methodology__regulation-item span {
        font-size: 13px;
        line-height: 20px;
    }

    .methodology__disclosure {
        font-size: 13px;
    }

    /* Footer */
    .footer__logo img {
        width: 150px;
    }

    .footer__disclaimer {
        font-size: 13px;
    }

    .footer__col-title {
        font-size: 14px;
    }

    .footer__links li a {
        font-size: 13px;
    }

    .footer__copyright {
        font-size: 13px;
    }

    .footer__helpline {
        font-size: 13px;
    }
}

/* ===========================
   ADDITIONS — filters, native select, empty state
   =========================== */

/* Top 5 filtering */
.top5__row--hidden,
.top5__detail--hidden {
    display: none !important;
}

.top5__note {
    margin-top: 20px;
    text-align: center;
    font-family: var(--font-primary);
    font-size: 15px;
    color: var(--color-text-muted);
}

.top5__note button {
    font-family: inherit;
    font-size: inherit;
    font-weight: 600;
    color: var(--color-primary);
    text-decoration: underline;
}

/* Native select inside the calculator */
.calculator__select-native {
    flex: 1;
    min-width: 0;
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 16px;
    line-height: 26px;
    color: var(--color-text);
    cursor: pointer;
}

.calculator__select:focus-within {
    border-color: var(--color-primary);
}

/* Keyboard focus visibility */
.top5__filter:focus-visible,
.faq__question:focus-visible,
.calculator__toggle-btn:focus-visible,
.calculator__time-btn:focus-visible,
.top5__btn-review:focus-visible,
.top5__btn-visit:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

/* Result point position is set from JS */
.calculator__result-point {
    transition: left var(--transition);
}

/* Colour variants for the payment-methods table */
.methods__time-badge--green {
    background: var(--color-bg-light-green);
    border-color: var(--color-primary-border);
    color: var(--color-primary);
}

.methods__time-badge--green .icon {
    color: var(--color-primary);
}

.methods__time-badge--orange {
    background: var(--color-time-orange-bg);
    border-color: var(--color-time-orange-border);
    color: var(--color-time-orange-text);
}

.methods__time-badge--orange .icon {
    color: var(--color-time-orange-text);
}

.methods__time-badge--pink {
    background: var(--color-time-pink-bg);
    border-color: var(--color-time-pink-border);
    color: var(--color-time-pink-text);
}

.methods__time-badge--pink .icon {
    color: var(--color-time-pink-text);
}

/* Inline icons replacing the old raster illustrations */
.methodology__safe-icon .icon,
.methodology__regulation-icon .icon {
    width: 64px;
    height: 64px;
    color: var(--color-primary);
}

.methodology__regulation-icon .icon {
    color: var(--color-regulation);
}

.avoid__warning-img .icon {
    width: 96px;
    height: 96px;
    color: var(--color-error);
    opacity: 0.85;
}

/* ===========================
   FR — table simplifiée (sans colonne moyens de paiement)
   =========================== */
.top5__col--bonus {
    flex: 1;
    width: auto;
}

@media (max-width: 768px) {
    .top5__row {
        grid-template-areas:
            "num casino payout"
            "bonus bonus bonus"
            "actions actions actions";
    }
}

/* ===========================
   FR — carte note moyenne (étoile)
   =========================== */
.hero__stat--rating {
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    padding: 24px 32px;
    text-align: center;
}

.hero__stat--rating .hero__stat-icon {
    width: auto;
    height: auto;
    padding: 0;
    background: none;
    border-radius: 0;
}

.hero__stat--rating .hero__stat-icon--stars {
    width: 100%;
}

.hero__stat--rating .hero__stat-text {
    align-items: center;
    text-align: center;
}

.hero__stat--rating .hero__stat-value {
    font-size: 34px;
    line-height: 40px;
    letter-spacing: -0.5px;
}

.hero__stat--rating .hero__stat-label {
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* ===========================
   FR — avis des joueurs
   =========================== */
.reviews {
    background: var(--color-bg-section);
}

.reviews__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.reviews__card {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 28px;
    background: var(--color-white);
    border: 1px solid var(--color-border-card);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-card);
}

.reviews__head {
    display: flex;
    align-items: center;
    gap: 16px;
}

.reviews__avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    flex-shrink: 0;
    border-radius: 50%;
    background: var(--color-bg-icon);
    color: var(--color-primary);
    overflow: hidden;
}

.reviews__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.reviews__meta {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
}

.reviews__name {
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 18px;
    line-height: 24px;
    color: var(--color-text-dark);
}

.reviews__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    align-self: flex-start;
    padding: 4px 12px;
    border-radius: var(--border-radius-pill);
    background: var(--color-primary-light);
    font-family: var(--font-primary);
    font-weight: 700;
    font-size: 11px;
    line-height: 18px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: var(--color-primary);
}

.reviews__badge .icon {
    width: 14px;
    height: 14px;
}

.reviews__text {
    flex: 1;
    font-family: var(--font-primary);
    font-weight: 400;
    font-size: 16px;
    line-height: 28px;
    font-style: italic;
    color: var(--color-text);
}

@media (max-width: 992px) {
    .reviews__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .hero__stat--rating {
        padding: 20px;
    }

    .reviews__card {
        padding: 20px;
    }

    .reviews__text {
        font-size: 15px;
        line-height: 26px;
    }
}

/* FR — la capitalisation mot à mot ne convient pas au français */
.top5__filter,
.avoid__card-title,
.pick__card-title,
.steps__title,
.tips__title {
    text-transform: none;
}

/* FR — initiales dans l'avatar des avis (fallback sans photo) */
.reviews__initials {
    font-family: var(--font-primary);
    font-weight: 800;
    font-size: 18px;
    letter-spacing: 0.5px;
    color: var(--color-primary);
}

/* ===========================
   FR — notation façon Trustpilot (étoile blanche sur carré vert)
   =========================== */
.tp-stars {
    display: flex;
    gap: 3px;
    justify-content: center;
}

.tp-star {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    background: #00B67A;
    flex-shrink: 0;
}

.tp-star .icon {
    color: #FFFFFF;
}

.tp-star--empty {
    background: #DCDCE6;
}

.tp-star--partial {
    background: linear-gradient(90deg,
        #00B67A 0,
        #00B67A var(--tp-fill, 50%),
        #DCDCE6 var(--tp-fill, 50%),
        #DCDCE6 100%);
}

/* Avis des lecteurs */
.reviews__card .tp-stars {
    justify-content: flex-start;
}

.reviews__card .tp-star {
    width: 24px;
    height: 24px;
}

/* Carte « note moyenne » du hero */
.hero__stat--rating .tp-star {
    width: 28px;
    height: 28px;
}

@media (max-width: 768px) {
    .tp-star,
    .reviews__card .tp-star,
    .hero__stat--rating .tp-star {
        width: 22px;
        height: 22px;
    }
}

/* Notation dans le tableau du top 5 */
.top5__casino-rating {
    gap: 6px;
    flex-wrap: wrap;
}

.top5__casino-rating .tp-stars {
    gap: 2px;
}

.top5__casino-rating .tp-star {
    width: 14px;
    height: 14px;
}

.top5__casino-rating span {
    font-family: var(--font-primary);
    font-size: 13px;
    margin-left: 2px;
}

/* ===========================
   Hero centré (sans illustration)
   =========================== */
.hero--centered .hero__inner {
    flex-direction: column;
    justify-content: center;
    /* .hero__stats remonte de 40px : on compense pour ne pas rogner l'intro */
    padding: 40px 20px 64px;
}

.hero--centered .hero__content {
    width: 100%;
    max-width: 860px;
    align-items: center;
    text-align: center;
    gap: 20px;
}

.hero--centered .hero__badge {
    align-self: center;
}

.hero--centered .hero__title {
    font-size: 58px;
}

.hero--centered .hero__description {
    max-width: 760px;
    line-height: 32px;
}

@media (max-width: 768px) {
    .hero--centered .hero__inner {
        padding: 24px 20px 56px;
    }

    .hero--centered .hero__title {
        font-size: 34px;
    }

    .hero--centered .hero__description {
        line-height: 28px;
    }
}

/* ===========================
   Accent rouge sur les mots mis en avant dans les titres
   =========================== */
:root {
    --color-accent-red: #E23B2E;
    --color-accent-lime: #8FD14F;
}

.hero__title span,
.section__title span,
.top5__detail-title span {
    color: var(--color-accent-red);
}

/* Numéro 1 du classement : dégradé chaud */
.top5__number--gold {
    background: linear-gradient(135deg, #FFC629 0%, #FF8A00 100%);
}

/* Puces « points forts » en vert lime, points de vigilance en rouge */
.top5__detail-item--pro .icon {
    color: #3FA34D;
}

.top5__detail-item--con .icon {
    color: var(--color-accent-red);
}

/* Bloc d'avertissement : rouge plutôt que la couleur primaire */
.scoring__warning-icon .icon,
.avoid__warning-img .icon {
    color: var(--color-accent-red);
}

/* Badge de la date : liseré lime */
.hero__badge {
    border-color: var(--color-accent-lime);
}

/* ===========================
   Mobile — badge du casino remis dans le flux (plus de chevauchement)
   =========================== */
@media (max-width: 768px) {
    .top5__col--casino {
        align-items: flex-start;
        column-gap: 10px;
        padding-top: 2px;
    }

    /* le bloc logo devient une colonne : badge au-dessus, image en dessous */
    .top5__casino-logo {
        display: flex;
        flex-direction: column-reverse;
        align-items: flex-start;
        gap: 6px;
        width: auto;
        height: auto;
        max-width: 55%;
    }

    .top5__casino-badge {
        position: static;
        white-space: nowrap;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .top5__casino-info {
        flex: 1;
        min-width: 0;
        padding-top: 20px;
    }

    .top5__casino-name {
        word-break: break-word;
    }

    /* la pastille de délai ne chevauche jamais le nom */
    .top5__col--payout {
        justify-self: end;
        max-width: 44vw;
    }

    .top5__time {
        white-space: nowrap;
    }

    .hero__badge {
        flex-wrap: wrap;
        row-gap: 4px;
    }
}

/* ===========================
   Mobile — garde-fous anti-chevauchement
   =========================== */
@media (max-width: 768px) {
    /* tout conteneur flex dont un enfant porte du texte long */
    .methods__method-text,
    .methodology__card-text,
    .scoring__card-content,
    .avoid__card-body,
    .reviews__meta,
    .pick__card-body {
        min-width: 0;
    }

    .methods__method-text strong,
    .methods__method-text span,
    .methodology__card-title,
    .scoring__card-title,
    .avoid__card-title,
    .reviews__name,
    .pick__card-title,
    .faq__question {
        overflow-wrap: anywhere;
    }

    /* titres + badge des étapes et conseils : passage à la ligne autorisé */
    .steps__header,
    .tips__header {
        flex-wrap: wrap;
        row-gap: 6px;
    }

    .steps__title,
    .tips__title {
        min-width: 0;
        flex: 1 1 auto;
    }

    .steps__badge,
    .tips__badge {
        white-space: nowrap;
    }

    /* résultat du calculateur : chiffre long sur petit écran */
    .calculator__result-time {
        overflow-wrap: anywhere;
    }

    .calculator__result-range {
        flex-wrap: wrap;
        row-gap: 4px;
    }

    /* pied de page */
    .footer__bottom {
        flex-wrap: wrap;
        row-gap: 8px;
    }
}

/* ===========================
   Tableau du top 5 — largeurs de colonnes fixes (desktop)
   Sans cela, la pastille de délai fait varier la largeur
   et le bonus se décale d'une ligne à l'autre.
   =========================== */
@media (min-width: 993px) {
    .top5__col--num {
        width: 42px;
        margin-right: 24px;
    }

    .top5__col--casino {
        width: 320px;
        margin-right: 24px;
    }

    .top5__casino-info {
        min-width: 0;
    }

    .top5__casino-name {
        overflow-wrap: anywhere;
    }

    .top5__col--payout {
        width: 180px;
        flex-shrink: 0;
        margin-right: 24px;
        display: flex;
        align-items: center;
    }

    .top5__col--bonus {
        flex: 1;
        width: auto;
        min-width: 0;
        margin-right: 24px;
    }

    .top5__bonus-title,
    .top5__bonus-sub {
        overflow-wrap: anywhere;
    }

    .top5__col--actions {
        width: 190px;
        margin-left: 0;
    }
}
