/* Editor de horarios (formulario) y filtros con contadores */
.hRapido{display:block;font-weight:600;font-size:.88rem}
.hRapido textarea{margin-top:6px;font-weight:400}
.hOJ{margin:12px 0 6px}
.hBloque{border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:10px;display:flex;flex-direction:column;gap:10px;background:color-mix(in srgb,var(--panel) 90%,var(--ink) 10%)}
.hDias{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.hDias .chip{min-width:0;text-align:center;padding:7px 0;font-size:.8rem;font-weight:600}
.hAtajos{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.78rem;color:var(--muted)}
.hAtajos .pill{padding:3px 10px;font-size:.78rem;background:transparent}
.hHoras{display:grid;grid-template-columns:1fr 1fr auto auto;gap:8px;align-items:end}
.hHoras label:not(.chk){display:flex;flex-direction:column;gap:3px;font-size:.78rem;color:var(--muted)}
.hHoras input.hIni,.hHoras input.hFin{width:100%;text-align:center;font-weight:600;color:var(--ink)}
.hHoras .chk{height:38px;white-space:nowrap}
.hQuitar{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;font-size:.9rem}
.hQuitar:hover{border-color:#c92a2a;color:#c92a2a}
@media (max-width:420px){.hHoras{grid-template-columns:1fr 1fr}.hHoras .chk,.hQuitar{justify-self:start}}
#hPegar{resize:vertical}
#hVista.ok{color:var(--ink)}
#hVista.err{color:#c92a2a}
#hVista b{font-weight:700}

.filtroResumen{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;font-size:.82rem;color:var(--muted)}
.filtroResumen .btn{padding:5px 10px;font-size:.8rem}
#nFiltros{margin-left:6px;background:var(--head);color:#fff;border-radius:99px;padding:1px 8px;font-size:.75rem}
#nFiltros:empty{display:none}
.chip .n{margin-left:5px;font-size:.74rem;opacity:.75}
.chip .n:empty{display:none}
.chip.sin{opacity:.45}
.chip.sin[aria-pressed=true]{opacity:1}

/* «Marcar todas» / «Quitar» en cada grupo de etiquetas */
.grupoCab{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:5px}
.grupoCab>span:first-child{font-size:.8rem;color:var(--muted)}
.grupoCab .marcar{display:flex;gap:10px}
.enlace{background:none;border:0;padding:2px 0;font:inherit;font-size:.78rem;color:var(--head);text-decoration:underline;cursor:pointer}
.enlace:hover{filter:brightness(1.3)}

/* Tipos de lugar en el formulario: el primero marcado (★) define el color del pin */
#fTipos .chip{padding:6px 11px}
#fTipos .chip.principal{box-shadow:0 0 0 3px rgba(0,0,0,.18)}
#fTipos .estrella{margin-left:3px}

/* Cambiar @usuario */
.usuarioForm{margin:10px 0}
.usuarioForm label{font-size:.82rem;color:var(--muted)}
.usuarioForm .fila{margin-top:4px}
.usuarioForm input{flex:1;min-width:0}
.ayuda.ok{color:#2b8a3e}.ayuda.mal{color:#c92a2a}

/* Avatares de comida */
.hb button#bCuenta.conAv{padding:0;background:transparent;box-shadow:0 0 0 2px rgba(255,255,255,.85)}
.avBtn{width:100%;height:100%;border-radius:50%;display:block;image-rendering:auto}
#dCuenta .foto{background:transparent}
.avSel{margin:10px 0}
.avGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:8px;margin:6px 0}
.avOp{border:2px solid transparent;border-radius:50%;padding:0;background:none;cursor:pointer;line-height:0}
.avOp img{width:100%;height:auto;border-radius:50%;display:block}
.avOp:hover{transform:scale(1.06)}
.avOp[aria-pressed=true]{border-color:#d8572f;box-shadow:0 0 0 2px var(--panel),0 0 0 4px #d8572f}
.avOp:focus-visible{outline:3px solid #d8572f;outline-offset:2px}
.avMini{width:36px;height:36px;border-radius:50%;flex:none}
.quienP{display:flex;align-items:center;gap:10px}

/* Fondo de «Mi parche»: la imagen de los amigos de comida, con un velo para poder leer */
#dAmigos{background:linear-gradient(rgba(255,252,247,.80),rgba(255,252,247,.90)),url("../../assets/mi-parche-fondo.webp") center top/cover no-repeat,var(--panel)}
:root[data-tema=dark] #dAmigos{background:linear-gradient(rgba(30,24,19,.82),rgba(30,24,19,.92)),url("../../assets/mi-parche-fondo.webp") center top/cover no-repeat,var(--panel)}
#dAmigos .persona{background:rgba(255,255,255,.72);border-radius:12px;padding:8px 10px}
:root[data-tema=dark] #dAmigos .persona{background:rgba(38,32,25,.78)}
#dAmigos .dlg{min-height:min(480px,80vh)}

/* Punto azul «estás aquí» y su botón */
.yoDot{width:22px;height:22px;position:relative}
.yoDot::before{content:"";position:absolute;inset:3px;border-radius:50%;background:#1c7ed6;border:3px solid #fff;box-shadow:0 1px 5px rgba(0,0,0,.5);z-index:2}
.yoDot i{position:absolute;inset:0;border-radius:50%;background:rgba(28,126,214,.35);animation:yoPulso 2s ease-out infinite}
@keyframes yoPulso{0%{transform:scale(.6);opacity:.9}100%{transform:scale(2.4);opacity:0}}
@media (prefers-reduced-motion:reduce){.yoDot i{animation:none;opacity:.3}}
.miPos{position:fixed;right:14px;bottom:84px;z-index:1100;width:46px;height:46px;border-radius:50%;border:2px solid var(--line);background:var(--panel);color:#1c7ed6;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.miPos:hover{filter:brightness(.96)}
.miPos[aria-pressed=true]{background:#1c7ed6;color:#fff;border-color:#fff}
.miPos:focus-visible{outline:3px solid #d8572f;outline-offset:2px}
@media (max-width:760px){.miPos{bottom:226px}}

/* Fotos de los lugares */
.foGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;margin:10px 0}
.foGrid>p{grid-column:1/-1}
.foto{margin:0;border:1.5px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel)}
.foto.pend{border-style:dashed;opacity:.9}
.verFoto{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;line-height:0}
.foto img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block}
.foto figcaption{display:flex;flex-wrap:wrap;gap:4px;align-items:center;justify-content:space-between;padding:6px 8px;font-size:.78rem}
.foto figcaption .fila{margin:0;gap:4px}
.foto figcaption .btn{padding:3px 8px;font-size:.78rem}
.pendTag{background:#ffe8a3;color:#5c4400;border-radius:99px;padding:1px 7px;font-weight:600}

/* Cámara en la página */
.camMarco{background:#000;border-radius:12px;overflow:hidden;line-height:0}
.camMarco video,.camMarco canvas{width:100%;max-height:60vh;object-fit:contain;display:block}
#dFotos .fila .btn{flex:1 1 auto}

/* Ventana de un lugar: pocas acciones a la vista, el resto plegado en «Más opciones» */
.ic{flex:none;font-size:1.05em;line-height:1}
.accP{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 8px}
.accP .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;font-weight:600;text-decoration:none}
.accP .btn.pri{background:var(--head);color:#fff;border-color:var(--head)}
.leaflet-popup-content .accP a.btn.pri{color:#fff}
.seg{display:flex;border:1.5px solid var(--line);border-radius:999px;overflow:hidden;margin:6px 0}
.seg button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:0;background:transparent;color:var(--muted);padding:8px 10px;font:inherit;font-size:.84rem;cursor:pointer}
.seg button+button{border-left:1.5px solid var(--line)}
.seg button.on{background:#ffe9d2;color:#8a3a12;font-weight:700}
:root[data-tema=dark] .seg button.on{background:#4a2f1d;color:#ffd2a8}
.seg button:focus-visible{outline:3px solid #d8572f;outline-offset:-3px}
details.mas{margin-top:6px;border-top:1px solid var(--line);padding-top:4px}
details.mas>summary{cursor:pointer;font-size:.84rem;color:var(--muted);padding:6px 0;list-style:none}
details.mas>summary::-webkit-details-marker{display:none}
details.mas>summary::after{content:" ▾"}
details.mas[open]>summary::after{content:" ▴"}
.masLista{display:flex;flex-direction:column}
.masLista .btn{border:0;background:none;text-align:left;padding:8px 2px;border-radius:6px}
.masLista .btn:hover{background:var(--bg)}
.masLista .btn.on{background:none;color:var(--ink);font-weight:700}
.masLista .btn.peligro{color:#c92a2a}

/* Pestaña «Lugares»: pliega la lista para que los filtros ocupen todo el panel */
.tabLista{display:flex;align-items:center;gap:6px;width:100%;flex:none;border:0;border-bottom:1px solid var(--line);background:var(--bg);color:var(--ink);font:inherit;font-size:.82rem;font-weight:600;padding:7px 14px;text-align:left;cursor:pointer}
.tabLista:hover{background:var(--line)}
.tabLista:focus-visible{outline:3px solid #d8572f;outline-offset:-3px}
aside.editando .tabLista{display:none}
aside.lista-plegada #lista{display:none}
aside.lista-plegada .tools{flex:1 1 auto;max-height:none}

/* Botón «Instalar app» (junto a los atajos de la lista) */
.pill.instalar{background:#ffa94d;border-color:#ffa94d;color:#26211d;font-weight:700}
.pill.instalar:hover{background:#ffc078}
.pill.instalar[hidden]{display:none}
/* Fotos oficiales del local */
.foT{margin:12px 0 2px;font-size:.95rem}
.foto.ofi{border-color:#d9480f}
.ofiTag{background:#d9480f;color:#fff;border-radius:99px;padding:1px 8px;font-weight:600}
.foAdmin{margin-top:12px;padding:10px;border:1.5px dashed var(--line);border-radius:12px}
.foAdmin .fila{margin:6px 0 0}
.ofiTira{display:flex;gap:6px;margin:6px 0;cursor:pointer}
.ofiTira span{flex:1;min-width:0;position:relative;line-height:0}
.ofiTira img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block}
.ofiTira small{position:absolute;left:4px;bottom:4px;background:rgba(0,0,0,.65);color:#fff;border-radius:99px;padding:1px 7px;font-size:.7rem;line-height:1.3}
/* «Qué comer» en grupos */
.comidaGrupos{display:flex;flex-direction:column;gap:4px}
.buscaComida{width:100%;box-sizing:border-box;margin-bottom:2px}
.grupoComida{border:1.5px solid var(--line);border-radius:12px;padding:0 10px}
.grupoComida[hidden]{display:none}
.grupoComida summary{cursor:pointer;padding:7px 0;font-size:.88rem;font-weight:600;list-style-position:inside}
.grupoComida[open] summary{padding-bottom:4px}
.grupoComida .chips{padding:2px 0 10px}
.grupoComida .gSel{color:#d9480f;font-weight:700;margin-left:4px}
.comidaGrupos [hidden]{display:none!important}
.ofiTag.fija{background:#495057}
