/* =====================================================================
   Publicaciones y Eventos (red social de la comunidad)
   ===================================================================== */
.com-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:28px;align-items:start}
.com-principal{min-width:0}
.com-lado{display:flex;flex-direction:column;gap:16px;position:sticky;top:88px}
@media (max-width:960px){.com-layout{grid-template-columns:1fr}.com-lado{position:static}}
.com-caja h3{font-size:17px;margin:0 0 8px}
.com-caja p:last-child{margin-bottom:0}

/* avatar / inicial */
.com-av{border-radius:50%;object-fit:cover;flex:none;background:var(--noche-3);display:block}
.com-ini{display:grid;place-items:center;font-weight:800;color:#111;background:linear-gradient(135deg,var(--amarillo),#ffb800)}

/* bandas de aviso */
.pub-banda{display:block;padding:10px 14px;border-radius:var(--radio-s);background:var(--noche-3);border:1px solid var(--linea);color:var(--texto-2);font-size:14px;margin-bottom:12px;text-decoration:none}
.pub-banda.amarilla{background:var(--amarillo-suave);border-color:rgba(255,210,31,.35);color:var(--amarillo)}
.pub-banda.roja{background:var(--rojo-suave);border-color:rgba(239,43,74,.35);color:#ff8a9c}
.pub-banda.enlace:hover{filter:brightness(1.15)}

/* ---------- crear publicación ---------- */
.pub-nueva{background:var(--noche-2);border:1px solid var(--linea);border-radius:14px;padding:16px;margin-bottom:18px;display:flex;flex-direction:column;gap:12px;transition:border-color .2s,box-shadow .2s}
.pub-nueva:focus-within{border-color:var(--linea-2);box-shadow:0 10px 40px rgba(0,0,0,.35)}
.pub-nueva-cab{display:flex;gap:12px;align-items:flex-start}
.pub-nueva textarea{flex:1;min-height:76px;border:0;background:transparent;font-size:17px;padding:8px 2px;resize:vertical;box-shadow:none!important}
.pub-nueva textarea:focus{outline:none}
.pub-nueva-opciones,.pub-nueva-pie{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pub-nueva-opciones select{width:auto;padding:8px 10px;font-size:14px}
.pub-nueva-pie{justify-content:space-between;border-top:1px solid var(--linea);padding-top:12px}
.pub-nueva-opciones .contador{margin-left:auto}
.pub-ic{display:inline-flex;gap:6px;align-items:center;font-size:14px;font-weight:600;padding:7px 12px;border:1px solid var(--linea-2);border-radius:999px;cursor:var(--cur-mano,pointer)}
.pub-ic:has(input:checked){border-color:var(--amarillo);background:var(--amarillo-suave);color:var(--amarillo)}
.pub-ic input{accent-color:var(--amarillo)}
.pub-fotos small{color:var(--texto-3);font-weight:400}
.pub-acepto{font-size:14px!important}
.pub-acepto input{accent-color:var(--amarillo);width:17px;height:17px}
.pub-normas-nuevas{margin:0;font-size:13.5px;color:var(--amarillo)}
.pub-previas{display:flex;gap:8px;flex-wrap:wrap}
.pub-previas:empty{display:none}
.pub-previa{position:relative;width:96px;height:96px;border-radius:10px;overflow:hidden;border:1px solid var(--linea-2)}
.pub-previa img{width:100%;height:100%;object-fit:cover}
.pub-previa button{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;border:0;background:rgba(0,0,0,.7);color:#fff;font-size:13px;line-height:1}
.pub-enlaces-aviso{border:1px solid rgba(255,210,31,.45);background:var(--amarillo-suave);border-radius:10px;padding:12px 14px;font-size:14px}
.pub-enlaces-aviso b{color:var(--amarillo)}
.pub-enlaces-aviso p{margin:4px 0 8px;color:var(--texto)}
.pub-bloqueo{display:flex;gap:14px;align-items:flex-start;background:var(--noche-2);border:1px solid var(--linea);border-radius:14px;padding:18px;margin-bottom:18px}
.pub-bloqueo-ico{font-size:30px;line-height:1}

/* filtros */
.pub-filtros{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:10px}
.pub-buscar input{width:min(260px,100%);padding:8px 12px;font-size:14px;border-radius:999px}
.pub-cats{margin-bottom:18px}
.pub-cats a{font-size:13px;padding:5px 12px}

/* ---------- tarjeta de publicación ---------- */
.pub-lista{display:flex;flex-direction:column;gap:16px}
.pub{position:relative;background:var(--noche-2);border:1px solid var(--linea);border-radius:14px;padding:16px 18px;transition:border-color .2s}
.pub:hover{border-color:var(--linea-2)}
.pub.fijada{border-color:rgba(255,210,31,.45)}
.pub.no-visible{opacity:.85;border-style:dashed}
.pub .pub-banda{margin:-4px 0 12px;font-size:13px;padding:6px 10px}
.pub-cab{display:flex;gap:12px;align-items:center;margin-bottom:10px}
.pub-quien{flex:1;min-width:0;line-height:1.3}
.pub-nombre{font-weight:700;color:var(--texto);text-decoration:none}
.pub-nombre:hover{color:var(--amarillo)}
.pub-meta{font-size:13px;color:var(--texto-3)}
.pub-meta a{color:var(--texto-3);text-decoration:none}
.pub-meta a:hover{color:var(--texto-2);text-decoration:underline}
.pub-ic-chip{cursor:help}
.pub-texto{font-size:16.5px;line-height:1.6;overflow-wrap:anywhere;white-space:normal}
.pub-texto a{color:var(--azul-2)}
.pub-texto.recortado{max-height:12.5em;overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}
.pub-mas{display:inline-block;margin-top:4px;font-size:14px;font-weight:600}
.pub-tag{font-weight:600;text-decoration:none}
.pub-imgs{display:grid;gap:4px;margin-top:12px;border-radius:12px;overflow:hidden}
.pub-imgs.n1{grid-template-columns:1fr}
.pub-imgs.n2{grid-template-columns:1fr 1fr}
.pub-imgs.n3{grid-template-columns:2fr 1fr;grid-template-rows:1fr 1fr}
.pub-imgs.n3 .pub-img:first-child{grid-row:span 2}
.pub-imgs.n4{grid-template-columns:1fr 1fr}
.pub-img{position:relative;padding:0;border:0;background:var(--noche-3);cursor:var(--cur-zoom,zoom-in);display:block;overflow:hidden}
.pub-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.pub-img:hover img{transform:scale(1.03)}
.pub-imgs.n1 .pub-img img{max-height:560px;height:auto}
.pub-imgs.n2 .pub-img,.pub-imgs.n4 .pub-img{aspect-ratio:1}
.pub-imgs.n3 .pub-img{aspect-ratio:auto;min-height:150px}
.pub-img-mas{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.55);font-size:30px;font-weight:800;color:#fff}
.pub-yt{position:relative;display:block;width:100%;margin-top:12px;padding:0;border:0;border-radius:12px;overflow:hidden;aspect-ratio:16/9;background:#000;cursor:var(--cur-mano,pointer)}
.pub-yt img{width:100%;height:100%;object-fit:cover;opacity:.85;transition:opacity .2s}
.pub-yt:hover img{opacity:1}
.pub-yt span{position:absolute;inset:0;margin:auto;width:68px;height:48px;border-radius:12px;background:#f00;color:#fff;display:grid;place-items:center;font-size:22px;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.pub-yt iframe{width:100%;height:100%;border:0;display:block}
.pub-pie{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--linea)}
.pub-coms{font-size:14px;color:var(--texto-2);text-decoration:none;font-weight:600;white-space:nowrap}
.pub-coms:hover{color:var(--texto)}
@media (max-width:520px){.pub{padding:14px}.pub-coms-txt{display:none}}

/* reacciones */
.com-reac{display:flex;gap:4px;flex-wrap:wrap}
.com-reac form,.com-like form{margin:0}
.reac{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:999px;border:1px solid var(--linea);background:var(--noche);color:var(--texto-2);font:600 13.5px var(--cuerpo);transition:transform .15s,border-color .15s,background .15s}
.reac .e{font-size:16px;line-height:1;transition:transform .2s}
.reac:hover{border-color:var(--linea-2);transform:translateY(-1px)}
.reac:hover .e{transform:scale(1.2)}
.reac.mia{border-color:var(--amarillo);background:var(--amarillo-suave);color:var(--amarillo)}
.reac.cero .n{display:none}
.reac.cero{opacity:.7}
.reac.cero:hover,.reac.mia{opacity:1}
.reac.salta .e{animation:reac-salta .35s ease}
@keyframes reac-salta{40%{transform:scale(1.5)}}
.reac.mini{padding:2px 8px;font-size:12.5px;border-color:transparent;background:transparent}
.reac.mini .e{font-size:13px}
.reac.mini.mia{background:var(--rojo-suave);border-color:transparent;color:#ff8a9c}

/* menú ⋯ */
.com-menu{position:relative}
.com-menu>summary{list-style:none;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:var(--texto-2);font-size:20px;line-height:1}
.com-menu>summary::-webkit-details-marker{display:none}
.com-menu>summary:hover{background:var(--noche-3);color:var(--texto)}
.com-menu.mini>summary{width:26px;height:22px;font-size:16px}
.com-menu-caja{position:absolute;right:0;top:calc(100% + 4px);z-index:30;min-width:230px;background:var(--noche-2);border:1px solid var(--linea-2);border-radius:10px;padding:6px;box-shadow:0 18px 50px rgba(0,0,0,.55);display:flex;flex-direction:column}
.com-menu-caja>a,.com-menu-caja>button,.com-menu-caja>form>button,.com-sub>summary{display:block;width:100%;text-align:left;padding:8px 10px;border-radius:6px;border:0;background:none;color:var(--texto);font:500 14px var(--cuerpo);text-decoration:none}
.com-menu-caja>a:hover,.com-menu-caja>button:hover,.com-menu-caja>form>button:hover,.com-sub>summary:hover{background:var(--noche-3)}
.com-menu-caja form{margin:0}
.com-menu-caja hr{border:0;border-top:1px solid var(--linea);margin:5px 0;width:100%}
.com-menu-tit{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--texto-3);padding:4px 10px}
.com-sub>summary{list-style:none}
.com-sub>summary::-webkit-details-marker{display:none}
.com-reportar{display:flex;flex-direction:column;gap:8px;padding:6px 10px 10px}
.com-reportar select,.com-reportar input{font-size:14px;padding:8px 10px}

/* ---------- comentarios ---------- */
.pub-ultimos{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.pub-ult{display:flex;gap:8px;align-items:flex-start}
.pub-rapido{display:flex;gap:8px;margin-top:12px}
.pub-rapido input{flex:1;border-radius:999px;padding:9px 14px;font-size:14.5px}
.coms{margin-top:22px}
.coms-tit{font-size:28px}
.com-nuevo{display:flex;gap:12px;align-items:flex-start;margin-bottom:18px}
.com-nuevo textarea{min-height:64px}
.coms-lista{display:flex;flex-direction:column;gap:14px}
.com{display:flex;gap:10px;align-items:flex-start;scroll-margin-top:100px}
.com:target .com-burbuja{box-shadow:0 0 0 2px var(--amarillo)}
.com-cuerpo{flex:1;min-width:0}
.com-burbuja{display:inline-block;max-width:100%;background:var(--noche-3);border-radius:14px;padding:8px 12px;font-size:15px;line-height:1.5;overflow-wrap:anywhere}
.com.no-visible .com-burbuja{opacity:.6;border:1px dashed var(--rojo)}
.com-nombre{font-weight:700;color:var(--texto);text-decoration:none;font-size:14px}
.com-nombre:hover{color:var(--amarillo)}
.com-texto{display:block}
.pub-ult .com-texto{display:inline}
.com-acciones{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--texto-3);margin:3px 0 0 6px}
.com-responder>summary{font-weight:600;color:var(--texto-2);padding:0}
.com-responder>summary:hover{background:none;color:var(--texto)}
.com-responder[open]{flex-basis:100%}
.com-respuestas{display:flex;flex-direction:column;gap:10px;margin-top:10px;padding-left:4px;border-left:2px solid var(--linea);padding-left:12px}

/* editar */
.pub-editar{margin-top:14px}
.pub-editar>summary{font-weight:700}

/* lado */
.lado-evento{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--linea);text-decoration:none;color:var(--texto)}
.lado-evento:hover b{color:var(--amarillo)}
.lado-evento small{display:block;color:var(--texto-3);font-size:12.5px}
.lado-evento b{font-size:14.5px;line-height:1.25;display:block}
.lado-tips{padding-left:1.1em;margin:0;display:flex;flex-direction:column;gap:5px}
.com-normas{max-width:none}

/* visor de fotos */
#comVisor .visor-medio img{max-width:min(92vw,1400px);max-height:84vh;border-radius:10px;display:block}

/* notificaciones */
.notis{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.noti a{display:flex;gap:12px;align-items:center;padding:12px 14px;border-radius:12px;background:var(--noche-2);border:1px solid var(--linea);text-decoration:none;color:var(--texto)}
.noti a:hover{border-color:var(--linea-2)}
.noti.nueva a{border-color:rgba(255,210,31,.45);background:linear-gradient(90deg,var(--amarillo-suave),var(--noche-2) 60%)}
.noti-ico{width:38px;height:38px;font-size:18px;background:var(--noche-3)}
.noti-txt{flex:1;font-size:15px;line-height:1.4}
.noti-txt small{display:block;color:var(--texto-3);font-size:12.5px;margin-top:2px}

/* ---------- eventos ---------- */
.ev-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.ev-tarjeta{display:flex;flex-direction:column;background:var(--noche-2);border:1px solid var(--linea);border-radius:14px;overflow:hidden;text-decoration:none;color:var(--texto);transition:transform .25s,border-color .25s,box-shadow .25s}
.ev-tarjeta:hover{transform:translateY(-4px);border-color:var(--linea-2);box-shadow:0 18px 44px rgba(0,0,0,.4);color:var(--texto)}
.ev-tarjeta.destacado{border-color:rgba(255,210,31,.5)}
.ev-tarjeta.est-cancelado,.ev-tarjeta.est-terminado{opacity:.75}
.ev-tarjeta.est-cancelado h3{text-decoration:line-through;text-decoration-color:var(--rojo)}
.ev-img{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,var(--noche-4),var(--azul) 160%);overflow:hidden}
.ev-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.ev-tarjeta:hover .ev-img img{transform:scale(1.04)}
.ev-sin-img{position:absolute;inset:0;display:grid;place-items:center;font-size:60px;opacity:.6}
.ev-fecha{position:absolute;left:12px;top:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:54px;padding:6px 8px;border-radius:10px;background:rgba(6,9,20,.85);border:1px solid rgba(255,210,31,.5);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--amarillo);backdrop-filter:blur(4px);line-height:1.1}
.ev-fecha b{font-family:var(--display);font-size:26px;color:#fff;letter-spacing:0;font-weight:900}
.ev-fecha.chica{position:static;min-width:46px;padding:4px 6px}
.ev-fecha.chica b{font-size:20px}
.ev-chips{position:absolute;right:10px;top:12px;display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.ev-chips .etiqueta{backdrop-filter:blur(4px);background:rgba(6,9,20,.8)}
.ev-cuerpo{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.ev-cuerpo h3{margin:0;font-size:20px}
.ev-cuerpo p{margin:0}
.ev-pie{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:6px;flex-wrap:wrap}
.caras{display:flex}
.caras .com-av{border:2px solid var(--noche-2);margin-left:-8px}
.caras .com-av:first-child{margin-left:0}
.ev-mio{margin-left:auto}

.ev-heroe{position:relative;padding:44px 0 34px;border-bottom:1px solid var(--linea);background:radial-gradient(1200px 300px at 20% -40%,rgba(51,70,255,.25),transparent);overflow:hidden;isolation:isolate}
.ev-heroe.con-img::before{content:"";position:absolute;inset:0;z-index:-2;background:var(--ev-img) center/cover no-repeat;transform:scale(1.04)}
.ev-heroe.con-img::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,var(--noche) 6%,rgba(6,9,20,.72) 55%,rgba(6,9,20,.45))}
.ev-heroe h1{margin:6px 0 14px;text-shadow:0 4px 24px rgba(0,0,0,.5)}
.ev-datos{list-style:none;padding:0;margin:0;display:flex;gap:10px 22px;flex-wrap:wrap;font-size:15.5px}
.ev-datos small{color:var(--texto-3)}
.ev-org{display:flex;align-items:center;gap:6px}
.ev-lead{font-size:19px;color:var(--texto);margin-bottom:16px}
.ev-reac{margin:18px 0}
.ev-asistentes{margin-top:24px;padding-top:18px;border-top:1px solid var(--linea)}
.ev-asistentes h2{font-size:28px}
.ev-grupo{font-size:15px;color:var(--texto-2);margin:14px 0 8px}
.ev-gente{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.ev-gente a{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:10px;background:var(--noche-2);border:1px solid var(--linea);text-decoration:none;color:var(--texto);font-size:14px;font-weight:600;min-width:0}
.ev-gente a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ev-gente a:hover{border-color:var(--linea-2)}
.ev-asistir{border-color:rgba(255,210,31,.4)}
.ev-cuenta{font-family:var(--display);font-weight:800;font-size:24px;text-transform:uppercase;color:var(--amarillo);margin-bottom:12px;line-height:1.1}
.ev-cupo{margin-bottom:14px}
.ev-cupo .barra{height:8px;border-radius:99px;background:var(--noche-4);overflow:hidden;margin:6px 0}
.ev-cupo .barra i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--verde),var(--amarillo))}
.ev-botones{display:flex;flex-direction:column;gap:8px}
.ev-botones form{margin:0}
.ev-botones .btn{width:100%}
.ev-mio-txt{font-weight:600;font-size:15px}
.ev-compartir{display:flex;flex-wrap:wrap;gap:8px}
.ev-herr{display:flex;flex-direction:column;gap:10px}
.ev-herr form{margin:0}
.ev-borrar{color:#ff8a9c}

/* formularios: tipos que el CSS base no cubre */
input[type=datetime-local],input[type=file]{width:100%;font:inherit;color:var(--texto);background:var(--noche);border:1px solid var(--linea-2);border-radius:var(--radio-s);padding:10px 12px;color-scheme:dark}
:root[data-theme="light"] input[type=datetime-local]{color-scheme:light}

/* panel */
.com-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:14px 0 18px}
.com-stats div{background:var(--noche-2);border:1px solid var(--linea);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column}
.com-stats b{font-family:var(--display);font-size:30px;line-height:1}
.com-stats span{font-size:12.5px;color:var(--texto-3)}
.com-stats .alerta{border-color:rgba(239,43,74,.5)}
.com-stats .alerta b{color:#ff8a9c}
.com-reporte{margin-bottom:14px;display:flex;flex-direction:column;gap:10px}
.com-reporte-cuerpo{display:flex;gap:12px;align-items:flex-start;background:var(--noche);border-radius:8px;padding:10px 12px}
.com-reporte-cuerpo img{width:90px;height:68px;object-fit:cover;border-radius:6px}
.com-reporte-cuerpo p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14.5px}
.com-reporte-motivos{margin:0;padding-left:1.1em}
.com-pendiente{display:flex;gap:12px;align-items:flex-start;cursor:var(--cur-mano,pointer)}
.com-pendiente>span{display:flex;flex-direction:column;gap:6px;min-width:0}
.com-pend-texto{white-space:pre-wrap;overflow-wrap:anywhere}
.panel-main .grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.panel-main .grid2 label{display:flex;flex-direction:column;gap:6px}

/* comentarios del muro con el componente completo */
.pub-ultimos .com.respuesta .com-burbuja{font-size:14.5px}
/* diálogo de publicación sin terminar */
.com-dialogo{max-width:460px;width:calc(100% - 32px);border:1px solid var(--linea-2);border-radius:16px;background:var(--noche-2);color:var(--texto);padding:24px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.com-dialogo::backdrop{background:rgba(3,5,12,.7);backdrop-filter:blur(3px)}
.com-dialogo h2{font-size:26px;margin:0 0 6px}
.com-dialogo-botones{display:flex;flex-direction:column;gap:8px;margin:16px 0 10px}
.com-dialogo-botones .btn{width:100%}
.pub-borrador-aviso{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;font-size:13.5px;color:var(--amarillo);background:var(--amarillo-suave);border-radius:8px;padding:8px 12px}
.pub-borrador-aviso button{background:none;border:0;color:var(--texto-2);text-decoration:underline;font:inherit;padding:0}

/* ---------- notificaciones: pestañas, importantes y preferencias ---------- */
.notis-pest{margin:18px 0 12px}
.notis-num{display:inline-block;min-width:18px;padding:0 5px;border-radius:99px;background:var(--rojo);color:#fff;font-size:11px;line-height:18px;text-align:center}
.noti.importante a{border-color:rgba(239,43,74,.5)}
.noti-img{width:38px;height:38px;border-radius:8px;object-fit:cover;flex:none}
.noti-sub{display:block;color:var(--texto-2);font-size:13.5px;margin-top:2px}
.notis-pref{display:flex;flex-direction:column}
.notis-pref-cab,.notis-pref-fila{display:grid;grid-template-columns:1fr 70px 80px;gap:10px;align-items:center}
.notis-pref-cab{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--texto-3);padding:0 0 6px;text-align:center}
.notis-pref-fila{padding:12px 0;border-top:1px solid var(--linea)}
.notis-pref-fila small{display:block;color:var(--texto-3);font-size:13px;margin-top:2px}
.interruptor{position:relative;justify-self:center;width:44px;height:24px;cursor:var(--cur-mano,pointer)}
.interruptor input{position:absolute;opacity:0;inset:0;margin:0;cursor:inherit}
.interruptor i{position:absolute;inset:0;border-radius:99px;background:var(--noche-4);border:1px solid var(--linea-2);transition:background .2s}
.interruptor i::after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--texto-3);transition:transform .2s,background .2s}
.interruptor input:checked+i{background:var(--amarillo-suave);border-color:var(--amarillo)}
.interruptor input:checked+i::after{transform:translateX(20px);background:var(--amarillo)}
.interruptor input:focus-visible+i{outline:2px solid var(--amarillo);outline-offset:2px}
.interruptor input:disabled+i{opacity:.4}
@media (max-width:480px){.notis-pref-cab,.notis-pref-fila{grid-template-columns:1fr 54px 60px;gap:6px}}

/* ---------- música del parlante ---------- */
.mus-resumen{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.mus-resumen div{background:var(--noche-2);border:1px solid var(--linea);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column}
.mus-resumen b{font-family:var(--display);font-size:28px;line-height:1}
.mus-resumen span{font-size:12.5px;color:var(--texto-3)}
.mus-lista{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}
.mus-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--noche-2);border:1px solid var(--linea);border-radius:12px}
.mus-item:hover{border-color:var(--linea-2)}
.mus-play{width:40px;height:40px;flex:none;border-radius:50%;border:0;background:var(--amarillo);color:#111;font-size:15px;font-weight:800;display:grid;place-items:center;cursor:var(--cur-mano,pointer)}
.mus-play.sonando{background:var(--verde);color:#fff}
.mus-play-off{background:var(--noche-3);color:var(--texto-2)}
.mus-datos{flex:1;min-width:0;display:flex;flex-direction:column}
.mus-datos b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mus-datos span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mus-zona.encima{border-color:var(--amarillo);background:var(--amarillo-suave)}
.pub-cats a small{opacity:.7;font-weight:400;margin-left:2px}
@media (max-width:520px){.mus-resumen{grid-template-columns:1fr 1fr 1fr}.mus-resumen b{font-size:22px}.mus-item .etiqueta{display:none}}
