/* site palette */
html:root {
    --bg: #220D19;
    --surface: #38162A;
    --surface-alt: #2D1122;
    --text: #F2EEF1;
    --text-muted: #BFB0B9;
    --border: #44323D;
    --primary: #F93EAD;
    --primary-hover: #F8169C;
    --on-primary: #111111;
    --primary-text: #F93EAD;
    --accent: #7EBF21;
    --on-accent: #111111;
    --accent-text: #7EBF21;
    --dark-band: #140910;
    --on-dark: #FFFFFF;
    --on-dark-muted: #C3B6BE;
    --brand-btn-bg: #111111;
    --brand-btn-text: #F93EAD;
    --section-alt-bg: linear-gradient(200deg, #2D1122 0%, #331426 100%);
    --dark-band-bg: linear-gradient(114deg, #140910 0%, #430E2E 100%);
    --brand-band-bg: linear-gradient(150deg, #F93EAD 0%, #F93EEB 100%);
    --hero-bg: linear-gradient(114deg, #140910 0%, #430E2E 100%);
}

html:root {
    --bs-primary: #F93EAD;
    --bs-primary-rgb: 249, 62, 173;
    --bs-link-color: #F93EAD;
    --bs-link-color-rgb: 249, 62, 173;
    --bs-link-hover-color: #F8169C;
    --mdb-primary: #F93EAD;
    --mdb-primary-rgb: 249, 62, 173;
}

.btn-primary {
    --bs-btn-bg: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-color: var(--on-primary);
    --bs-btn-hover-bg: var(--primary-hover);
    --bs-btn-hover-border-color: var(--primary-hover);
    --bs-btn-hover-color: var(--on-primary);
    --bs-btn-active-bg: var(--primary-hover);
    --bs-btn-active-border-color: var(--primary-hover);
    --bs-btn-active-color: var(--on-primary);
    background-color: var(--primary);
    border-color: var(--primary);
    color: var(--on-primary);
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
    color: var(--on-primary);
}

.btn-outline-primary {
    --bs-btn-color: var(--primary-text);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-bg: var(--primary);
    --bs-btn-hover-border-color: var(--primary);
    --bs-btn-hover-color: var(--on-primary);
    color: var(--primary-text);
    border-color: var(--primary);
}

.btn-outline-primary:hover {
    background-color: var(--primary);
    color: var(--on-primary);
}

.text-primary,
.link-primary {
    color: var(--primary-text) !important;
}

.bg-primary,
.text-bg-primary,
.badge.bg-primary {
    color: var(--on-primary) !important;
}

/* /site palette */

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    font-family: 'Archivo', sans-serif;
    background-color: var(--bg);
    color: var(--text);
    margin: 0;
    padding: 0;
    line-height: 1.65;
    -webkit-font-smoothing: antialiased;
}

a {
    color: var(--primary);
    text-decoration: none;
    transition: color 0.15s linear;
}

a:hover {
    color: var(--primary-hover);
}

.text-muted {
    color: var(--text-muted) !important;
}

.eyg-section {
    background: var(--bg);
    padding: 56px 0;
}

.eyg-section-alt {
    background: var(--section-alt-bg, var(--surface-alt));
    padding: 56px 0;
}

.eyg-section-dark {
    background: var(--dark-band-bg, var(--dark-band));
    color: var(--on-dark);
    padding: 56px 0;
}

.eyg-section-brand {
    background: var(--brand-band-bg, var(--primary));
    color: var(--on-primary);
    padding: 56px 0;
}

@media (min-width: 992px) {

    .eyg-section,
    .eyg-section-alt,
    .eyg-section-dark,
    .eyg-section-brand {
        padding: 96px 0;
    }
}

.eyg-on-dark {
    color: var(--on-dark);
}

.eyg-section-dark h1,
.eyg-section-dark h2,
.eyg-section-dark h3,
.eyg-section-dark h4,
.eyg-section-dark .eyg-title,
.eyg-on-dark h1,
.eyg-on-dark h2,
.eyg-on-dark h3,
.eyg-on-dark h4,
.eyg-on-dark .eyg-title {
    color: var(--on-dark);
}

.eyg-section-dark p,
.eyg-on-dark p {
    color: var(--on-dark-muted);
}

.eyg-section-dark .eyg-eyebrow,
.eyg-on-dark .eyg-eyebrow {
    color: var(--primary);
}

.eyg-eyebrow {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--primary);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.eyg-title {
    font-size: 28px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.015em;
    color: var(--text);
    margin-bottom: 18px;
}

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

@media (min-width: 992px) {
    .eyg-title {
        font-size: 40px;
    }
}

.eyg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--primary);
    color: var(--on-primary);
    border: none;
    border-radius: 8px;
    padding: 12px 28px;
    font-weight: 700;
    text-decoration: none;
    transition: background-color 0.15s linear, color 0.15s linear, transform 0.15s linear;
    cursor: pointer;
}

.eyg-btn:hover {
    background-color: var(--primary-hover);
    color: #FFFFFF;
    transform: translateY(-2px);
}

.eyg-btn-alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: transparent;
    color: var(--text);
    border: 1px dashed var(--primary);
    border-radius: 9999px;
    padding: 10px 24px;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 0.15s linear, color 0.15s linear, border-color 0.15s linear;
    cursor: pointer;
}

.eyg-btn-alt:hover {
    background-color: var(--primary);
    color: var(--on-primary);
    border-color: var(--primary);
}

.eyg-section-dark .eyg-btn-alt,
.eyg-on-dark .eyg-btn-alt {
    color: var(--on-dark);
    border-color: var(--primary);
}

.eyg-section-dark .eyg-btn-alt:hover,
.eyg-on-dark .eyg-btn-alt:hover {
    background-color: var(--primary);
    color: var(--on-primary);
}

.eyg-section-brand .eyg-btn {
    background-color: var(--brand-btn-bg);
    color: var(--brand-btn-text);
}

.eyg-section-brand .eyg-btn:hover {
    background-color: #000000;
    color: #FFFFFF;
}

.eyg-section-brand .eyg-btn-alt {
    border-color: var(--on-primary);
    color: var(--on-primary);
}

.eyg-card {
    background-color: var(--surface);
    color: var(--text);
    border: 1px dashed var(--border);
    border-radius: 12px;
    padding: 24px;
    display: flex;
    flex-direction: column;
    transition: border-color 0.15s linear, transform 0.15s linear;
}

.eyg-card:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}

.eyg-section-dark .eyg-card,
.eyg-on-dark .eyg-card {
    background-color: var(--surface);
    color: var(--text);
    border-color: var(--border);
}

.eyg-section-dark .eyg-card p,
.eyg-on-dark .eyg-card p {
    color: var(--text-muted);
}

.eyg-media {
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    overflow: hidden;
    border: 1px dashed var(--border);
    margin-bottom: 16px;
    flex-shrink: 0;
}

