/* =========================================================
   ROCK & BLUES CAFÉ · FICHA DE CONCIERTO
========================================================= */

.rb-detail-main {
    position: relative;
    z-index: 1;
    padding: 34px 0 90px;
}


.rb-detail-container {
    width:
        min(
            calc(100% - 34px),
            1220px
        );
    margin: 0 auto;
}


/* =========================================================
   BREADCRUMBS
========================================================= */

.rb-detail-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;

    margin-bottom: 28px;

    color: #747474;

    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: .8px;
}


.rb-detail-breadcrumbs a {
    color: #909090;
    transition: color .2s ease;
}


.rb-detail-breadcrumbs a:hover {
    color: #fff;
}


.rb-detail-breadcrumbs i {
    font-size: 7px;
    color: #474747;
}


.rb-detail-breadcrumbs span {
    color: #d0343a;
}


/* =========================================================
   CABECERA EVENTO
========================================================= */

.rb-detail-header {
    max-width: 970px;
    margin: 0 auto 30px;

    text-align: center;
}


.rb-detail-cycle {
    display: inline-flex;
    align-items: center;

    margin-bottom: 12px;
    padding: 6px 11px;

    color: #c9c9c9;

    background: rgba(255,255,255,.045);

    border: 1px solid rgba(255,255,255,.08);
    border-radius: 999px;

    font-size: 9px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: 1px;
}


.rb-detail-kicker,
.rb-detail-section-kicker {
    display: block;

    margin-bottom: 8px;

    color: #d0343a;

    font-size: 10px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: 1.6px;
}


.rb-detail-title {
    margin: 0 auto 14px;

    color: #fff;

    font-family:
        "Barlow Condensed",
        Arial,
        sans-serif;

    font-size:
        clamp(
            48px,
            7vw,
            88px
        );

    line-height: .88;

    font-weight: 900;

    text-transform: uppercase;
    letter-spacing: -.6px;

    text-wrap: balance;
}


.rb-detail-date {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;

    gap: 8px;

    margin-bottom: 14px;

    color: #dfdfdf;

    font-size: 11px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .85px;
}


.rb-detail-date b {
    color: #d0343a;
    font-size: 16px;
    line-height: 1;
}


.rb-detail-facts {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;

    gap: 7px;

    margin-bottom: 17px;
}


.rb-detail-fact {
    display: inline-flex;
    align-items: center;

    gap: 7px;

    min-height: 31px;

    padding: 6px 11px;

    color: #c6c6c6;

    background: rgba(255,255,255,.04);

    border: 1px solid rgba(255,255,255,.075);
    border-radius: 999px;

    font-size: 9px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .6px;
}


.rb-detail-fact i {
    color: #d0343a;
    font-size: 10px;
}


.rb-detail-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;

    gap: 10px;
}


/* =========================================================
   ESTADOS / CTA
========================================================= */

.rb-detail-status {
    display: inline-flex;
    align-items: center;

    min-height: 38px;

    padding: 8px 14px;

    color: #fff;

    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;

    font-size: 9px;
    font-weight: 900;

    text-transform: uppercase;
    letter-spacing: .8px;

    box-shadow:
        0 10px 22px
        rgba(0,0,0,.25);
}


.rb-detail-status-dot {
    width: 6px;
    height: 6px;

    margin-right: 7px;

    background: #fff;

    border-radius: 50%;

    box-shadow:
        0 0 8px
        rgba(255,255,255,.65);
}


.rb-detail-status-ticket {
    background:
        linear-gradient(
            135deg,
            #a51e24,
            #e1494f
        );
}


.rb-detail-status-free {
    background:
        linear-gradient(
            135deg,
            #086b9c,
            #24a6e5
        );
}


.rb-detail-status-past {
    color: #c8c8c8;
    background: #222;
}


.rb-detail-status-past i,
.rb-detail-status-cancelled i {
    margin-right: 7px;
}


.rb-detail-status-cancelled {
    background: #65191d;
}


.rb-detail-primary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    min-height: 42px;

    padding: 0 20px;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #d0343a,
            #e94b51
        );

    border-radius: 999px;

    font-size: 9px;
    font-weight: 900;

    text-transform: uppercase;
    letter-spacing: .9px;

    box-shadow:
        0 12px 28px
        rgba(208,52,58,.28);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}


.rb-detail-primary-button:hover {
    transform: translateY(-2px);

    box-shadow:
        0 17px 34px
        rgba(208,52,58,.38);
}


/* =========================================================
   MEDIA PRINCIPAL
========================================================= */

.rb-detail-media {
    display: grid;

    grid-template-columns:
        minmax(0, 2.15fr)
        minmax(250px, .85fr);

    gap: 18px;

    margin-bottom: 42px;
}


.rb-detail-photo,
.rb-detail-poster {
    overflow: hidden;

    background: #111;

    border: 1px solid rgba(255,255,255,.07);
    border-radius: 18px;

    box-shadow:
        0 22px 50px
        rgba(0,0,0,.46);
}


.rb-detail-photo {
    aspect-ratio: 16 / 9;
}


.rb-detail-photo img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


.rb-detail-poster {
    align-self: stretch;
}


.rb-detail-poster img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}


/* =========================================================
   GRID CONTENIDO
========================================================= */

.rb-detail-content-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        320px;

    gap: 36px;

    align-items: start;
}


.rb-detail-content {
    min-width: 0;
}


.rb-detail-section {
    margin-bottom: 42px;
}


.rb-detail-section h2 {
    margin: 0 0 16px;

    color: #fff;

    font-family:
        "Barlow Condensed",
        Arial,
        sans-serif;

    font-size:
        clamp(
            30px,
            4vw,
            44px
        );

    line-height: .95;

    font-weight: 900;

    text-transform: uppercase;
    letter-spacing: .1px;
}


.rb-detail-description {
    color: #c9c9c9;

    font-size: 14px;
    line-height: 1.82;

    white-space: normal;
}


