/* Variante Organic: mismas piezas, voz cálida y redondeada. */
body{font-size:16px}
.grayscale{filter:saturate(0.6) contrast(0.85) brightness(1.1) opacity(0.94);border-radius:var(--radius-lg);overflow:hidden}
.d1,.h2,.h3,.crow .dt b,.crow .who b,.cell .n,.year .y,.pfield .big,.pfield .nm,.pfield .top2,.zitem h2,.close h2,.prose h2,.prose h3{font-weight:var(--font-heading-weight);letter-spacing:-0.01em}
.d1,.close h2{margin-left:0}
.hero .d1{line-height:1;letter-spacing:-0.015em}
.k,.lbl{letter-spacing:.06em}
.top{gap:16px 28px}
.top .links a{padding:8px 14px;border-radius:999px}
.top .links a:hover{background:var(--color-surface);color:var(--color-text)}
.links a.on{background:var(--color-accent-100);color:var(--color-accent-800)}
.lang{border:0;background:var(--color-surface);border-radius:999px;padding:3px}
.lang .btn{border-radius:999px;background:transparent}
.lang .btn.on{background:var(--color-accent);color:#fff}
.facts{border:0;gap:12px}
.facts>div,.facts>div:first-child{background:var(--color-surface);border-radius:var(--radius-md);padding:16px 18px;border:0!important}
.facts>div:nth-child(3){padding-left:18px!important;border-top:0!important}
.sec,.ruled,.monthhead,.year,.zgrid,.foot,.logos{border-top:0!important}
.sec{padding-top:24px}
.crow{border:0;background:var(--color-surface);border-radius:var(--radius-lg);padding:20px 28px;margin-bottom:12px}
.crow:hover{background:var(--color-accent-100)}
.crow .dt b{color:var(--color-accent-700)}
.mrow{border:0;border-radius:999px;padding:12px 20px}
.mrow:nth-child(odd){background:var(--color-surface)}
.mrow:hover{background:var(--color-accent-100)}
.monthhead{padding:24px 0 12px}
.monthhead .h3{color:var(--color-accent-2-800)}
.empty{border:0;background:var(--color-accent-2-100);border-radius:var(--radius-lg);padding:20px 28px}
.cells{border:0;gap:16px}
.cell{border:0;background:var(--color-surface);border-radius:var(--radius-lg);position:relative;overflow:hidden}
.cell:nth-child(2n){background:var(--color-accent-2-100)}
.cell .n{color:var(--color-accent-2-700)}
a.cell:hover{background:var(--color-accent-100)}
.bands{display:flex;flex-wrap:wrap;gap:8px;border:0}
.bands span{border:0;background:var(--color-accent-2-100);color:var(--color-accent-2-900);border-radius:999px;padding:8px 16px;font-weight:600}
.vrow{border-top:0;background:var(--color-surface);border-radius:var(--radius-md);padding:16px 20px;margin-bottom:8px}
.year{background:var(--color-surface);border-radius:var(--radius-lg);padding:28px 32px;margin-bottom:16px}
.year .y{color:var(--color-accent)}
.year .mrow:nth-child(odd){background:var(--color-bg)}
.zgrid{gap:20px}
.zitem{border:0;background:var(--color-surface);border-radius:var(--radius-lg);padding:20px 22px 24px}
.zitem .img{border-radius:var(--radius-md);overflow:hidden}
.poster{border-radius:var(--radius-lg);overflow:hidden}
.pfield{border-radius:var(--radius-lg);position:relative;overflow:hidden}
.pfield>*{position:relative;z-index:1}
.pfield::after{content:"";position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:var(--color-accent-2);right:-22%;bottom:-18%;opacity:.9}
.pfield::before{content:"";position:absolute;width:30%;aspect-ratio:1;border-radius:50%;background:var(--color-accent-300);right:18%;top:14%;opacity:.55}
.close{background:transparent;padding:0 clamp(20px,5vw,72px)}
.close .wrap{background:var(--color-accent-2);color:#fff;border-radius:var(--radius-lg);max-width:1200px;position:relative;overflow:hidden}
.close .wrap::after{content:"";position:absolute;width:320px;aspect-ratio:1;border-radius:50%;background:var(--color-accent);right:-80px;bottom:-140px;opacity:.85}
.close .wrap>*{position:relative;z-index:1}
.close .btn-ghost{color:#fff;border-color:#fff;border-radius:999px}
.prose blockquote{border:0;background:var(--color-surface);border-radius:var(--radius-md);padding:16px 22px}
.foot{background:var(--color-surface);margin-top:56px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}
.logos{margin-top:56px}
.table{border-radius:var(--radius-md);overflow:hidden}

/* header Organic */
.hbar{border-bottom:0;background:var(--color-accent-2-100)}
.hmain{border-bottom:0}
.hdr.mini{box-shadow:var(--shadow-sm)}
.hnav{gap:4px 6px}
.hnav a{padding:9px 16px;border-radius:999px;font-size:17px}
.hnav a::after{display:none}
.hnav a:hover{background:var(--color-surface)}
.hnav a.on{background:var(--color-accent-100);color:var(--color-accent-800)}
.hburger{border:0;background:var(--color-surface);border-radius:999px}
.hbar .lang{background:#fff}
@media (max-width:1060px){.hdr.open .hmob{border-bottom:0;background:var(--color-surface);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.hmob a{border-bottom:0;padding:10px 0}}

.hnav a{font-family:var(--font-body);font-weight:600;font-size:16px}

/* Reproductor de Spotify de la portada */
.sp{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.spbtn{display:inline-flex;align-items:center;gap:16px;background:#1db954;color:#000;padding:14px 26px 14px 16px;border-radius:999px;text-decoration:none}
.spbtn svg circle{fill:#000}.spbtn svg path{stroke:#1db954}
.spbtn span{display:flex;flex-direction:column;line-height:1.25}.spbtn b{font-size:18px}.spbtn small{font-size:14px;opacity:.8}
.spbtn:hover{filter:brightness(1.06)}
.spwho{margin:0;font-size:14px;opacity:.75}.spnow{margin:0;font-weight:600;font-size:14px}
.spdlg{border:0;border-radius:24px;padding:20px;width:min(1180px,96vw);max-height:94vh;background:var(--color-bg);color:var(--color-text);overflow:auto}
.spdlg::backdrop{background:rgba(40,25,10,.55)}
.sphead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.sphead h2{margin:0;font-size:22px}
.splist{list-style:none;margin:12px 0 0;padding:0;column-count:3;column-gap:12px}.splist li{break-inside:avoid;margin-bottom:4px}@media(max-width:1100px){.splist{column-count:2}}@media(max-width:700px){.splist{column-count:1}}
.splist button{all:unset;box-sizing:border-box;width:100%;display:flex;gap:12px;align-items:center;padding:6px 12px;border-radius:12px;cursor:pointer;background:var(--color-surface)}.splist .tt b,.splist .tt small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.splist button:hover{filter:brightness(.97)}.splist button.on{outline:2px solid #1db954}
.splist .n{width:24px;opacity:.6;font-feature-settings:"tnum" 1}.splist .tt{flex:1;display:flex;flex-direction:column;min-width:0}.splist .tt small{opacity:.7}.splist .du{opacity:.6;font-size:13px}

/* Carteles completos: la caja se adapta a la proporción de cada imagen (sin recortar ni limitar el alto) */
.poster:has(img){aspect-ratio:auto;height:auto}
.poster:has(img) > div{height:auto!important}
.poster img{height:auto;object-fit:contain}

/* Sin reajuste de scroll del navegador al cambiar la altura de la cabecera, y sin animar la altura del logo (evita el temblor) */
html{overflow-anchor:none}
.hdr .logo img{transition:none}

/* Logos de organizadores/colaboradores: centrados (con pocos se ven mejor así) */
.lgrid{justify-content:center;text-align:center}
.lgroup{align-items:center}
.lrow{justify-content:center}
/* Pie: solo el círculo del BIS (el logo completo ya sale arriba) */
.flogo{height:64px;width:64px;object-fit:contain}

/* Logos más grandes; el del organizador, el que más */
.lrow img{height:84px;max-width:260px}
.g-organitza .lrow img{height:128px;max-width:420px}
@media (max-width:640px){.lrow img{height:64px;max-width:200px}.g-organitza .lrow img{height:96px;max-width:300px}}

/* Tema del logo: el dibujo se superpone al logo (coordenadas 1000×460 del logo) */
.hdr .logo{position:relative;display:inline-block}
.hdr .logo .tm{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none}.hdr .logo[data-camp] .tm .bdg{pointer-events:auto;cursor:pointer}.hdr .logo[data-camp] .motto{pointer-events:auto;cursor:pointer}
/* Barra de administrador (solo con el enlace del panel) */
#admbar{position:fixed;left:16px;bottom:16px;z-index:200;display:flex;gap:12px;align-items:center;flex-wrap:wrap;background:#fff;color:#2a1a0a;border:1px solid #d9c9ad;border-radius:999px;padding:8px 8px 8px 16px;box-shadow:0 6px 24px rgba(40,25,10,.18);font-size:14px}
#admbar select{font:inherit;padding:6px 10px;border-radius:999px;border:1px solid #d9c9ad;background:#fff}
#admbar button{all:unset;cursor:pointer;width:30px;height:30px;text-align:center;border-radius:50%;background:#f1e6d3}

/* Campañas: franja destacada arriba de la web */
.camp{color:#fff;font-size:15px;line-height:1.4}
.camp.c-terracota{background:var(--color-accent,#c67139)}.camp.c-salvia{background:#7a8a5e}.camp.c-rojo{background:#b8342b}.camp.c-morado{background:#6b4c9a}.camp.c-amarillo{background:#f6c945;color:#2a1a0a}
.campin{display:flex;align-items:center;justify-content:center;gap:16px;padding-top:10px;padding-bottom:10px;flex-wrap:wrap;text-align:center;position:relative}
.campt b{font-weight:800;margin-right:6px}
.campl{color:inherit;font-weight:700;text-decoration:underline;white-space:nowrap}
.campx{all:unset;cursor:pointer;width:28px;height:28px;text-align:center;line-height:28px;border-radius:50%;opacity:.8}.campx:hover{background:rgba(255,255,255,.22);opacity:1}
@media (max-width:700px){.campin{padding-right:36px}.campx{position:absolute;right:8px;top:8px}}

/* Logo de cabecera más grande; menú algo más compacto para que quepa en una línea */
.hnav a{padding:8px 12px}
.hnav{gap:4px 2px}

/* Lema de campaña bajo el logo, a mano */
.hdr .logo .motto{position:absolute;left:6px;width:max-content;top:calc(100% - 2px);text-align:center;font-family:"Caveat","Segoe Script",cursive;font-weight:600;font-size:26px;line-height:1;color:var(--color-accent,#c67139);transform:rotate(-2.5deg);white-space:normal;text-wrap:balance;width:max-content;max-width:min(1000px,calc(100vw - 48px));pointer-events:none}
.hdr.hasmotto .hmainin{padding-bottom:calc(var(--mh,26px) + 34px)}
.hdr.mini .logo .motto{display:none}
.hdr.mini.hasmotto .hmainin{padding-bottom:8px}
@media(max-width:700px){.hdr .logo .motto{font-size:20px}}

/* Resumen del concierto en el hero */
.hero .lead{margin:0;font-size:clamp(16px,1.5vw,19px);line-height:1.5;max-width:46ch;color:var(--color-text-muted,#5a4a3a)}

/* Logo De Quintos (Lolo Lapón): el JPG tiene fondo blanco, multiply lo funde con el crema */
.qlogo{display:block;align-self:flex-start;width:auto;max-width:none;object-fit:contain;height:clamp(200px,24vw,300px);width:auto;mix-blend-mode:multiply;margin-top:8px}
.qfig{margin:8px 0 0;align-self:flex-start;width:max-content;max-width:100%}.qfig .qlogo{margin-top:0}.qfig figcaption{margin-top:8px;font-size:13px;opacity:.7}
.l2logo{display:block;align-self:flex-start;width:min(320px,100%);height:auto;margin-top:8px}

/* Portada de post completa, sin recortar */
.cover{aspect-ratio:auto;max-width:900px}.cover img{height:auto;object-fit:contain;border-radius:inherit}

/* Artículos: foto redondeada, separada del texto, pie con punto y capitular */
.prose img{display:block;border-radius:28px;margin:8px 0 32px}.prose figure img,.prose .wp-caption img{margin-bottom:0}
.prose figure,.prose .wp-caption{margin:28px 0 40px;max-width:100%!important;width:auto!important}
.prose p:has(>img),.prose p:has(>a>img){margin:28px 0 8px}
.prose figcaption,.prose .wp-caption-text{font-size:13px;line-height:1.4;opacity:.75;margin:12px 0 0;display:flex;gap:8px;align-items:baseline}
.prose figcaption::before,.prose .wp-caption-text::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--color-accent,#c67139);transform:translateY(-1px)}
.prose p.dropcap::first-letter{float:left;font-family:var(--font-heading);font-weight:800;font-size:4.6em;line-height:.82;padding:6px 12px 0 0;color:var(--color-accent,#c67139)}

/* Admin: encuadrar fotos del BISZine arrastrando */
body.is-adm .zitem .img[data-pid]{cursor:grab;touch-action:none;position:relative}
body.is-adm .zitem .img.dragging{cursor:grabbing}
body.is-adm .zitem .img[data-pid]::after{content:"✥ arrastra para encuadrar";position:absolute;left:8px;bottom:8px;background:rgba(255,255,255,.92);color:#2a1a0a;font-size:12px;padding:3px 9px;border-radius:99px;opacity:0;transition:opacity .15s;pointer-events:none}
body.is-adm .zitem:hover .img[data-pid]::after{opacity:1}
body.is-adm .zitem .img.dragging::after{opacity:0}

/* Ediciones anteriores: carteles completos, sin recortar */
.zitem .img.edimg{aspect-ratio:auto;background:transparent}
.zitem .img.edimg img{width:100%;height:auto;object-fit:contain;display:block}
.edposter{display:block}.edposter img{width:100%;height:auto;display:block;border-radius:20px}
.edgal{columns:3 260px;column-gap:20px;margin-top:56px}
.edgal a{display:block;break-inside:avoid;margin:0 0 20px}
.edgal img{width:100%;height:auto;display:block;border-radius:16px}
.page .prose h3{font-size:22px;margin:28px 0 8px}
.page .prose ul{padding-left:20px}
/* Menú en una sola línea (también en castellano, que tiene textos más largos) */
@media(min-width:1061px){.hmainin{gap:16px}.hnav{flex-wrap:nowrap;gap:0;min-width:0}.hnav a{padding:8px 9px;font-size:15.5px}.hdr .logo{flex:none}.htix{flex:none}}
@media(min-width:1061px) and (max-width:1180px){.hnav a{padding:8px 7px;font-size:14.5px}.hmainin{gap:10px}}
@media(min-width:1280px){.hnav a{padding:8px 12px;font-size:16px}}

.zgrid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;border:0}@media(max-width:900px){.zgrid3{grid-template-columns:1fr}}
.zgrid3 .zitem h2{font-size:22px;line-height:1.15}.zgrid3 .zitem p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

/* Agenda: tarjetas completas con cartel */
.ecard{display:grid;grid-template-columns:minmax(150px,210px) 1fr;gap:28px;background:var(--color-surface);border-radius:var(--radius-lg);padding:20px;margin-bottom:18px;align-items:start}
.ecard .poster{max-width:none;justify-self:stretch;width:100%;border-radius:var(--radius-md)}
.ecard .ebody{display:flex;flex-direction:column;gap:10px;min-width:0;padding:6px 8px 6px 0}
.ecard .en{margin:0;font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:clamp(26px,3vw,38px);line-height:1.05;letter-spacing:-.01em}
.ecard .en a{text-decoration:none;color:inherit}.ecard .en a:hover{color:var(--color-accent-700)}
.ecard .es{margin:0;font-family:var(--font-heading);font-size:22px;line-height:1.1;opacity:.85}
.ecard .esum{margin:4px 0 0;max-width:62ch;line-height:1.5;color:var(--color-text-muted,#5a4a3a)}
.ecard .efacts{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:6px}
.ecard .efacts span{display:flex;flex-direction:column;gap:2px}.ecard .efacts small{font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.65}.ecard .efacts b{font-weight:700}
.ecard .btns{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px}
@media(max-width:700px){.ecard{grid-template-columns:104px 1fr;gap:14px;padding:14px}.ecard .es{font-size:18px}.ecard .efacts{gap:8px 18px}}
/* final de artículo: sin huecos acumulados antes del pie */
.prose>*:last-child,.prose>:last-child>*:last-child{margin-bottom:0!important}
.prose p:empty,.prose p:has(>br:only-child),.prose div:empty{display:none}
article.page{padding-bottom:24px}
article.page+*{margin-top:0}
.logos{margin-top:32px}
.foot{margin-top:32px}
/* reproductores de audio: altura propia, no 16:9 */
.prose iframe[src*="bandcamp.com"]{aspect-ratio:auto;height:150px;max-width:700px;display:block;margin:40px 0}
.prose iframe[src*="spotify.com"]{aspect-ratio:auto;height:352px;max-width:700px;display:block;margin:40px 0}
/* artículo: menos aire entre título y primera foto/párrafo */
article.page>.d1{margin-bottom:20px}
article.page>.d1+div[style*="height:32px"]{display:none}
article.page .prose>:first-child{margin-top:0!important}
/* móvil: la barra de próximo concierto se lee entera (en dos líneas si hace falta) */
@media(max-width:700px){.hnext{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.35;padding:7px 0}.hnext b{display:block;margin:0}.hbarin{gap:12px}}
/* campaña con enlace: el lema se ve como enlace */
.hdr .logo[data-camp] .motto{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1.5px;cursor:pointer}
.hdr .logo[data-camp] .motto::after{content:" →"}
/* mando pequeño del reproductor de Spotify */
#spmini{position:fixed;left:16px;bottom:16px;z-index:60;display:flex;align-items:center;gap:4px;max-width:calc(100vw - 32px);background:#fff;color:var(--color-text,#1f1b1a);border-radius:999px;padding:6px 8px 6px 18px;box-shadow:0 6px 24px rgba(40,25,10,.22);border:1px solid #e6dcc9}
#spmini[hidden]{display:none}
#spmini .spm-t{font-weight:600;font-size:14px;min-width:0;max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:6px}
#spmini button{all:unset;cursor:pointer;width:36px;height:36px;border-radius:50%;text-align:center;line-height:36px;font-size:16px}
#spmini button:hover{background:#f3ead8}
#spmini [data-spm="toggle"]{background:#1db954;color:#000}#spmini [data-spm="toggle"]:hover{background:#19a84a}
@media(max-width:520px){#spmini .spm-t{max-width:34vw}#spmini{padding-left:14px}}
