/* =================================================================
   SOULYN · Shared Typography — matches index page exactly
   Import this on every page after style.css
   ================================================================= */

/* ── Kicker / Eyebrow line above headings ── */
.kicker,
.section__kicker,
.rule-section__kicker,
.gm-hero__kicker,
.rules-hero__kicker,
.page-hero__eyebrow,
.gm-card__badge,
.gm-badge,
.gm-stat__label,
.ban-num,
.rule-item__num {
    font-family: var(--font-display);
    letter-spacing: 0.38em;
    text-transform: uppercase;
    color: var(--gold-2);
    font-weight: 500;
}

/* ── Primary headings ── */
h1,
.gm-hero__title,
.gm-title,
.rules-hero__title,
.page-hero__title {
    font-family: var(--font-display);
    font-weight: 700;
    letter-spacing: 0.03em;
    line-height: 1.05;
    color: var(--text);
}

/* ── Gold gradient accent on major titles (same as hero__title-line--accent) ── */
.gm-hero__title,
.gm-title,
.rules-hero__title {
    background: linear-gradient(120deg, var(--gold-1) 0%, var(--ember) 50%, var(--gold-2) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
}

/* ── Section headings ── */
h2,
.rule-section__title,
.gm-card__title,
.owner-card__name,
.member-card__name,
.team-section__title {
    font-family: var(--font-display);
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--text);
}

/* ── Body / paragraph text ── */
p,
.gm-hero__sub,
.rules-hero__sub,
.page-hero__sub,
.gm-card__desc,
.rule-item__text,
.owner-card__desc,
.empty-state__text {
    font-family: var(--font-body);
    font-size: var(--textsize);
    color: var(--text-soft);
    line-height: 1.75;
}

/* ── Strong / bold inside body ── */
p strong,
li strong,
.rule-item__text strong {
    color: var(--text);
    font-weight: 600;
}

/* ── Feature list ── */
.feature-list li,
.rule-list li {
    font-family: var(--font-body);
    font-size: var(--textsize);
    line-height: 1.72;
    color: var(--text-soft);
}

/* ── Tags / Pills ── */
.tag,
.gm-card__badge,
.role-badge {
    font-family: var(--font-display);
    font-size: 0.72rem;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    font-weight: 500;
}

/* ── Buttons ── */
.btn,
.gm-back,
.cta-buttons .btn {
    font-family: var(--font-display);
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 600;
}

/* ── Section rune icon ── */
.section__rune {
    font-family: var(--font-display);
    color: var(--gold-2);
    font-size: 1rem;
    text-shadow: 0 0 12px rgba(217, 167, 79, 0.55);
}

/* ── Stat values on gamemode pages ── */
.gm-stat__val {
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 0.95rem;
    color: var(--gold-1);
    letter-spacing: 0.04em;
}

/* ── Ban ladder ── */
.ban-time {
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 0.92rem;
    color: var(--gold-1);
}
.ban-step--max .ban-time { color: #ff7a7a; }

/* ── Alert box ── */
.rules-alert__text {
    font-family: var(--font-body);
    font-size: 0.97rem;
    line-height: 1.72;
    color: #f0c0c0;
}
.rules-alert__text strong { color: #ffaaaa; font-weight: 700; }

/* ── Footer note ── */
.rules-footer-note {
    font-family: var(--font-body);
    font-size: 0.88rem;
    color: var(--text-muted);
    line-height: 1.8;
}

/* ── Italic / em ── */
em { color: var(--text-soft); font-style: italic; }

/* ── Animation: fade-up (same as index) ── */
@keyframes fade-up {
    from { opacity: 0; transform: translateY(18px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* Hero entrance animation — applied to page hero titles on subpages */
.rules-hero__title,
.gm-hero__title,
.gm-title {
    animation: fade-up 0.9s 0.2s ease both;
}
.rules-hero__sub,
.gm-hero__sub,
.gm-hero__kicker,
.rules-hero__kicker {
    animation: fade-up 0.9s 0.4s ease both;
}

/* ── SVG Icons (replaces all emoji) ── */
.icon {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: middle;
    flex-shrink: 0;
}

/* Stat card icon: larger, gold-tinted */
.gm-stat__icon .icon {
    width: 1.8rem;
    height: 1.8rem;
    color: var(--gold-2);
    opacity: 0.85;
}

/* Section rune: small accent */
.section__rune .icon {
    width: 1rem;
    height: 1rem;
    color: var(--gold-2);
}

/* Feature list icon */
.feat-icon .icon {
    width: 1.25rem;
    height: 1.25rem;
    color: var(--gold-2);
    opacity: 0.9;
    margin-top: 2px;
}

/* Rule item icon (flag, crown) */
.rule-item__icon .icon {
    width: 1.1rem;
    height: 1.1rem;
    color: var(--gold-2);
}
.rule-item--final .rule-item__icon .icon {
    color: var(--gold-1);
}

/* Alert icon */
.rules-alert__icon .icon {
    width: 1.5rem;
    height: 1.5rem;
    color: #ff7a7a;
}

/* Lock icon on gamemode card */
.gm-card__lock .icon {
    width: 2rem;
    height: 2rem;
    color: var(--text-muted);
    opacity: 0.35;
}
