/* =====================================================
   MULTIMEDIA — noticias, galería, música y documentos
   Prefijos: .nt- (noticias) .gl- (galería) .mu- (música) .dc- (documentos)
   ===================================================== */

/* ---------- Piezas comunes de cabecera ---------- */
.nt-hero-datos,
.gl-hero-datos,
.dc-hero-datos {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem 2.5rem;
    margin-top: 2rem;
}
.nt-hero-dato,
.gl-hero-dato,
.dc-hero-dato {
    padding-left: 1rem;
    border-left: 1px solid rgba(255,255,255,.2);
    font-family: var(--fuente-mono);
    font-size: .72rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255,255,255,.6);
}
.nt-hero-dato strong,
.gl-hero-dato strong,
.dc-hero-dato strong {
    font-weight: 500;
    color: var(--oro);
}
.nt-volver,
.gl-volver {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    margin-bottom: 1.6rem;
    font-family: var(--fuente-mono);
    font-size: .72rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: rgba(255,255,255,.7);
    text-decoration: none;
    transition: color .2s, gap .3s var(--ease-out);
}
.nt-volver:hover,
.gl-volver:hover { color: var(--oro); gap: .7rem; }

.nt-vacio, .gl-vacio, .dc-vacio {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .9rem;
    padding: 3rem 0;
    color: var(--texto-med);
    text-align: center;
}
.nt-vacio .ti, .gl-vacio .ti, .dc-vacio .ti { font-size: 2.6rem; color: var(--teja); }

/* =====================================================
   NOTICIAS — listado tipo revista
   ===================================================== */
.nt-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .4rem .9rem;
    font-family: var(--fuente-mono);
    font-size: .7rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--texto-suave);
}
.nt-fuente {
    font-family: var(--fuente-mono);
    font-size: .64rem;
    font-weight: 500;
    letter-spacing: .06em;
    text-transform: none;
    align-self: center;
}
.nt-fuente .ti { font-size: .9rem; }
.nt-leer {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    align-self: flex-start;
    font-weight: 600;
    font-size: .92rem;
    color: var(--texto);
    padding-bottom: .15rem;
    background: linear-gradient(var(--teja), var(--teja)) 0 100%/0% 1.5px no-repeat;
    transition: color .2s, gap .3s var(--ease-out), background-size .45s var(--ease-out);
}

/* Destacada */
.nt-destacada {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: clamp(2rem, 4vw, 4rem);
    align-items: center;
    color: inherit;
    text-decoration: none;
}
.nt-dest-img {
    position: relative;
    aspect-ratio: 4 / 3;
    border-radius: var(--radio-xl);
    overflow: hidden;
    background: var(--crema-med);
    box-shadow: 0 40px 70px -40px rgba(22,28,25,.55);
}
.nt-dest-img img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 1.2s var(--ease-out);
}
.nt-destacada:hover .nt-dest-img img { transform: scale(1.04); }
.nt-dest-sello {
    position: absolute;
    top: 1.1rem; left: 1.1rem;
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .35rem .8rem;
    border-radius: 100px;
    background: var(--teja);
    color: #fff;
    font-family: var(--fuente-mono);
    font-size: .64rem;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.nt-dest-sello::before {
    content: '';
    width: 6px; height: 6px;
    border-radius: 50%;
    background: #fff;
    animation: nt-latido 1.6s ease-in-out infinite;
}
@keyframes nt-latido { 50% { opacity: .25; } }
.nt-dest-texto { display: flex; flex-direction: column; gap: 1.1rem; }
.nt-destacada h2 {
    font-size: clamp(2rem, 3.6vw, 3.2rem);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -0.025em;
    color: var(--texto);
    text-wrap: balance;
    transition: color .25s;
}
.nt-destacada:hover h2 { color: var(--teja); }
.nt-dest-resumen {
    font-size: 1.1rem;
    line-height: 1.65;
    color: var(--texto-med);
    max-width: 46ch;
}
.nt-destacada:hover .nt-leer,
.nt-card:hover .nt-leer { color: var(--teja); gap: .7rem; background-size: 100% 1.5px; }

/* Rejilla editorial */
.nt-rejilla-cab {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 1rem;
    margin-top: clamp(3.5rem, 7vw, 5.5rem);
    padding-bottom: .9rem;
    border-bottom: 2px solid var(--texto);
}
.nt-rejilla-cab .section-label { margin: 0; }
.nt-rejilla-cuenta {
    font-family: var(--fuente-mono);
    font-size: .72rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--texto-suave);
}
.nt-rejilla {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 clamp(1.5rem, 3vw, 2.5rem);
}
.nt-rejilla > .nt-card {
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.nt-seccion .nt-rejilla > .nt-card + .nt-card { position: relative; }
.nt-card {
    display: flex;
    flex-direction: column;
    gap: .75rem;
    color: inherit;
    text-decoration: none;
    min-width: 0;
}
.nt-card-img {
    position: relative;
    aspect-ratio: 3 / 2;
    border-radius: var(--radio-lg);
    overflow: hidden;
    background: var(--crema-med);
    margin-bottom: .4rem;
}
.nt-card-img img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .9s var(--ease-out);
}
.nt-card:hover .nt-card-img img { transform: scale(1.06); }
.nt-card-img--vacia {
    display: grid;
    place-items: center;
    color: var(--crema);
    background:
        radial-gradient(120% 80% at 100% 0%, rgba(180,71,43,.45), transparent 60%),
        radial-gradient(90% 70% at 0% 100%, rgba(217,161,59,.18), transparent 65%),
        var(--tinta);
}
.nt-card-img--vacia .ti { font-size: 2.6rem; opacity: .5; }
.nt-card-num {
    font-family: var(--fuente-display);
    font-style: italic;
    font-weight: 300;
    font-size: 5.5rem;
    line-height: 1;
    letter-spacing: -0.05em;
    color: var(--oro);
    transition: transform .6s var(--ease-out);
}
.nt-card:hover .nt-card-num { transform: scale(1.08) rotate(-4deg); }
.nt-fuente-img { font-family: var(--fuente-mono); font-weight: 500; font-size: .62rem; letter-spacing: .04em; }
.nt-card h3 {
    font-family: var(--fuente-display);
    font-size: 1.45rem;
    font-weight: 500;
    line-height: 1.15;
    letter-spacing: -0.015em;
    color: var(--texto);
    text-wrap: balance;
    transition: color .25s;
}
.nt-card:hover h3 { color: var(--teja); }
.nt-card-resumen {
    font-size: .95rem;
    line-height: 1.6;
    color: var(--texto-med);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}
