/* Las fotos conservan su color; la identidad térmica enmarca el archivo. */
.bts-gallery { --bts-line:rgba(255,246,224,.18); }
.bts-gallery__heading { display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:start; }
.bts-gallery__heading .av-body { max-width:560px; padding-top:34px; }
.bts-gallery__index { display:flex; justify-content:space-between; gap:20px; margin:45px 0 18px; padding-top:18px; border-top:1px solid var(--bts-line); color:rgba(255,246,224,.62); font:500 9px/1.6 var(--font-body,Arial,sans-serif); letter-spacing:.15em; text-transform:uppercase; }
.bts-gallery__mosaic { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.bts-gallery__tile { position:relative; display:block; min-width:0; aspect-ratio:4/3; overflow:hidden; color:var(--cream,#fff6e0); background:#171616; isolation:isolate; }
.bts-gallery__tile--1 { grid-column:span 2; grid-row:span 2; aspect-ratio:auto; }
.bts-gallery__tile--6 { grid-column:span 2; aspect-ratio:2.7/1; }
.bts-gallery__tile img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.bts-gallery__tile::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg,rgba(0,0,0,.75),transparent 42%); }
.bts-gallery__tile::before { content:""; position:absolute; z-index:3; inset:0; border:1px solid var(--amber,#ffae00); pointer-events:none; opacity:0; transition:opacity .25s; }
@supports ((mask-composite:exclude) or (-webkit-mask-composite:xor)) {
 .bts-gallery__tile::before { border-color:transparent; background:linear-gradient(105deg,#0011ff,#6a00ff,#ff2e8a,#ff5a00,#ffae00) border-box; -webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0); mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0); -webkit-mask-composite:xor; mask-composite:exclude; }
}
.bts-gallery__tile:hover img { transform:scale(1.035); }
.bts-gallery__tile:hover::before,.bts-gallery__tile:focus-visible::before { opacity:1; }
.bts-gallery__caption { position:absolute; z-index:2; inset:auto 17px 14px; display:flex; justify-content:space-between; align-items:end; gap:15px; font:500 11px/1.45 var(--font-body,Arial,sans-serif); }
.bts-gallery__caption>span:last-child { font-size:20px; line-height:1; }
.bts-gallery__number { position:absolute; z-index:2; left:14px; top:14px; display:grid; place-items:center; width:25px; height:25px; color:#fff6e0; background:rgba(0,0,0,.65); font:500 9px/1 var(--font-body,Arial,sans-serif); }
.bts-gallery__foot { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:24px; }
.bts-gallery__foot p { margin:0; color:rgba(255,246,224,.5); font:400 11px/1.65 var(--font-body,Arial,sans-serif); }
.bts-gallery__explore { display:inline-flex; gap:20px; align-items:center; min-height:44px; padding:6px 0; border-bottom:1px solid rgba(255,246,224,.35); font:600 11px/1.5 var(--font-body,Arial,sans-serif); }
.bts-gallery__explore span { color:var(--amber,#ffae00); font-size:21px; }
.bts-gallery__fallback { margin-top:24px; font:400 13px/1.8 var(--font-body,Arial,sans-serif); }
.bts-gallery__fallback summary { cursor:pointer; }
.bts-viewer { --bts-line:rgba(255,246,224,.18); position:fixed; inset:0; width:min(1180px,calc(100vw - 64px)); max-width:none; height:min(850px,calc(100dvh - 64px)); max-height:calc(100dvh - 64px); box-sizing:border-box; margin:auto; padding:0; overflow:hidden; color:var(--cream,#fff6e0); background:#101012; border:1px solid rgba(255,246,224,.22); font-family:var(--font-body,Arial,sans-serif); box-shadow:0 20px 100px rgba(0,0,0,.6); }
.bts-viewer:not([open]) { display:none; }
.bts-viewer::backdrop { background:rgba(3,3,5,.88); }
.bts-viewer__shell { display:flex; flex-direction:column; height:100%; min-height:0; }
.bts-viewer__head { flex:none; display:flex; justify-content:space-between; align-items:center; gap:24px; padding:18px 24px; border-bottom:1px solid var(--bts-line); }
.bts-viewer__head p { margin:0 0 7px; color:rgba(255,246,224,.46); font:500 8px/1.4 var(--font-body,Arial,sans-serif); letter-spacing:.15em; text-transform:uppercase; }
.audiovisual-page .bts-viewer__head h2 { margin:0; font-size:clamp(13px,1.3vw,19px); line-height:1.4; }
.bts-viewer button { color:inherit; font-family:var(--font-body,Arial,sans-serif); cursor:pointer; background:none; border:0; border-radius:0; }
.bts-viewer__close { flex:none; display:flex; align-items:center; gap:14px; min-height:44px; padding:6px 0 6px 12px; font-size:10px; }
.bts-viewer__close span { font-size:30px; font-weight:300; line-height:1; }
.bts-viewer__stage { position:relative; flex:1; display:grid; min-height:0; place-items:center; background:#060606; overflow:hidden; }
.bts-viewer__stage img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; }
.bts-viewer__stage img.is-loading { opacity:0; }
.bts-viewer__loading { z-index:1; color:rgba(255,246,224,.68); font-size:12px; }
.bts-viewer__loading[hidden] { display:none; }
.bts-viewer__navigation { flex:none; display:flex; justify-content:space-between; align-items:center; gap:15px; padding:3px 24px; border-top:2px solid transparent; border-image:linear-gradient(90deg,#0011ff,#6a00ff,#ff2e8a,#ff5a00,#ffae00) 1; }
.bts-viewer__navigation button { display:flex; align-items:center; gap:12px; min-height:44px; padding:5px 0; font-size:10px; }
.bts-viewer__navigation button span[aria-hidden] { font-size:21px; }
.bts-viewer__navigation p { margin:0; color:rgba(255,246,224,.65); font:500 10px/1.5 var(--font-body,Arial,sans-serif); font-variant-numeric:tabular-nums; letter-spacing:.12em; }
.bts-viewer__thumbnails { flex:none; display:flex; align-items:center; gap:7px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#6a00ff #17141c; padding:7px 24px 16px; height:69px; box-sizing:content-box; }
.bts-viewer__thumbnails button { position:relative; flex:none; width:75px; height:56px; padding:0; opacity:.5; border:1px solid transparent; }
.bts-viewer__thumbnails button[aria-current="true"] { opacity:1; border-color:var(--amber,#ffae00); }
.bts-viewer__thumbnails button:hover { opacity:1; }
.bts-viewer__thumbnails img { display:block; width:100%; height:100%; object-fit:cover; }
.bts-viewer__thumbnails span { position:absolute; right:2px; bottom:2px; padding:2px 4px; background:rgba(0,0,0,.75); color:#fff6e0; font:500 8px/1.2 var(--font-body,Arial,sans-serif); }
@media(max-width:820px) {
 .bts-gallery__heading { grid-template-columns:1fr; gap:22px; }
 .bts-gallery__heading .av-body { padding-top:0; }
 .bts-gallery__mosaic { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bts-gallery__tile--1 { grid-row:auto; aspect-ratio:3/2; }
 .bts-gallery__tile--6 { grid-column:auto; aspect-ratio:4/3; }
 .bts-gallery__tile--8 { grid-column:span 2; aspect-ratio:2.7/1; }
 .bts-viewer { width:calc(100vw - 28px); height:calc(100dvh - 40px); max-height:calc(100dvh - 40px); }
}
@media(max-width:520px) {
 .bts-gallery__index { margin-top:30px; }
 .bts-gallery__mosaic { gap:8px; }
 .bts-gallery__caption { inset:auto 10px 10px; font-size:9px; gap:6px; }
 .bts-gallery__number { top:8px; left:8px; width:22px; height:22px; font-size:8px; }
 .bts-gallery__foot { flex-direction:column; align-items:flex-start; gap:8px; }
 .bts-viewer__head { padding:12px 14px; gap:10px; }
 .audiovisual-page .bts-viewer__head h2 { font-size:12px; max-width:220px; }
 .bts-viewer__close { gap:8px; font-size:9px; }
 .bts-viewer__navigation { padding:3px 14px; }
 .bts-viewer__navigation button { gap:7px; font-size:9px; }
 .bts-viewer__thumbnails { padding:3px 14px 12px; height:59px; }
 .bts-viewer__thumbnails button { width:67px; height:50px; }
}
@media(prefers-reduced-motion:reduce) {
 .bts-gallery__tile img,.bts-gallery__tile::before { transition:none; }
 .bts-gallery__tile:hover img { transform:none; }
}