/* =========================================================
   REDES
========================================================= */

.rb-detail-socials {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 9px;
}


.rb-detail-social {
    display: grid;
    place-items: center;

    width: 42px;
    height: 42px;

    color: #bbb;

    background: rgba(255,255,255,.045);

    border: 1px solid rgba(255,255,255,.085);
    border-radius: 50%;

    font-size: 16px;

    transition:
        transform .2s ease,
        color .2s ease,
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}


.rb-detail-social:hover {
    color: #fff;
    transform: translateY(-3px);
}


.rb-detail-social-facebook:hover {
    background: #1877f2;
    border-color: #1877f2;

    box-shadow:
        0 8px 20px
        rgba(24,119,242,.25);
}


.rb-detail-social-instagram:hover {
    background:
        linear-gradient(
            135deg,
            #833ab4,
            #fd1d1d,
            #fcb045
        );

    border-color: transparent;

    box-shadow:
        0 8px 20px
        rgba(225,48,108,.25);
}


.rb-detail-social-youtube:hover {
    background: #ff0033;
    border-color: #ff0033;

    box-shadow:
        0 8px 20px
        rgba(255,0,51,.25);
}


.rb-detail-social-spotify:hover {
    color: #080808;

    background: #1ed760;
    border-color: #1ed760;

    box-shadow:
        0 8px 20px
        rgba(30,215,96,.20);
}


.rb-detail-social-audio:hover {
    background: #d0343a;
    border-color: #d0343a;
}


/* =========================================================
   PLAYERS
========================================================= */

.rb-detail-players {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}


.rb-detail-players-two {
    grid-template-columns:
        repeat(
            2,
            minmax(0,1fr)
        );
}


.rb-detail-player-card {
    overflow: hidden;

    min-width: 0;

    padding: 10px;

    background: rgba(255,255,255,.035);

    border: 1px solid rgba(255,255,255,.065);
    border-radius: 18px;
}


.rb-detail-video {
    position: relative;

    overflow: hidden;

    aspect-ratio: 16 / 9;

    border-radius: 12px;
}


.rb-detail-video iframe {
    position: absolute;

    inset: 0;

    width: 100%;
    height: 100%;

    border: 0;
}


.rb-detail-spotify {
    display: block;

    width: 100%;

    border: 0;
    border-radius: 12px;
}


/* =========================================================
   MENORES
========================================================= */

.rb-detail-minors {
    display: grid;

    grid-template-columns:
        46px
        minmax(0,1fr);

    gap: 17px;

    padding: 22px;

    background:
        linear-gradient(
            135deg,
            rgba(208,52,58,.11),
            rgba(255,255,255,.025)
        );

    border: 1px solid rgba(208,52,58,.23);
    border-radius: 18px;
}


.rb-detail-minors-icon {
    display: grid;
    place-items: center;

    width: 46px;
    height: 46px;

    color: #fff;

    background: #d0343a;

    border-radius: 50%;

    font-size: 18px;
}


.rb-detail-minors h2 {
    font-size: 32px;
}


.rb-detail-minors ul {
    margin: 0;
    padding-left: 18px;

    color: #c5c5c5;

    font-size: 12px;
    line-height: 1.7;
}


.rb-detail-minors li + li {
    margin-top: 5px;
}


.rb-detail-minors-download {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    margin-top: 14px;

    color: #fff;

    font-size: 10px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .6px;
}


.rb-detail-minors-download i {
    color: #d0343a;
}


/* =========================================================
   SEO LOCAL / ENLAZADO
========================================================= */

.rb-detail-local {
    padding-top: 28px;

    border-top:
        1px solid
        rgba(255,255,255,.065);
}


.rb-detail-local p {
    max-width: 820px;

    margin: 0;

    color: #a8a8a8;

    font-size: 12px;
    line-height: 1.75;
}


.rb-detail-local-links {
    display: flex;
    flex-wrap: wrap;

    gap: 9px;

    margin-top: 18px;
}


.rb-detail-local-links a {
    display: inline-flex;
    align-items: center;

    gap: 8px;

    min-height: 38px;

    padding: 0 13px;

    color: #cfcfcf;

    background: rgba(255,255,255,.04);

    border: 1px solid rgba(255,255,255,.075);
    border-radius: 999px;

    font-size: 9px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .7px;

    transition:
        color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}


.rb-detail-local-links a:hover {
    color: #fff;
    border-color: rgba(255,255,255,.17);
    transform: translateY(-2px);
}


.rb-detail-local-links i {
    color: #d0343a;
}


/* =========================================================
   SIDEBAR
========================================================= */

.rb-detail-sidebar {
    position: relative;
}


.rb-detail-info-card {
    position: sticky;
    top: 24px;

    overflow: hidden;

    padding: 21px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.055),
            rgba(255,255,255,.022)
        );

    border: 1px solid rgba(255,255,255,.08);
    border-radius: 20px;

    box-shadow:
        0 20px 44px
        rgba(0,0,0,.38);
}


.rb-detail-info-heading {
    margin-bottom: 18px;
    padding-bottom: 16px;

    border-bottom:
        1px solid
        rgba(255,255,255,.065);
}


.rb-detail-info-heading span {
    display: block;

    margin-bottom: 5px;

    color: #d0343a;

    font-size: 9px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: 1.2px;
}


.rb-detail-info-heading strong {
    display: block;

    color: #fff;

    font-family:
        "Barlow Condensed",
        Arial,
        sans-serif;

    font-size: 28px;
    line-height: .95;

    font-weight: 900;

    text-transform: uppercase;
}


.rb-detail-info-card dl {
    margin: 0;
}


.rb-detail-info-card dl > div {
    padding: 13px 0;

    border-bottom:
        1px solid
        rgba(255,255,255,.055);
}