.nt-rejilla--3 > .nt-card { padding: 0; }

/* =====================================================
   NOTICIAS — artículo
   ===================================================== */
.nt-hero--art h1 {
    max-width: 22ch;
    font-size: clamp(2.2rem, 5.2vw, 4.2rem);
}
.nt-hero-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .6rem 1.6rem;
    margin-top: 1.8rem;
    font-family: var(--fuente-mono);
    font-size: .72rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: rgba(255,255,255,.65);
}
.nt-hero-meta > span { display: inline-flex; align-items: center; gap: .4rem; }
.nt-hero-meta .ti { color: var(--oro); font-size: .95rem; }
.nt-fuente--osc {
    color: var(--crema);
    background: rgba(255,255,255,.08);
    border-color: rgba(255,255,255,.22);
}
a.nt-fuente--osc:hover { background: rgba(255,255,255,.16); }
.nt-fuente--osc .ti { color: var(--oro); }

.nt-articulo { padding: clamp(2.5rem, 6vw, 4.5rem) 0 clamp(4rem, 8vw, 6rem); }
.nt-art-foto { margin: 0 auto clamp(2.5rem, 5vw, 4rem); max-width: 1180px; }
.nt-art-foto img {
    display: block;
    width: 100%;
    max-height: 620px;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border-radius: var(--radio-xl);
    box-shadow: 0 40px 80px -45px rgba(22,28,25,.6);
}
.nt-art-foto figcaption {
    margin-top: .8rem;
    font-family: var(--fuente-mono);
    font-size: .68rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--texto-suave);
    text-align: right;
}
.nt-art-foto figcaption a { color: var(--teja); text-decoration: none; }
.nt-art-foto figcaption a:hover { text-decoration: underline; }

.nt-art-cuerpo { max-width: calc(700px + 2 * clamp(1rem, 3vw, 2rem)); }
.nt-entradilla {
    font-family: var(--fuente-display);
    font-size: clamp(1.35rem, 2.4vw, 1.65rem);
    font-weight: 400;
    line-height: 1.45;
    letter-spacing: -0.01em;
    color: var(--texto);
    padding-bottom: 1.8rem;
    margin-bottom: 2rem;
    border-bottom: 1px solid var(--borde);
}
.nt-texto {
    font-size: 1.14rem;
    line-height: 1.85;
    color: var(--texto-med);
}
.nt-texto > p { margin: 0 0 1.35em; }
.nt-texto::after { content: ''; display: block; clear: both; }
.nt-texto > p:first-child::first-letter {
    float: left;
    font-family: var(--fuente-display);
    font-size: 4.6em;
    font-weight: 400;
    line-height: .82;
    margin: .08em .12em 0 -.02em;
    color: var(--teja);
}
.nt-texto h2, .nt-texto h3 {
    font-family: var(--fuente-display);
    color: var(--texto);
    line-height: 1.15;
    letter-spacing: -0.015em;
    margin: 2.2em 0 .7em;
}
.nt-texto h2 { font-size: 1.9rem; font-weight: 500; }
.nt-texto h3 { font-size: 1.45rem; font-weight: 500; }
.nt-texto ul, .nt-texto ol { margin: 0 0 1.35em 1.3em; }
.nt-texto li { margin-bottom: .45em; padding-left: .3em; }
.nt-texto li::marker { color: var(--teja); }
.nt-texto a { color: var(--teja); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.nt-texto img { max-width: 100%; height: auto; border-radius: var(--radio-lg); margin: 1em 0; }
.nt-texto blockquote {
    margin: 2em 0;
    padding: .3em 0 .3em 1.5em;
    border-left: 3px solid var(--teja);
    font-family: var(--fuente-display);
    font-style: italic;
    font-size: 1.45rem;
    line-height: 1.45;
    color: var(--texto);
}
.nt-texto blockquote p { margin: 0; }
.nt-art-pie {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 3rem;
    padding-top: 1.4rem;
    border-top: 2px solid var(--texto);
}
.nt-art-firma {
    font-family: var(--fuente-mono);
    font-size: .7rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--texto-suave);
}

/* =====================================================
   GALERÍA
   ===================================================== */
.gl-aviso-ok {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    font-size: .95rem;
    padding: 1rem 1.25rem;
    margin-bottom: 2rem;
    border-radius: var(--radio-lg);
}
.gl-aviso-ok .ti { font-size: 1.4rem; flex-shrink: 0; margin-top: .05rem; }

.gl-barra {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--borde);
}
.gl-barra-etq { margin: 0; }
.gl-vista {
    display: inline-flex;
    padding: 4px;
    border-radius: 100px;
    background: var(--crema);
    border: 1px solid var(--borde);
}
.gl-vista-btn {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    padding: .55rem 1.1rem;
    border-radius: 100px;
    font-size: .88rem;
    font-weight: 600;
    color: var(--texto-med);
    text-decoration: none;
    white-space: nowrap;
    transition: background .25s, color .25s;
}
.gl-vista-btn:hover { color: var(--teja); }
.gl-vista-btn.active {
    background: var(--tinta);
    color: #fff;
    box-shadow: 0 8px 18px -10px rgba(22,28,25,.8);
}
.gl-vista-btn.active .ti { color: var(--oro); }
.gl-barra #btn-enviar-foto {
    padding: .75rem 1.35rem;
    border-radius: 100px;
    background: var(--teja);
    font-size: .9rem;
    box-shadow: 0 12px 26px -14px rgba(180,71,43,.9);
    transition: background .25s, transform .3s var(--ease-out);
}
.gl-barra #btn-enviar-foto:hover { background: var(--teja-osc); transform: translateY(-2px); }

