:root {
    --brand: #0d6efd;
    --bg: #ffffff;
    --text: #1b1f24;
    --muted: #6c757d;
    --soft: #f6f8fa;
    --ring: rgba(13, 110, 253, .25)
}

* {
    box-sizing: border-box
}

body {
    font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    color: var(--text);
    background: var(--bg)
}

a {
    color: var(--brand);
    text-decoration: none
}

a:hover {
    text-decoration: underline
}

.top-age-banner {
    background: linear-gradient(90deg, #fff, #f7fbff);
    border-bottom: 1px solid #e9ecef
}

.age-pill {
    background: #000;
    color: #fff;
    display: flex;
    align-items: center;
}

.hero {
    background: url(../img/hero.png);
    background-position: center;
    background-size: cover;
    padding: 100px 0;
}

.hero-card .card-body {
    border: 1px dashed #e5e7eb;
    border-radius: 1rem
}

.offer-card .rating i {
    color: #f6c10e
}

.icon-card {
    padding: 1.25rem;
    border: 1px solid #e9ecef;
    border-radius: 1rem;
    background: #fff;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04)
}

.icon-card i {
    font-size: 1.75rem;
    margin-bottom: .5rem;
    background: linear-gradient(135deg, #5a6cff, #00c2ff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent
}

.logo-grid {
    display: grid;
    grid-template-columns:repeat(5, 1fr);
    gap: .5rem
}

.logo-slot {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    border: 1px dashed #d0d7de;
    border-radius: .75rem;
    color: #6c757d;
}

.logo-slot:hover {
    background: #aaa
}

.agegate-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1080
}

.agegate-modal {
    width: min(92vw, 560px);
    border-radius: 1rem
}

.d-none {
    display: none !important
}

.badge.bg-soft {
    background: #eef2ff;
    color: #1d4ed8
}

footer .age-pill {
    background: #111;
    color: #fff
}

@media (max-width: 992px) {
    .logo-grid {
        grid-template-columns:repeat(3, 1fr)
    }
}

@media (max-width: 576px) {
    .logo-grid {
        grid-template-columns:repeat(2, 1fr)
    }
}

/* === VIBRANT THEME UPGRADE === */
:root {
    --brand: #5a6cff;
    --brand-2: #00c2ff;
    --brand-3: #7c4dff;
    --brand-4: #00e3a2;
    --text: #0f172a;
    --soft: #f5f7ff
}

.text-gradient {
    background: linear-gradient(90deg, var(--brand), var(--brand-2), var(--brand-3));
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent
}

.btn-gradient {
    border: 0;
    background-image: linear-gradient(90deg, var(--brand), var(--brand-2));
    color: #fff !important;
    box-shadow: 0 6px 20px rgba(18, 92, 255, .18);
    transition: transform .15s ease, box-shadow .2s ease, filter .2s ease
}

.btn-gradient:hover {
    filter: brightness(1.05);
    transform: translateY(-1px);
    box-shadow: 0 10px 28px rgba(18, 92, 255, .22)
}

.btn-ghost {
    color: var(--brand);
    border: 1px solid rgba(13, 110, 253, .35);
    background: linear-gradient(0deg, rgba(13, 110, 253, .04), rgba(13, 110, 253, .04))
}

.btn-ghost:hover {
    background: linear-gradient(0deg, rgba(13, 110, 253, .08), rgba(13, 110, 253, .08))
}

.theme-don {
    --accent: #ff7a59;
    --accent-2: #ffd166
}

.theme-winboss {
    --accent: #00b894;
    --accent-2: #6c5ce7
}

.pro-offer {
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
    border: 1px solid #e6eaf5;
    background: radial-gradient(120% 120% at 110% -10%, color-mix(in oklab, var(--accent) 12%, transparent) 0%, transparent 55%), radial-gradient(120% 120% at -10% 110%, color-mix(in oklab, var(--accent-2) 10%, transparent) 0%, transparent 55%), #fff;
    transition: transform .18s ease, box-shadow .2s ease, border-color .2s ease
}

.pro-offer:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 32px rgba(16, 24, 40, .12);
    border-color: color-mix(in oklab, var(--accent) 25%, #e6eaf5)
}

.score-chip {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    padding: .25rem .5rem;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(13, 110, 253, .12), rgba(13, 110, 253, .05));
    border: 1px solid rgba(13, 110, 253, .25);
    color: #0d6efd;
    font-weight: 600
}