.rb-detail-info-card dt {
    display: flex;
    align-items: center;

    gap: 8px;

    margin-bottom: 5px;

    color: #747474;

    font-size: 9px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .8px;
}


.rb-detail-info-card dt i {
    width: 13px;

    color: #d0343a;

    text-align: center;
}


.rb-detail-info-card dd {
    margin: 0;

    color: #d0d0d0;

    font-size: 11px;
    line-height: 1.55;
}


.rb-detail-sidebar-status {
    margin-top: 18px;
}


.rb-detail-sidebar-status .rb-detail-status {
    width: 100%;
    justify-content: center;

    text-align: center;
}


.rb-detail-sidebar-button {
    width: 100%;

    margin-top: 10px;
}


/* =========================================================
   404
========================================================= */

.rb-detail-404 {
    max-width: 720px;

    margin: 80px auto;

    text-align: center;
}


.rb-detail-404 h1 {
    margin: 0 0 15px;

    color: #fff;

    font-family:
        "Barlow Condensed",
        Arial,
        sans-serif;

    font-size: clamp(46px, 7vw, 76px);
    line-height: .92;

    text-transform: uppercase;
}


.rb-detail-404 p {
    margin: 0 auto 24px;

    color: #aaa;

    font-size: 13px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 980px) {

    .rb-detail-media {
        grid-template-columns:
            minmax(0, 1.8fr)
            minmax(220px, .8fr);
    }


    .rb-detail-content-grid {
        grid-template-columns:
            minmax(0,1fr)
            280px;

        gap: 25px;
    }

}


/* =========================================================
   MÓVIL / TABLET PEQUEÑA
========================================================= */

@media (max-width: 760px) {

    .rb-detail-main {
        padding:
            22px
            0
            65px;
    }


    .rb-detail-container {
        width:
            calc(100% - 24px);
    }


    .rb-detail-breadcrumbs {
        margin-bottom: 22px;
    }


    .rb-detail-title {
        font-size:
            clamp(
                46px,
                14vw,
                66px
            );
    }


    .rb-detail-date {
        font-size: 10px;
    }


    .rb-detail-media {
        grid-template-columns: 1fr;
        gap: 12px;

        margin-bottom: 32px;
    }


    .rb-detail-photo {
        aspect-ratio: 16 / 9;
    }


    .rb-detail-poster {
        max-width: 430px;
        margin: 0 auto;
    }


    .rb-detail-poster img {
        height: auto;
    }


    .rb-detail-content-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }


    .rb-detail-sidebar {
        order: -1;
    }


    .rb-detail-info-card {
        position: static;

        padding: 17px;
    }


    .rb-detail-section {
        margin-bottom: 34px;
    }


    .rb-detail-section h2 {
        font-size: 34px;
    }


    .rb-detail-description {
        font-size: 13px;
        line-height: 1.76;
    }


    .rb-detail-players-two {
        grid-template-columns: 1fr;
    }


    .rb-detail-minors {
        grid-template-columns: 1fr;

        padding: 18px;
    }


    .rb-detail-minors-icon {
        width: 42px;
        height: 42px;
    }


    .rb-detail-local-links {
        flex-direction: column;
    }


    .rb-detail-local-links a {
        justify-content: center;
        width: 100%;
    }

}


/* =========================================================
   MÓVIL PEQUEÑO
========================================================= */

@media (max-width: 420px) {

    .rb-detail-container {
        width:
            calc(100% - 18px);
    }


    .rb-detail-title {
        font-size: 44px;
    }


    .rb-detail-kicker {
        font-size: 9px;
    }


    .rb-detail-date {
        gap: 5px;
        font-size: 9px;
    }


    .rb-detail-fact {
        font-size: 8px;
    }


    .rb-detail-actions {
        flex-direction: column;
        align-items: stretch;
    }


    .rb-detail-status,
    .rb-detail-primary-button {
        width: 100%;
        justify-content: center;
    }

}


/* =========================================================
   AJUSTES COMPACTOS · 07/09/2026
   Mantienen todo el contenido, reducen altura visual
========================================================= */

.rb-detail-media {
    margin-bottom: 32px;
}


.rb-detail-content-grid {
    grid-template-columns:
        minmax(0, 1fr)
        300px;

    gap: 30px;
}


.rb-detail-section {
    margin-bottom: 30px;
}


.rb-detail-section h2 {
    margin-bottom: 12px;
}


/* =========================================================
   DESCRIPCIÓN COMPACTA / LEER MÁS
========================================================= */

.rb-detail-description-wrap {
    position: relative;
}


.rb-detail-description-wrap.is-collapsible {
    overflow: hidden;
    max-height: 340px;

    transition:
        max-height .38s ease;
}


.rb-detail-description-wrap.is-collapsible.is-expanded {
    max-height: 5000px;
}


.rb-detail-description-fade {
    position: absolute;
    z-index: 2;

    left: 0;
    right: 0;
    bottom: 0;

    height: 105px;

    pointer-events: none;

    background:
        linear-gradient(
            to bottom,
            rgba(7,7,7,0) 0%,
            rgba(7,7,7,.78) 60%,
            rgba(7,7,7,1) 100%
        );

    transition:
        opacity .25s ease;
}


.rb-detail-description-wrap.is-expanded .rb-detail-description-fade {
    opacity: 0;
}


.rb-detail-description {
    font-size: 13px;
    line-height: 1.72;
}


.rb-detail-readmore {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 8px;

    min-height: 36px;

    margin-top: 12px;
    padding: 0 13px;

    color: #d8d8d8;

    background:
        rgba(255,255,255,.04);

    border:
        1px solid
        rgba(255,255,255,.085);

    border-radius: 999px;

    font-size: 9px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .65px;

    cursor: pointer;

    transition:
        color .2s ease,
        border-color .2s ease,
        background .2s ease,
        transform .2s ease;
}