.eyg-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.eyg-badge {
    display: inline-flex;
    align-items: center;
    background-color: var(--primary);
    color: var(--on-primary);
    font-size: 12px;
    font-weight: 700;
    border-radius: 4px;
    padding: 4px 10px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.eyg-icon {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    color: var(--primary);
    flex-shrink: 0;
}

.eyg-counter {
    font-size: 48px;
    font-weight: 900;
    color: var(--primary);
    opacity: 0.85;
    line-height: 1.0;
}

.eyg-divider-silhouette {
    width: 100%;
    height: 24px;
    background: transparent;
}

/* ===== header ===== */
.rg-header-block {
    position: sticky;
    top: 0;
    z-index: 1030;
    width: 100%;
    background: var(--bg);
}

.rg-header-block .rg-header-topbar {
    background: var(--dark-band);
    border-bottom: 1px dashed var(--border);
    padding: 6px 0;
    font-size: 13px;
    color: var(--on-dark-muted);
}

.rg-header-block .rg-topbar-link {
    color: var(--on-dark-muted);
    text-decoration: none;
    transition: color 0.2s ease;
}

.rg-header-block .rg-topbar-link:hover,
.rg-header-block .rg-topbar-link:focus {
    color: var(--primary);
    text-decoration: none;
}

.rg-header-block .rg-topbar-item {
    color: var(--on-dark-muted);
}

.rg-header-block .rg-topbar-text {
    color: var(--on-dark-muted);
    font-size: 12px;
}

.rg-header-block .rg-badge-indicator {
    background: var(--primary);
    color: var(--on-primary);
    font-size: 11px;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 4px;
}

.rg-header-block .rg-navbar-main {
    background: var(--bg);
    border-bottom: 1px dashed var(--border);
    padding: 12px 0;
}

.rg-header-block .rg-brand-badge {
    background: var(--primary);
    border-radius: 12px;
    padding: 6px 10px;
    text-decoration: none;
    transition: transform 0.2s ease;
    box-shadow: 0 4px 12px rgba(249, 62, 173, 0.25);
}

.rg-header-block .rg-brand-badge:hover {
    transform: translateY(-2px);
}

.rg-header-block .rg-header-logo {
    max-width: 44px;
    max-height: 44px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.rg-header-block .rg-nav-link {
    color: var(--text);
    font-weight: 600;
    font-size: 15px;
    padding: 8px 14px !important;
    transition: color 0.2s ease;
}

.rg-header-block .rg-nav-link:hover,
.rg-header-block .rg-nav-link:focus {
    color: var(--primary);
}

.rg-header-block .rg-navbar-toggler {
    border: 1px dashed var(--border);
    padding: 8px 10px;
    border-radius: 6px;
    background: var(--surface);
    display: flex;
    flex-direction: column;
    gap: 4px;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.rg-header-block .rg-navbar-toggler:focus {
    box-shadow: 0 0 0 2px var(--primary);
    outline: none;
}

.rg-header-block .rg-toggler-bar {
    display: block;
    width: 22px;
    height: 2px;
    background-color: var(--primary);
    transition: all 0.2s ease;
}

.rg-header-block .rg-header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    padding: 10px 22px;
    font-weight: 700;
    font-size: 14px;
    border-radius: 8px;
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (max-width: 991.98px) {
    .rg-header-block .rg-navbar-collapse {
        background: var(--surface);
        border: 1px dashed var(--border);
        border-radius: 12px;
        padding: 16px;
        margin-top: 12px;
    }

    .rg-header-block .rg-nav-link {
        border-bottom: 1px dashed var(--border);
        padding: 10px 0 !important;
    }

    .rg-header-block .rg-nav-item:last-child .rg-nav-link {
        border-bottom: none;
    }

    .rg-header-block .rg-nav-cta-wrapper {
        width: 100%;
    }

    .rg-header-block .rg-header-cta {
        width: 100%;
    }
}

/* ===== hero ===== */
.rg-hero-section {
    position: relative;
    background: var(--section-alt-bg, #2D1122);
    color: var(--text, #F2EEF1);
    padding-top: 2.5rem;
    padding-bottom: 4.5rem;
    overflow: hidden
}

.rg-hero-watermark {
    position: absolute;
    right: -50px;
    top: 10%;
    font-size: 320px;
    color: rgba(249, 62, 173, 0.04);
    pointer-events: none;
    z-index: 1;
    line-height: 1
}

.rg-hero-title {
    font-size: clamp(2rem, 4vw + 1rem, 3.375rem);
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--on-dark, #FFFFFF);
    overflow-wrap: anywhere
}

.rg-highlight-text {
    color: var(--primary, #F93EAD);
    text-decoration: underline;
    text-underline-offset: 6px;
    text-decoration-thickness: 3px
}

.rg-hero-lead {
    font-size: clamp(1rem, 1.5vw, 1.125rem);
    line-height: 1.65;
    color: var(--on-dark-muted, #C3B6BE);
    max-width: 40rem;
    overflow-wrap: anywhere
}

.rg-hero-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    font-weight: 700;
    padding: 12px 28px;
    border-radius: 8px;
    text-decoration: none;
    border: none;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease
}

.rg-hero-btn-primary:hover {
    background: var(--primary-hover, #F8169C);
    color: #FFFFFF;
    transform: translateY(-2px)
}

.rg-hero-btn-alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--on-dark, #FFFFFF);
    font-weight: 600;
    padding: 10px 24px;
    border-radius: 9999px;
    border: 1px dashed var(--primary, #F93EAD);
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease
}

.rg-hero-btn-alt:hover {
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    border-color: var(--primary, #F93EAD);
    transform: translateY(-2px)
}

.rg-hero-image-wrapper {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center
}

.rg-hero-blob-mask {
    width: 100%;
    max-width: 460px;
    aspect-ratio: 1/1;
    border-radius: 60% 40% 50% 50% / 50% 60% 40% 50%;
    overflow: hidden;
    border: 2px dashed var(--primary, #F93EAD);
    box-shadow: 0 12px 30px rgba(20, 9, 16, 0.5)
}

.rg-hero-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.rg-hero-badge {
    position: absolute;
    bottom: 10px;
    left: 10px;
    background: var(--surface, #38162A);
    border: 1px dashed var(--primary, #F93EAD);
    color: var(--text, #F2EEF1);
    padding: 8px 16px;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
    backdrop-filter: blur(4px)
}

.rg-slider-arrow {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--dark-band, #140910);
    border: 1px solid var(--border, #44323D);
    color: var(--primary, #F93EAD);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 1.25rem;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease
}

.rg-slider-arrow:hover {
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    border-color: var(--primary, #F93EAD)
}

.rg-slider-hint {
    font-size: 0.875rem;
    color: var(--on-dark-muted, #C3B6BE);
    font-weight: 500
}

.rg-jagged-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    line-height: 0;
    z-index: 2;
    pointer-events: none
}

.rg-jagged-bottom svg {
    display: block;
    width: 100%;
    height: 24px;
    fill: var(--bg, #220D19)
}

@media (max-width:767px) {
    .rg-hero-section {
        padding-top: 1.5rem;
        padding-bottom: 3.5rem
    }

    .rg-hero-title {
        font-size: 1.75rem
    }

    .rg-hero-blob-mask {
        max-width: 320px
    }

    .rg-hero-watermark {
        font-size: 180px;
        right: -30px
    }
}

/* ===== news_grid ===== */
.news-grid-section .news-grid-heading {
    color: var(--text);
    font-weight: 800;
    line-height: 1.2;
}

.news-grid-section .news-grid-highlight {
    color: var(--primary-text);
}

.news-grid-section .news-grid-lead {
    color: var(--text-muted);
    font-size: 1.05rem;
    line-height: 1.6;
}

.news-grid-section .news-grid-card {
    background-color: var(--surface);
    border: 1px dashed var(--border);
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.news-grid-section .news-grid-card:hover {
    transform: translateY(-2px);
    border-color: var(--primary);
}

.news-grid-section .news-grid-media-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-top-left-radius: 12px;
    border-top-right-radius: 12px;
}

.news-grid-section .news-grid-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.news-grid-section .news-grid-card:hover .news-grid-img {
    transform: scale(1.03);
}

.news-grid-section .news-grid-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background-color: var(--primary);
    color: var(--on-primary);
    font-size: 0.75rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.news-grid-section .news-grid-meta {
    font-size: 13px;
    color: var(--text-muted);
}

.news-grid-section .news-grid-meta i {
    color: var(--primary-text);
    font-size: 14px;
}

.news-grid-section .news-grid-card-title {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 0.75rem;
}

.news-grid-section .news-grid-title-link {
    color: var(--text);
    text-decoration: none;
    transition: color 0.2s ease;
    overflow-wrap: anywhere;
}

.news-grid-section .news-grid-title-link:hover {
    color: var(--primary-text);
}

.news-grid-section .news-grid-text {
    color: var(--text-muted);
    font-size: 0.95rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.news-grid-section .news-grid-link {
    color: var(--primary-text);
    font-weight: 700;
    font-size: 0.95rem;
    text-decoration: none;
    transition: color 0.2s ease, transform 0.2s ease;
}

.news-grid-section .news-grid-link:hover {
    color: var(--primary-hover);
    transform: translateX(3px);
}

.news-grid-section .news-grid-all-btn {
    text-decoration: none;
    cursor: pointer;
}

@media (max-width: 767.98px) {
    .news-grid-section .news-grid-card-title {
        font-size: 1.15rem;
        hyphens: auto;
    }

    .news-grid-section .news-grid-heading {
        font-size: 1.65rem;
        hyphens: auto;
    }
}

/* ===== tickets_info ===== */
.tickets-info-section .tickets-info-highlight {
    color: var(--primary-text);
}

.tickets-info-section .tickets-info-lead {
    font-size: 1.05rem;
    line-height: 1.6;
    color: var(--text-muted);
    margin: 0 auto;
    max-width: 680px;
    overflow-wrap: anywhere;
}

.tickets-info-section .tickets-info-alert {
    background: var(--surface);
    border: 1px dashed var(--primary);
    position: relative;
}

.tickets-info-section .tickets-info-alert-icon {
    width: 54px;
    height: 54px;
    background: var(--dark-band);
    color: var(--primary-text);
    font-size: 1.75rem;
    border: 1px dashed var(--primary);
    border-radius: 12px;
}

.tickets-info-section .tickets-info-tag {
    font-size: 0.8125rem;
    color: var(--text-muted);
    font-weight: 500;
}

.tickets-info-section .tickets-info-alert-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text);
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.tickets-info-section .tickets-info-alert-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--text-muted);
    overflow-wrap: anywhere;
}

.tickets-info-section .tickets-info-card {
    background: var(--surface);
    border: 1px dashed var(--border);
    border-radius: 12px;
    overflow: hidden;
    transition: border-color 0.2s linear, transform 0.2s linear;
}

.tickets-info-section .tickets-info-card:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}

.tickets-info-section .tickets-info-img-link {
    overflow: hidden;
}

.tickets-info-section .tickets-info-media {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.tickets-info-section .tickets-info-media img {
    object-fit: cover;
    transition: transform 0.3s ease;
}

.tickets-info-section .tickets-info-card:hover .tickets-info-media img {
    transform: scale(1.03);
}

.tickets-info-section .tickets-info-meta {
    font-size: 0.8125rem;
    color: var(--text-muted);
}

.tickets-info-section .tickets-info-card-title {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0;
    overflow-wrap: anywhere;
}

.tickets-info-section .tickets-info-title-link {
    color: var(--text);
    text-decoration: none;
    transition: color 0.15s ease;
}

.tickets-info-section .tickets-info-title-link:hover {
    color: var(--primary-text);
}

.tickets-info-section .tickets-info-card-desc {
    font-size: 0.875rem;
    line-height: 1.55;
    color: var(--text-muted);
    overflow-wrap: anywhere;
}

.tickets-info-section .tickets-info-readmore {
    color: var(--primary-text);
    text-decoration: none;
    font-weight: 700;
    font-size: 0.875rem;
    transition: gap 0.2s ease, color 0.15s ease;
}

.tickets-info-section .tickets-info-readmore:hover {
    color: var(--primary-hover);
    gap: 0.4rem;
}

@media (max-width: 767px) {
    .tickets-info-section h2.eyg-title {
        font-size: 1.25rem;
    }

    .tickets-info-section .tickets-info-alert-title {
        font-size: 1.05rem;
    }

    .tickets-info-section .tickets-info-card-title {
        font-size: 1rem;
    }
}

/* ===== players_grid ===== */
.eyg-players-grid {
    position: relative;
    overflow: hidden;
}

.eyg-players-grid__spotlight-card {
    background-color: var(--surface);
    border: 1px dashed var(--border);
    border-radius: 12px;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.eyg-players-grid__spotlight-card:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}

.eyg-players-grid__player-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: var(--surface-alt);
    border: 1px dashed var(--primary);
    color: var(--primary-text);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}

.eyg-players-grid__odd-tag {
    font-size: 13px;
    font-weight: 700;
    color: var(--accent-text);
    background-color: rgba(126, 191, 33, 0.12);
    border: 1px solid var(--accent);
    border-radius: 9999px;
    padding: 2px 10px;
}

.eyg-players-grid__filter-btn {
    background-color: var(--surface-alt);
    border: 1px dashed var(--border);
    color: var(--text);
    font-size: 14px;
    font-weight: 600;
    padding: 8px 18px;
    border-radius: 9999px;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.eyg-players-grid__filter-btn:hover,
.eyg-players-grid__filter-btn.active {
    background-color: var(--primary);
    border-color: var(--primary);
    color: var(--on-primary);
}

.eyg-players-grid__card {
    background-color: var(--surface);
    border: 1px dashed var(--border);
    border-radius: 12px;
    overflow: hidden;
    transition: border-color 0.2s ease, transform 0.2s ease;
}

.eyg-players-grid__card:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}

.eyg-players-grid__img-link {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background-color: var(--surface-alt);
}

.eyg-players-grid__thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.eyg-players-grid__card:hover .eyg-players-grid__thumb {
    transform: scale(1.03);
}

.eyg-players-grid__title-link {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.35;
    transition: color 0.2s ease;
}

.eyg-players-grid__title-link:hover {
    color: var(--primary-text) !important;
}

.eyg-players-grid__read-link {
    font-size: 13px;
    font-weight: 700;
    color: var(--primary-text);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: gap 0.2s ease, color 0.2s ease;
}

.eyg-players-grid__read-link:hover {
    color: var(--text);
    gap: 8px;
}

@media (max-width: 767px) {
    .eyg-players-grid__title-link {
        -webkit-line-clamp: unset;
    }
}

/* ===== guide_cards ===== */
.guide-cards-block {
    padding: 96px 0;
    overflow: hidden;
}

.guide-cards-block__heading {
    color: #F2EEF1;
    font-size: 40px;
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.015em;
    overflow-wrap: anywhere;
}

.guide-cards-block__highlight {
    color: #F93EAD;
}

.guide-cards-block__lead {
    color: #BFB0B9;
    font-size: 16px;
    line-height: 1.65;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
    overflow-wrap: anywhere;
}

.guide-cards-block__card {
    background: #38162A;
    border: 1px dashed #44323D;
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.guide-cards-block__card:hover {
    transform: translateY(-2px);
    border-color: #F93EAD;
}

.guide-cards-block__media-link {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background-color: #2D1122;
}

.guide-cards-block__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 12px 12px 0 0;
    transition: transform 0.25s ease;
}

.guide-cards-block__card:hover .guide-cards-block__img {
    transform: scale(1.03);
}

.guide-cards-block__content {
    min-width: 0;
}

.guide-cards-block__meta {
    font-size: 13px;
    color: #BFB0B9;
}

.guide-cards-block__meta-icon {
    color: #F93EAD;
    font-size: 14px;
}

.guide-cards-block__card-title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.guide-cards-block__title-link {
    color: #F2EEF1;
    text-decoration: none;
    transition: color 0.2s ease;
}

.guide-cards-block__title-link:hover {
    color: #F93EAD;
}

.guide-cards-block__card-text {
    color: #BFB0B9;
    font-size: 14px;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.guide-cards-block__readmore {
    color: #F93EAD;
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
    transition: color 0.2s ease, transform 0.2s ease;
}

.guide-cards-block__readmore:hover {
    color: #F8169C;
    transform: translateX(3px);
}

.guide-cards-block__all-btn {
    border: 1px dashed #F93EAD;
    color: #F2EEF1;
    background: transparent;
    border-radius: 9999px;
    padding: 10px 24px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.guide-cards-block__all-btn:hover {
    background: #F93EAD;
    color: #111111;
    border-color: #F93EAD;
}

@media (max-width: 767px) {
    .guide-cards-block {
        padding: 56px 0;
    }

    .guide-cards-block__heading {
        font-size: 28px;
    }

    .guide-cards-block__card-title {
        font-size: 18px;
    }
}

/* ===== interactive_quiz ===== */
.quiz-section {
    background: var(--dark-band-bg, linear-gradient(114deg, #140910 0%, #430E2E 100%));
    color: var(--on-dark, #FFFFFF);
    position: relative;
    overflow: hidden;
}

.quiz-section .text-primary-custom {
    color: var(--primary, #F93EAD);
}

.quiz-section .text-light-muted {
    color: var(--on-dark-muted, #C3B6BE);
}

.quiz-section .eyg-eyebrow {
    color: var(--primary, #F93EAD);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.quiz-section .quiz-intro-text {
    font-size: 16px;
    line-height: 1.6;
    max-width: 620px;
    margin-inline: auto;
}

.quiz-section .quiz-card {
    background: var(--surface, #38162A);
    border: 1px dashed var(--border, #44323D);
    border-radius: 16px;
    position: relative;
}

.quiz-section .badge-step {
    background: rgba(249, 62, 173, 0.15);
    color: var(--primary, #F93EAD);
    border: 1px dashed var(--primary, #F93EAD);
    padding: 4px 12px;
    border-radius: 9999px;
    font-size: 12px;
    letter-spacing: 0.05em;
}

.quiz-section .quiz-progress-track {
    background: var(--surface-alt, #2D1122);
    height: 8px;
    border-radius: 9999px;
    overflow: hidden;
    border: 1px solid var(--border, #44323D);
    min-width: 140px;
}

.quiz-section .quiz-progress-bar {
    background: var(--primary, #F93EAD);
    height: 100%;
    border-radius: 9999px;
    transition: width 0.3s ease;
}

.quiz-section .quiz-option-btn {
    background: var(--surface-alt, #2D1122);
    color: var(--text, #F2EEF1);
    border: 1px dashed var(--border, #44323D);
    border-radius: 10px;
    padding: 14px 18px;
    text-align: left;
    font-size: 15px;
    font-weight: 500;
    transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
}

.quiz-section .quiz-option-btn:hover:not(:disabled) {
    border-color: var(--primary, #F93EAD);
    background: rgba(249, 62, 173, 0.12);
    color: #FFFFFF;
    transform: translateY(-2px);
}

.quiz-section .quiz-option-btn.is-selected-correct {
    background: rgba(126, 191, 33, 0.2) !important;
    border-color: #7EBF21 !important;
    color: #FFFFFF !important;
}

.quiz-section .quiz-option-btn.is-selected-wrong {
    background: rgba(249, 62, 173, 0.25) !important;
    border-color: #F93EAD !important;
    color: #FFFFFF !important;
}

.quiz-section .quiz-option-btn:disabled {
    cursor: default;
}

.quiz-section .quiz-feedback {
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 14px;
    line-height: 1.5;
    border: 1px dashed transparent;
}

.quiz-section .quiz-feedback.is-correct {
    background: rgba(126, 191, 33, 0.15);
    border-color: #7EBF21;
    color: #E8F5D8;
}

.quiz-section .quiz-feedback.is-wrong {
    background: rgba(249, 62, 173, 0.15);
    border-color: #F93EAD;
    color: #FCE8F4;
}

.quiz-section .eyg-btn {
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    border: none;
    border-radius: 8px;
    padding: 12px 24px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.quiz-section .eyg-btn:hover {
    background: var(--primary-hover, #F8169C);
    color: #FFFFFF;
}

.quiz-section .eyg-btn-alt {
    background: transparent;
    color: var(--text, #F2EEF1);
    border: 1px dashed var(--primary, #F93EAD);
    border-radius: 9999px;
    padding: 10px 24px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.quiz-section .eyg-btn-alt:hover {
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
}

@media (max-width: 767px) {
    .quiz-section .quiz-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .quiz-section .quiz-progress-wrapper {
        width: 100%;
        margin: 8px 0;
    }

    .quiz-section .quiz-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .quiz-section .quiz-actions .eyg-btn {
        width: 100%;
    }

    .quiz-section .quiz-question-title {
        font-size: 18px;
    }
}

/* ===== news_analysis ===== */
.news-analysis-block {
    color: var(--text);
    overflow-x: hidden;
}

.news-analysis-block .eyg-eyebrow {
    color: var(--primary-text);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.14em;
}

.news-analysis-block .eyg-title {
    color: var(--text);
    font-weight: 800;
    line-height: 1.2;
    letter-spacing: -0.015em;
}

.news-analysis-block .text-highlight {
    color: var(--primary);
}

.news-analysis-block .text-accent {
    color: var(--accent);
}

.news-analysis-block .news-analysis-lead {
    color: var(--text-muted);
    max-width: 760px;
    font-size: 1.05rem;
    line-height: 1.6;
}

.news-analysis-block .news-analysis-feature {
    border: 1px dashed var(--border);
    background: var(--surface);
    border-radius: 12px;
    transition: border-color 0.2s linear, transform 0.2s linear;
}

.news-analysis-block .news-analysis-feature:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}

.news-analysis-block .feature-icon-wrapper {
    width: 48px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: var(--surface-alt);
    border: 1px dashed var(--border);
}

.news-analysis-block .feature-icon {
    font-size: 26px;
    color: var(--primary);
}

.news-analysis-block .feature-title {
    color: var(--text);
    font-size: 1.2rem;
    font-weight: 700;
}

.news-analysis-block .feature-desc {
    color: var(--text-muted);
    font-size: 0.95rem;
    line-height: 1.6;
}

.news-analysis-block .news-analysis-interactive {
    border: 1px dashed var(--border);
    background: var(--surface-alt);
    border-radius: 12px;
}

.news-analysis-block .interactive-heading {
    color: var(--text);
    font-size: 1.3rem;
    font-weight: 700;
}

.news-analysis-block .interactive-sub {
    color: var(--text-muted);
    font-size: 0.9rem;
}

.news-analysis-block .js-tab-btn {
    cursor: pointer;
    transition: all 0.2s linear;
}

.news-analysis-block .js-tab-btn.active {
    background: var(--primary);
    color: var(--on-primary);
    border-color: var(--primary);
}

.news-analysis-block .tab-pane-custom {
    display: none;
}

.news-analysis-block .tab-pane-custom.active {
    display: block;
}

.news-analysis-block .pane-title {
    color: var(--text);
    font-size: 1.15rem;
    font-weight: 700;
}

.news-analysis-block .pane-text {
    color: var(--text-muted);
    font-size: 0.95rem;
    line-height: 1.6;
}

.news-analysis-block .pane-list span {
    color: var(--text);
    font-size: 0.95rem;
}

.news-analysis-block .pane-card {
    background: var(--surface);
    border: 1px dashed var(--border);
    border-radius: 8px;
    color: var(--text-muted);
}

.news-analysis-block .related-block-title {
    color: var(--text);
    font-size: 1.4rem;
    font-weight: 800;
}

.news-analysis-block .blog-post-card {
    background: var(--surface);
    border: 1px dashed var(--border);
    border-radius: 12px;
    overflow: hidden;
    transition: border-color 0.2s linear, transform 0.2s linear;
}

.news-analysis-block .blog-post-card:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
}

.news-analysis-block .card-media-link {
    display: block;
    overflow: hidden;
}

.news-analysis-block .eyg-media {
    aspect-ratio: 16 / 9;
    width: 100%;
    overflow: hidden;
}

.news-analysis-block .eyg-badge {
    background: var(--primary);
    color: var(--on-primary);
    font-size: 11px;
    font-weight: 700;
    padding: 4px 8px;
    border-radius: 4px;
    text-transform: uppercase;
}

.news-analysis-block .card-meta {
    font-size: 13px;
    color: var(--text-muted);
}

.news-analysis-block .card-heading {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.4;
}

.news-analysis-block .stretched-link-title {
    color: var(--text);
    text-decoration: none;
    transition: color 0.2s linear;
}

.news-analysis-block .stretched-link-title:hover {
    color: var(--primary);
}

.news-analysis-block .card-read-link {
    color: var(--primary-text);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s linear;
}

.news-analysis-block .card-read-link:hover {
    color: var(--primary-hover);
}

@media (max-width: 767.98px) {
    .news-analysis-block .eyg-title {
        font-size: 1.45rem;
    }

    .news-analysis-block .feature-title {
        font-size: 1.1rem;
    }

    .news-analysis-block .interactive-heading {
        font-size: 1.15rem;
    }

    .news-analysis-block .js-tab-controls {
        width: 100%;
    }

    .news-analysis-block .js-tab-btn {
        flex: 1 1 100%;
        text-align: center;
        justify-content: center;
    }
}

/* ===== infographic_block ===== */
.ticket-infographic-block {
    overflow-x: hidden;
    color: var(--text, #F2EEF1);
}

.ticket-infographic-block .text-primary-accent {
    color: var(--primary, #F93EAD);
}

.ticket-infographic-block .text-accent {
    color: var(--accent, #7EBF21);
}

.ticket-infographic-block .infographic-lead {
    max-width: 680px;
    color: var(--text-muted, #BFB0B9);
    font-size: 15px;
    line-height: 1.6;
}

.ticket-infographic-block .infographic-step-card {
    background: var(--surface, #38162A);
    border: 1px dashed var(--border, #44323D);
    border-radius: 12px;
    padding: 24px 20px;
    cursor: pointer;
    transition: border-color 0.2s linear, transform 0.2s linear, background-color 0.2s linear;
    height: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
}

.ticket-infographic-block .infographic-step-card:hover {
    border-color: var(--primary, #F93EAD);
    transform: translateY(-2px);
}

.ticket-infographic-block .infographic-step-card.active {
    border-color: var(--primary, #F93EAD);
    background: color-mix(in srgb, var(--surface, #38162A) 80%, var(--primary, #F93EAD) 20%);
}

.ticket-infographic-block .step-counter {
    font-size: 28px;
    font-weight: 900;
    line-height: 1;
    color: var(--primary, #F93EAD);
    opacity: 0.85;
}

.ticket-infographic-block .step-icon-wrap {
    font-size: 30px;
    color: var(--primary, #F93EAD);
    line-height: 1;
}

.ticket-infographic-block .step-heading {
    font-size: 18px;
    font-weight: 700;
    color: var(--text, #F2EEF1);
    line-height: 1.3;
}

.ticket-infographic-block .step-desc {
    font-size: 14px;
    line-height: 1.5;
    color: var(--text-muted, #BFB0B9);
    flex-grow: 1;
}

.ticket-infographic-block .step-meta {
    font-size: 13px;
    font-weight: 600;
    color: var(--text, #F2EEF1);
}

.ticket-infographic-block .infographic-details-panel {
    background: var(--surface, #38162A);
    border: 1px dashed var(--border, #44323D);
    border-radius: 16px;
}

.ticket-infographic-block .badge-step-focus {
    display: inline-block;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.1em;
    color: var(--on-primary, #111111);
    background: var(--primary, #F93EAD);
    padding: 3px 8px;
    border-radius: 4px;
}

.ticket-infographic-block .text-detail-timeline {
    font-size: 13px;
    font-weight: 600;
    color: var(--text-muted, #BFB0B9);
}

.ticket-infographic-block .detail-title {
    font-size: 24px;
    font-weight: 800;
    color: var(--text, #F2EEF1);
    line-height: 1.25;
}

.ticket-infographic-block .detail-description {
    font-size: 15px;
    line-height: 1.65;
    color: var(--text-muted, #BFB0B9);
}

.ticket-infographic-block .detail-checklist span {
    font-size: 14px;
    color: var(--text, #F2EEF1);
}

.ticket-infographic-block .detail-rule-box {
    background: var(--dark-band, #140910);
    border: 1px dashed var(--border, #44323D);
}

.ticket-infographic-block .rule-box-title {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.ticket-infographic-block .rule-box-text {
    font-size: 13px;
    line-height: 1.6;
    color: var(--on-dark-muted, #C3B6BE);
}

.ticket-infographic-block .summary-pill {
    background: var(--surface, #38162A);
    border: 1px dashed var(--border, #44323D);
    border-radius: 12px;
}

.ticket-infographic-block .summary-pill-icon {
    font-size: 26px;
    color: var(--primary, #F93EAD);
}

.ticket-infographic-block .summary-pill-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--text, #F2EEF1);
}

.ticket-infographic-block .summary-pill-text {
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-muted, #BFB0B9);
}

@media (max-width: 767px) {
    .ticket-infographic-block .detail-title {
        font-size: 16px;
        hyphens: auto;
    }

    .ticket-infographic-block .step-heading {
        font-size: 14px;
        hyphens: auto;
    }

    .ticket-infographic-block .summary-pill-title {
        font-size: 14px;
        hyphens: auto;
    }

    .ticket-infographic-block .eyg-title {
        font-size: 16px;
        hyphens: auto;
    }

    .ticket-infographic-block .infographic-step-card {
        padding: 16px;
    }

    .ticket-infographic-block .infographic-details-panel {
        padding: 20px 16px !important;
    }
}

/* ===== footer ===== */
.eyg-footer {
    position: relative;
    background: var(--dark-band, #140910);
    color: var(--on-dark, #FFFFFF);
    overflow: hidden;
    border-top: 1px dashed var(--border, #44323D);
}

.eyg-footer__jagged-edge {
    height: 12px;
    width: 100%;
    background-repeat: repeat-x;
    background-size: 24px 12px;
    background-image: linear-gradient(135deg, var(--bg, #220D19) 25%, transparent 25%), linear-gradient(225deg, var(--bg, #220D19) 25%, transparent 25%);
    margin-top: -1px;
}

.eyg-footer__logo-img {
    max-width: 44px;
    height: auto;
    object-fit: contain;
}

.eyg-footer__logo-text {
    font-family: var(--font_family_headings, 'Archivo', sans-serif);
    font-size: 1.25rem;
    font-weight: 800;
    color: #FFFFFF;
}

.eyg-footer__logo-text span {
    color: var(--primary, #F93EAD);
}

.eyg-footer__about-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--on-dark-muted, #C3B6BE);
}

.eyg-footer__column-title {
    font-family: var(--font_family_headings, 'Archivo', sans-serif);
    font-size: 1.125rem;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 1.25rem;
    position: relative;
    padding-bottom: 0.625rem;
}

.eyg-footer__column-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 24px;
    height: 3px;
    background-color: var(--primary, #F93EAD);
    border-radius: 2px;
}

.eyg-footer__nav-list {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.eyg-footer__nav-link {
    color: var(--on-dark-muted, #C3B6BE);
    text-decoration: none;
    font-size: 0.9375rem;
    display: inline-flex;
    align-items: center;
    transition: color 150ms linear, transform 150ms linear;
}

.eyg-footer__nav-link:hover {
    color: var(--primary, #F93EAD);
    transform: translateX(3px);
}

.eyg-footer__article-thumb {
    border-radius: 6px;
    object-fit: cover;
    border: 1px dashed var(--border, #44323D);
}

.eyg-footer__article-date {
    font-size: 0.75rem;
    color: var(--primary, #F93EAD);
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.eyg-footer__article-link {
    color: var(--on-dark, #FFFFFF);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
    transition: color 150ms linear;
}

.eyg-footer__article-link:hover {
    color: var(--primary, #F93EAD);
}

.eyg-footer__input-wrapper {
    position: relative;
    margin-bottom: 0.75rem;
}

.eyg-footer__input-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--primary, #F93EAD);
    font-size: 1.125rem;
}

.eyg-footer__input {
    width: 100%;
    padding: 10px 12px 10px 38px;
    background: #220D19;
    border: 1px dashed var(--border, #44323D);
    border-radius: 6px;
    color: var(--text, #F2EEF1);
    font-size: 0.875rem;
    transition: border-color 150ms linear;
}

.eyg-footer__input:focus {
    outline: none;
    border-color: var(--primary, #F93EAD);
}

.eyg-footer__input::placeholder {
    color: var(--text-muted, #BFB0B9);
    opacity: 1;
}

.eyg-footer__consent-group {
    margin-top: 0.5rem;
}

.eyg-footer__consent-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--on-dark-muted, #C3B6BE);
    cursor: pointer;
}

.eyg-footer__checkbox {
    margin-top: 2px;
    accent-color: var(--primary, #F93EAD);
    flex-shrink: 0;
}

.eyg-footer__inline-link {
    color: var(--primary, #F93EAD);
    text-decoration: underline;
}

.eyg-footer__inline-link:hover {
    color: #FFFFFF;
}

.eyg-footer__contact-icon {
    color: var(--primary, #F93EAD);
    font-size: 1.125rem;
    flex-shrink: 0;
}

.eyg-footer__contact-text,
.eyg-footer__contact-link {
    color: var(--on-dark-muted, #C3B6BE);
    font-size: 0.875rem;
    line-height: 1.5;
    text-decoration: none;
    transition: color 150ms linear;
}

.eyg-footer__contact-link:hover {
    color: var(--primary, #F93EAD);
}

.eyg-footer__notice {
    background: rgba(56, 22, 42, 0.4);
    border: 1px dashed var(--border, #44323D);
    border-radius: 8px;
}

.eyg-footer__bottom {
    background: var(--primary, #F93EAD);
    color: #111111;
    font-weight: 600;
    font-size: 0.8125rem;
}

.eyg-footer__copyright {
    color: #111111;
}

.eyg-footer__legal-link {
    color: #111111;
    text-decoration: none;
    font-weight: 600;
    transition: opacity 150ms linear;
}

.eyg-footer__legal-link:hover {
    text-decoration: underline;
    opacity: 0.8;
}

@media (max-width: 767px) {
    .eyg-footer__column-title {
        margin-top: 0.5rem;
    }

    .eyg-footer__legal-links {
        flex-direction: column;
        align-items: center;
        gap: 0.5rem !important;
    }
}

/* ===== PAGE: tickets-and-stands ===== */
.tickets-overview-block .border-dashed-box {
  background: var(--surface-alt);
  border: 1px dashed var(--border);
}

.tickets-listing-block .tickets-overlay-card {
  background: var(--surface);
  border: 1px dashed var(--border);
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.tickets-listing-block .tickets-overlay-card:hover {
  border-color: var(--primary);
  transform: translateY(-2px);
}

.tickets-listing-block .tickets-media {
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.tickets-listing-block .tickets-overlay-gradient {
  background: linear-gradient(180deg, rgba(20, 9, 16, 0.45) 0%, rgba(20, 9, 16, 0.9) 100%);
}

.tickets-listing-block .pagination-btn {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  border: 1px dashed var(--border);
  background: var(--surface);
  color: var(--text);
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}

.tickets-listing-block .pagination-btn:hover,
.tickets-listing-block .pagination-btn.active {
  background: var(--primary);
  color: var(--on-primary);
  border-color: var(--primary);
}

@media (max-width: 767px) {
  .tickets-listing-block .ratio-3x2 {
    aspect-ratio: 16 / 10;
  }
}

/* ===== PAGE: news-and-schedules ===== */
.news-intro-banner .news-banner-box{background:var(--surface);border:1px dashed var(--border);position:relative;overflow:hidden;}.news-intro-banner .news-banner-box::after{content:'';position:absolute;top:-40px;right:-40px;width:160px;height:160px;background:radial-gradient(circle,rgba(249,62,173,0.15) 0%,transparent 70%);border-radius:50%;pointer-events:none;}.news-intro-banner .news-stat-chip{background:var(--surface-alt);border:1px dashed var(--border);min-width:120px;}.news-listing-section .news-card{background:var(--surface);border:1px dashed var(--border);border-radius:12px;overflow:hidden;transition:transform .2s ease,border-color .2s ease;}.news-listing-section .news-card:hover{transform:translateY(-3px);border-color:var(--primary);}.news-listing-section .news-card-media{width:100%;aspect-ratio:16/9;overflow:hidden;}.news-listing-section .news-card-media img{transition:transform .3s ease;}.news-listing-section .news-card:hover .news-card-media img{transform:scale(1.03);}.news-listing-section .news-card-title-link{color:var(--text);font-weight:700;transition:color .2s ease;overflow-wrap:anywhere;}.news-listing-section .news-card-title-link:hover{color:var(--primary);}.news-listing-section .news-read-more{font-weight:600;transition:color .2s ease;}.news-listing-section .news-read-more:hover{color:var(--primary-hover);}.news-listing-section .js-news-hidden{display:none;}

/* ===== PAGE: paris-and-stadium-guide ===== */
.psg-overview-section{padding:56px 0;background-color:var(--bg)}.psg-articles-section{padding:56px 0;background:var(--section-alt-bg)}.psg-cta-section{padding:56px 0;background:var(--dark-band-bg)}.psg-intro-box{position:relative}.psg-tip-card{background:var(--surface);border:1px dashed var(--border);border-radius:12px;transition:border-color .2s ease,transform .2s ease}.psg-tip-card:hover{border-color:var(--primary);transform:translateY(-2px)}.psg-tip-card .eyg-icon{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:var(--surface-alt);color:var(--primary);font-size:22px}.psg-pill{background:var(--surface-alt);border:1px dashed var(--border);padding:6px 14px;border-radius:9999px}.psg-article-card{background:var(--surface);border:1px dashed var(--border);border-radius:12px;overflow:hidden;transition:border-color .2s ease,transform .2s ease}.psg-article-card:hover{border-color:var(--primary);transform:translateY(-2px)}.psg-card-media{display:block;aspect-ratio:3/2;overflow:hidden;background-color:var(--surface-alt)}.psg-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.psg-article-card:hover .psg-card-media img{transform:scale(1.04)}.psg-article-card h3 a{transition:color .2s ease}.psg-article-card h3 a:hover{color:var(--primary)!important}.eyg-link{color:var(--primary);text-decoration:none;transition:color .2s ease}.eyg-link:hover{color:var(--primary-hover);text-decoration:underline}.max-w-700{max-width:700px}@media(min-width:992px){.psg-overview-section,.psg-articles-section,.psg-cta-section{padding:96px 0}}@media(max-width:767px){.psg-stat-pills{flex-direction:column;align-items:flex-start}.psg-pill{width:100%}}

/* ===== PAGE: players-and-favorites ===== */
.rg-players-overview .rg-overview-panel { background: var(--surface); border: 1px dashed var(--border); border-radius: 12px; }
.rg-players-overview .rg-section-title, .rg-players-listing .rg-section-title { font-size: 32px; font-weight: 800; line-height: 1.2; color: var(--text); overflow-wrap: anywhere; }
.rg-players-overview .rg-lead-text { color: var(--text-muted); font-size: 16px; line-height: 1.65; }
.rg-players-overview .rg-stat-box { background: var(--surface-alt); border: 1px dashed var(--border); border-radius: 8px; padding: 12px 18px; text-align: center; min-width: 110px; }
.rg-players-overview .rg-stat-num { display: block; font-size: 32px; font-weight: 900; color: var(--primary); line-height: 1; margin-bottom: 4px; }
.rg-players-overview .rg-stat-label { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted); }
.rg-players-overview .rg-highlight-box { background: var(--surface-alt); border: 1px dashed var(--primary); border-radius: 12px; }
.rg-players-overview .rg-feature-list li { color: var(--text); font-size: 14px; line-height: 1.5; }
.rg-players-listing .rg-filter-bar { padding-bottom: 8px; }
.rg-players-listing .rg-filter-btn { background: var(--surface); border: 1px dashed var(--border); color: var(--text); padding: 8px 18px; border-radius: 9999px; font-size: 14px; font-weight: 600; transition: background-color 150ms linear, color 150ms linear, border-color 150ms linear; }
.rg-players-listing .rg-filter-btn:hover { border-color: var(--primary); color: var(--primary); background: var(--surface-alt); }
.rg-players-listing .rg-filter-btn.active { background: var(--primary); color: var(--on-primary); border-color: var(--primary); font-weight: 700; }
.rg-players-listing .rg-stagger-card { background: var(--surface); border: 1px dashed var(--border); border-radius: 12px; overflow: hidden; transition: transform 200ms linear, border-color 200ms linear; }
.rg-players-listing .rg-stagger-card:hover { transform: translateY(-3px); border-color: var(--primary); }
.rg-players-listing .rg-card-media-link { display: block; overflow: hidden; }
.rg-players-listing .rg-media-frame { aspect-ratio: 3/4; width: 100%; overflow: hidden; background: var(--surface-alt); }
.rg-players-listing .rg-media-frame img { width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.rg-players-listing .rg-stagger-card:hover .rg-media-frame img { transform: scale(1.03); }
.rg-players-listing .rg-meta-chip { font-size: 12px; color: var(--text-muted); background: var(--surface-alt); border-radius: 4px; padding: 3px 8px; }
.rg-players-listing .rg-meta-chip i { color: var(--primary); }
.rg-players-listing .rg-card-heading { font-size: 18px; font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; }
.rg-players-listing .rg-title-link { color: var(--text); text-decoration: none; transition: color 150ms linear; }
.rg-players-listing .rg-title-link:hover { color: var(--primary); }
.rg-players-listing .rg-card-desc { font-size: 14px; line-height: 1.55; }
.rg-players-listing .rg-card-footer { border-top: 1px dashed var(--border); }
.rg-players-listing .rg-underlined-link { color: var(--primary); font-weight: 700; font-size: 14px; text-decoration: underline; text-underline-offset: 4px; display: inline-flex; align-items: center; transition: color 150ms linear; }
.rg-players-listing .rg-underlined-link:hover { color: var(--primary-hover); }
@media (min-width: 992px) { .rg-players-listing .rg-col-staggered { transform: translateY(48px); } }
@media (max-width: 991px) { .rg-players-listing .rg-col-staggered { transform: none; } }
@media (max-width: 767px) { .rg-players-overview .rg-section-title, .rg-players-listing .rg-section-title { font-size: 24px; } .rg-players-overview .rg-stat-box { flex: 1 1 calc(50% - 8px); } }

/* ===== PAGE: contact ===== */
.rg-contact-section {
  background-color: var(--bg);
  color: var(--text);
  font-family: var(--font-family-base, 'Archivo', sans-serif);
}

.rg-contact-section .rg-contact-card,
.rg-contact-section .rg-form-card {
  background-color: var(--surface);
  border: 1px dashed var(--border);
  border-radius: 12px;
  box-shadow: none;
}

.rg-contact-section .rg-contact-icon-accent {
  color: var(--primary-text);
  font-size: 18px;
}

.rg-contact-section .eyg-eyebrow {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: var(--primary);
}

.rg-contact-section .rg-section-heading {
  font-size: 28px;
  font-weight: 800;
  line-height: 1.25;
  color: var(--text);
  overflow-wrap: anywhere;
}

.rg-contact-section .rg-highlight-word {
  color: var(--primary-text);
}

.rg-contact-section .rg-contact-lead,
.rg-contact-section .rg-form-intro {
  color: var(--text-muted);
  font-size: 15px;
  line-height: 1.6;
}

.rg-contact-section .rg-info-row {
  background-color: var(--surface-alt);
  border: 1px dashed var(--border);
  transition: border-color 0.2s ease;
}

.rg-contact-section .rg-info-row:hover {
  border-color: var(--primary);
}

.rg-contact-section .rg-info-icon-wrap {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--primary-text);
  font-size: 20px;
}

.rg-contact-section .rg-info-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--text-muted);
  margin-bottom: 2px;
}

.rg-contact-section .rg-info-val,
.rg-contact-section .rg-info-link {
  color: var(--text);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.rg-contact-section .rg-info-link:hover {
  color: var(--primary-text);
}

.rg-contact-section .rg-map-wrapper {
  height: 250px;
  width: 100%;
  border: 1px dashed var(--border);
  background-color: var(--surface-alt);
}

.rg-contact-section .rg-map-wrapper iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.rg-contact-section .rg-form-title {
  font-size: 24px;
  font-weight: 800;
  color: var(--text);
  overflow-wrap: anywhere;
}

.rg-contact-section .rg-form-label {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 6px;
}

.rg-contact-section .rg-required {
  color: var(--primary);
}

.rg-contact-section .rg-form-input {
  background-color: var(--bg);
  border: 1px dashed var(--border);
  color: var(--text);
  border-radius: 6px;
  padding: 10px 14px;
  font-size: 14px;
  min-height: 44px;
}

.rg-contact-section .rg-form-input:focus {
  background-color: var(--bg);
  color: var(--text);
  border: 1px solid var(--primary);
  box-shadow: 0 0 0 2px rgba(249, 62, 173, 0.2);
  outline: none;
}

.rg-contact-section .rg-form-input::placeholder {
  color: var(--text-muted);
  opacity: 0.85;
}

.rg-contact-section select.rg-form-input option {
  background-color: var(--surface);
  color: var(--text);
}

.rg-contact-section .rg-check-input {
  background-color: var(--bg);
  border: 1px dashed var(--border);
  border-radius: 4px;
  width: 18px;
  height: 18px;
  cursor: pointer;
}

.rg-contact-section .rg-check-input:checked {
  background-color: var(--primary);
  border-color: var(--primary);
}

.rg-contact-section .rg-consent-label {
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-muted);
  cursor: pointer;
}

.rg-contact-section .rg-privacy-link {
  color: var(--primary-text);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.rg-contact-section .rg-privacy-link:hover {
  color: var(--primary-hover);
}

.rg-contact-section .rg-submit-btn {
  background-color: var(--primary);
  color: var(--on-primary);
  border: none;
  border-radius: 8px;
  padding: 12px 28px;
  font-weight: 700;
  font-size: 15px;
  min-height: 46px;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
}

.rg-contact-section .rg-submit-btn:hover {
  background-color: var(--primary-hover);
  color: #FFFFFF;
  transform: translateY(-2px);
}

.rg-contact-section .text-muted-custom {
  color: var(--text-muted);
  font-size: 13px;
}

@media (max-width: 767px) {
  .rg-contact-section .rg-section-heading {
    font-size: 20px;
  }
  .rg-contact-section .rg-form-title {
    font-size: 18px;
  }
  .rg-contact-section .rg-map-wrapper {
    height: 200px;
  }
  .rg-contact-section .rg-submit-btn {
    width: 100%;
  }
}

/* ===== PAGE: privacy ===== */
.rg-privacy-section { padding: 56px 0; background-color: var(--bg); color: var(--text); }
@media (min-width: 992px) { .rg-privacy-section { padding: 80px 0; } }
.rg-privacy-section .rg-privacy-title { font-size: 28px; font-weight: 800; line-height: 1.25; color: var(--text); }
@media (min-width: 768px) { .rg-privacy-section .rg-privacy-title { font-size: 38px; } }
.rg-privacy-section .rg-privacy-title span { color: var(--primary); }
.rg-privacy-section .rg-privacy-subtitle { font-size: 15px; line-height: 1.6; max-width: 680px; margin: 0 auto; color: var(--text-muted); }
.rg-privacy-section .rg-search-input { background-color: var(--surface); border: 1px dashed var(--border); color: var(--text); border-left: none; padding: 12px 16px; border-radius: 0 8px 8px 0; font-size: 14px; }
.rg-privacy-section .rg-search-input:focus { background-color: var(--surface); border-color: var(--primary); color: var(--text); box-shadow: none; }
.rg-privacy-section .rg-search-input::placeholder { color: var(--text-muted); opacity: 0.8; }
.rg-privacy-section .rg-search-icon { background-color: var(--surface); border: 1px dashed var(--border); border-right: none; color: var(--primary); border-radius: 8px 0 0 8px; padding-left: 16px; padding-right: 8px; }
.rg-privacy-section .rg-nav-chip { background-color: var(--surface-alt); border: 1px dashed var(--border); color: var(--text); padding: 8px 16px; border-radius: 9999px; font-size: 13px; font-weight: 600; cursor: pointer; transition: all 0.2s ease; }
.rg-privacy-section .rg-nav-chip:hover { border-color: var(--primary); color: var(--primary); }
.rg-privacy-section .rg-nav-chip.active { background-color: var(--primary); color: var(--on-primary); border-color: var(--primary); }
.rg-privacy-section .rg-policy-card { background-color: var(--surface); border: 1px dashed var(--border); border-radius: 12px; padding: 24px; position: relative; transition: border-color 0.2s ease; }
.rg-privacy-section .rg-policy-card:hover { border-color: var(--primary); }
.rg-privacy-section .rg-icon-box { width: 42px; height: 42px; border-radius: 8px; background-color: var(--surface-alt); border: 1px dashed var(--border); display: flex; align-items: center; justify-content: center; color: var(--primary); font-size: 20px; flex-shrink: 0; }
.rg-privacy-section .rg-sub-card { background-color: var(--surface-alt); border: 1px dashed var(--border); border-radius: 8px; }
.rg-privacy-section .rg-table { color: var(--text); border-color: var(--border); margin-bottom: 0; }
.rg-privacy-section .rg-table th { background-color: var(--surface-alt); border-bottom: 1px dashed var(--border); font-size: 13px; text-transform: uppercase; letter-spacing: 0.05em; padding: 10px 12px; }
.rg-privacy-section .rg-table td { border-bottom: 1px dashed var(--border); font-size: 14px; padding: 12px; background-color: transparent; color: var(--text-muted); }
.rg-privacy-section .rg-privacy-footer-box { background-color: var(--surface-alt); border: 1px dashed var(--border); }
@media (max-width: 767px) { .rg-privacy-section .rg-policy-card { padding: 18px 16px; } .rg-privacy-section .rg-nav-chip { font-size: 12px; padding: 6px 12px; } }

/* ===== PAGE: terms ===== */
.terms-section { background-color: var(--bg); color: var(--text); }
.terms-section a { text-decoration: none; }
.terms-sidebar { background-color: var(--surface); border: 1px dashed var(--border); border-radius: 12px; top: 96px; z-index: 10; }
.terms-icon { font-size: 20px; color: var(--primary-text); }
.terms-sidebar-title { font-size: 22px; font-weight: 800; color: var(--text); line-height: 1.25; }
.terms-sidebar-title span { color: var(--primary-text); }
.terms-meta-text { font-size: 13px; color: var(--text-muted); }
.terms-search-label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--text-muted); }
.terms-input-icon { background-color: var(--bg); border: 1px dashed var(--border); border-right: none; color: var(--primary-text); }
.terms-search-input { background-color: var(--bg); border: 1px dashed var(--border); border-left: none; color: var(--text); font-size: 14px; }
.terms-search-input:focus { background-color: var(--bg); color: var(--text); border-color: var(--primary); box-shadow: none; }
.terms-search-input::placeholder { color: var(--text-muted); opacity: 0.8; }
.terms-nav { max-height: calc(100vh - 360px); overflow-y: auto; padding-right: 4px; }
.terms-nav::-webkit-scrollbar { width: 4px; }
.terms-nav::-webkit-scrollbar-thumb { background: var(--border); border-radius: 4px; }
.terms-nav-link { font-size: 14px; color: var(--text-muted); padding: 6px 10px; border-radius: 6px; transition: color 150ms linear, background-color 150ms linear; display: flex; align-items: center; gap: 6px; }
.terms-nav-link:hover { color: var(--text); background-color: var(--surface-alt); }
.terms-nav-link.active { color: var(--on-primary); background-color: var(--primary); font-weight: 700; }
.terms-nav-link.active i { color: var(--on-primary); }
.terms-sidebar-cta { border-top: 1px dashed var(--border); }
.terms-cta-text { font-size: 13px; color: var(--text-muted); }
.terms-article-card { background-color: var(--surface); border: 1px dashed var(--border); border-radius: 12px; position: relative; scroll-margin-top: 100px; }
.terms-article-tag { font-size: 12px; color: var(--text-muted); font-weight: 600; }
.terms-article-title { font-size: 24px; font-weight: 800; color: var(--text); line-height: 1.3; }
.terms-article-title span { color: var(--primary-text); }
.terms-article-card p { font-size: 15px; line-height: 1.7; color: var(--text); margin-bottom: 1rem; }
.terms-inline-link { color: var(--primary-text); font-weight: 600; transition: color 150ms linear; }
.terms-inline-link:hover { color: var(--text); text-decoration: underline; }
.terms-no-results { background-color: var(--surface); border: 1px dashed var(--border); border-radius: 12px; }
.terms-empty-icon { font-size: 32px; color: var(--primary-text); }
.terms-empty-title { font-size: 16px; font-weight: 700; color: var(--text); }
@media (max-width: 991px) { .terms-sidebar { position: static; margin-bottom: 1.5rem; } .terms-nav { max-height: none; } }
@media (max-width: 767px) { .terms-sidebar-title { font-size: 18px; } .terms-article-title { font-size: 16px; } .terms-article-card { padding: 20px !important; } }

/* ===== PAGE: disclaimer ===== */
.disclaimer-page { color: var(--text); background: var(--bg); }
.disclaimer-page .text-primary-custom { color: var(--primary); }
.disclaimer-page .text-accent-custom { color: var(--accent); }
.disclaimer-page .text-muted-custom { color: var(--text-muted); }
.disclaimer-page .disclaimer-banner { background: var(--surface); border: 1px dashed var(--primary); border-radius: 12px; }
.disclaimer-page .disclaimer-alert-icon { width: 52px; height: 52px; min-width: 52px; background: rgba(249, 62, 173, 0.15); color: var(--primary); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 26px; }
.disclaimer-page .disclaimer-notice-title { font-size: 28px; font-weight: 800; line-height: 1.25; margin: 0; }
.disclaimer-page .disclaimer-lead { font-size: 15px; color: var(--text-muted); line-height: 1.6; }
.disclaimer-page .disclaimer-card { background: var(--surface); border: 1px dashed var(--border); border-radius: 12px; transition: border-color 0.2s ease; }
.disclaimer-page .disclaimer-card:hover { border-color: rgba(249, 62, 173, 0.5); }
.disclaimer-page .disclaimer-section-header { display: flex; align-items: center; gap: 14px; }
.disclaimer-page .disclaimer-step-num { font-size: 20px; font-weight: 900; color: var(--primary); background: var(--surface-alt); border: 1px dashed var(--border); width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border-radius: 8px; flex-shrink: 0; }
.disclaimer-page .disclaimer-block-title { font-size: 20px; font-weight: 800; color: var(--text); margin: 0; }
.disclaimer-page .disclaimer-block-sub { font-size: 13px; color: var(--text-muted); display: block; }
.disclaimer-page .disclaimer-text { font-size: 15px; color: var(--text-muted); line-height: 1.65; }
.disclaimer-page .disclaimer-highlight-box { background: var(--surface-alt); border-left: 3px solid var(--primary); border-radius: 6px; }
.disclaimer-page .disclaimer-side-title { font-size: 18px; font-weight: 800; color: var(--text); }
.disclaimer-page .disclaimer-check-list span { font-size: 14px; color: var(--text); }
.disclaimer-page .disclaimer-faq-item { border: 1px dashed var(--border); border-radius: 8px; padding: 10px 14px; background: var(--surface-alt); }
.disclaimer-page .disclaimer-faq-btn { background: none; border: none; padding: 0; color: var(--text); display: flex; align-items: center; justify-content: space-between; cursor: pointer; font-size: 14px; gap: 8px; }
.disclaimer-page .disclaimer-faq-btn i { color: var(--primary); font-size: 18px; transition: transform 0.2s ease; }
.disclaimer-page .disclaimer-faq-btn.active i { transform: rotate(180deg); }
.disclaimer-page .disclaimer-contact-box { background: var(--surface-alt); border: 1px dashed var(--border); border-radius: 12px; }
.disclaimer-page .disclaimer-contact-box .eyg-icon { width: 48px; height: 48px; background: rgba(249, 62, 173, 0.15); color: var(--primary); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 22px; }
.disclaimer-page .disclaimer-footer-note { background: var(--surface-alt); border: 1px dashed var(--border); border-radius: 8px; }
@media (max-width: 767px) {
  .disclaimer-page .disclaimer-notice-title { font-size: 22px; }
  .disclaimer-page .disclaimer-section-header { flex-direction: row; align-items: center; }
  .disclaimer-page .disclaimer-block-title { font-size: 17px; }
  .disclaimer-page .disclaimer-banner { padding: 20px !important; }
}

.rg-comment-item {
    background-color: #38162A;
    border: 1px dashed #44323D;
    color: #F2EEF1;
    font-family: 'Archivo', sans-serif;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.rg-comment-item:hover {
    border-color: #F93EAD;
}

.rg-avatar-initials {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #F93EAD 0%, #430E2E 100%);
    border: 1px dashed #F93EAD;
    color: #FFFFFF;
    font-weight: 700;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    user-select: none;
    object-fit: cover;
}

.rg-comment-author {
    color: #F2EEF1;
    font-size: 16px;
}

.rg-comment-badge {
    background-color: rgba(249, 62, 173, 0.15);
    color: #F93EAD;
    border: 1px solid rgba(249, 62, 173, 0.3);
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.rg-comment-time {
    color: #BFB0B9;
}

.rg-comment-body p {
    color: #F2EEF1;
    font-size: 15px;
    line-height: 1.6;
}

.border-top-dashed {
    border-top: 1px dashed #44323D;
}

.rg-comment-btn {
    background: transparent;
    border: 1px dashed transparent;
    border-radius: 6px;
    padding: 6px 12px;
    font-size: 13px;
    font-weight: 600;
    color: #BFB0B9;
    cursor: pointer;
    transition: all 0.15s ease;
}

.rg-comment-btn:hover {
    color: #F93EAD;
    border-color: #F93EAD;
    background-color: rgba(249, 62, 173, 0.08);
}

.rg-btn-like[aria-pressed="true"],
.rg-btn-like:active {
    color: #7EBF21;
    border-color: #7EBF21;
}

.rg-reply-comment {
    background-color: #2D1122;
    border: 1px dashed #44323D;
    border-left: 3px solid #F93EAD;
    color: #F2EEF1;
    font-family: 'Archivo', sans-serif;
    position: relative;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.rg-reply-comment:hover {
    border-color: #F93EAD;
    border-left: 3px solid #F93EAD;
}

.rg-avatar-reply {
    width: 40px;
    height: 40px;
    font-size: 14px;
    background: linear-gradient(135deg, #7EBF21 0%, #2D1122 100%);
    border: 1px dashed #7EBF21;
    color: #FFFFFF;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    user-select: none;
    object-fit: cover;
}

.rg-replying-to {
    color: #BFB0B9;
    font-size: 12px;
}

.text-primary-rg {
    color: #F93EAD;
    font-weight: 600;
}

.rg-reply-comment .rg-comment-author {
    color: #F2EEF1;
    font-size: 15px;
}

.rg-reply-comment .rg-comment-time {
    color: #BFB0B9;
}

.rg-reply-comment .rg-comment-body p {
    color: #F2EEF1;
    font-size: 14.5px;
    line-height: 1.55;
}

.border-top-dashed {
    border-top: 1px dashed #44323D;
}

.rg-comment-btn {
    background: transparent;
    border: 1px dashed transparent;
    border-radius: 6px;
    padding: 4px 10px;
    font-size: 12px;
    font-weight: 600;
    color: #BFB0B9;
    cursor: pointer;
    transition: all 0.15s ease;
}

.rg-comment-btn:hover {
    color: #F93EAD;
    border-color: #F93EAD;
    background-color: rgba(249, 62, 173, 0.08);
}

.rg-btn-like[aria-pressed="true"],
.rg-btn-like:active {
    color: #7EBF21;
    border-color: #7EBF21;
}


/* ===== PAGE TEMPLATE: tickets-and-stands ===== */
.rg-header-block {
    position: sticky;
    top: 0;
    z-index: 1030;
    width: 100%;
    background: var(--bg);
}

.rg-header-block .rg-header-topbar {
    background: var(--dark-band);
    border-bottom: 1px dashed var(--border);
    padding: 6px 0;
    font-size: 13px;
    color: var(--on-dark-muted);
}

.rg-header-block .rg-topbar-link {
    color: var(--on-dark-muted);
    text-decoration: none;
    transition: color 0.2s ease;
}

.rg-header-block .rg-topbar-link:hover,
.rg-header-block .rg-topbar-link:focus {
    color: var(--primary);
    text-decoration: none;
}

.rg-header-block .rg-topbar-item {
    color: var(--on-dark-muted);
}

.rg-header-block .rg-topbar-text {
    color: var(--on-dark-muted);
    font-size: 12px;
}

.rg-header-block .rg-badge-indicator {
    background: var(--primary);
    color: var(--on-primary);
    font-size: 11px;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 4px;
}

.rg-header-block .rg-navbar-main {
    background: var(--bg);
    border-bottom: 1px dashed var(--border);
    padding: 12px 0;
}

.rg-header-block .rg-brand-badge {
    background: var(--primary);
    border-radius: 12px;
    padding: 6px 10px;
    text-decoration: none;
    transition: transform 0.2s ease;
    box-shadow: 0 4px 12px rgba(249, 62, 173, 0.25);
}

.rg-header-block .rg-brand-badge:hover {
    transform: translateY(-2px);
}

.rg-header-block .rg-header-logo {
    max-width: 44px;
    max-height: 44px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.rg-header-block .rg-nav-link {
    color: var(--text);
    font-weight: 600;
    font-size: 15px;
    padding: 8px 14px !important;
    transition: color 0.2s ease;
}

.rg-header-block .rg-nav-link:hover,
.rg-header-block .rg-nav-link:focus {
    color: var(--primary);
}

.rg-header-block .rg-navbar-toggler {
    border: 1px dashed var(--border);
    padding: 8px 10px;
    border-radius: 6px;
    background: var(--surface);
    display: flex;
    flex-direction: column;
    gap: 4px;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.rg-header-block .rg-navbar-toggler:focus {
    box-shadow: 0 0 0 2px var(--primary);
    outline: none;
}

.rg-header-block .rg-toggler-bar {
    display: block;
    width: 22px;
    height: 2px;
    background-color: var(--primary);
    transition: all 0.2s ease;
}

.rg-header-block .rg-header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    padding: 10px 22px;
    font-weight: 700;
    font-size: 14px;
    border-radius: 8px;
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (max-width: 991.98px) {
    .rg-header-block .rg-navbar-collapse {
        background: var(--surface);
        border: 1px dashed var(--border);
        border-radius: 12px;
        padding: 16px;
        margin-top: 12px;
    }

    .rg-header-block .rg-nav-link {
        border-bottom: 1px dashed var(--border);
        padding: 10px 0 !important;
    }

    .rg-header-block .rg-nav-item:last-child .rg-nav-link {
        border-bottom: none;
    }

    .rg-header-block .rg-nav-cta-wrapper {
        width: 100%;
    }

    .rg-header-block .rg-header-cta {
        width: 100%;
    }
}

.article-hero {
    position: relative;
    background: var(--section-alt-bg, #2D1122);
    color: var(--text, #F2EEF1);
    padding-top: 2rem;
    padding-bottom: 4rem;
    overflow: hidden;
}

.article-hero-watermark {
    position: absolute;
    right: -40px;
    top: 5%;
    font-size: 280px;
    color: rgba(249, 62, 173, 0.04);
    pointer-events: none;
    z-index: 1;
    line-height: 1;
}

.article-hero-title {
    font-family: var(--font_family_headings, 'Archivo', sans-serif);
    font-size: clamp(1.85rem, 3.5vw + 0.8rem, 3rem);
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--on-dark, #FFFFFF);
    overflow-wrap: anywhere;
}

.article-hero-lead {
    font-size: clamp(1rem, 1.3vw, 1.125rem);
    line-height: 1.6;
    color: var(--on-dark-muted, #C3B6BE);
    max-width: 52rem;
    overflow-wrap: anywhere;
}

.article-meta-bar {
    font-size: 0.875rem;
    color: var(--on-dark-muted, #C3B6BE);
}

.text-primary-custom {
    color: var(--primary, #F93EAD);
}

.article-main-image-wrap {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    border: 1px dashed var(--primary, #F93EAD);
    margin-top: 1.5rem;
    aspect-ratio: 16/9;
    background: var(--surface, #38162A);
}

.article-featured-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rg-jagged-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    line-height: 0;
    z-index: 2;
    pointer-events: none;
}

.rg-jagged-bottom svg {
    display: block;
    width: 100%;
    height: 24px;
    fill: var(--bg, #220D19);
}

.border-bottom-dashed {
    border-bottom: 1px dashed var(--border, #44323D);
}

.border-top-dashed {
    border-top: 1px dashed var(--border, #44323D);
}

.article-heading {
    font-family: var(--font_family_headings, 'Archivo', sans-serif);
    font-size: clamp(1.25rem, 2vw, 1.625rem);
    font-weight: 800;
    color: var(--text, #F2EEF1);
    line-height: 1.25;
    overflow-wrap: anywhere;
    margin-bottom: 0.75rem;
}

.article-lead-text {
    font-size: 0.9375rem;
    color: var(--text-muted, #BFB0B9);
    line-height: 1.5;
    margin-bottom: 0;
    overflow-wrap: anywhere;
}

.article-body-content p {
    color: var(--text, #F2EEF1);
    line-height: 1.7;
    font-size: 1rem;
    margin-bottom: 1rem;
    overflow-wrap: anywhere;
}

.article-body-content p:last-child {
    margin-bottom: 0;
}

.article-key-facts-wrapper {
    background: var(--surface, #38162A);
    border: 1px dashed var(--border, #44323D);
    border-radius: 12px;
}

.article-fact-label {
    font-size: 0.8125rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--primary, #F93EAD);
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.article-fact-value {
    font-size: 1rem;
    font-weight: 600;
    color: var(--text, #F2EEF1);
}

.article-feature-list li span {
    color: var(--text, #F2EEF1);
    font-size: 0.9375rem;
    line-height: 1.5;
}

.article-takeaways-card {
    background: var(--surface, #38162A);
    border: 1px dashed var(--primary, #F93EAD);
}

.article-takeaways-title {
    font-family: var(--font_family_headings, 'Archivo', sans-serif);
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--text, #F2EEF1);
}

.article-number-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    font-weight: 800;
    font-size: 0.875rem;
    border-radius: 6px;
}

.article-takeaway-item p {
    color: var(--text, #F2EEF1);
    font-size: 0.9375rem;
    line-height: 1.5;
}

.article-related-card {
    background: var(--surface, #38162A);
    border: 1px dashed var(--border, #44323D);
    border-radius: 12px;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.article-related-card:hover {
    transform: translateY(-3px);
    border-color: var(--primary, #F93EAD);
}

.article-related-meta {
    font-size: 0.75rem;
    color: var(--text-muted, #BFB0B9);
}

.article-related-title {
    font-family: var(--font_family_headings, 'Archivo', sans-serif);
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.35;
}

.article-related-anchor {
    color: var(--text, #F2EEF1);
    text-decoration: none;
    transition: color 0.15s ease;
}

.article-related-anchor:hover {
    color: var(--primary, #F93EAD);
}

.article-related-readmore {
    font-size: 0.8125rem;
    font-weight: 700;
    color: var(--primary, #F93EAD);
    text-decoration: none;
}

.article-related-readmore:hover {
    color: #FFFFFF;
    text-decoration: underline;
}

.article-cta-banner {
    background: linear-gradient(114deg, #140910 0%, #38162A 100%);
    border: 1px dashed var(--primary, #F93EAD);
}

.article-cta-banner-title {
    font-family: var(--font_family_headings, 'Archivo', sans-serif);
    font-size: 1.25rem;
    font-weight: 800;
    color: #FFFFFF;
}

.article-cta-banner-desc {
    color: var(--on-dark-muted, #C3B6BE);
    font-size: 0.9375rem;
    line-height: 1.5;
}

.article-cta-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    font-size: 0.875rem;
    font-weight: 700;
    text-decoration: none;
    border-radius: 8px;
}

.rg-comment-item {
    background: var(--surface, #38162A);
    border: 1px dashed var(--border, #44323D);
}

.rg-avatar-initials {
    width: 44px;
    height: 44px;
    background: var(--dark-band, #140910);
    border: 1px solid var(--primary, #F93EAD);
    color: var(--primary, #F93EAD);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.875rem;
}

.rg-avatar-reply {
    width: 38px;
    height: 38px;
    border-color: var(--border, #44323D);
    color: #FFFFFF;
}

.rg-comment-author {
    color: var(--text, #F2EEF1);
    font-size: 0.9375rem;
}

.rg-comment-badge {
    background: var(--dark-band, #140910);
    border: 1px dashed var(--primary, #F93EAD);
    color: var(--primary, #F93EAD);
    font-size: 0.6875rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
}

.rg-comment-time {
    color: var(--text-muted, #BFB0B9);
}

.rg-replying-to {
    color: var(--text-muted, #BFB0B9);
}

.text-primary-rg {
    color: var(--primary, #F93EAD);
}

.rg-comment-body p {
    color: var(--text, #F2EEF1);
    font-size: 0.9375rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.rg-comment-btn {
    background: transparent;
    border: none;
    color: var(--text-muted, #BFB0B9);
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 4px;
    cursor: pointer;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.rg-comment-btn:hover {
    color: var(--primary, #F93EAD);
    background: rgba(249, 62, 173, 0.08);
}

.rg-comment-btn.is-active {
    color: var(--primary, #F93EAD);
    font-weight: 700;
}

.article-comment-form-card {
    background: var(--surface, #38162A);
    border: 1px dashed var(--border, #44323D);
}

.article-form-title {
    font-family: var(--font_family_headings, 'Archivo', sans-serif);
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--text, #F2EEF1);
}

.article-form-label {
    display: block;
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--text-muted, #BFB0B9);
    margin-bottom: 0.375rem;
}

.article-form-control {
    width: 100%;
    padding: 10px 14px;
    background: var(--bg, #220D19);
    border: 1px dashed var(--border, #44323D);
    border-radius: 6px;
    color: var(--text, #F2EEF1);
    font-size: 0.875rem;
    font-family: inherit;
    transition: border-color 0.15s ease;
}

.article-form-control:focus {
    outline: none;
    border-color: var(--primary, #F93EAD);
}

.article-form-control::placeholder {
    color: var(--text-muted, #BFB0B9);
    opacity: 0.8;
}

.eyg-footer {
    position: relative;
    background: var(--dark-band, #140910);
    color: var(--on-dark, #FFFFFF);
    overflow: hidden;
    border-top: 1px dashed var(--border, #44323D);
}

.eyg-footer__jagged-edge {
    height: 12px;
    width: 100%;
    background-repeat: repeat-x;
    background-size: 24px 12px;
    background-image: linear-gradient(135deg, var(--bg, #220D19) 25%, transparent 25%), linear-gradient(225deg, var(--bg, #220D19) 25%, transparent 25%);
    margin-top: -1px;
}

.eyg-footer__logo-img {
    max-width: 44px;
    height: auto;
    object-fit: contain;
}

.eyg-footer__logo-text {
    font-family: var(--font_family_headings, 'Archivo', sans-serif);
    font-size: 1.25rem;
    font-weight: 800;
    color: #FFFFFF;
}

.eyg-footer__logo-text span {
    color: var(--primary, #F93EAD);
}

.eyg-footer__about-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--on-dark-muted, #C3B6BE);
}

.eyg-footer__column-title {
    font-family: var(--font_family_headings, 'Archivo', sans-serif);
    font-size: 1.125rem;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 1.25rem;
    position: relative;
    padding-bottom: 0.625rem;
}

.eyg-footer__column-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 24px;
    height: 3px;
    background-color: var(--primary, #F93EAD);
    border-radius: 2px;
}

.eyg-footer__nav-list {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.eyg-footer__nav-link {
    color: var(--on-dark-muted, #C3B6BE);
    text-decoration: none;
    font-size: 0.9375rem;
    display: inline-flex;
    align-items: center;
    transition: color 150ms linear, transform 150ms linear;
}

.eyg-footer__nav-link:hover {
    color: var(--primary, #F93EAD);
    transform: translateX(3px);
}

.eyg-footer__article-thumb {
    border-radius: 6px;
    object-fit: cover;
    border: 1px dashed var(--border, #44323D);
}

.eyg-footer__article-date {
    font-size: 0.75rem;
    color: var(--primary, #F93EAD);
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.eyg-footer__article-link {
    color: var(--on-dark, #FFFFFF);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
    transition: color 150ms linear;
}

.eyg-footer__article-link:hover {
    color: var(--primary, #F93EAD);
}

.eyg-footer__input-wrapper {
    position: relative;
    margin-bottom: 0.75rem;
}

.eyg-footer__input-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--primary, #F93EAD);
    font-size: 1.125rem;
}

.eyg-footer__input {
    width: 100%;
    padding: 10px 12px 10px 38px;
    background: #220D19;
    border: 1px dashed var(--border, #44323D);
    border-radius: 6px;
    color: var(--text, #F2EEF1);
    font-size: 0.875rem;
    transition: border-color 150ms linear;
}

.eyg-footer__input:focus {
    outline: none;
    border-color: var(--primary, #F93EAD);
}

.eyg-footer__input::placeholder {
    color: var(--text-muted, #BFB0B9);
    opacity: 1;
}

.eyg-footer__consent-group {
    margin-top: 0.5rem;
}

.eyg-footer__consent-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--on-dark-muted, #C3B6BE);
    cursor: pointer;
}

.eyg-footer__checkbox {
    margin-top: 2px;
    accent-color: var(--primary, #F93EAD);
    flex-shrink: 0;
}

.eyg-footer__inline-link {
    color: var(--primary, #F93EAD);
    text-decoration: underline;
}

.eyg-footer__inline-link:hover {
    color: #FFFFFF;
}

.eyg-footer__contact-icon {
    color: var(--primary, #F93EAD);
    font-size: 1.125rem;
    flex-shrink: 0;
}

.eyg-footer__contact-text,
.eyg-footer__contact-link {
    color: var(--on-dark-muted, #C3B6BE);
    font-size: 0.875rem;
    line-height: 1.5;
    text-decoration: none;
    transition: color 150ms linear;
}

.eyg-footer__contact-link:hover {
    color: var(--primary, #F93EAD);
}

.eyg-footer__notice {
    background: rgba(56, 22, 42, 0.4);
    border: 1px dashed var(--border, #44323D);
    border-radius: 8px;
}

.eyg-footer__bottom {
    background: var(--primary, #F93EAD);
    color: #111111;
    font-weight: 600;
    font-size: 0.8125rem;
}

.eyg-footer__copyright {
    color: #111111;
}

.eyg-footer__legal-link {
    color: #111111;
    text-decoration: none;
    font-weight: 600;
    transition: opacity 150ms linear;
}

.eyg-footer__legal-link:hover {
    text-decoration: underline;
    opacity: 0.8;
}

@media (max-width: 767px) {
    .article-hero {
        padding-top: 1.5rem;
        padding-bottom: 3.5rem;
    }

    .article-hero-title {
        font-size: 1.75rem;
    }

    .article-hero-watermark {
        font-size: 160px;
        right: -20px;
    }

    .article-row {
        flex-direction: column;
    }

    .eyg-footer__column-title {
        margin-top: 0.5rem;
    }

    .eyg-footer__legal-links {
        flex-direction: column;
        align-items: center;
        gap: 0.5rem !important;
    }
}

/* ===== PAGE TEMPLATE: news-and-schedules ===== */
.rg-header-block {
    position: sticky;
    top: 0;
    z-index: 1030;
    width: 100%;
    background: var(--bg, #220D19);
}

.rg-header-block .rg-header-topbar {
    background: var(--dark-band, #140910);
    border-bottom: 1px dashed var(--border, #44323D);
    padding: 6px 0;
    font-size: 13px;
    color: var(--on-dark-muted, #C3B6BE);
}

.rg-header-block .rg-topbar-link {
    color: var(--on-dark-muted, #C3B6BE);
    text-decoration: none;
    transition: color 0.2s ease;
}

.rg-header-block .rg-topbar-link:hover,
.rg-header-block .rg-topbar-link:focus {
    color: var(--primary, #F93EAD);
    text-decoration: none;
}

.rg-header-block .rg-topbar-item {
    color: var(--on-dark-muted, #C3B6BE);
}

.rg-header-block .rg-topbar-text {
    color: var(--on-dark-muted, #C3B6BE);
    font-size: 12px;
}

.rg-header-block .rg-badge-indicator {
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    font-size: 11px;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 4px;
}

.rg-header-block .rg-navbar-main {
    background: var(--bg, #220D19);
    border-bottom: 1px dashed var(--border, #44323D);
    padding: 12px 0;
}

.rg-header-block .rg-brand-badge {
    background: var(--primary, #F93EAD);
    border-radius: 12px;
    padding: 6px 10px;
    text-decoration: none;
    transition: transform 0.2s ease;
    box-shadow: 0 4px 12px rgba(249, 62, 173, 0.25);
}

.rg-header-block .rg-brand-badge:hover {
    transform: translateY(-2px);
}

.rg-header-block .rg-header-logo {
    max-width: 44px;
    max-height: 44px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.rg-header-block .rg-nav-link {
    color: var(--text, #F2EEF1);
    font-weight: 600;
    font-size: 15px;
    padding: 8px 14px !important;
    transition: color 0.2s ease;
}

.rg-header-block .rg-nav-link:hover,
.rg-header-block .rg-nav-link:focus,
.rg-header-block .rg-nav-link.active {
    color: var(--primary, #F93EAD);
}

.rg-header-block .rg-navbar-toggler {
    border: 1px dashed var(--border, #44323D);
    padding: 8px 10px;
    border-radius: 6px;
    background: var(--surface, #38162A);
    display: flex;
    flex-direction: column;
    gap: 4px;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.rg-header-block .rg-navbar-toggler:focus {
    box-shadow: 0 0 0 2px var(--primary, #F93EAD);
    outline: none;
}

.rg-header-block .rg-toggler-bar {
    display: block;
    width: 22px;
    height: 2px;
    background-color: var(--primary, #F93EAD);
    transition: all 0.2s ease;
}

.rg-header-block .rg-header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    padding: 10px 22px;
    font-weight: 700;
    font-size: 14px;
    border-radius: 8px;
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (max-width: 991.98px) {
    .rg-header-block .rg-navbar-collapse {
        background: var(--surface, #38162A);
        border: 1px dashed var(--border, #44323D);
        border-radius: 12px;
        padding: 16px;
        margin-top: 12px;
    }

    .rg-header-block .rg-nav-link {
        border-bottom: 1px dashed var(--border, #44323D);
        padding: 10px 0 !important;
    }

    .rg-header-block .rg-nav-item:last-child .rg-nav-link {
        border-bottom: none;
    }

    .rg-header-block .rg-nav-cta-wrapper {
        width: 100%;
    }

    .rg-header-block .rg-header-cta {
        width: 100%;
    }
}

.rg-detail-hero {
    position: relative;
    background: var(--section-alt-bg, #2D1122);
    color: var(--text, #F2EEF1);
    padding-top: 2rem;
    padding-bottom: 4rem;
    overflow: hidden;
}

.rg-hero-watermark {
    position: absolute;
    right: -30px;
    top: 5%;
    font-size: 260px;
    color: rgba(249, 62, 173, 0.04);
    pointer-events: none;
    z-index: 1;
    line-height: 1;
}

.rg-breadcrumb {
    font-size: 0.875rem;
}

.rg-breadcrumb-link {
    color: var(--on-dark-muted, #C3B6BE);
    text-decoration: none;
    transition: color 0.2s ease;
}

.rg-breadcrumb-link:hover {
    color: var(--primary, #F93EAD);
}

.breadcrumb-item+.breadcrumb-item::before {
    color: var(--border, #44323D);
}

.breadcrumb-item.active {
    color: var(--primary, #F93EAD);
}

.rg-article-title {
    font-size: clamp(1.75rem, 3.5vw + 0.5rem, 3rem);
    font-weight: 900;
    line-height: 1.2;
    color: var(--on-dark, #FFFFFF);
    overflow-wrap: anywhere;
}

.rg-article-lead {
    font-size: clamp(1rem, 1.2vw, 1.125rem);
    line-height: 1.6;
    color: var(--on-dark-muted, #C3B6BE);
    max-width: 48rem;
    overflow-wrap: anywhere;
}

.rg-article-meta {
    font-size: 0.875rem;
    color: var(--on-dark-muted, #C3B6BE);
}

.rg-meta-item {
    color: var(--on-dark-muted, #C3B6BE);
}

.rg-meta-dot {
    color: var(--border, #44323D);
}

.text-primary-rg {
    color: var(--primary, #F93EAD) !important;
}

.bg-dark-rg {
    background: var(--dark-band, #140910) !important;
}

.border-top-dashed {
    border-top: 1px dashed var(--border, #44323D);
}

.border-bottom-dashed {
    border-bottom: 1px dashed var(--border, #44323D);
}

.rg-jagged-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    line-height: 0;
    z-index: 2;
    pointer-events: none;
}

.rg-jagged-bottom svg {
    display: block;
    width: 100%;
    height: 20px;
    fill: var(--bg, #220D19);
}

.rg-detail-page {
    background: var(--bg, #220D19);
    color: var(--text, #F2EEF1);
}

.rg-bento-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 1.5rem;
}

.rg-bento-desc {
    grid-column: span 7;
    min-height: 320px;
}

.rg-bento-image-tile {
    grid-column: span 5;
    min-height: 320px;
}

.rg-bento-facts {
    grid-column: span 7;
}

.rg-bento-cta {
    grid-column: span 5;
}

.rg-bento-title {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--text, #F2EEF1);
    line-height: 1.3;
}

.rg-bento-text {
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--text-muted, #BFB0B9);
}

.rg-chip {
    display: inline-flex;
    align-items: center;
    padding: 4px 10px;
    background: var(--dark-band, #140910);
    border: 1px dashed var(--border, #44323D);
    color: var(--text, #F2EEF1);
    font-size: 0.8rem;
    font-weight: 600;
    border-radius: 4px;
}

.rg-image-frame {
    position: relative;
    height: 100%;
    min-height: 280px;
    border: 1px solid var(--border, #44323D);
    background: var(--surface, #38162A);
    overflow: hidden;
}

.rg-sharp-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 0;
}

.rg-image-caption {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(20, 9, 16, 0.85);
    color: var(--text-muted, #BFB0B9);
    font-size: 0.75rem;
    border-top: 1px dashed var(--border, #44323D);
}

.rg-facts-heading {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text, #F2EEF1);
}

.rg-facts-list li {
    font-size: 0.9rem;
    color: var(--text-muted, #BFB0B9);
    line-height: 1.5;
}

.rg-bento-cta-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text, #F2EEF1);
}

.rg-bento-cta-desc {
    font-size: 0.85rem;
    color: var(--text-muted, #BFB0B9);
    line-height: 1.5;
}

.rg-compact-cta {
    max-width: 800px;
    border: 1px dashed var(--primary, #F93EAD);
    background: var(--surface-alt, #2D1122);
    border-radius: 8px;
}

.rg-cta-icon-box {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
}

.rg-compact-cta-title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--text, #F2EEF1);
}

.rg-compact-cta-text {
    font-size: 0.875rem;
}

.rg-content-column {
    max-width: 800px;
}

.rg-toc-card {
    border-radius: 8px;
}

.rg-toc-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--text, #F2EEF1);
}

.rg-toc-link {
    color: var(--text-muted, #BFB0B9);
    text-decoration: none;
    font-size: 0.9375rem;
    transition: color 0.2s ease, transform 0.2s ease;
    display: inline-block;
}

.rg-toc-link:hover {
    color: var(--primary, #F93EAD);
    transform: translateX(4px);
}

.rg-section-title {
    font-size: clamp(1.25rem, 2vw, 1.625rem);
    font-weight: 800;
    color: var(--text, #F2EEF1);
    position: relative;
    padding-bottom: 8px;
}

.rg-section-title::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 36px;
    height: 3px;
    background: var(--primary, #F93EAD);
    border-radius: 2px;
}

.rg-article-p {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--text, #F2EEF1);
    margin-bottom: 1.25rem;
    overflow-wrap: anywhere;
}

.rg-custom-bullet-list {
    list-style: none;
    padding-left: 0;
}

.rg-custom-bullet-list li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: 0.6rem;
    color: var(--text-muted, #BFB0B9);
    line-height: 1.6;
}

.rg-custom-bullet-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 8px;
    height: 8px;
    background: var(--primary, #F93EAD);
    border-radius: 2px;
}

.rg-pull-quote {
    background: var(--surface, #38162A);
    border-left: 4px solid var(--primary, #F93EAD);
    border-top: 1px dashed var(--border, #44323D);
    border-right: 1px dashed var(--border, #44323D);
    border-bottom: 1px dashed var(--border, #44323D);
    border-radius: 8px;
    overflow: hidden;
}

.rg-quote-watermark {
    position: absolute;
    top: 10px;
    right: 20px;
    font-size: 80px;
    color: rgba(249, 62, 173, 0.08);
    pointer-events: none;
}

.rg-quote-text {
    font-size: clamp(1.1rem, 1.8vw, 1.35rem);
    font-style: italic;
    font-weight: 600;
    color: var(--text, #F2EEF1);
    line-height: 1.5;
}

.rg-quote-author {
    color: var(--primary, #F93EAD);
    font-size: 0.875rem;
    font-weight: 600;
}

.rg-quote-author cite {
    color: var(--text-muted, #BFB0B9);
}

.rg-highlight-box {
    background: var(--dark-band, #140910);
    border: 1px dashed var(--border, #44323D);
}

.rg-highlight-box-title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--text, #F2EEF1);
}

.rg-highlight-box-desc {
    font-size: 0.875rem;
    color: var(--text-muted, #BFB0B9);
    line-height: 1.5;
}

.rg-author-box {
    border-radius: 8px;
}

.rg-author-avatar-holder {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 1.25rem;
    border: 2px dashed var(--border, #44323D);
}

.rg-author-name {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text, #F2EEF1);
}

.rg-author-articles-badge {
    font-size: 0.75rem;
    padding: 3px 8px;
    background: var(--dark-band, #140910);
    border: 1px dashed var(--border, #44323D);
    color: var(--text-muted, #BFB0B9);
    border-radius: 4px;
}

.rg-author-bio {
    font-size: 0.9rem;
    line-height: 1.6;
}

.rg-related-section {
    border-radius: 8px;
}

.rg-related-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--text, #F2EEF1);
}

.rg-related-link {
    color: var(--text-muted, #BFB0B9);
    text-decoration: none;
    font-size: 0.9375rem;
    padding: 8px 12px;
    border-radius: 6px;
    background: var(--dark-band, #140910);
    border: 1px dashed var(--border, #44323D);
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.rg-related-link:hover {
    background: var(--surface-alt, #2D1122);
    color: var(--primary, #F93EAD);
    border-color: var(--primary, #F93EAD);
}

.rg-comments-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--text, #F2EEF1);
}

.rg-comment-item {
    background: var(--surface, #38162A);
    border: 1px dashed var(--border, #44323D);
}

.rg-reply-comment {
    background: var(--surface-alt, #2D1122);
    border-left: 3px solid var(--primary, #F93EAD);
}

.rg-avatar-initials {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--dark-band, #140910);
    border: 1px dashed var(--primary, #F93EAD);
    color: var(--primary, #F93EAD);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.95rem;
}

.rg-avatar-reply {
    width: 38px;
    height: 38px;
    font-size: 0.85rem;
}

.rg-comment-author {
    color: var(--text, #F2EEF1);
    font-size: 0.95rem;
}

.rg-comment-badge {
    font-size: 0.7rem;
    background: var(--dark-band, #140910);
    color: var(--primary, #F93EAD);
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px dashed var(--border, #44323D);
}

.rg-comment-time {
    color: var(--text-muted, #BFB0B9);
}

.rg-replying-to {
    color: var(--text-muted, #BFB0B9);
}

.rg-comment-body p {
    color: var(--text, #F2EEF1);
    font-size: 0.925rem;
    line-height: 1.6;
}

.rg-comment-btn {
    background: transparent;
    border: 1px dashed var(--border, #44323D);
    color: var(--text-muted, #BFB0B9);
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 0.8rem;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    cursor: pointer;
}

.rg-comment-btn:hover,
.rg-comment-btn.is-active {
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    border-color: var(--primary, #F93EAD);
}

.rg-comment-form-wrapper {
    border-radius: 8px;
}

.rg-form-title {
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--text, #F2EEF1);
}

.rg-form-label {
    color: var(--text, #F2EEF1);
    font-size: 0.875rem;
    font-weight: 600;
    margin-bottom: 0.35rem;
}

.rg-form-input,
.rg-form-textarea {
    background: var(--bg, #220D19);
    border: 1px dashed var(--border, #44323D);
    color: var(--text, #F2EEF1);
    border-radius: 6px;
    font-size: 0.9rem;
    padding: 10px 12px;
}

.rg-form-input:focus,
.rg-form-textarea:focus {
    background: var(--bg, #220D19);
    border-color: var(--primary, #F93EAD);
    color: var(--text, #F2EEF1);
    box-shadow: 0 0 0 2px rgba(249, 62, 173, 0.2);
    outline: none;
}

.rg-form-input::placeholder,
.rg-form-textarea::placeholder {
    color: var(--text-muted, #BFB0B9);
    opacity: 0.8;
}

.eyg-footer {
    position: relative;
    background: var(--dark-band, #140910);
    color: var(--on-dark, #FFFFFF);
    overflow: hidden;
    border-top: 1px dashed var(--border, #44323D);
}

.eyg-footer__jagged-edge {
    height: 12px;
    width: 100%;
    background-repeat: repeat-x;
    background-size: 24px 12px;
    background-image: linear-gradient(135deg, var(--bg, #220D19) 25%, transparent 25%), linear-gradient(225deg, var(--bg, #220D19) 25%, transparent 25%);
    margin-top: -1px;
}

.eyg-footer__logo-img {
    max-width: 44px;
    height: auto;
    object-fit: contain;
}

.eyg-footer__logo-text {
    font-family: var(--font_family_headings, 'Archivo', sans-serif);
    font-size: 1.25rem;
    font-weight: 800;
    color: #FFFFFF;
}

.eyg-footer__logo-text span {
    color: var(--primary, #F93EAD);
}

.eyg-footer__about-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--on-dark-muted, #C3B6BE);
}

.eyg-footer__column-title {
    font-family: var(--font_family_headings, 'Archivo', sans-serif);
    font-size: 1.125rem;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 1.25rem;
    position: relative;
    padding-bottom: 0.625rem;
}

.eyg-footer__column-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 24px;
    height: 3px;
    background-color: var(--primary, #F93EAD);
    border-radius: 2px;
}

.eyg-footer__nav-list {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.eyg-footer__nav-link {
    color: var(--on-dark-muted, #C3B6BE);
    text-decoration: none;
    font-size: 0.9375rem;
    display: inline-flex;
    align-items: center;
    transition: color 150ms linear, transform 150ms linear;
}

.eyg-footer__nav-link:hover {
    color: var(--primary, #F93EAD);
    transform: translateX(3px);
}

.eyg-footer__article-thumb {
    border-radius: 6px;
    object-fit: cover;
    border: 1px dashed var(--border, #44323D);
}

.eyg-footer__article-date {
    font-size: 0.75rem;
    color: var(--primary, #F93EAD);
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.eyg-footer__article-link {
    color: var(--on-dark, #FFFFFF);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
    transition: color 150ms linear;
}

.eyg-footer__article-link:hover {
    color: var(--primary, #F93EAD);
}

.eyg-footer__input-wrapper {
    position: relative;
    margin-bottom: 0.75rem;
}

.eyg-footer__input-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--primary, #F93EAD);
    font-size: 1.125rem;
}

.eyg-footer__input {
    width: 100%;
    padding: 10px 12px 10px 38px;
    background: #220D19;
    border: 1px dashed var(--border, #44323D);
    border-radius: 6px;
    color: var(--text, #F2EEF1);
    font-size: 0.875rem;
    transition: border-color 150ms linear;
}

.eyg-footer__input:focus {
    outline: none;
    border-color: var(--primary, #F93EAD);
}

.eyg-footer__input::placeholder {
    color: var(--text-muted, #BFB0B9);
    opacity: 1;
}

.eyg-footer__consent-group {
    margin-top: 0.5rem;
}

.eyg-footer__consent-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--on-dark-muted, #C3B6BE);
    cursor: pointer;
}

.eyg-footer__checkbox {
    margin-top: 2px;
    accent-color: var(--primary, #F93EAD);
    flex-shrink: 0;
}

.eyg-footer__inline-link {
    color: var(--primary, #F93EAD);
    text-decoration: underline;
}

.eyg-footer__inline-link:hover {
    color: #FFFFFF;
}

.eyg-footer__contact-icon {
    color: var(--primary, #F93EAD);
    font-size: 1.125rem;
    flex-shrink: 0;
}

.eyg-footer__contact-text,
.eyg-footer__contact-link {
    color: var(--on-dark-muted, #C3B6BE);
    font-size: 0.875rem;
    line-height: 1.5;
    text-decoration: none;
    transition: color 150ms linear;
}

.eyg-footer__contact-link:hover {
    color: var(--primary, #F93EAD);
}

.eyg-footer__notice {
    background: rgba(56, 22, 42, 0.4);
    border: 1px dashed var(--border, #44323D);
    border-radius: 8px;
}

.eyg-footer__bottom {
    background: var(--primary, #F93EAD);
    color: #111111;
    font-weight: 600;
    font-size: 0.8125rem;
}

.eyg-footer__copyright {
    color: #111111;
}

.eyg-footer__legal-link {
    color: #111111;
    text-decoration: none;
    font-weight: 600;
    transition: opacity 150ms linear;
}

.eyg-footer__legal-link:hover {
    text-decoration: underline;
    opacity: 0.8;
}

@media (max-width: 991.98px) {

    .rg-bento-desc,
    .rg-bento-image-tile,
    .rg-bento-facts,
    .rg-bento-cta {
        grid-column: span 12;
    }
}

@media (max-width: 767.98px) {
    .rg-bento-grid {
        display: flex;
        flex-direction: column;
    }

    .eyg-footer__column-title {
        margin-top: 0.5rem;
    }

    .eyg-footer__legal-links {
        flex-direction: column;
        align-items: center;
        gap: 0.5rem !important;
    }

    .rg-section-title {
        font-size: 1.25rem;
    }

    .rg-pull-quote {
        padding: 1.25rem !important;
    }
}

/* ===== PAGE TEMPLATE: paris-and-stadium-guide ===== */
.rg-header-block {
    position: sticky;
    top: 0;
    z-index: 1030;
    width: 100%;
    background: var(--bg, #220D19);
}

.rg-header-block .rg-header-topbar {
    background: var(--dark-band, #140910);
    border-bottom: 1px dashed var(--border, #44323D);
    padding: 6px 0;
    font-size: 13px;
    color: var(--on-dark-muted, #C3B6BE);
}

.rg-header-block .rg-topbar-link {
    color: var(--on-dark-muted, #C3B6BE);
    text-decoration: none;
    transition: color 0.2s ease;
}

.rg-header-block .rg-topbar-link:hover,
.rg-header-block .rg-topbar-link:focus {
    color: var(--primary, #F93EAD);
    text-decoration: none;
}

.rg-header-block .rg-topbar-item {
    color: var(--on-dark-muted, #C3B6BE);
}

.rg-header-block .rg-topbar-text {
    color: var(--on-dark-muted, #C3B6BE);
    font-size: 12px;
}

.rg-header-block .rg-badge-indicator {
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    font-size: 11px;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 4px;
}

.rg-header-block .rg-navbar-main {
    background: var(--bg, #220D19);
    border-bottom: 1px dashed var(--border, #44323D);
    padding: 12px 0;
}

.rg-header-block .rg-brand-badge {
    background: var(--primary, #F93EAD);
    border-radius: 12px;
    padding: 6px 10px;
    text-decoration: none;
    transition: transform 0.2s ease;
    box-shadow: 0 4px 12px rgba(249, 62, 173, 0.25);
}

.rg-header-block .rg-brand-badge:hover {
    transform: translateY(-2px);
}

.rg-header-block .rg-header-logo {
    max-width: 44px;
    max-height: 44px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.rg-header-block .rg-nav-link {
    color: var(--text, #F2EEF1);
    font-weight: 600;
    font-size: 15px;
    padding: 8px 14px !important;
    transition: color 0.2s ease;
}

.rg-header-block .rg-nav-link:hover,
.rg-header-block .rg-nav-link:focus,
.rg-header-block .rg-nav-link.active {
    color: var(--primary, #F93EAD);
}

.rg-header-block .rg-navbar-toggler {
    border: 1px dashed var(--border, #44323D);
    padding: 8px 10px;
    border-radius: 6px;
    background: var(--surface, #38162A);
    display: flex;
    flex-direction: column;
    gap: 4px;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.rg-header-block .rg-navbar-toggler:focus {
    box-shadow: 0 0 0 2px var(--primary, #F93EAD);
    outline: none;
}

.rg-header-block .rg-toggler-bar {
    display: block;
    width: 22px;
    height: 2px;
    background-color: var(--primary, #F93EAD);
    transition: all 0.2s ease;
}

.rg-header-block .rg-header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    padding: 10px 22px;
    font-weight: 700;
    font-size: 14px;
    border-radius: 8px;
    white-space: normal;
    overflow-wrap: anywhere;
}

.rg-hero-section {
    position: relative;
    background: var(--section-alt-bg, #2D1122);
    color: var(--text, #F2EEF1);
    padding-top: 2.5rem;
    padding-bottom: 4.5rem;
    overflow: hidden;
}

.rg-hero-watermark {
    position: absolute;
    right: -50px;
    top: 10%;
    font-size: 320px;
    color: rgba(249, 62, 173, 0.04);
    pointer-events: none;
    z-index: 1;
    line-height: 1;
}

.rg-hero-title {
    font-size: clamp(1.8rem, 3.5vw + 1rem, 3rem);
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--on-dark, #FFFFFF);
    overflow-wrap: anywhere;
}

.rg-hero-lead {
    font-size: clamp(1rem, 1.2vw, 1.125rem);
    line-height: 1.65;
    color: var(--on-dark-muted, #C3B6BE);
    max-width: 44rem;
    overflow-wrap: anywhere;
}

.rg-hero-btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    font-weight: 700;
    padding: 12px 28px;
    border-radius: 8px;
    text-decoration: none;
    border: none;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.rg-hero-btn-primary:hover {
    background: var(--primary-hover, #F8169C);
    color: #FFFFFF;
    transform: translateY(-2px);
}

.rg-hero-btn-alt {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: var(--on-dark, #FFFFFF);
    font-weight: 600;
    padding: 10px 24px;
    border-radius: 9999px;
    border: 1px dashed var(--primary, #F93EAD);
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.rg-hero-btn-alt:hover {
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    border-color: var(--primary, #F93EAD);
    transform: translateY(-2px);
}

.rg-detail-quick-meta {
    background: var(--surface, #38162A);
    border: 1px dashed var(--border, #44323D);
}

.rg-quick-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--dark-band, #140910);
    color: var(--primary, #F93EAD);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    border: 1px dashed var(--border, #44323D);
}

.rg-jagged-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    line-height: 0;
    z-index: 2;
    pointer-events: none;
}

.rg-jagged-bottom svg {
    display: block;
    width: 100%;
    height: 24px;
    fill: var(--bg, #220D19);
}

.rg-framed-page .rg-framed-wrapper {
    background: var(--surface-alt, #2D1122);
    border: 2px dashed var(--border, #44323D);
    border-radius: 16px;
    box-shadow: 0 12px 36px rgba(20, 9, 16, 0.4);
}

.rg-framed-page .text-primary-rg {
    color: var(--primary, #F93EAD);
}

.rg-framed-page .text-muted-custom {
    color: var(--text-muted, #BFB0B9);
}

.rg-framed-page .border-bottom-dashed {
    border-bottom: 1px dashed var(--border, #44323D);
}

.rg-framed-page .border-top-dashed {
    border-top: 1px dashed var(--border, #44323D);
}

.rg-framed-page .rg-media-offset-container {
    position: relative;
    padding: 12px;
}

.rg-framed-page .rg-offset-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(100% - 16px);
    height: calc(100% - 16px);
    background: var(--dark-band, #140910);
    border: 1px dashed var(--primary, #F93EAD);
    border-radius: 12px;
    z-index: 1;
}

.rg-framed-page .rg-offset-image-frame {
    position: relative;
    z-index: 2;
    transform: translate(12px, 12px);
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background: var(--dark-band, #140910);
}

.rg-framed-page .rg-offset-image-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rg-framed-page .rg-toc-box {
    background: var(--surface, #38162A);
    border: 1px dashed var(--border, #44323D);
}

.rg-framed-page .rg-toc-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--on-dark, #FFFFFF);
}

.rg-framed-page .rg-toc-link {
    color: var(--text, #F2EEF1);
    text-decoration: none;
    font-size: 0.95rem;
    transition: color 0.15s linear, transform 0.15s linear;
}

.rg-framed-page .rg-toc-link:hover {
    color: var(--primary, #F93EAD);
    transform: translateX(4px);
}

.rg-framed-page .rg-heading-accent {
    position: relative;
}

.rg-framed-page .rg-subheading {
    font-size: clamp(1.3rem, 2.5vw, 1.75rem);
    font-weight: 800;
    color: var(--text, #F2EEF1);
    margin-bottom: 0.5rem;
    overflow-wrap: anywhere;
}

.rg-framed-page .rg-accent-line {
    width: 36px;
    height: 3px;
    background: var(--primary, #F93EAD);
    border-radius: 2px;
}

.rg-framed-page .rg-lead-paragraph {
    font-size: 1.1rem;
    line-height: 1.7;
    color: var(--text, #F2EEF1);
    font-weight: 500;
}

.rg-framed-page p {
    line-height: 1.7;
    color: var(--text-muted, #BFB0B9);
    margin-bottom: 1.25rem;
    overflow-wrap: anywhere;
}

.rg-framed-page .rg-highlight-quote {
    background: var(--dark-band, #140910);
    border-left: 4px solid var(--primary, #F93EAD);
    border-top: 1px dashed var(--border, #44323D);
    border-right: 1px dashed var(--border, #44323D);
    border-bottom: 1px dashed var(--border, #44323D);
}

.rg-framed-page .rg-quote-icon {
    font-size: 2rem;
    color: var(--primary, #F93EAD);
    line-height: 1;
    flex-shrink: 0;
}

.rg-framed-page .rg-bullet-points span {
    color: var(--text, #F2EEF1);
    font-size: 0.95rem;
    line-height: 1.6;
}

.rg-framed-page .rg-split-cta-banner {
    background: var(--dark-band, #140910);
    border: 1px dashed var(--primary, #F93EAD);
}

.rg-framed-page .rg-cta-title {
    font-size: clamp(1.25rem, 2vw, 1.5rem);
    font-weight: 800;
}

.rg-framed-page .rg-cta-desc {
    color: var(--on-dark-muted, #C3B6BE);
    font-size: 0.95rem;
}

.rg-framed-page .rg-author-card {
    background: var(--surface, #38162A);
}

.rg-framed-page .rg-author-initials {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    font-size: 1.5rem;
    font-weight: 800;
}

.rg-framed-page .rg-author-badge {
    background: var(--dark-band, #140910);
    color: var(--primary, #F93EAD);
    border: 1px dashed var(--primary, #F93EAD);
    padding: 3px 10px;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 700;
}

.rg-framed-page .rg-author-bio {
    color: var(--text-muted, #BFB0B9);
    font-size: 0.9rem;
    line-height: 1.6;
}

.rg-framed-page .rg-related-card {
    background: var(--surface, #38162A);
    border: 1px dashed var(--border, #44323D);
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.rg-framed-page .rg-related-card:hover {
    transform: translateY(-4px);
    border-color: var(--primary, #F93EAD);
}

.rg-framed-page .rg-card-media {
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.rg-framed-page .rg-card-tag {
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    font-size: 0.75rem;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 4px;
    z-index: 2;
}

.rg-framed-page .rg-related-card-title {
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.4;
}

.rg-framed-page .rg-comments-section {
    background: var(--surface-alt, #2D1122);
    border: 1px dashed var(--border, #44323D);
}

.rg-framed-page .rg-comments-count-pill {
    background: var(--dark-band, #140910);
    color: var(--primary, #F93EAD);
    border: 1px dashed var(--border, #44323D);
    padding: 4px 12px;
    border-radius: 9999px;
    font-size: 0.8125rem;
    font-weight: 700;
}

.rg-framed-page .rg-comment-item {
    background: var(--surface, #38162A);
    border: 1px dashed var(--border, #44323D);
}

.rg-framed-page .rg-avatar-initials {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}

.rg-framed-page .rg-avatar-reply {
    background: var(--dark-band, #140910);
    color: var(--primary, #F93EAD);
    border: 1px dashed var(--primary, #F93EAD);
}

.rg-framed-page .rg-comment-author {
    color: var(--on-dark, #FFFFFF);
    font-size: 0.95rem;
}

.rg-framed-page .rg-comment-badge {
    background: var(--dark-band, #140910);
    color: var(--on-dark-muted, #C3B6BE);
    border: 1px dashed var(--border, #44323D);
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 0.75rem;
}

.rg-framed-page .rg-comment-time {
    color: var(--text-muted, #BFB0B9);
}

.rg-framed-page .rg-comment-body p {
    color: var(--text, #F2EEF1);
    font-size: 0.9375rem;
    line-height: 1.6;
}

.rg-framed-page .rg-comment-btn {
    background: transparent;
    border: none;
    color: var(--on-dark-muted, #C3B6BE);
    font-size: 0.8125rem;
    font-weight: 600;
    padding: 4px 8px;
    border-radius: 4px;
    cursor: pointer;
    transition: color 0.15s linear, background 0.15s linear;
}

.rg-framed-page .rg-comment-btn:hover,
.rg-framed-page .rg-comment-btn.is-active {
    color: var(--primary, #F93EAD);
}

.rg-framed-page .rg-form-input {
    background: var(--dark-band, #140910);
    border: 1px dashed var(--border, #44323D);
    border-radius: 6px;
    color: var(--text, #F2EEF1);
    padding: 10px 14px;
    font-size: 0.9375rem;
    transition: border-color 0.15s linear;
}

.rg-framed-page .rg-form-input:focus {
    outline: none;
    border-color: var(--primary, #F93EAD);
}

.rg-framed-page .rg-form-input::placeholder {
    color: var(--text-muted, #BFB0B9);
}

.eyg-footer {
    position: relative;
    background: var(--dark-band, #140910);
    color: var(--on-dark, #FFFFFF);
    overflow: hidden;
    border-top: 1px dashed var(--border, #44323D);
}

.eyg-footer__jagged-edge {
    height: 12px;
    width: 100%;
    background-repeat: repeat-x;
    background-size: 24px 12px;
    background-image: linear-gradient(135deg, var(--bg, #220D19) 25%, transparent 25%), linear-gradient(225deg, var(--bg, #220D19) 25%, transparent 25%);
    margin-top: -1px;
}

.eyg-footer__logo-img {
    max-width: 44px;
    height: auto;
    object-fit: contain;
}

.eyg-footer__logo-text {
    font-family: var(--font_family_headings, 'Archivo', sans-serif);
    font-size: 1.25rem;
    font-weight: 800;
    color: #FFFFFF;
}

.eyg-footer__logo-text span {
    color: var(--primary, #F93EAD);
}

.eyg-footer__about-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--on-dark-muted, #C3B6BE);
}

.eyg-footer__column-title {
    font-family: var(--font_family_headings, 'Archivo', sans-serif);
    font-size: 1.125rem;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 1.25rem;
    position: relative;
    padding-bottom: 0.625rem;
}

.eyg-footer__column-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 24px;
    height: 3px;
    background-color: var(--primary, #F93EAD);
    border-radius: 2px;
}

.eyg-footer__nav-list {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.eyg-footer__nav-link {
    color: var(--on-dark-muted, #C3B6BE);
    text-decoration: none;
    font-size: 0.9375rem;
    display: inline-flex;
    align-items: center;
    transition: color 150ms linear, transform 150ms linear;
}

.eyg-footer__nav-link:hover {
    color: var(--primary, #F93EAD);
    transform: translateX(3px);
}

.eyg-footer__article-thumb {
    border-radius: 6px;
    object-fit: cover;
    border: 1px dashed var(--border, #44323D);
}

.eyg-footer__article-date {
    font-size: 0.75rem;
    color: var(--primary, #F93EAD);
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.eyg-footer__article-link {
    color: var(--on-dark, #FFFFFF);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
    transition: color 150ms linear;
}

.eyg-footer__article-link:hover {
    color: var(--primary, #F93EAD);
}

.eyg-footer__input-wrapper {
    position: relative;
    margin-bottom: 0.75rem;
}

.eyg-footer__input-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--primary, #F93EAD);
    font-size: 1.125rem;
}

.eyg-footer__input {
    width: 100%;
    padding: 10px 12px 10px 38px;
    background: #220D19;
    border: 1px dashed var(--border, #44323D);
    border-radius: 6px;
    color: var(--text, #F2EEF1);
    font-size: 0.875rem;
    transition: border-color 150ms linear;
}

.eyg-footer__input:focus {
    outline: none;
    border-color: var(--primary, #F93EAD);
}

.eyg-footer__input::placeholder {
    color: var(--text-muted, #BFB0B9);
    opacity: 1;
}

.eyg-footer__consent-group {
    margin-top: 0.5rem;
}

.eyg-footer__consent-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--on-dark-muted, #C3B6BE);
    cursor: pointer;
}

.eyg-footer__checkbox {
    margin-top: 2px;
    accent-color: var(--primary, #F93EAD);
    flex-shrink: 0;
}

.eyg-footer__inline-link {
    color: var(--primary, #F93EAD);
    text-decoration: underline;
}

.eyg-footer__inline-link:hover {
    color: #FFFFFF;
}

.eyg-footer__contact-icon {
    color: var(--primary, #F93EAD);
    font-size: 1.125rem;
    flex-shrink: 0;
}

.eyg-footer__contact-text,
.eyg-footer__contact-link {
    color: var(--on-dark-muted, #C3B6BE);
    font-size: 0.875rem;
    line-height: 1.5;
    text-decoration: none;
    transition: color 150ms linear;
}

.eyg-footer__contact-link:hover {
    color: var(--primary, #F93EAD);
}

.eyg-footer__notice {
    background: rgba(56, 22, 42, 0.4);
    border: 1px dashed var(--border, #44323D);
    border-radius: 8px;
}

.eyg-footer__bottom {
    background: var(--primary, #F93EAD);
    color: #111111;
    font-weight: 600;
    font-size: 0.8125rem;
}

.eyg-footer__copyright {
    color: #111111;
}

.eyg-footer__legal-link {
    color: #111111;
    text-decoration: none;
    font-weight: 600;
    transition: opacity 150ms linear;
}

.eyg-footer__legal-link:hover {
    text-decoration: underline;
    opacity: 0.8;
}

@media (max-width: 991.98px) {
    .rg-header-block .rg-navbar-collapse {
        background: var(--surface, #38162A);
        border: 1px dashed var(--border, #44323D);
        border-radius: 12px;
        padding: 16px;
        margin-top: 12px;
    }

    .rg-header-block .rg-nav-link {
        border-bottom: 1px dashed var(--border, #44323D);
        padding: 10px 0 !important;
    }

    .rg-header-block .rg-nav-item:last-child .rg-nav-link {
        border-bottom: none;
    }

    .rg-header-block .rg-nav-cta-wrapper {
        width: 100%;
    }

    .rg-header-block .rg-header-cta {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .rg-hero-section {
        padding-top: 1.5rem;
        padding-bottom: 3.5rem;
    }

    .rg-hero-title {
        font-size: 1.75rem;
    }

    .rg-hero-watermark {
        font-size: 180px;
        right: -30px;
    }

    .rg-framed-page .rg-offset-image-frame {
        transform: translate(6px, 6px);
    }

    .eyg-footer__column-title {
        margin-top: 0.5rem;
    }

    .eyg-footer__legal-links {
        flex-direction: column;
        align-items: center;
        gap: 0.5rem !important;
    }
}

/* ===== PAGE TEMPLATE: players-and-favorites ===== */
.text-primary-rg {
    color: var(--primary, #F93EAD) !important;
}

.text-muted-rg {
    color: var(--text-muted, #BFB0B9) !important;
}

.border-bottom-dashed {
    border-bottom: 1px dashed var(--border, #44323D);
}

.border-top-dashed {
    border-top: 1px dashed var(--border, #44323D);
}

.rg-header-block {
    position: sticky;
    top: 0;
    z-index: 1030;
    width: 100%;
    background: var(--bg, #220D19);
}

.rg-header-block .rg-header-topbar {
    background: var(--dark-band, #140910);
    border-bottom: 1px dashed var(--border, #44323D);
    padding: 6px 0;
    font-size: 13px;
    color: var(--on-dark-muted, #C3B6BE);
}

.rg-header-block .rg-topbar-link {
    color: var(--on-dark-muted, #C3B6BE);
    text-decoration: none;
    transition: color 0.2s ease;
}

.rg-header-block .rg-topbar-link:hover,
.rg-header-block .rg-topbar-link:focus {
    color: var(--primary, #F93EAD);
    text-decoration: none;
}

.rg-header-block .rg-topbar-item {
    color: var(--on-dark-muted, #C3B6BE);
}

.rg-header-block .rg-topbar-text {
    color: var(--on-dark-muted, #C3B6BE);
    font-size: 12px;
}

.rg-header-block .rg-badge-indicator {
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    font-size: 11px;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 4px;
}

.rg-header-block .rg-navbar-main {
    background: var(--bg, #220D19);
    border-bottom: 1px dashed var(--border, #44323D);
    padding: 12px 0;
}

.rg-header-block .rg-brand-badge {
    background: var(--primary, #F93EAD);
    border-radius: 12px;
    padding: 6px 10px;
    text-decoration: none;
    transition: transform 0.2s ease;
    box-shadow: 0 4px 12px rgba(249, 62, 173, 0.25);
}

.rg-header-block .rg-brand-badge:hover {
    transform: translateY(-2px);
}

.rg-header-block .rg-header-logo {
    max-width: 44px;
    max-height: 44px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.rg-header-block .rg-nav-link {
    color: var(--text, #F2EEF1);
    font-weight: 600;
    font-size: 15px;
    padding: 8px 14px !important;
    transition: color 0.2s ease;
}

.rg-header-block .rg-nav-link:hover,
.rg-header-block .rg-nav-link:focus {
    color: var(--primary, #F93EAD);
}

.rg-header-block .rg-navbar-toggler {
    border: 1px dashed var(--border, #44323D);
    padding: 8px 10px;
    border-radius: 6px;
    background: var(--surface, #38162A);
    display: flex;
    flex-direction: column;
    gap: 4px;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.rg-header-block .rg-navbar-toggler:focus {
    box-shadow: 0 0 0 2px var(--primary, #F93EAD);
    outline: none;
}

.rg-header-block .rg-toggler-bar {
    display: block;
    width: 22px;
    height: 2px;
    background-color: var(--primary, #F93EAD);
    transition: all 0.2s ease;
}

.rg-header-block .rg-header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    padding: 10px 22px;
    font-weight: 700;
    font-size: 14px;
    border-radius: 8px;
    white-space: normal;
    overflow-wrap: anywhere;
}

@media (max-width: 991.98px) {
    .rg-header-block .rg-navbar-collapse {
        background: var(--surface, #38162A);
        border: 1px dashed var(--border, #44323D);
        border-radius: 12px;
        padding: 16px;
        margin-top: 12px;
    }

    .rg-header-block .rg-nav-link {
        border-bottom: 1px dashed var(--border, #44323D);
        padding: 10px 0 !important;
    }

    .rg-header-block .rg-nav-item:last-child .rg-nav-link {
        border-bottom: none;
    }

    .rg-header-block .rg-nav-cta-wrapper {
        width: 100%;
    }

    .rg-header-block .rg-header-cta {
        width: 100%;
    }
}

.rg-detail-hero {
    position: relative;
    background: var(--section-alt-bg, #2D1122);
    color: var(--text, #F2EEF1);
    padding-top: 2rem;
    padding-bottom: 4rem;
    overflow: hidden;
}

.rg-detail-hero .rg-hero-watermark {
    position: absolute;
    right: -40px;
    top: 10%;
    font-size: 260px;
    color: rgba(249, 62, 173, 0.04);
    pointer-events: none;
    z-index: 1;
    line-height: 1;
}

.rg-detail-hero-title {
    font-size: clamp(1.75rem, 3.5vw, 2.75rem);
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: var(--on-dark, #FFFFFF);
    overflow-wrap: anywhere;
}

.rg-detail-hero-lead {
    font-size: clamp(0.95rem, 1.2vw, 1.125rem);
    line-height: 1.6;
    color: var(--on-dark-muted, #C3B6BE);
    max-width: 52rem;
    overflow-wrap: anywhere;
}

.rg-detail-meta-chip {
    background: rgba(20, 9, 16, 0.6);
    border: 1px dashed var(--border, #44323D);
    color: var(--on-dark-muted, #C3B6BE);
    padding: 4px 12px;
    border-radius: 9999px;
    font-size: 0.8125rem;
    font-weight: 500;
}

.rg-jagged-bottom {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    line-height: 0;
    z-index: 2;
    pointer-events: none;
}

.rg-jagged-bottom svg {
    display: block;
    width: 100%;
    height: 20px;
    fill: var(--bg, #220D19);
}

.rg-detail-main {
    background: var(--bg, #220D19);
    color: var(--text, #F2EEF1);
}

.rg-media-hero-frame {
    width: 100%;
    max-height: 480px;
    border-radius: 20px;
    overflow: hidden;
    border: 1px dashed var(--border, #44323D);
    background: var(--surface, #38162A);
}

.rg-main-image {
    width: 100%;
    height: 100%;
    max-height: 480px;
    object-fit: cover;
    display: block;
}

.rg-split-title {
    font-size: clamp(1.35rem, 2.2vw, 1.85rem);
    font-weight: 800;
    line-height: 1.25;
    color: var(--text, #F2EEF1);
    overflow-wrap: anywhere;
    margin-bottom: 0.5rem;
}

.rg-accent-underline {
    width: 36px;
    height: 3px;
    background: var(--primary, #F93EAD);
    border-radius: 2px;
}

.rg-split-lead {
    font-size: 0.9375rem;
    line-height: 1.6;
    overflow-wrap: anywhere;
}

.rg-body-text {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--text, #F2EEF1);
    margin-bottom: 1.25rem;
    overflow-wrap: anywhere;
}

.rg-fact-chip {
    display: inline-flex;
    align-items: center;
    background: var(--surface, #38162A);
    border: 1px dashed var(--border, #44323D);
    color: var(--text, #F2EEF1);
    padding: 6px 14px;
    border-radius: 9999px;
    font-size: 0.875rem;
    font-weight: 600;
}

.rg-feature-callout {
    background: var(--surface, #38162A);
    border: 1px dashed var(--primary, #F93EAD);
}

.rg-feature-title {
    font-size: 1.15rem;
    font-weight: 700;
}

.rg-custom-checklist li {
    font-size: 0.95rem;
    color: var(--text, #F2EEF1);
}

.rg-accordion-item {
    background: var(--surface, #38162A);
    border: 1px dashed var(--border, #44323D);
    border-radius: 10px;
    overflow: hidden;
}

.rg-accordion-button {
    background: var(--surface, #38162A);
    color: var(--text, #F2EEF1);
    font-weight: 700;
    font-size: 1rem;
    border: none;
    padding: 16px 20px;
    box-shadow: none !important;
}

.rg-accordion-button:not(.collapsed) {
    background: var(--surface-alt, #2D1122);
    color: var(--primary, #F93EAD);
}

.rg-accordion-button::after {
    filter: invert(1) brightness(200%);
}

.rg-accordion-body {
    background: var(--surface, #38162A);
    color: var(--text-muted, #BFB0B9);
    font-size: 0.9375rem;
    line-height: 1.65;
    border-top: 1px dashed var(--border, #44323D);
    padding: 18px 20px;
}

.rg-related-card {
    background: var(--surface, #38162A);
    border: 1px dashed var(--border, #44323D);
    border-radius: 12px;
    overflow: hidden;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.rg-related-card:hover {
    transform: translateY(-3px);
    border-color: var(--primary, #F93EAD);
}

.rg-related-img-frame {
    width: 100%;
    aspect-ratio: 16/9;
    overflow: hidden;
}

.rg-related-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.rg-card-meta {
    font-size: 0.8125rem;
    color: var(--primary, #F93EAD);
    font-weight: 600;
}

.rg-card-title {
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.35;
    color: var(--text, #F2EEF1);
    overflow-wrap: anywhere;
}

.rg-read-more-link {
    color: var(--primary, #F93EAD);
    font-weight: 700;
    font-size: 0.875rem;
    text-decoration: none;
    transition: transform 0.2s ease;
}

.rg-read-more-link:hover {
    color: var(--primary-hover, #F8169C);
    transform: translateX(3px);
}

.rg-cta-split-strip {
    background: var(--dark-band-bg, linear-gradient(114deg, #140910 0%, #430E2E 100%));
    border: 1px dashed var(--primary, #F93EAD);
}

.rg-cta-title {
    font-size: clamp(1.35rem, 2vw, 1.75rem);
    font-weight: 800;
    color: var(--on-dark, #FFFFFF);
    overflow-wrap: anywhere;
}

.rg-cta-text {
    font-size: 0.95rem;
    color: var(--on-dark-muted, #C3B6BE);
    line-height: 1.5;
}

.rg-cta-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    font-weight: 700;
    padding: 12px 26px;
    border-radius: 8px;
    text-decoration: none;
    border: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.rg-cta-button:hover {
    background: var(--primary-hover, #F8169C);
    color: #FFFFFF;
}

.rg-comment-item {
    background: var(--surface, #38162A);
    border: 1px dashed var(--border, #44323D);
}

.rg-reply-comment {
    background: var(--surface-alt, #2D1122);
    border: 1px dashed var(--border, #44323D);
}

.rg-avatar-initials {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.9375rem;
}

.rg-avatar-reply {
    background: var(--dark-band, #140910);
    color: var(--primary, #F93EAD);
    border: 1px dashed var(--primary, #F93EAD);
}

.rg-comment-author {
    font-size: 0.95rem;
    color: var(--text, #F2EEF1);
}

.rg-comment-badge {
    background: rgba(249, 62, 173, 0.15);
    color: var(--primary, #F93EAD);
    border: 1px dashed var(--primary, #F93EAD);
    font-size: 0.75rem;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 4px;
}

.rg-replying-to {
    color: var(--text-muted, #BFB0B9);
}

.rg-comment-time {
    color: var(--text-muted, #BFB0B9);
}

.rg-comment-body p {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--text, #F2EEF1);
    overflow-wrap: anywhere;
}

.rg-comment-btn {
    background: transparent;
    border: none;
    color: var(--text-muted, #BFB0B9);
    font-size: 0.8125rem;
    font-weight: 600;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
    transition: color 0.15s ease, background-color 0.15s ease;
}

.rg-comment-btn:hover {
    color: var(--primary, #F93EAD);
}

.rg-comment-btn.is-active {
    color: var(--primary, #F93EAD);
    font-weight: 700;
}

.rg-comment-form-card {
    background: var(--surface, #38162A);
    border: 1px dashed var(--border, #44323D);
}

.rg-form-title {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--text, #F2EEF1);
}

.rg-form-sub {
    font-size: 0.875rem;
}

.rg-form-label {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text, #F2EEF1);
}

.rg-form-input {
    background: var(--bg, #220D19);
    border: 1px dashed var(--border, #44323D);
    color: var(--text, #F2EEF1);
    border-radius: 6px;
    padding: 10px 14px;
    font-size: 0.9375rem;
}

.rg-form-input:focus {
    background: var(--bg, #220D19);
    border-color: var(--primary, #F93EAD);
    color: var(--text, #F2EEF1);
    box-shadow: 0 0 0 2px rgba(249, 62, 173, 0.2);
    outline: none;
}

.rg-form-input::placeholder {
    color: var(--text-muted, #BFB0B9);
    opacity: 1;
}

.rg-comment-submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--primary, #F93EAD);
    color: var(--on-primary, #111111);
    font-weight: 700;
    padding: 10px 24px;
    border-radius: 8px;
    border: none;
    transition: background 0.2s ease, color 0.2s ease;
}

.rg-comment-submit-btn:hover {
    background: var(--primary-hover, #F8169C);
    color: #FFFFFF;
}

.eyg-footer {
    position: relative;
    background: var(--dark-band, #140910);
    color: var(--on-dark, #FFFFFF);
    overflow: hidden;
    border-top: 1px dashed var(--border, #44323D);
}

.eyg-footer__jagged-edge {
    height: 12px;
    width: 100%;
    background-repeat: repeat-x;
    background-size: 24px 12px;
    background-image: linear-gradient(135deg, var(--bg, #220D19) 25%, transparent 25%), linear-gradient(225deg, var(--bg, #220D19) 25%, transparent 25%);
    margin-top: -1px;
}

.eyg-footer__logo-img {
    max-width: 44px;
    height: auto;
    object-fit: contain;
}

.eyg-footer__logo-text {
    font-size: 1.25rem;
    font-weight: 800;
    color: #FFFFFF;
}

.eyg-footer__logo-text span {
    color: var(--primary, #F93EAD);
}

.eyg-footer__about-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: var(--on-dark-muted, #C3B6BE);
}

.eyg-footer__column-title {
    font-size: 1.125rem;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 1.25rem;
    position: relative;
    padding-bottom: 0.625rem;
}

.eyg-footer__column-title::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 24px;
    height: 3px;
    background-color: var(--primary, #F93EAD);
    border-radius: 2px;
}

.eyg-footer__nav-list {
    display: flex;
    flex-direction: column;
    gap: 0.625rem;
}

.eyg-footer__nav-link {
    color: var(--on-dark-muted, #C3B6BE);
    text-decoration: none;
    font-size: 0.9375rem;
    display: inline-flex;
    align-items: center;
    transition: color 150ms linear, transform 150ms linear;
}

.eyg-footer__nav-link:hover {
    color: var(--primary, #F93EAD);
    transform: translateX(3px);
}

.eyg-footer__article-thumb {
    border-radius: 6px;
    object-fit: cover;
    border: 1px dashed var(--border, #44323D);
}

.eyg-footer__article-date {
    font-size: 0.75rem;
    color: var(--primary, #F93EAD);
    font-weight: 600;
    margin-bottom: 0.25rem;
}

.eyg-footer__article-link {
    color: var(--on-dark, #FFFFFF);
    text-decoration: none;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.4;
    transition: color 150ms linear;
}

.eyg-footer__article-link:hover {
    color: var(--primary, #F93EAD);
}

.eyg-footer__input-wrapper {
    position: relative;
    margin-bottom: 0.75rem;
}

.eyg-footer__input-icon {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--primary, #F93EAD);
    font-size: 1.125rem;
}

.eyg-footer__input {
    width: 100%;
    padding: 10px 12px 10px 38px;
    background: #220D19;
    border: 1px dashed var(--border, #44323D);
    border-radius: 6px;
    color: var(--text, #F2EEF1);
    font-size: 0.875rem;
    transition: border-color 150ms linear;
}

.eyg-footer__input:focus {
    outline: none;
    border-color: var(--primary, #F93EAD);
}

.eyg-footer__input::placeholder {
    color: var(--text-muted, #BFB0B9);
    opacity: 1;
}

.eyg-footer__consent-group {
    margin-top: 0.5rem;
}

.eyg-footer__consent-label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 0.75rem;
    line-height: 1.4;
    color: var(--on-dark-muted, #C3B6BE);
    cursor: pointer;
}

.eyg-footer__checkbox {
    margin-top: 2px;
    accent-color: var(--primary, #F93EAD);
    flex-shrink: 0;
}

.eyg-footer__inline-link {
    color: var(--primary, #F93EAD);
    text-decoration: underline;
}

.eyg-footer__inline-link:hover {
    color: #FFFFFF;
}

.eyg-footer__contact-icon {
    color: var(--primary, #F93EAD);
    font-size: 1.125rem;
    flex-shrink: 0;
}

.eyg-footer__contact-text,
.eyg-footer__contact-link {
    color: var(--on-dark-muted, #C3B6BE);
    font-size: 0.875rem;
    line-height: 1.5;
    text-decoration: none;
    transition: color 150ms linear;
}

.eyg-footer__contact-link:hover {
    color: var(--primary, #F93EAD);
}

.eyg-footer__notice {
    background: rgba(56, 22, 42, 0.4);
    border: 1px dashed var(--border, #44323D);
    border-radius: 8px;
}

.eyg-footer__bottom {
    background: var(--primary, #F93EAD);
    color: #111111;
    font-weight: 600;
    font-size: 0.8125rem;
}

.eyg-footer__copyright {
    color: #111111;
}

.eyg-footer__legal-link {
    color: #111111;
    text-decoration: none;
    font-weight: 600;
    transition: opacity 150ms linear;
}

.eyg-footer__legal-link:hover {
    text-decoration: underline;
    opacity: 0.8;
}

@media (max-width: 767px) {
    .rg-split-section {
        padding-top: 1.5rem !important;
        padding-bottom: 1.5rem !important;
    }

    .rg-section-header-wrap {
        margin-bottom: 1rem;
    }

    .eyg-footer__column-title {
        margin-top: 0.5rem;
    }

    .eyg-footer__legal-links {
        flex-direction: column;
        align-items: center;
        gap: 0.5rem !important;
    }
}

/* mobile-text-guard */
@media (max-width: 767px) {
  h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote, figcaption, td, th, label {
    overflow-wrap: anywhere;
  }
  a, button, .btn {
    overflow-wrap: anywhere;
    white-space: normal;
  }
  img, video, iframe {
    max-width: 100%;
  }
}

/* ===== site fixes ===== */

/* 1. Sticky footer: footer always at bottom, no empty space below */
html, body {
    min-height: 100%;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

body > footer.eyg-footer {
    margin-top: auto;
}

/* 2. Burger toggler only on mobile, hidden on desktop */
@media (min-width: 992px) {
    .rg-header-block .rg-navbar-toggler {
        display: none !important;
    }
}

/* 3. "Les Favoris Sous la Loupe de Paris": white text in section and cards */
.eyg-players-grid .text-body-secondary {
    color: #FFFFFF !important;
}

/* 5. Footer logo: same pink square badge as header */
.eyg-footer__logo-img {
    background: var(--primary, #F93EAD);
    border-radius: 12px;
    padding: 6px;
    width: 56px;
    height: 56px;
    max-width: none;
    object-fit: contain;
    box-shadow: 0 4px 12px rgba(249, 62, 173, 0.25);
}

/* 6. Comment like / reply buttons: text stays visible on hover and active */
.rg-comment-btn:hover,
.rg-framed-page .rg-comment-btn:hover {
    color: var(--primary, #F93EAD) !important;
    background: rgba(249, 62, 173, 0.14) !important;
    border-color: var(--primary, #F93EAD) !important;
}

.rg-btn-like.is-active,
.rg-framed-page .rg-btn-like.is-active {
    color: #FFFFFF !important;
    background: var(--primary, #F93EAD) !important;
    border-color: var(--primary, #F93EAD) !important;
}

.rg-btn-like.is-active [data-comment-like-count],
.rg-framed-page .rg-btn-like.is-active [data-comment-like-count] {
    color: #FFFFFF !important;
}

/* 7. Footer legal links: always black, never change color */
.eyg-footer__legal-link,
.eyg-footer__legal-link:hover,
.eyg-footer__legal-link:active,
.eyg-footer__legal-link:focus,
.eyg-footer__legal-link:visited {
    color: #111111 !important;
}
/* Footer is eyg-section-dark: remove its 56px section padding so the bottom bar ends the page */
.eyg-footer {
    padding-top: 0;
    padding-bottom: 0;
}
/* Header brand name next to logo (all pages) */
.rg-header-block img.rg-brand-badge {
    width: 56px;
    height: 56px;
    padding: 6px;
    object-fit: contain;
}

.rg-brand-name {
    font-family: var(--font_family_headings, 'Archivo', sans-serif);
    font-size: 1.15rem;
    font-weight: 800;
    line-height: 1.1;
    color: var(--text, #F2EEF1);
    white-space: nowrap;
}

.rg-brand-name span {
    color: var(--primary, #F93EAD);
}

@media (max-width: 767px) {
    .rg-brand-name {
        font-size: 0.95rem;
    }
}.rg-header-block img.rg-brand-badge {
    max-width: none;
    max-height: none;
}
/* Privacy page: white text in policy tables */
.rg-privacy-section .rg-table,
.rg-privacy-section .rg-table th,
.rg-privacy-section .rg-table td {
    color: #FFFFFF !important;
}