/* Shared visual rhythm for public detail pages. Page-specific controls remain intact. */
.x3-ui-next.x3-public-detail-hero {
    min-height: clamp(11rem, 18vw, 15rem);
    padding-block: 1.25rem;
}
.x3-ui-next.x3-public-detail-hero .x3-public-hero-inner { padding-inline: .75rem; }
.x3-ui-next.x3-public-detail-hero h1 {
    font-size: clamp(1.6rem, 3.4vw, 2.6rem);
    line-height: 1.12;
    overflow-wrap: break-word;
}
.x3-public-detail-kicker {
    margin-bottom: .35rem;
    color: var(--x3-next-green);
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.x3-ui-next.x3-public-detail-hero p { max-width: 46rem; margin-inline: auto; }
.x3-public-detail-back {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin-bottom: .65rem;
    color: var(--x3-next-green);
    text-decoration: none;
}
.x3-public-detail-back:hover { color: #fff; text-decoration: underline; }
.x3-public-detail-back:focus-visible { outline: 2px solid var(--x3-next-green); outline-offset: 2px; }
.x3-public-detail-body { padding-block: .9rem 1.5rem; }
.x3-public-detail-surface {
    padding: 12px;
    border: 1px solid var(--x3-next-border);
    border-radius: var(--x3-next-radius-md);
    background: var(--x3-next-surface);
}
.x3-public-detail-title { margin-bottom: .75rem; color: var(--x3-next-green); font-size: 1.25rem; }
.x3-public-detail-media { max-width: 70rem; margin: 0 auto .85rem; overflow: hidden; border-radius: var(--x3-next-radius-md); }
.x3-public-detail-media img { height: clamp(12rem, 27vw, 20rem); object-fit: cover; }
.x3-public-detail-map { height: clamp(11rem, 24vw, 14rem); }
.x3-public-detail-hero--player .hist-player-identity { justify-content: center; flex-wrap: wrap; text-align: left; }
.x3-public-detail-hero--player .hist-player-meta { max-width: 48rem; }
.x3-public-detail-hero--player .hist-player-name { margin: 0; }
.x3-public-detail-hero--player .hist-player-mode { color: var(--x3-next-text); }
.x3-ui-next.x3-public-detail-hero.detalle-torneo-hero {
    min-height: clamp(11rem, 18vw, 15rem);
    padding-block: 1.25rem;
    background-color: var(--x3-next-bg);
    background-image: linear-gradient(rgb(0 0 0 / 76%), rgb(0 0 0 / 76%)), var(--x3-hero-image);
    background-size: cover;
    background-position: center;
}
.x3-ui-next.x3-public-detail-hero.detalle-torneo-hero .cta-hero { display: flex; flex-wrap: wrap; justify-content: center; gap: .45rem; margin-top: .7rem !important; }
.x3-ui-next.x3-public-detail-hero.detalle-torneo-hero .cta-hero .btn { width: auto !important; min-width: 8rem; }
@media (max-width: 767.98px) {
    .x3-ui-next.x3-public-detail-hero { min-height: 10rem; padding-block: 1rem; }
    .x3-public-detail-hero--player .hist-player-identity { flex-direction: row; flex-wrap: nowrap; justify-content: flex-start; align-items: center; gap: .75rem; text-align: left; }
    .x3-public-detail-hero--player .hist-player-avatar { width: 48px; height: 48px; min-width: 48px; min-height: 48px; flex: 0 0 48px; }
    .x3-public-detail-hero--player .hist-player-meta { flex: 1 1 auto; min-width: 0; }
    .x3-public-detail-hero--player .hist-player-submeta { justify-content: flex-start; }
    .x3-public-detail-media img { height: 13rem; }
}