/* Mosaico de álbumes */
.gl-mosaico {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: clamp(190px, 17vw, 250px);
    grid-auto-flow: dense;
    gap: clamp(.6rem, 1.2vw, 1rem);
}
.gl-album {
    position: relative;
    isolation: isolate;
    display: block;
    overflow: hidden;
    border-radius: var(--radio-lg);
    background: var(--tinta);
    color: #fff;
    text-decoration: none;
}
.gl-album:nth-child(6n+1) { grid-column: span 2; grid-row: span 2; }
.gl-album:nth-child(6n+2) { grid-column: span 2; }
.gl-album:nth-child(6n+5) { grid-row: span 2; }
.gl-album:only-child { grid-column: 1 / -1; }
.gl-album img, .gl-album-sin {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 1.1s var(--ease-out), filter .6s;
}
.gl-album-sin { display: grid; place-items: center; font-size: 3rem; color: rgba(255,255,255,.3); background: var(--pizarra); }
.gl-album::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(to top, rgba(22,28,25,.94) 0%, rgba(22,28,25,.6) 35%, rgba(22,28,25,.05) 75%);
    transition: background .5s;
}
.gl-album:hover img { transform: scale(1.06); }
.gl-album:hover::after { background: linear-gradient(to top, rgba(22,28,25,.95) 0%, rgba(142,53,32,.4) 60%, rgba(22,28,25,.1) 100%); }
.gl-album-cuenta {
    position: absolute;
    top: 1rem; right: 1rem;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .3rem .7rem;
    border-radius: 100px;
    background: rgba(22,28,25,.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    font-family: var(--fuente-mono);
    font-size: .7rem;
    letter-spacing: .06em;
}
.gl-album-info {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    display: flex;
    flex-direction: column;
    gap: .3rem;
    padding: clamp(1rem, 2vw, 1.6rem);
    text-shadow: 0 1px 12px rgba(0,0,0,.45);
}
.gl-album-fecha {
    font-family: var(--fuente-mono);
    font-size: .66rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--oro);
}
.gl-album-tit {
    font-family: var(--fuente-display);
    font-size: 1.5rem;
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.015em;
    text-wrap: balance;
}
.gl-album:nth-child(6n+1) .gl-album-tit { font-size: clamp(1.8rem, 3vw, 2.8rem); font-weight: 400; }
.gl-album-desc {
    font-size: .88rem;
    line-height: 1.45;
    color: rgba(255,255,255,.75);
    max-width: 40ch;
}
.gl-album-ver {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    margin-top: .35rem;
    font-size: .82rem;
    font-weight: 600;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height .45s var(--ease-out), opacity .3s;
}
.gl-album:hover .gl-album-ver,
.gl-album:focus-visible .gl-album-ver { max-height: 2rem; opacity: 1; }
.gl-album--sin::before {
    content: '';
    position: absolute;
    top: 0; left: 1.25rem; right: 1.25rem;
    height: 4px;
    border-radius: 0 0 4px 4px;
    background: linear-gradient(to right, var(--pendon-rojo) 0 33.33%, var(--pendon-verde) 33.33% 66.66%, var(--pendon-oro) 66.66%);
}

/* Fotos de un álbum: mosaico */
.gl-seccion .gl-fotos {
    columns: auto;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    grid-auto-rows: clamp(170px, 15vw, 230px);
    grid-auto-flow: dense;
    gap: clamp(.5rem, 1vw, .85rem);
}
.gl-seccion .gl-foto {
    margin: 0;
    border-radius: var(--radio-lg);
    background: var(--crema-med);
    grid-column: var(--c4, auto);
    grid-row: var(--r4, auto);
}
.gl-seccion .gl-foto img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform 1s var(--ease-out);
}
.gl-seccion .gl-foto:hover img { transform: scale(1.05); }
.gl-seccion .gl-foto .galeria-thumb-overlay {
    align-items: flex-end;
    gap: .6rem;
    padding: 1rem;
    background: linear-gradient(to top, rgba(22,28,25,.75), rgba(22,28,25,0) 55%);
    opacity: 0;
    transition: opacity .35s;
}
.gl-seccion .gl-foto:hover .galeria-thumb-overlay,
.gl-seccion .gl-foto:focus-visible .galeria-thumb-overlay { opacity: 1; background: linear-gradient(to top, rgba(22,28,25,.75), rgba(22,28,25,0) 55%); }
.gl-seccion .gl-foto .galeria-thumb-overlay span { opacity: 1; }
.gl-foto-n {
    font-family: var(--fuente-mono);
    font-size: .68rem !important;
    letter-spacing: .12em;
    color: var(--oro) !important;
}
.gl-foto-pie { flex: 1; min-width: 0; font-size: .88rem !important; line-height: 1.35; }
.gl-foto-zoom {
    position: absolute;
    top: .8rem; right: .8rem;
    display: grid;
    place-items: center;
    width: 36px; height: 36px;
    border-radius: 50%;
    background: rgba(251,248,242,.92);
    color: var(--tinta);
    font-size: 1rem;
    transform: scale(.7);
    transition: transform .4s var(--ease-out);
}
.gl-foto:hover .gl-foto-zoom { transform: none; }
.gl-foto:focus-visible { outline: 3px solid var(--teja); outline-offset: 3px; }

/* Lightbox de la galería */
.gl-lightbox.open.visible { background: rgba(22,28,25,.94); }
.gl-lightbox .lightbox-img { border-radius: var(--radio); box-shadow: 0 40px 90px -30px rgba(0,0,0,.8); max-height: 80vh; }
.gl-lightbox .lightbox-close,
.gl-lightbox .lightbox-nav {
    background: transparent;
    border: 1px solid rgba(243,237,226,.25);
    color: var(--crema);
    font-size: 1.3rem;
    transition: background .25s, border-color .25s;
}
.gl-lightbox .lightbox-close:hover,
.gl-lightbox .lightbox-nav:hover { background: var(--teja); border-color: var(--teja); }
.gl-lightbox .lightbox-close { top: 1.25rem; right: 1.25rem; }
.gl-lightbox .lightbox-prev { left: 1.5rem; }
.gl-lightbox .lightbox-next { right: 1.5rem; }
.gl-lightbox .lightbox-caption {
    bottom: 1.4rem;
    font-family: var(--fuente-display);
    font-style: italic;
    font-size: 1.2rem;
    color: var(--crema);
}