.rb-detail-readmore:hover {
    color: #fff;

    background:
        rgba(255,255,255,.07);

    border-color:
        rgba(255,255,255,.17);

    transform:
        translateY(-1px);
}


.rb-detail-readmore i {
    color: #d0343a;

    font-size: 8px;

    transition:
        transform .25s ease;
}


.rb-detail-readmore.is-expanded i {
    transform:
        rotate(180deg);
}


/* =========================================================
   ESCUCHA / REDES EN UN SOLO BLOQUE
========================================================= */

.rb-detail-listen-section {
    padding-top: 23px;

    border-top:
        1px solid
        rgba(255,255,255,.06);
}


.rb-detail-section-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 15px;
}


.rb-detail-section-head h2 {
    margin-bottom: 0;
}


.rb-detail-section-head .rb-detail-socials {
    flex: 0 0 auto;

    margin-bottom: 1px;
}


.rb-detail-social {
    width: 38px;
    height: 38px;

    font-size: 15px;
}


.rb-detail-player-card {
    padding: 8px;

    border-radius: 15px;
}


.rb-detail-video {
    border-radius: 10px;
}


.rb-detail-spotify {
    border-radius: 10px;
}


/* =========================================================
   MENORES · TRES REGLAS COMPACTAS
========================================================= */

.rb-detail-minors {
    display: block;

    padding: 18px;
}


.rb-detail-minors-head {
    display: flex;
    align-items: center;

    gap: 13px;

    margin-bottom: 14px;
}


.rb-detail-minors-head .rb-detail-minors-icon {
    flex: 0 0 auto;

    width: 40px;
    height: 40px;

    font-size: 15px;
}


.rb-detail-minors-head .rb-detail-section-kicker {
    margin-bottom: 3px;
}


.rb-detail-minors-head h2 {
    margin: 0;

    font-size: 28px;
}


.rb-detail-minors-rules {
    display: grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0,1fr)
        );

    gap: 8px;
}


.rb-detail-minors-rule {
    display: grid;

    grid-template-columns:
        22px
        minmax(0,1fr);

    gap: 8px;

    align-items: start;

    padding: 10px;

    color: #bdbdbd;

    background:
        rgba(0,0,0,.18);

    border:
        1px solid
        rgba(255,255,255,.055);

    border-radius: 11px;

    font-size: 10px;
    line-height: 1.5;
}


.rb-detail-minors-rule i {
    margin-top: 2px;

    color: #d0343a;

    text-align: center;
}


.rb-detail-minors-download {
    margin-top: 12px;
}


/* =========================================================
   BLOQUE SEO LOCAL MÁS HORIZONTAL
========================================================= */

.rb-detail-local {
    display: grid;

    grid-template-columns:
        minmax(180px,.7fr)
        minmax(0,1.3fr);

    gap: 28px;

    align-items: start;

    margin-bottom: 0;
    padding-top: 24px;
}


.rb-detail-local-heading h2 {
    margin-bottom: 0;
}


.rb-detail-local-content p {
    max-width: none;

    font-size: 11px;
    line-height: 1.68;
}


.rb-detail-local-links {
    margin-top: 13px;
}


/* =========================================================
   SIDEBAR UN POCO MÁS COMPACTA
========================================================= */

.rb-detail-info-card {
    padding: 18px;
}


.rb-detail-info-heading {
    margin-bottom: 13px;
    padding-bottom: 13px;
}


.rb-detail-info-card dl > div {
    padding: 10px 0;
}


.rb-detail-sidebar-status {
    margin-top: 14px;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 980px) {

    .rb-detail-content-grid {
        grid-template-columns:
            minmax(0,1fr)
            270px;

        gap: 23px;
    }


    .rb-detail-minors-rules {
        grid-template-columns: 1fr;
    }


    .rb-detail-local {
        grid-template-columns: 1fr;
        gap: 12px;
    }

}


/* =========================================================
   MÓVIL
========================================================= */

@media (max-width: 760px) {

    .rb-detail-media {
        margin-bottom: 27px;
    }


    .rb-detail-section {
        margin-bottom: 28px;
    }


    .rb-detail-description-wrap.is-collapsible {
        max-height: 300px;
    }


    .rb-detail-description-fade {
        height: 90px;
    }


    .rb-detail-readmore {
        width: 100%;

        min-height: 40px;
    }


    .rb-detail-section-head {
        align-items: flex-start;
        flex-direction: column;

        gap: 11px;
    }


    .rb-detail-section-head .rb-detail-socials {
        margin-bottom: 0;
    }


    .rb-detail-minors {
        padding: 15px;
    }


    .rb-detail-minors-head {
        align-items: flex-start;
    }


    .rb-detail-minors-head h2 {
        font-size: 27px;
    }


    .rb-detail-minors-rules {
        grid-template-columns: 1fr;
    }


    .rb-detail-minors-rule {
        font-size: 10px;
    }


    .rb-detail-local {
        display: block;

        padding-top: 21px;
    }


    .rb-detail-local-content {
        margin-top: 10px;
    }

}
/* =========================================================
   MOBILE FIRST OVERRIDES · 07/09/2026
   Prioridad: claridad, conversión y mínimo scroll vertical.
   Este bloque va AL FINAL para ganar la cascada.
========================================================= */

.rb-mobile-ticketbar {
    display: none;
}


