/*!
Theme Name: EveryOne
7bit Casino — neon blue/purple/red refresh (2026)
*/

/* 7bit Casino — electric night palette */
:root {
    --rc-bg: #0a0f2e;
    --rc-surface: #111a4a;
    --rc-surface-2: #1a2b6b;
    --rc-text: #f5f7ff;
    --rc-text-muted: #b9c7ff;
    --rc-link: #33c9ff;
    --rc-accent: #ff2a55;
    --rc-accent-hover: #ff4d79;
    --rc-gold: #8f5bff;
    --rc-on-accent: #ffffff;
    --rc-focus: rgba(51, 201, 255, 0.55);
    --rc-teal-deep: #4b3fd6;
    --rc-teal-glow: #2a98ff;
    --rc-red-wine: #d91642;
}

body {
    background-color: var(--rc-bg) !important;
    color: var(--rc-text) !important;
    padding-top: 100px !important; /* offset for fixed header so headings don't sit under it */
    background-image:
        radial-gradient(ellipse 100% 55% at 75% 0%, rgba(42, 152, 255, 0.28), transparent 52%),
        radial-gradient(ellipse 90% 50% at 10% 100%, rgba(255, 42, 85, 0.14), transparent 48%),
        radial-gradient(ellipse 70% 40% at 50% 50%, rgba(106, 92, 255, 0.12), transparent 55%),
        repeating-linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.02) 0,
            rgba(255, 255, 255, 0.02) 1px,
            transparent 1px,
            transparent 14px
        );
    background-attachment: fixed;
}

/* Extra top spacing so first heading is clearly below the header on all pages */
.page-content.page-section,
#page-text.page-section {
    padding-top: 1.5rem !important;
}

.header,
.header .menu-item-has-children .sub-menu {
    background: #111a4a !important;
    border-bottom: 1px solid rgba(51, 201, 255, 0.35) !important;
}

.header {
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08) !important;
}

.header .nav a,
.header .mobile-nav a {
    color: #f5f7ff !important;
}

.header .nav a:hover,
.header .mobile-nav a:hover {
    color: var(--rc-accent-hover) !important;
}

.footer {
    background-color: var(--rc-bg) !important;
}

/* Footer payment SVGs are dark-on-transparent — invert so they read on dark bg */
.footer .pay-row .pay-item img {
    width: auto !important;
    max-width: min(140px, 100%);
    max-height: 42px;
    object-fit: contain;
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.main-text-content a,
.page-text a {
    color: var(--rc-link) !important;
}

.main-text-content a:hover,
.page-text a:hover {
    color: var(--rc-accent-hover) !important;
}

/* Tables: unified dark theme (all pages) */
.main-text-content table,
.page-text table,
.responsible-gambling table {
    width: 100%;
    border-collapse: collapse;
    margin: 24px 0;
    font-size: 14px;
    line-height: 1.5;
    background-color: var(--rc-surface) !important;
    border: 1px solid var(--rc-surface-2);
}

.main-text-content table th,
.main-text-content table td,
.page-text table th,
.page-text table td,
.responsible-gambling table th,
.responsible-gambling table td {
    border: 1px solid var(--rc-surface-2);
    padding: 12px 14px;
    text-align: left;
    vertical-align: top;
    color: #f5f7ff !important;
}

.main-text-content table thead th,
.page-text table thead th,
.responsible-gambling table thead th {
    background-color: var(--rc-surface-2) !important;
    font-weight: 600;
    color: #f5f7ff !important;
}

.main-text-content table tbody tr:nth-child(even),
.page-text table tbody tr:nth-child(even),
.responsible-gambling table tbody tr:nth-child(even) {
    background-color: rgba(12, 38, 34, 0.88) !important;
}

.main-text-content table tbody tr:nth-child(even) td,
.page-text table tbody tr:nth-child(even) td,
.responsible-gambling table tbody tr:nth-child(even) td {
    color: #f5f7ff !important;
}

.main-text-content table tbody tr:hover,
.page-text table tbody tr:hover,
.responsible-gambling table tbody tr:hover {
    background-color: var(--rc-surface-2) !important;
}

.main-text-content table a,
.page-text table a,
.responsible-gambling table a {
    color: var(--rc-link) !important;
    text-decoration: underline;
}

.main-text-content table a:hover,
.page-text table a:hover,
.responsible-gambling table a:hover {
    color: var(--rc-accent-hover) !important;
    text-decoration: none;
}

@media (max-width: 768px) {
    .main-text-content table,
    .main-text-content thead,
    .main-text-content tbody,
    .main-text-content th,
    .main-text-content td,
    .main-text-content tr,
    .page-text table,
    .page-text thead,
    .page-text tbody,
    .page-text th,
    .page-text td,
    .page-text tr,
    .responsible-gambling table,
    .responsible-gambling thead,
    .responsible-gambling tbody,
    .responsible-gambling th,
    .responsible-gambling td,
    .responsible-gambling tr {
        display: block;
    }

    .main-text-content thead,
    .page-text thead,
    .responsible-gambling thead {
        display: none;
    }

    .main-text-content tr,
    .page-text tr,
    .responsible-gambling tr {
        margin-bottom: 16px;
        border: 1px solid var(--rc-surface-2);
        padding: 10px;
        background-color: var(--rc-surface) !important;
    }

    .main-text-content td,
    .page-text td,
    .responsible-gambling td {
        border: none;
        padding: 6px 0;
        color: #f5f7ff !important;
    }

    .main-text-content td::before,
    .page-text td::before,
    .responsible-gambling td::before {
        content: attr(data-label);
        font-weight: 600;
        display: block;
        margin-bottom: 4px;
        color: var(--rc-link);
    }
}

body.banner-background .screen-content {
    background: transparent !important;
}

.offer-title,
.offer-desc {
    color: var(--rc-text) !important;
}

.btn,
.btn.btn-primary,
.btn.btn-danger,
.btn.offer-btn,
.header .btn-danger {
    background: linear-gradient(180deg, #8f5bff 0%, #ff2a55 52%, #d91642 100%) !important;
    color: var(--rc-on-accent) !important;
    border: 1px solid rgba(251, 191, 36, 0.45);
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.15);
}

.btn:hover,
.btn.btn-primary:hover,
.btn.btn-danger:hover,
.btn.offer-btn:hover,
.header .btn-danger:hover {
    background: linear-gradient(180deg, #c4a3ff 0%, #ff4d79 45%, #ff2a55 100%) !important;
    color: var(--rc-on-accent) !important;
}

.btn:focus,
.btn:focus-visible,
.header .btn-danger:focus-visible,
.btn.btn-primary:focus-visible,
.btn.btn-danger:focus-visible,
.btn.offer-btn:focus-visible {
    outline: 2px solid var(--rc-focus) !important;
    outline-offset: 2px;
}

/* Horizontal 7bit Casino wordmark */
.custom-logo-link {
    display: inline-flex;
    align-items: center;
    line-height: 0;
}

img.custom-logo {
    width: auto !important;
    height: 48px !important;
    max-width: min(300px, 58vw);
    object-fit: contain;
}

@media (max-width: 700px) {
    img.custom-logo {
        height: 40px !important;
        max-width: min(260px, 70vw);
    }
}

.mobile-wrap {
    background-color: var(--rc-surface) !important;
    border-right: 1px solid rgba(51, 201, 255, 0.35);
}

.page-item,
.reviews-item .inner {
    background-color: var(--rc-surface) !important;
    border: 1px solid rgba(51, 201, 255, 0.35);
}

.section-title {
    color: var(--rc-text) !important;
}