.bonus-box {
    border: 1px solid #e5e7eb;
    border-radius: .75rem;
    padding: .75rem;
    background: #fff;
    position: relative;
    padding-left: 1rem
}

.bonus-box::before {
    content: "";
    position: absolute;
    left: 0;
    top: .6rem;
    bottom: .6rem;
    width: 4px;
    border-radius: 4px;
    background: linear-gradient(180deg, var(--accent), var(--accent-2))
}

.bonus-text {
    margin-top: .25rem
}

.list-checked {
    list-style: none;
    padding-left: 0;
    margin: 0
}

.list-checked li {
    position: relative;
    padding-left: 1.5rem;
    margin: .35rem 0
}

.list-checked li::before {
    content: "\F26E";
    font-family: "bootstrap-icons";
    position: absolute;
    left: 0;
    top: .1rem;
    color: #16a34a
}

.pay-badges {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem
}

.pay-pill {
    border: 1px solid #e2e8f0;
    border-radius: 999px;
    padding: .25rem .6rem;
    background: #f8fafc;
    font-size: .8rem;
    color: #334155;
    font-weight: 600;
    letter-spacing: .3px
}

.theme-don .pay-pill:nth-child(1) {
    background: #fff4f0;
    border-color: #ffd6c9;
    color: #c14d2d
}

.theme-don .pay-pill:nth-child(2) {
    background: #fff7e6;
    border-color: #ffe2ad;
    color: #a76400
}

.theme-don .pay-pill:nth-child(3) {
    background: #eefcff;
    border-color: #c9f3ff;
    color: #0c6b83
}

.theme-don .pay-pill:nth-child(4) {
    background: #fff0fd;
    border-color: #ffd7fa;
    color: #a51686
}

.theme-don .pay-pill:nth-child(5) {
    background: #eefbf4;
    border-color: #c7f0da;
    color: #0d6b4c
}

.theme-don .pay-pill:nth-child(6) {
    background: #eef7ff;
    border-color: #cfe6ff;
    color: #0a4b8f
}

.theme-winboss .pay-pill:nth-child(1) {
    background: #ecfff9;
    border-color: #c8f7e8;
    color: #0f7b66
}

.theme-winboss .pay-pill:nth-child(2) {
    background: #f2ecff;
    border-color: #dbccff;
    color: #4a33a4
}

.theme-winboss .pay-pill:nth-child(3) {
    background: #e6fbff;
    border-color: #c5f2ff;
    color: #0e6a83
}

.theme-winboss .pay-pill:nth-child(4) {
    background: #fbe6ff;
    border-color: #efc6ff;
    color: #7a2f8a
}

.theme-winboss .pay-pill:nth-child(5) {
    background: #ecfff1;
    border-color: #caf5d7;
    color: #177a3f
}

.theme-winboss .pay-pill:nth-child(6) {
    background: #ecf4ff;
    border-color: #d2e3ff;
    color: #1a54a4
}

.section-divider {
    height: 2px;
    width: 100%;
    background: linear-gradient(90deg, transparent, rgba(13, 110, 253, .25), transparent);
    margin: 2rem 0
}

.offer-card .card-body {
    backdrop-filter: saturate(120%)
}

.offer-card .badge.bg-soft {
    background: color-mix(in oklab, var(--accent) 12%, #eef2ff);
    color: #0b2447
}
.navbar-brand img {
    width: 40px;
    margin-right: 15px;
}

footer {
    background: #222;
    color: #fff
}
.responsabil-block {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}
.responsabil-block img {
    height: 40px;
}

.logo-slot img {
    width: auto;
    max-height: 40px;
    padding: 5px
}
#faq {
    padding: 100px 0
}