/*
 * FRECUENCIA ARTISTAS · DENSIDAD REAL · V1.0.8
 *
 * Sustituye la capa compacta v1.0.7. Corrige márgenes acumulados,
 * evita solapamientos y une el archivo editorial en una sola sección.
 */

:root{
    --compact-x:clamp(24px,4vw,72px);
    --compact-section:clamp(38px,4vw,64px);
}

/* ================================================================
   PORTADA
   ================================================================ */

.catalog-hero{
    height:clamp(590px,76svh,760px)!important;
    min-height:590px!important;
}

.catalog-intro{
    min-height:0!important;
    padding:48px var(--compact-x)!important;
    gap:30px!important;
}

.catalog-intro>div>p{
    margin-top:14px!important;
}

.catalog-directory{
    padding:42px var(--compact-x) 50px!important;
}

.filter-bar{
    margin-bottom:26px!important;
}

.directory-heading{
    margin:0 0 28px!important;
}

.rail-help{
    margin:10px 0 0!important;
}

.rail-controls{
    margin-top:12px!important;
}

.join-cta{
    min-height:320px!important;
    padding:48px var(--compact-x)!important;
}

.join-copy h2{
    margin:10px 0 14px!important;
}

.join-copy .primary-button{
    margin-top:14px!important;
}

/* ================================================================
   HERO Y MÉTRICAS DEL PERFIL
   ================================================================ */

.profile-hero{
    height:clamp(610px,78svh,790px)!important;
    min-height:610px!important;
}

.profile-hero-copy{
    bottom:86px!important;
}

.profile-intro{
    margin:14px 0 0!important;
}

.hero-actions{
    margin-top:18px!important;
}

.stats-strip>div{
    min-height:88px!important;
}

.stats-strip b{
    font-size:2.45rem!important;
}

.stats-strip span{
    margin-top:5px!important;
}

/* ================================================================
   SECCIONES: elimina la suma de padding + margen superior
   ================================================================ */

.profile-section{
    min-height:0!important;
    padding:var(--compact-section) var(--compact-x)!important;
}

.profile-section-head{
    margin:0 0 28px!important;
    align-items:flex-end!important;
}

.profile-section-head h2{
    margin-top:6px!important;
    font-size:clamp(3.2rem,5vw,5.8rem)!important;
}

.videos-section{
    padding-top:42px!important;
    padding-bottom:34px!important;
}

/* ================================================================
   TARJETAS DE VIDEO
   ================================================================ */

.video-rail{
    gap:18px!important;
}

.video-card{
    flex-basis:min(360px,86vw)!important;
}

.video-thumb{
    height:220px!important;
}

.video-body{
    padding:18px!important;
}

.video-kind{
    margin:0!important;
}

.video-body h3{
    min-height:0!important;
    margin:6px 0 8px!important;
    font-size:1.8rem!important;
    line-height:.98!important;
}

.collab-line{
    margin:6px 0!important;
}

.video-review{
    min-height:0!important;
    margin:8px 0 11px!important;
    line-height:1.45!important;
}

.video-chips{
    min-height:0!important;
}

.mini-stats{
    margin-top:11px!important;
    padding:10px 0!important;
}

.mini-stats b{
    margin-bottom:2px!important;
}

.video-actions{
    padding-top:10px!important;
}

.videos-section .rail-help{
    margin-top:10px!important;
}

.videos-section .rail-controls{
    margin-top:10px!important;
}

/* ================================================================
   IDENTIDAD
   ================================================================ */

.artist-story{
    min-height:0!important;
    padding:48px var(--compact-x)!important;
    gap:clamp(26px,3.5vw,56px)!important;
    align-items:start!important;
}

.story-main h2{
    margin:12px 0 20px!important;
    font-size:clamp(4rem,6.5vw,7.5rem)!important;
}

.bio-copy{
    line-height:1.65!important;
}

.collaborators{
    align-self:start!important;
}

.collaborators>p{
    margin:10px 0!important;
}

.collaborators a{
    min-height:64px!important;
}

/* ================================================================
   PUBLICACIONES UNIFICADAS
   ================================================================ */

.editorial-section{
    padding-top:44px!important;
    padding-bottom:50px!important;
}

.editorial-links{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:18px;
}

.editorial-links a{
    color:var(--cyan);
    font-family:var(--display);
    font-size:.56rem;
    font-weight:900;
    letter-spacing:.15em;
    text-decoration:none;
}

.editorial-grid{
    grid-template-columns:repeat(auto-fit,minmax(280px,410px))!important;
    justify-content:start!important;
    gap:20px!important;
}

.trade-card{
    grid-template-rows:auto 1fr!important;
    min-width:0!important;
}

.trade-image{
    width:100%!important;
    height:auto!important;
    aspect-ratio:16/9!important;
    padding:14px!important;
}

.trade-card>div:last-child{
    min-height:0!important;
    padding:20px!important;
}

.trade-card h3{
    margin:8px 0!important;
    font-size:1.9rem!important;
    line-height:1!important;
}

.trade-card>div>span{
    line-height:1.45!important;
}

.trade-card>div>b{
    margin-top:16px!important;
    padding-top:0!important;
}