@media (max-width: 760px) {

    /* -----------------------------------------------------
       ESTRUCTURA GENERAL
    ----------------------------------------------------- */

    .rb-detail-main {
        padding:
            18px
            0
            58px;
    }


    .rb-has-mobile-ticketbar .rb-detail-main {
        padding-bottom:
            calc(
                104px
                + env(safe-area-inset-bottom)
            );
    }


    .rb-detail-container {
        width:
            calc(100% - 18px);
    }


    /* -----------------------------------------------------
       BREADCRUMB: SOLO "CONCIERTOS"
    ----------------------------------------------------- */

    .rb-detail-breadcrumbs {
        margin-bottom: 15px;

        font-size: 9px;
    }


    .rb-detail-breadcrumbs > a:first-of-type,
    .rb-detail-breadcrumbs > i,
    .rb-detail-breadcrumbs > span {
        display: none;
    }


    .rb-detail-breadcrumbs > a:last-of-type {
        display: inline-flex;
        align-items: center;

        gap: 7px;

        min-height: 32px;

        padding: 0 10px;

        color: #aaa;

        background:
            rgba(255,255,255,.035);

        border:
            1px solid
            rgba(255,255,255,.065);

        border-radius: 999px;
    }


    .rb-detail-breadcrumbs > a:last-of-type::before {
        content: "←";

        color: #d0343a;
    }


    /* -----------------------------------------------------
       HERO
    ----------------------------------------------------- */

    .rb-detail-header {
        margin-bottom: 18px;

        text-align: center;
    }


    .rb-detail-cycle {
        margin-bottom: 9px;

        padding:
            5px
            9px;

        font-size: 8px;
    }


    .rb-detail-kicker {
        margin-bottom: 6px;

        font-size: 8px;
        letter-spacing: 1.2px;
    }


    .rb-detail-title {
        max-width: 100%;

        margin-bottom: 11px;

        font-size:
            clamp(
                39px,
                12.3vw,
                54px
            );

        line-height: .92;

        letter-spacing: -.25px;
    }


    .rb-detail-date {
        gap: 5px;

        margin-bottom: 11px;

        font-size: 9px;
        letter-spacing: .55px;
    }


    .rb-detail-date b {
        font-size: 12px;
    }


    /* Chips en una sola fila desplazable.
       Nada de 3 líneas de pastillas. */

    .rb-detail-facts {
        justify-content: flex-start;
        flex-wrap: nowrap;

        gap: 6px;

        max-width: 100%;

        margin:
            0
            -9px
            12px;

        padding:
            0
            9px
            3px;

        overflow-x: auto;

        scrollbar-width: none;

        scroll-snap-type:
            x proximity;
    }


    .rb-detail-facts::-webkit-scrollbar {
        display: none;
    }


    .rb-detail-fact {
        flex: 0 0 auto;

        min-height: 29px;

        padding:
            5px
            9px;

        font-size: 8px;

        scroll-snap-align: start;
    }


    /* En móvil no duplicamos CTA arriba:
       estado compacto + compra fija abajo. */

    .rb-detail-actions {
        display: flex;

        justify-content: center;
        align-items: center;

        margin-top: 2px;
    }


    .rb-detail-actions .rb-detail-primary-button {
        display: none;
    }


    .rb-detail-actions .rb-detail-status {
        width: auto;

        min-height: 32px;

        padding:
            7px
            12px;

        font-size: 8px;
    }


    /* -----------------------------------------------------
       GALERÍA: FOTO + CARTEL EN SWIPE HORIZONTAL
       Reduce muchísimo la longitud de la página.
    ----------------------------------------------------- */

    .rb-detail-media {
        display: flex;

        grid-template-columns: none;

        gap: 10px;

        width:
            calc(100% + 18px);

        margin:
            0
            -9px
            26px;

        padding:
            0
            9px
            5px;

        overflow-x: auto;
        overflow-y: hidden;

        overscroll-behavior-x: contain;

        scroll-snap-type: x mandatory;
        scroll-padding-left: 9px;

        scrollbar-width: none;
    }


    .rb-detail-media::-webkit-scrollbar {
        display: none;
    }


    .rb-detail-photo,
    .rb-detail-poster {
        flex: 0 0 91%;

        min-width: 0;

        align-self: stretch;

        margin: 0;

        border-radius: 16px;

        scroll-snap-align: start;

        box-shadow:
            0 16px 38px
            rgba(0,0,0,.42);
    }


    .rb-detail-photo {
        aspect-ratio: 16 / 10;
    }


    .rb-detail-poster {
        flex-basis: 73%;

        max-width: none;
    }


    .rb-detail-poster img {
        width: 100%;
        height: auto;

        object-fit: contain;
    }


    /* -----------------------------------------------------
       CONTENIDO: UNA COLUMNA REAL
       El sidebar desktop desaparece porque repite datos.
    ----------------------------------------------------- */

    .rb-detail-content-grid {
        display: block;

        grid-template-columns: none;

        gap: 0;
    }


    .rb-detail-sidebar {
        display: none;
    }


    .rb-detail-content {
        width: 100%;
        min-width: 0;
    }


    .rb-detail-section {
        margin-bottom: 26px;
    }


    .rb-detail-section h2 {
        margin-bottom: 10px;

        font-size: 31px;
        line-height: .95;
    }


    .rb-detail-section-kicker {
        margin-bottom: 5px;

        font-size: 8px;
        letter-spacing: 1.15px;
    }


    /* -----------------------------------------------------
       TEXTO
    ----------------------------------------------------- */

    .rb-detail-description {
        font-size: 12.5px;
        line-height: 1.68;
    }


    .rb-detail-description-wrap.is-collapsible {
        max-height: 205px;
    }


    .rb-detail-description-fade {
        height: 74px;
    }


    .rb-detail-readmore {
        width: 100%;

        min-height: 41px;

        margin-top: 10px;

        font-size: 8px;
    }


    /* -----------------------------------------------------
       ESCUCHA / REDES
    ----------------------------------------------------- */

    .rb-detail-listen-section {
        padding-top: 20px;
    }


    .rb-detail-section-head {
        display: flex;

        align-items: flex-start;
        flex-direction: row;
        justify-content: space-between;

        gap: 13px;

        margin-bottom: 13px;
    }


    .rb-detail-section-head > div:first-child {
        min-width: 0;
    }


    .rb-detail-section-head h2 {
        margin: 0;
    }


    .rb-detail-section-head .rb-detail-socials {
        flex: 0 0 auto;

        gap: 5px;
    }


    .rb-detail-social {
        width: 34px;
        height: 34px;

        font-size: 13px;
    }


    .rb-detail-players,
    .rb-detail-players-two {
        display: block;

        grid-template-columns: none;
    }


    .rb-detail-player-card {
        margin: 0;

        padding: 7px;

        border-radius: 14px;
    }


    /* Si hay YouTube + Spotify, el embed de Spotify
       se sustituye visualmente por el icono Spotify de arriba.
       Menos scroll, misma salida disponible. */

    .rb-detail-players-two
    .rb-detail-player-card:nth-child(2) {
        display: none;
    }


    .rb-detail-video {
        border-radius: 9px;
    }


    .rb-detail-spotify {
        height: 152px !important;
    }


    /* -----------------------------------------------------
       MENORES: TARJETAS EN SWIPE, NO 3 BLOQUES APILADOS
    ----------------------------------------------------- */

    .rb-detail-minors {
        padding: 16px;

        border-radius: 16px;
    }


    .rb-detail-minors-head {
        margin-bottom: 12px;
    }


    .rb-detail-minors-head .rb-detail-minors-icon {
        width: 36px;
        height: 36px;

        font-size: 13px;
    }


    .rb-detail-minors-head h2 {
        font-size: 27px;
    }


    .rb-detail-minors-rules {
        display: grid;

        grid-template-columns: none;
        grid-auto-flow: column;

        grid-auto-columns:
            minmax(
                225px,
                82%
            );

        gap: 8px;

        margin:
            0
            -4px;

        padding:
            0
            4px
            4px;

        overflow-x: auto;

        scroll-snap-type:
            x mandatory;

        scrollbar-width: none;
    }


    .rb-detail-minors-rules::-webkit-scrollbar {
        display: none;
    }


    .rb-detail-minors-rule {
        min-height: 92px;

        padding: 11px;

        font-size: 10px;
        line-height: 1.45;

        scroll-snap-align: start;
    }


    .rb-detail-minors-download {
        margin-top: 11px;

        font-size: 9px;
    }


    /* -----------------------------------------------------
       BLOQUE LOCAL
    ----------------------------------------------------- */

    .rb-detail-local {
        display: block;

        grid-template-columns: none;

        margin-bottom: 0;
        padding-top: 21px;
    }


    .rb-detail-local-heading {
        margin-bottom: 10px;
    }


    .rb-detail-local-heading h2 {
        font-size: 31px;
    }


    .rb-detail-local-content p {
        font-size: 11px;
        line-height: 1.62;
    }


    .rb-detail-local-links {
        display: grid;

        grid-template-columns:
            1fr
            1fr;

        gap: 7px;

        margin-top: 13px;
    }


    .rb-detail-local-links a {
        width: 100%;

        min-height: 40px;

        padding:
            0
            8px;

        justify-content: center;

        font-size: 8px;
        text-align: center;
    }


    /* -----------------------------------------------------
       CTA FIJO MOBILE
    ----------------------------------------------------- */

    .rb-mobile-ticketbar {
        position: fixed;

        z-index: 5000;

        left: 8px;
        right: 8px;
        bottom:
            calc(
                8px
                + env(safe-area-inset-bottom)
            );

        display: flex;

        align-items: center;
        justify-content: space-between;

        gap: 10px;

        min-height: 66px;

        padding:
            8px
            8px
            8px
            13px;

        background:
            rgba(18,18,18,.94);

        border:
            1px solid
            rgba(255,255,255,.10);

        border-radius: 18px;

        box-shadow:
            0 18px 45px
            rgba(0,0,0,.68);

        backdrop-filter:
            blur(18px);

        -webkit-backdrop-filter:
            blur(18px);
    }


    .rb-mobile-ticketbar-info {
        min-width: 0;
    }


    .rb-mobile-ticketbar-info span {
        display: block;

        margin-bottom: 2px;

        color: #d0343a;

        font-size: 8px;
        font-weight: 900;

        text-transform: uppercase;
        letter-spacing: .55px;
    }


    .rb-mobile-ticketbar-info strong {
        display: block;

        overflow: hidden;

        max-width: 49vw;

        color: #fff;

        font-family:
            "Barlow Condensed",
            Arial,
            sans-serif;

        font-size: 17px;
        line-height: 1;

        font-weight: 900;

        text-transform: uppercase;

        text-overflow: ellipsis;
        white-space: nowrap;
    }


    .rb-mobile-ticketbar > a {
        flex: 0 0 auto;

        display: inline-flex;

        align-items: center;
        justify-content: center;

        gap: 7px;

        min-height: 48px;

        padding:
            0
            17px;

        color: #fff;

        background:
            linear-gradient(
                135deg,
                #d0343a,
                #ed4a50
            );

        border-radius: 13px;

        font-size: 9px;
        font-weight: 900;

        text-transform: uppercase;
        letter-spacing: .7px;

        box-shadow:
            0 10px 24px
            rgba(208,52,58,.28);
    }

}