/* Panorámicas */
.gl-panos {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(.75rem, 1.5vw, 1.25rem);
}
.gl-pano {
    position: relative;
    isolation: isolate;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: var(--radio-xl);
    background: var(--tinta);
    color: #fff;
    cursor: pointer;
}
.gl-pano:first-child { grid-column: 1 / -1; aspect-ratio: 21 / 8; }
.gl-pano img {
    position: absolute;
    inset: 0;
    z-index: -2;
    width: 100%; height: 100%;
    object-fit: cover;
    transform: scale(1.08);
    transition: transform 6s linear, object-position 6s linear;
    object-position: 0% 50%;
}
.gl-pano:hover img { object-position: 100% 50%; }
.gl-pano::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(to top, rgba(22,28,25,.9), rgba(22,28,25,.15) 55%, rgba(22,28,25,.25));
}
.gl-pano:focus-visible { outline: 3px solid var(--teja); outline-offset: 3px; }
.gl-seccion .gl-pano-badge {
    top: 1.1rem; left: 1.1rem; right: auto;
    padding: .35rem .8rem;
    background: var(--oro);
    color: var(--tinta);
    font-family: var(--fuente-mono);
    font-size: .68rem;
    font-weight: 600;
    letter-spacing: .12em;
}
.gl-pano-play {
    position: absolute;
    top: 50%; left: 50%;
    display: grid;
    place-items: center;
    width: 76px; height: 76px;
    margin: -38px 0 0 -38px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.45);
    background: rgba(22,28,25,.35);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    font-size: 2rem;
    transition: transform .5s var(--ease-out), background .3s;
}
.gl-pano:hover .gl-pano-play { transform: scale(1.12); background: var(--teja); border-color: var(--teja); }
.gl-pano-info {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: .5rem 1.5rem;
    padding: clamp(1rem, 2.4vw, 1.8rem);
}
.gl-pano-info h3 {
    font-family: var(--fuente-display);
    font-size: clamp(1.35rem, 2.4vw, 2rem);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -0.015em;
}
.gl-pano:first-child .gl-pano-info h3 { font-size: clamp(1.6rem, 3.6vw, 3rem); }
.gl-pano-accion {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    font-family: var(--fuente-mono);
    font-size: .7rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--oro);
}

/* Visor de panorámicas */
#panorama-viewer-top {
    background: var(--tinta);
    border-bottom: 1px solid rgba(255,255,255,.08);
    font-family: var(--fuente-display);
    font-size: 1.2rem;
    font-weight: 400;
}
.gl-visor-btns { display: flex; gap: .5rem; }
#panorama-viewer-top button { border: 1px solid rgba(255,255,255,.2); background: transparent; }
#panorama-viewer-top button:hover { background: var(--teja); border-color: var(--teja); }

/* Modal de envío */
#modal-foto { background: rgba(22,28,25,.6); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
#modal-foto #modal-foto-box {
    position: relative;
    background: var(--papel);
    border-radius: var(--radio-xl);
    padding: clamp(1.4rem, 3vw, 2.2rem);
    box-shadow: 0 50px 100px -40px rgba(0,0,0,.6);
}
#modal-foto #modal-foto-box::before {
    content: '';
    position: absolute;
    top: 0; left: 2rem; right: 2rem;
    height: 4px;
    border-radius: 0 0 4px 4px;
    background: linear-gradient(to right, var(--pendon-rojo) 0 33.33%, var(--pendon-verde) 33.33% 66.66%, var(--pendon-oro) 66.66%);
}
.gl-modal-cab {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1.1rem;
    border-bottom: 1px solid var(--borde);
}
.gl-modal-etq {
    display: block;
    font-family: var(--fuente-mono);
    font-size: .68rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--teja);
    margin-bottom: .4rem;
}
#modal-foto-titulo {
    font-family: var(--fuente-display);
    font-size: 1.75rem;
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin: 0;
}
#modal-foto-titulo em { color: var(--teja); font-style: italic; }
.gl-modal-cerrar {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 38px; height: 38px;
    border-radius: 50%;
    border: 1px solid var(--borde);
    background: transparent;
    color: var(--texto-med);
    font-size: 1.1rem;
    cursor: pointer;
    transition: background .2s, color .2s, border-color .2s;
}
.gl-modal-cerrar:hover { background: var(--tinta); border-color: var(--tinta); color: #fff; }
.gl-oblig { color: var(--teja); }
.gl-modal-dos { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.gl-modal-acciones { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin-top: .5rem; }
#galeria-btn-enviar:disabled { opacity: .45; cursor: not-allowed; transform: none; }
#galeria-preview-count { font-size: .78rem; color: var(--texto-suave); margin-top: .5rem; font-family: var(--fuente-mono); }

/* Spinner en botón de envío */
@keyframes spin { to { transform: rotate(360deg); } }
.spinner-btn {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255,255,255,.4);
    border-top-color: #fff;
    border-radius: 50%;
    animation: spin .7s linear infinite;
    vertical-align: middle;
    margin-right: .3rem;
}

/* Toggle álbum existente / nuevo */
#modal-foto .album-toggle {
    display: inline-flex;
    padding: 3px;
    border: 1px solid var(--borde);
    border-radius: 100px;
    background: var(--crema);
}
#modal-foto .album-toggle-btn {
    font-family: var(--fuente-ui);
    font-size: .8rem;
    font-weight: 600;
    padding: .4rem .95rem;
    background: transparent;
    border: none;
    border-radius: 100px;
    cursor: pointer;
    color: var(--texto-med);
    transition: background .2s, color .2s;
    white-space: nowrap;
}
#modal-foto .album-toggle-btn.active { background: var(--verde); color: #fff; }