/* ================================================================
   VIDEO DIRECTO, SPOTIFY Y ACTIVIDAD
   ================================================================ */

.direct-video{
    padding-top:42px!important;
    padding-bottom:46px!important;
}

.direct-video video{
    max-height:68vh!important;
}

.spotify-section,
.activity-section{
    padding:0 var(--compact-x)!important;
}

.spotify-section>button,
.activity-head{
    min-height:76px!important;
}

.spotify-section iframe{
    padding-bottom:22px!important;
}

.activity-list{
    padding:10px 0 24px!important;
}

/* ================================================================
   CTA Y FOOTER
   ================================================================ */

.profile-open{
    min-height:300px!important;
    padding:46px var(--compact-x)!important;
}

.profile-open h2{
    margin:10px 0 22px!important;
    font-size:clamp(4rem,7vw,7.5rem)!important;
}

footer{
    min-height:0!important;
    padding:28px var(--compact-x) 18px!important;
    gap:24px!important;
}

footer>small{
    margin-top:18px!important;
    padding-top:14px!important;
}

/* ================================================================
   RENDERIZADO INICIAL PHP
   ================================================================ */

.ssr-catalog-hero{
    min-height:0!important;
    padding:64px var(--compact-x) 44px!important;
}

.ssr-section{
    min-height:0!important;
    padding:44px var(--compact-x)!important;
}

.ssr-section-head{
    margin:0 0 28px!important;
}

.ssr-profile-hero{
    min-height:610px!important;
    padding:90px var(--compact-x) 54px!important;
}

.ssr-story{
    min-height:0!important;
    padding:48px var(--compact-x)!important;
}

.ssr-footer{
    min-height:0!important;
    padding:28px var(--compact-x)!important;
}

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

@media(max-width:980px){
    .catalog-intro,
    .artist-story{
        grid-template-columns:1fr!important;
    }

    .profile-hero{
        height:680px!important;
        min-height:680px!important;
    }

    .editorial-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
}

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

@media(max-width:720px){
    :root{
        --compact-x:18px;
        --compact-section:34px;
    }

    .catalog-hero{
        height:610px!important;
        min-height:610px!important;
    }

    .profile-hero{
        height:650px!important;
        min-height:650px!important;
    }

    .profile-hero-copy{
        bottom:92px!important;
    }

    .stats-strip>div{
        min-height:76px!important;
    }

    .profile-section{
        padding-top:34px!important;
        padding-bottom:38px!important;
    }

    .profile-section-head{
        margin-bottom:22px!important;
    }

    .profile-section-head h2{
        font-size:3.35rem!important;
    }

    .video-thumb{
        height:210px!important;
    }

    .video-body h3{
        font-size:1.7rem!important;
    }

    .artist-story{
        padding:38px 18px!important;
        gap:24px!important;
    }

    .story-main h2{
        font-size:4.2rem!important;
    }

    .editorial-grid{
        display:grid!important;
        grid-template-columns:1fr!important;
        overflow:visible!important;
    }

    .trade-card{
        width:100%!important;
        flex:none!important;
    }

    .trade-image{
        aspect-ratio:16/9!important;
    }

    .editorial-links{
        justify-content:flex-start;
        margin-top:12px;
    }

    .spotify-section>button,
    .activity-head{
        min-height:70px!important;
    }

    .profile-open{
        min-height:260px!important;
        padding:40px 18px!important;
    }

    .profile-open h2{
        font-size:4.4rem!important;
    }

    footer{
        padding:26px 18px 18px!important;
    }
}
/* FVB ARTISTAS SPOTIFY AMPLIO 20260806
   El embed ocupa todo el ancho y una altura suficiente para mostrar más canciones. */
.spotify-section {
    overflow: visible !important;
}
.spotify-section iframe {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 520px !important;
    min-height: 520px !important;
    margin: 0 0 24px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: #181818 !important;
}

@media (max-width: 720px) {
    .spotify-section iframe {
        width: 100% !important;
        height: 500px !important;
        min-height: 500px !important;
        margin-bottom: 20px !important;
        border-radius: 12px !important;
    }
}
/* FVB ARTISTAS SPOTIFY AMPLIO V2 20260806 */
.spotify-section{
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
    padding-bottom:26px!important;
}
.spotify-section iframe{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    height:620px!important;
    min-height:620px!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:16px!important;
}
@media(max-width:720px){
    .spotify-section iframe{
        height:560px!important;
        min-height:560px!important;
        border-radius:14px!important;
    }
}
/* FVB SPOTIFY ARTISTAS AMPLIO V5 */
.spotify-section,.spotify-embed,.spotify-player,.spotify-frame{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}
.spotify-section iframe,.spotify-embed iframe,.spotify-player iframe,iframe[src*="open.spotify.com/embed/artist"]{display:block!important;width:100%!important;max-width:none!important;height:620px!important;min-height:620px!important;max-height:none!important;border:0!important}
@media(max-width:720px){.spotify-section iframe,.spotify-embed iframe,.spotify-player iframe,iframe[src*="open.spotify.com/embed/artist"]{height:560px!important;min-height:560px!important}}