@media (max-width: 420px) {

    .rb-detail-title {
        font-size: 41px;
    }


    .rb-detail-date {
        font-size: 8.5px;
    }


    .rb-detail-section-head h2,
    .rb-detail-section h2,
    .rb-detail-local-heading h2 {
        font-size: 29px;
    }


    .rb-detail-local-links {
        grid-template-columns: 1fr;
    }


    .rb-mobile-ticketbar-info strong {
        max-width: 44vw;

        font-size: 16px;
    }


    .rb-mobile-ticketbar > a {
        padding:
            0
            14px;
    }

}
/* =========================================================
   AJUSTE FINAL · 08/09/2026
   Legibilidad + aire + mobile-first real.
   Va al final para prevalecer sin romper el diseño anterior.
========================================================= */

/* ---------------------------------------------------------
   GENERAL / DESKTOP
--------------------------------------------------------- */

.rb-detail-main {
    padding-top: 22px;
}


.rb-detail-header {
    margin-bottom: 24px;
}


.rb-detail-kicker,
.rb-detail-section-kicker {
    font-size: 11px;
    letter-spacing: 1.45px;
}


.rb-detail-date {
    font-size: 12.5px;
    letter-spacing: .75px;
}


.rb-detail-fact {
    min-height: 34px;
    padding: 7px 12px;

    font-size: 10.5px;
}