#galeria-drop-zone {
    border: 1.5px dashed var(--piedra);
    border-radius: var(--radio-lg);
    padding: 2rem 1rem;
    text-align: center;
    cursor: pointer;
    transition: border-color .2s, background .2s;
    background: var(--blanco);
    user-select: none;
}
#galeria-drop-zone:hover,
#galeria-drop-zone.drag-over { border-color: var(--teja); background: var(--teja-claro); }
#galeria-drop-zone.drag-over { border-style: solid; }
#galeria-drop-icon {
    font-size: 2.2rem;
    color: var(--teja);
    display: block;
    margin-bottom: .5rem;
    transition: transform .3s var(--ease-out);
}
#galeria-drop-zone:hover #galeria-drop-icon,
#galeria-drop-zone.drag-over #galeria-drop-icon { transform: translateY(-4px); }
#galeria-drop-text-main {
    font-family: var(--fuente-display);
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--texto);
    margin: 0 0 .25rem;
}
#galeria-drop-text-sub {
    font-size: .78rem;
    color: var(--texto-suave);
    margin: 0;
    font-family: var(--fuente-ui);
}
#galeria-preview-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    gap: .4rem;
}
#galeria-preview-grid .prev-thumb {
    aspect-ratio: 1;
    border-radius: var(--radio);
    overflow: hidden;
    position: relative;
    background: var(--crema-med);
}
#galeria-preview-grid .prev-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
#galeria-preview-grid .prev-thumb button {
    position: absolute;
    top: 3px; right: 3px;
    width: 20px; height: 20px;
    border-radius: 50%;
    border: none;
    background: rgba(0,0,0,.55);
    color: #fff;
    font-size: .75rem;
    line-height: 1;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    padding: 0;
    transition: background .12s;
}
#galeria-preview-grid .prev-thumb button:hover { background: var(--teja); }

/* =====================================================
   MÚSICA — "Sonidos del Valle" como un disco
   ===================================================== */
.mu-hero { padding-bottom: clamp(3.5rem, 7vw, 5.5rem); }
.mu-hero::before {
    background: var(--mu-portada) center/cover no-repeat;
    opacity: .5;
    filter: blur(40px) saturate(1.2);
    transform: scale(1.2);
}
.mu-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: clamp(2.5rem, 6vw, 6rem);
    align-items: center;
}
.mu-disco {
    position: relative;
    width: min(100%, 440px);
    aspect-ratio: 1;
    margin-right: 18%;
}
.mu-cubierta {
    position: relative;
    z-index: 2;
    display: block;
    width: 100%; height: 100%;
    object-fit: cover;
    border-radius: 6px;
    box-shadow: 0 50px 80px -30px rgba(0,0,0,.8), 0 0 0 1px rgba(255,255,255,.06);
}
.mu-vinilo {
    position: absolute;
    z-index: 1;
    top: 3%; left: 3%;
    width: 94%; height: 94%;
    border-radius: 50%;
    background:
        radial-gradient(circle, transparent 0 17%, rgba(255,255,255,.05) 17.5% 18%, transparent 18.5%),
        repeating-radial-gradient(circle, #0c0f0d 0 2px, #1b201d 2.5px 3px),
        #111;
    box-shadow: 0 30px 60px -20px rgba(0,0,0,.9), 0 0 0 1px rgba(255,255,255,.1);
    translate: 20% 0;
    transition: translate 1s var(--ease-out);
    animation: mu-girar 6s linear infinite;
    animation-play-state: paused;
}
.mu-vinilo::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: conic-gradient(from 30deg, transparent 0 20%, rgba(255,255,255,.08) 25%, transparent 30% 70%, rgba(255,255,255,.06) 75%, transparent 80%);
}
.mu-vinilo-centro {
    position: absolute;
    inset: 33%;
    border-radius: 50%;
    background: var(--teja) center/cover;
    box-shadow: 0 0 0 3px #0c0f0d;
}
.mu-vinilo-centro::after {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    width: 10%; height: 10%;
    margin: -5% 0 0 -5%;
    border-radius: 50%;
    background: var(--tinta);
}
.mu-hero:hover .mu-vinilo { translate: 25% 0; }
.mu-hero.sonando .mu-vinilo { translate: 30% 0; animation-play-state: running; }
@keyframes mu-girar { to { rotate: 360deg; } }