.rb-detail-status {
    min-height: 40px;
    padding: 9px 15px;

    font-size: 10.5px;
}


.rb-detail-primary-button {
    min-height: 44px;
    padding: 0 22px;

    font-size: 10.5px;
}


.rb-detail-media {
    margin-bottom: 28px;
}


.rb-detail-description {
    font-size: 15px;
    line-height: 1.76;
}


.rb-detail-description-wrap.is-collapsible {
    max-height: 330px;
}


.rb-detail-readmore {
    min-height: 39px;

    font-size: 10px;
}


.rb-detail-section {
    margin-bottom: 32px;
}


.rb-detail-section h2 {
    margin-bottom: 13px;
}


.rb-detail-social {
    width: 40px;
    height: 40px;

    font-size: 16px;
}


.rb-detail-minors-rule {
    font-size: 12px;
    line-height: 1.55;
}


.rb-detail-local-content p {
    font-size: 13px;
    line-height: 1.72;
}


.rb-detail-info-heading span {
    font-size: 10.5px;
}


.rb-detail-info-heading strong {
    font-size: 31px;
}


.rb-detail-info-card dt {
    font-size: 10.5px;
}


.rb-detail-info-card dd {
    font-size: 13px;
    line-height: 1.58;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 760px) {

    .rb-detail-main {
        padding:
            10px
            0
            54px;
    }


    .rb-has-mobile-ticketbar .rb-detail-main {
        padding-bottom:
            calc(
                132px
                + env(safe-area-inset-bottom)
            );
    }


    .rb-detail-container {
        width:
            calc(100% - 18px);
    }


    .rb-detail-header {
        margin-bottom: 16px;
    }


    .rb-detail-cycle {
        margin-bottom: 8px;
        padding: 6px 10px;

        font-size: 9px;
    }


    .rb-detail-kicker {
        margin-bottom: 6px;

        font-size: 9.5px;
        line-height: 1.35;
        letter-spacing: 1.15px;
    }


    .rb-detail-title {
        margin-bottom: 10px;
    }


    .rb-detail-date {
        gap: 5px;

        margin-bottom: 11px;

        font-size: 10.5px;
        line-height: 1.4;
        letter-spacing: .5px;
    }


    .rb-detail-date b {
        font-size: 13px;
    }


    .rb-detail-fact {
        min-height: 31px;

        padding:
            6px
            10px;

        font-size: 9.5px;
    }


    .rb-detail-actions .rb-detail-status {
        min-height: 35px;

        padding:
            8px
            13px;

        font-size: 9.5px;
    }


    .rb-detail-media {
        margin-bottom: 24px;
    }


    .rb-detail-section {
        margin-bottom: 27px;
    }


    .rb-detail-section-kicker {
        font-size: 9.5px;
        line-height: 1.35;
        letter-spacing: 1.05px;
    }


    .rb-detail-section h2 {
        margin-bottom: 11px;

        font-size: 32px;
    }


    .rb-detail-description {
        font-size: 14.5px;
        line-height: 1.7;
    }


    .rb-detail-description-wrap.is-collapsible {
        max-height: 255px;
    }


    .rb-detail-readmore {
        min-height: 43px;

        margin-top: 11px;

        font-size: 9.5px;
    }


    .rb-detail-listen-section {
        padding-top: 19px;
    }


    .rb-detail-section-head {
        align-items: center;
    }


    .rb-detail-section-head .rb-detail-socials {
        gap: 6px;
    }


    .rb-detail-social {
        width: 38px;
        height: 38px;

        font-size: 14px;
    }


    /* MENORES: uno debajo de otro */

    .rb-detail-minors {
        padding: 15px;

        border-radius: 16px;
    }


    .rb-detail-minors-head {
        gap: 11px;

        margin-bottom: 11px;
    }


    .rb-detail-minors-head .rb-detail-minors-icon {
        width: 38px;
        height: 38px;

        font-size: 14px;
    }


    .rb-detail-minors-head h2 {
        font-size: 29px;
    }


    .rb-detail-minors-rules {
        display: flex;

        flex-direction: column;

        gap: 7px;

        margin: 0;
        padding: 0;

        overflow: visible;

        scroll-snap-type: none;
    }


    .rb-detail-minors-rule {
        display: grid;

        grid-template-columns:
            24px
            minmax(0,1fr);

        gap: 9px;

        min-height: 0;

        padding:
            10px
            11px;

        font-size: 12.5px;
        line-height: 1.5;

        scroll-snap-align: none;
    }


    .rb-detail-minors-rule i {
        margin-top: 2px;

        font-size: 13px;
    }


    .rb-detail-minors-download {
        margin-top: 10px;

        font-size: 10px;
    }


    /* BLOQUE LOCAL */

    .rb-detail-local {
        margin-bottom: 22px;
        padding-top: 20px;
    }


    .rb-detail-local-heading {
        margin-bottom: 9px;
    }


    .rb-detail-local-heading h2 {
        font-size: 31px;
    }


    .rb-detail-local-content p {
        font-size: 13px;
        line-height: 1.65;
    }


    .rb-detail-local-links {
        display: flex;

        flex-direction: column;

        gap: 8px;

        margin-top: 15px;
        margin-bottom: 26px;
    }


    .rb-detail-local-links a {
        width: 100%;
        min-height: 46px;

        padding:
            0
            12px;

        font-size: 10px;
    }


    /* CTA FIJO MOBILE */

    .rb-mobile-ticketbar {
        z-index: 99999;

        left: 9px;
        right: 9px;
        bottom:
            calc(
                9px
                + env(safe-area-inset-bottom)
            );

        min-height: 74px;

        padding:
            9px
            9px
            9px
            14px;

        border-radius: 19px;

        pointer-events: auto;
    }


    .rb-mobile-ticketbar-info span {
        margin-bottom: 3px;

        font-size: 9px;
    }


    .rb-mobile-ticketbar-info strong {
        max-width: 48vw;

        font-size: 18px;
    }


    .rb-mobile-ticketbar > a {
        position: relative;
        z-index: 2;

        min-width: 112px;
        min-height: 54px;

        padding:
            0
            17px;

        font-size: 10px;

        border-radius: 14px;

        pointer-events: auto;
        touch-action: manipulation;
    }

}


/* =========================================================
   MÓVIL PEQUEÑO
========================================================= */

@media (max-width: 420px) {

    .rb-detail-main {
        padding-top: 8px;
    }


    .rb-detail-kicker {
        font-size: 9px;
    }


    .rb-detail-date {
        font-size: 10px;
    }


    .rb-detail-fact {
        font-size: 9px;
    }


    .rb-detail-description {
        font-size: 14px;
    }


    .rb-detail-section h2,
    .rb-detail-local-heading h2 {
        font-size: 30px;
    }


    .rb-detail-minors-rule {
        font-size: 12px;
    }


    .rb-detail-local-content p {
        font-size: 12.5px;
    }


    .rb-mobile-ticketbar-info strong {
        max-width: 43vw;

        font-size: 17px;
    }


    .rb-mobile-ticketbar > a {
        min-width: 104px;

        padding:
            0
            14px;
    }

}
/* =========================================================
   AJUSTE MOBILE · 08/09/2026 10:10
   - Una sola imagen principal en móvil
   - Barra inferior de compra tipo app, sin cortes
========================================================= */

@media (max-width: 760px) {

    /* -----------------------------------------------------
       FOTO PRINCIPAL
       En móvil eliminamos el carrusel y ocultamos el cartel.
    ----------------------------------------------------- */

    .rb-detail-media {
        display: block;

        width: 100%;

        margin:
            0
            0
            24px;

        padding: 0;

        overflow: visible;
    }


    .rb-detail-photo {
        display: block;

        width: 100%;

        margin: 0;

        aspect-ratio: 16 / 10;

        border-radius: 16px;

        scroll-snap-align: none;
    }


    .rb-detail-photo img {
        width: 100%;
        height: 100%;

        object-fit: cover;
    }


    .rb-detail-poster {
        display: none !important;
    }


    /* -----------------------------------------------------
       CTA INFERIOR
       Ya no flota como una pastilla pequeña:
       se comporta como una barra fija de app.
    ----------------------------------------------------- */

    .rb-has-mobile-ticketbar .rb-detail-main {
        padding-bottom:
            calc(
                124px
                + env(safe-area-inset-bottom)
            );
    }


    .rb-mobile-ticketbar {
        position: fixed;

        z-index: 99999;

        left: 0;
        right: 0;
        bottom: 0;

        display: flex;

        align-items: center;
        justify-content: space-between;

        gap: 12px;

        width: 100%;
        min-height: 78px;

        padding:
            10px
            14px
            calc(
                10px
                + env(safe-area-inset-bottom)
            );

        background:
            rgba(10,10,10,.98);

        border:
            0;

        border-top:
            1px solid
            rgba(255,255,255,.10);

        border-radius: 0;

        box-shadow:
            0 -12px 32px
            rgba(0,0,0,.48);

        backdrop-filter:
            blur(18px);

        -webkit-backdrop-filter:
            blur(18px);

        pointer-events: auto;
    }


    .rb-mobile-ticketbar-info {
        flex: 1 1 auto;

        min-width: 0;
    }


    .rb-mobile-ticketbar-info span {
        display: block;

        margin-bottom: 3px;

        color: #d0343a;

        font-size: 9.5px;
        line-height: 1.2;

        font-weight: 900;

        text-transform: uppercase;
        letter-spacing: .55px;
    }


    .rb-mobile-ticketbar-info strong {
        display: block;

        overflow: hidden;

        max-width: none;

        color: #fff;

        font-family:
            "Barlow Condensed",
            Arial,
            sans-serif;

        font-size: 19px;
        line-height: 1;

        font-weight: 900;

        text-transform: uppercase;

        text-overflow: ellipsis;
        white-space: nowrap;
    }


    .rb-mobile-ticketbar > a {
        flex: 0 0 auto;

        position: relative;
        z-index: 2;

        display: inline-flex;

        align-items: center;
        justify-content: center;

        gap: 8px;

        min-width: 122px;
        min-height: 54px;

        padding:
            0
            17px;

        color: #fff;

        background:
            linear-gradient(
                135deg,
                #d0343a,
                #ed4a50
            );

        border-radius: 14px;

        font-size: 10px;
        font-weight: 900;

        text-transform: uppercase;
        letter-spacing: .7px;

        box-shadow:
            0 10px 24px
            rgba(208,52,58,.30);

        pointer-events: auto;
        touch-action: manipulation;
    }


    /* Aire real al final del contenido */
    .rb-detail-local {
        margin-bottom: 18px;
    }


    .rb-detail-local-links {
        margin-bottom: 18px;
    }

}


@media (max-width: 420px) {

    .rb-mobile-ticketbar {
        gap: 9px;

        min-height: 76px;

        padding-left: 11px;
        padding-right: 11px;
    }


    .rb-mobile-ticketbar-info span {
        font-size: 9px;
    }


    .rb-mobile-ticketbar-info strong {
        font-size: 17px;
    }


    .rb-mobile-ticketbar > a {
        min-width: 108px;
        min-height: 52px;

        padding:
            0
            14px;

        font-size: 9.5px;
    }

}