.mu-hero-info { min-width: 0; }
.mu-tipo {
    font-family: var(--fuente-mono);
    font-size: .72rem !important;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--oro) !important;
    margin: 0 0 1rem !important;
}
.mu-hero h1 { font-size: clamp(2.8rem, 7vw, 6rem); }
.mu-hero h1::before { display: none; }
.mu-artista { font-size: 1.2rem !important; color: #fff !important; }
.mu-artista strong { font-weight: 600; }
.mu-desc { margin-top: .4rem !important; font-size: 1rem !important; }
.mu-acciones { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }

/* Lista de pistas */
.mu-seccion { padding-top: clamp(2.5rem, 5vw, 4rem); }
.mu-seccion .container { max-width: 1040px; }
.mu-cab {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 1rem;
    padding: 0 1rem .9rem;
    border-bottom: 2px solid var(--texto);
}
.mu-cab .section-label { margin: 0; }
.mu-cab-col { width: 104px; text-align: left; color: var(--texto-suave); }
.mu-pistas { list-style: none; }
.mu-pista {
    position: relative;
    display: grid;
    grid-template-columns: 2.6rem 56px minmax(0, 1fr) 3.5rem 44px;
    align-items: center;
    gap: 1rem 1.25rem;
    padding: .8rem 1rem;
    border-bottom: 1px solid var(--borde);
    border-radius: var(--radio);
    cursor: pointer;
    transition: background .3s;
}
.mu-pista:hover { background: var(--crema); }
.mu-pista.reproduciendo, .mu-pista.pausada { background: var(--teja-claro); }
.mu-num {
    position: relative;
    font-family: var(--fuente-mono);
    font-size: .85rem;
    color: var(--texto-suave);
    font-variant-numeric: tabular-nums;
}
.mu-pista .mu-mini {
    width: 56px; height: 56px;
    aspect-ratio: auto;
}
.mu-pista .mus-portada {
    display: block;
    width: 100%; height: 100%;
    object-fit: cover;
    border-radius: 6px;
    box-shadow: 0 6px 14px -6px rgba(22,28,25,.5);
    transition: border-radius .4s var(--ease-out);
}
.mu-pista.reproduciendo .mus-portada,
.mu-pista.pausada .mus-portada {
    border-radius: 50%;
    animation: mus-girar 3.5s linear infinite;
}
.mu-pista.pausada .mus-portada { animation-play-state: paused; }
@keyframes mus-girar { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.mu-titulo {
    font-family: var(--fuente-display);
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--texto);
    transition: color .2s;
}
.mu-pista:hover .mu-titulo,
.mu-pista.reproduciendo .mu-titulo,
.mu-pista.pausada .mu-titulo { color: var(--teja); }
.mu-autor { font-size: .82rem; color: var(--texto-suave); }
.mu-aviso { font-size: .75rem; color: var(--teja-osc); margin-top: .2rem; display: none; font-weight: 600; }
.mu-dur {
    font-family: var(--fuente-mono);
    font-size: .8rem;
    color: var(--texto-suave);
    font-variant-numeric: tabular-nums;
    text-align: right;
}
.mu-play {
    display: grid;
    place-items: center;
    width: 44px; height: 44px;
    border-radius: 50%;
    border: 1px solid var(--borde);
    background: var(--blanco);
    color: var(--texto);
    font-size: 1.05rem;
    cursor: pointer;
    transition: background .25s, color .25s, border-color .25s, transform .3s var(--ease-out);
}
.mu-pista:hover .mu-play { background: var(--tinta); border-color: var(--tinta); color: #fff; }
.mu-pista.reproduciendo .mu-play,
.mu-pista.pausada .mu-play { background: var(--teja); border-color: var(--teja); color: #fff; }
.mu-play:active { transform: scale(.92); }
.mu-play:focus-visible { outline: 2px solid var(--teja); outline-offset: 3px; }

/* Ecualizador junto al número de la pista que suena */
.mu-eq {
    position: absolute;
    left: 0; top: 50%;
    display: none;
    align-items: flex-end;
    gap: 2px;
    height: 14px;
    transform: translateY(-50%);
}
.mu-eq i { width: 3px; height: 100%; border-radius: 2px; background: var(--teja); animation: mu-eq 0.9s ease-in-out infinite; transform-origin: bottom; }
.mu-eq i:nth-child(2) { animation-delay: -.3s; }
.mu-eq i:nth-child(3) { animation-delay: -.6s; }
@keyframes mu-eq { 0%, 100% { transform: scaleY(.3); } 50% { transform: scaleY(1); } }
.mu-pista.reproduciendo .mu-num-n, .mu-pista.pausada .mu-num-n { visibility: hidden; }
.mu-pista.reproduciendo .mu-eq, .mu-pista.pausada .mu-eq { display: flex; }
.mu-pista.pausada .mu-eq i { animation-play-state: paused; }

/* Barra "sonando ahora" */
.mu-barra {
    position: sticky;
    bottom: 1rem;
    z-index: 40;
    display: grid;
    grid-template-columns: 52px minmax(0, 1.2fr) auto minmax(0, 2fr);
    align-items: center;
    gap: 1rem 1.4rem;
    margin-top: 2rem;
    padding: .8rem 1.4rem .8rem .8rem;
    border-radius: var(--radio-lg);
    color: var(--crema);
    background:
        radial-gradient(120% 140% at 100% 0%, rgba(180,71,43,.35), transparent 60%),
        var(--tinta);
    box-shadow: 0 30px 60px -25px rgba(22,28,25,.8);
    animation: mu-entra .5s var(--ease-out);
}
.mu-barra[hidden] { display: none; }
@keyframes mu-entra { from { opacity: 0; transform: translateY(16px); } }
.mu-barra-img { width: 52px; height: 52px; border-radius: 8px; object-fit: cover; display: block; }
.mu-barra-info { display: flex; flex-direction: column; min-width: 0; line-height: 1.2; }
.mu-barra-etq {
    font-family: var(--fuente-mono);
    font-size: .62rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--oro);
}
.mu-barra-tit {
    font-family: var(--fuente-display);
    font-size: 1.15rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.mu-barra-ctrl { display: flex; align-items: center; gap: .4rem; }
.mu-barra-btn {
    display: grid;
    place-items: center;
    width: 38px; height: 38px;
    border-radius: 50%;
    border: 1px solid rgba(243,237,226,.2);
    background: transparent;
    color: var(--crema);
    font-size: 1rem;
    cursor: pointer;
    transition: background .2s, border-color .2s;
}
.mu-barra-btn:hover { background: rgba(243,237,226,.12); }
.mu-barra-play { width: 46px; height: 46px; background: var(--teja); border-color: var(--teja); font-size: 1.15rem; }
.mu-barra-play:hover { background: #CF5A3A; }
.mu-barra-progreso {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .75rem;
    font-family: var(--fuente-mono);
    font-size: .72rem;
    color: rgba(243,237,226,.65);
    font-variant-numeric: tabular-nums;
}
#mu-seek {
    --prog: 0%;
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 4px;
    border-radius: 4px;
    background: linear-gradient(to right, var(--oro) var(--prog), rgba(243,237,226,.18) var(--prog));
    cursor: pointer;
}
#mu-seek::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 14px; height: 14px;
    border-radius: 50%;
    background: var(--crema);
    border: 0;
}
#mu-seek::-moz-range-thumb { width: 14px; height: 14px; border-radius: 50%; background: var(--crema); border: 0; }
#mu-seek:focus-visible { outline: 2px solid var(--oro); outline-offset: 4px; }
.mu-vacio { color: var(--texto-suave); }

/* =====================================================
   DOCUMENTOS
   ===================================================== */
.dc-layout {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: start;
}
.dc-indice {
    position: sticky;
    top: calc(var(--header-h) + 1.5rem);
    padding: 1.5rem 1.25rem 1.25rem;
    border-radius: var(--radio-xl);
    color: var(--crema);
    background:
        radial-gradient(120% 70% at 100% 0%, rgba(180,71,43,.32), transparent 60%),
        var(--tinta);
    overflow: hidden;
}
.dc-indice::before {
    content: '';
    position: absolute;
    top: 0; left: 1.25rem; right: 1.25rem;
    height: 4px;
    border-radius: 0 0 4px 4px;
    background: linear-gradient(to right, var(--pendon-rojo) 0 33.33%, var(--pendon-verde) 33.33% 66.66%, var(--pendon-oro) 66.66%);
}
.dc-indice-tit {
    display: flex;
    align-items: center;
    gap: .6rem;
    font-family: var(--fuente-mono);
    font-size: .7rem;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: var(--oro);
    margin-bottom: .8rem;
}
.dc-indice-tit::before { content: ''; width: 22px; height: 1px; background: currentColor; }
.dc-indice ul { list-style: none; }
.dc-indice a {
    display: grid;
    grid-template-columns: 1.4rem minmax(0, 1fr) auto;
    align-items: center;
    gap: .6rem;
    padding: .7rem .2rem;
    border-bottom: 1px solid rgba(243,237,226,.08);
    color: var(--crema);
    text-decoration: none;
    font-size: .95rem;
    transition: color .2s, padding .3s var(--ease-out);
}
.dc-indice li:last-child a { border-bottom: 0; }
.dc-indice a .ti { font-size: 1.1rem; color: rgba(243,237,226,.5); transition: color .2s; }
.dc-indice a:hover { color: var(--oro); padding-left: .5rem; }
.dc-indice a:hover .ti { color: var(--oro); }
.dc-indice-n { font-family: var(--fuente-mono); font-size: .72rem; color: rgba(243,237,226,.5); }

.dc-grupo { scroll-margin-top: calc(var(--header-h) + 1.5rem); }
.dc-grupo + .dc-grupo { margin-top: clamp(3rem, 6vw, 4.5rem); }
.dc-grupo-cab {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .9rem;
    border-bottom: 2px solid var(--texto);
}
.dc-grupo-cab h2 {
    font-size: clamp(2rem, 3.8vw, 3rem);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -0.025em;
}
.dc-grupo-cab p { margin-top: .4rem; color: var(--texto-suave); font-size: .95rem; }
.dc-grupo-n {
    font-family: var(--fuente-mono);
    font-size: .72rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--texto-suave);
    white-space: nowrap;
}
.dc-seccion .dc-lista { gap: 0; }
.dc-seccion .dc-item {
    position: relative;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    align-items: center;
    gap: 1.25rem;
    padding: 1.15rem .75rem 1.15rem 0;
    background: none;
    border: 0;
    border-bottom: 1px solid var(--borde);
    border-radius: 0;
    box-shadow: none;
    color: inherit;
    text-decoration: none;
    transition: background .3s, padding .4s var(--ease-out);
}
.dc-seccion .dc-item::before {
    content: '';
    position: absolute;
    left: -1rem; top: 1rem; bottom: 1rem;
    width: 3px;
    border-radius: 3px;
    background: var(--teja);
    transform: scaleY(0);
    transition: transform .4s var(--ease-out);
}
.dc-seccion .dc-item:hover { box-shadow: none; padding-left: .6rem; }
.dc-seccion .dc-item:hover::before { transform: none; }
.dc-icono {
    position: relative;
    display: grid;
    place-items: center;
    width: 58px; height: 66px;
    border-radius: 8px 18px 8px 8px;
    background: var(--crema);
    border: 1px solid var(--borde);
    color: var(--verde);
    font-size: 1.5rem !important;
    transition: background .3s, color .3s, border-color .3s, transform .4s var(--ease-out);
}
.dc-ext {
    position: absolute;
    bottom: -6px; left: 50%;
    transform: translateX(-50%);
    padding: .05rem .4rem;
    border-radius: 4px;
    background: var(--teja);
    color: #fff;
    font-family: var(--fuente-mono);
    font-size: .58rem;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1.5;
}
.dc-grupo--acta .dc-icono { color: var(--verde); }
.dc-grupo--estatuto .dc-icono { color: var(--pizarra); }
.dc-grupo--convocatoria .dc-icono { color: var(--teja); }
.dc-grupo--otro .dc-icono { color: var(--piedra); }
.dc-item:hover .dc-icono { background: var(--tinta); border-color: var(--tinta); color: var(--oro); transform: rotate(-4deg); }
.dc-info { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.dc-seccion .dc-info strong {
    font-family: var(--fuente-display);
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.01em;
    color: var(--texto);
    transition: color .2s;
}
.dc-item:hover .dc-info strong { color: var(--teja); }
.dc-info time {
    font-family: var(--fuente-mono);
    font-size: .74rem;
    letter-spacing: .1em;
    color: var(--texto-suave);
    font-variant-numeric: tabular-nums;
}
.dc-seccion .dc-descarga {
    display: inline-flex;
    align-items: center;
    gap: .6rem;
    padding: .55rem .6rem .55rem 1.1rem;
    border-radius: 100px;
    border: 1px solid var(--borde);
    background: var(--blanco);
    color: var(--texto);
    font-family: var(--fuente-ui);
    font-size: .82rem;
    font-weight: 600;
    white-space: nowrap;
    transition: background .25s, border-color .25s, color .25s;
}
.dc-descarga .ti {
    display: grid;
    place-items: center;
    width: 28px; height: 28px;
    border-radius: 50%;
    background: var(--crema);
    color: var(--teja);
    font-size: 1rem;
    transition: background .25s, color .25s, transform .35s var(--ease-out);
}
.dc-item:hover .dc-descarga { background: var(--teja); border-color: var(--teja); color: #fff; }
.dc-item:hover .dc-descarga .ti { background: rgba(255,255,255,.18); color: #fff; transform: translateY(2px); }

/* =====================================================
   RESPONSIVE
   ===================================================== */
@media (max-width: 1000px) {
    .nt-destacada { grid-template-columns: minmax(0, 1fr); gap: 1.75rem; }
    .nt-rejilla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .gl-mosaico { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 210px; }
    .gl-album:nth-child(6n+2) { grid-column: span 2; }
    .gl-seccion .gl-fotos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .gl-seccion .gl-foto { grid-column: var(--c3, auto); grid-row: var(--r3, auto); }
    .mu-hero-grid { grid-template-columns: minmax(0, 1fr); }
    .mu-disco { width: min(72%, 360px); }
    .mu-barra { grid-template-columns: 52px minmax(0, 1fr) auto; }
    .mu-barra-progreso { grid-column: 1 / -1; }
    .dc-layout { grid-template-columns: minmax(0, 1fr); }
    .dc-indice { position: relative; top: auto; }
    .dc-indice ul { display: flex; flex-wrap: wrap; gap: .4rem; }
    .dc-indice a {
        grid-template-columns: auto auto auto;
        padding: .45rem .85rem;
        border: 1px solid rgba(243,237,226,.15);
        border-radius: 100px;
        font-size: .88rem;
    }
    .dc-indice li:last-child a { border-bottom: 1px solid rgba(243,237,226,.15); }
    .dc-indice a:hover { padding-left: .85rem; }
}
@media (max-width: 600px) {
    .nt-rejilla { grid-template-columns: minmax(0, 1fr); }
    .nt-rejilla > .nt-card { padding-top: 1.6rem; padding-bottom: 1.6rem; border-bottom: 1px solid var(--borde); }
    .nt-rejilla--3 > .nt-card { padding: 0 0 1.6rem; }
    .nt-rejilla--3 { gap: 1.6rem; }
    .nt-dest-img { border-radius: var(--radio-lg); }
    .nt-destacada h2 { font-size: 1.9rem; }
    .nt-dest-resumen { font-size: 1rem; }
    .nt-card h3 { font-size: 1.3rem; }
    .nt-texto { font-size: 1.06rem; line-height: 1.8; }
    .nt-texto > p:first-child::first-letter { font-size: 3.9em; }
    .nt-texto blockquote { font-size: 1.25rem; padding-left: 1rem; }
    .nt-art-foto img { border-radius: var(--radio-lg); aspect-ratio: 4 / 3; }
    .nt-art-foto figcaption { text-align: left; }
    .nt-hero-meta { gap: .5rem 1.1rem; }

    .gl-barra { flex-direction: column; align-items: stretch; }
    .gl-vista { display: flex; }
    .gl-vista-btn { flex: 1; justify-content: center; padding: .55rem .6rem; font-size: .82rem; }
    .gl-barra #btn-enviar-foto { justify-content: center; }
    .gl-mosaico { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-auto-rows: 170px; }
    .gl-album:nth-child(6n+1) { grid-row: span 2; }
    .gl-album:nth-child(6n+5) { grid-row: span 1; }
    .gl-album-tit { font-size: 1.2rem; }
    .gl-album:nth-child(6n+1) .gl-album-tit { font-size: 1.9rem; }
    .gl-album-desc { display: none; }
    .gl-album:nth-child(6n+1) .gl-album-desc { display: block; }
    .gl-album-cuenta { top: .6rem; right: .6rem; }
    .gl-seccion .gl-fotos { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 150px; }
    .gl-seccion .gl-foto { grid-column: var(--c2, auto); grid-row: var(--r2, auto); }
    .gl-seccion .gl-foto .galeria-thumb-overlay { opacity: 1; padding: .6rem; }
    .gl-foto-pie { display: none; }
    .gl-foto-zoom { display: none; }
    .gl-panos { grid-template-columns: minmax(0, 1fr); }
    .gl-pano, .gl-pano:first-child { aspect-ratio: 4 / 3; }
    .gl-pano-play { width: 60px; height: 60px; margin: -30px 0 0 -30px; font-size: 1.6rem; }
    .gl-modal-dos { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .gl-lightbox .lightbox-caption { padding-inline: 1.25rem; font-size: 1rem; }

    .mu-disco { width: 74%; margin-right: 20%; }
    .mu-hero h1 { font-size: 3.2rem; }
    .mu-acciones .btn { width: 100%; justify-content: center; }
    .mu-cab { padding-inline: .25rem; }
    .mu-cab-col { display: none; }
    .mu-pista {
        grid-template-columns: 1.6rem 48px minmax(0, 1fr) 40px;
        gap: .75rem;
        padding: .7rem .25rem;
    }
    .mu-pista .mu-mini { width: 48px; height: 48px; }
    .mu-dur { display: none; }
    .mu-titulo { font-size: 1.08rem; }
    .mu-play { width: 40px; height: 40px; }
    .mu-barra { bottom: .5rem; gap: .6rem .8rem; padding: .7rem; margin-inline: -.25rem; }
    .mu-barra-img { width: 44px; height: 44px; }
    .mu-barra { grid-template-columns: 44px minmax(0, 1fr) auto; }
    .mu-barra-btn { width: 34px; height: 34px; }
    .mu-barra-play { width: 40px; height: 40px; }

    .dc-seccion .dc-item { grid-template-columns: 46px minmax(0, 1fr) auto; gap: .9rem; padding-right: 0; }
    .dc-icono { width: 46px; height: 54px; font-size: 1.25rem !important; }
    .dc-seccion .dc-info strong { font-size: 1.1rem; }
    .dc-descarga-txt { display: none; }
    .dc-seccion .dc-descarga { padding: .35rem; }
    .dc-descarga .ti { width: 34px; height: 34px; }
    .dc-grupo-cab { flex-direction: column; align-items: flex-start; gap: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
    .nt-dest-sello::before, .mu-vinilo, .mu-eq i,
    .mu-pista.reproduciendo .mus-portada, .mu-barra { animation: none; }
    .gl-pano img { transition: none; }
    .nt-dest-img img, .nt-card-img img, .gl-album img, .gl-seccion .gl-foto img { transition: none; }
}
