/* TECHNO PARTY 2026 · panel EXPLORAR (saltar de provincia/ciudad/club)
   Estilo: fino, minimalista, con clase (Anthropic/Apple/Windows) — gris, nunca negro puro.
   El rojo (--t26-rojo) se reserva para el conmutador activo (pestaña UBICACIONES/CLUBS). */
:root {
	--t26-explora-fondo: #1c1c1c; /* gris corporativo del panel: más claro que --t26-panel (#0b0b0b), nunca negro puro */
}

.tp-explora-fondo { position: fixed; inset: 0; z-index: 100000; background: rgba(0, 0, 0, .6); opacity: 0; pointer-events: none; visibility: hidden; transition: opacity .25s, visibility 0s linear .25s; }
body.admin-bar .tp-explora-fondo { top: 32px; }
@media (max-width: 782px) { body.admin-bar .tp-explora-fondo { top: 46px; } }
.tp-explora-fondo.is-open { opacity: 1; pointer-events: auto; visibility: visible; transition: opacity .25s; }

.tp-explora-panel {
	position: fixed; top: 0; left: 0; bottom: 0; z-index: 100001;
	width: min(400px, 100vw);
	background: var(--t26-explora-fondo);
	color: var(--t26-blanco);
	border-right: 1px solid #2d2d2d;
	box-shadow: 30px 0 60px rgba(0, 0, 0, .55);
	transform: translateX(-100%);
	transition: transform .28s cubic-bezier(.2, .8, .2, 1);
	display: flex; flex-direction: column;
	font-family: var(--t26-texto);
	visibility: hidden;
}
body.admin-bar .tp-explora-panel { top: 32px; }
@media (max-width: 782px) { body.admin-bar .tp-explora-panel { top: 46px; } }
.tp-explora-panel.is-open { transform: none; visibility: visible; }
@media (max-width: 480px) { .tp-explora-panel { width: 100vw; } }

.tp-explora-panel-inner { display: flex; flex-direction: column; min-height: 0; height: 100%; }

.tp-explora-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 22px 24px; border-bottom: 1px solid #2a2a2a; }
.tp-explora-title { font: 700 15px/1 var(--t26-titulo); letter-spacing: .08em; text-transform: uppercase; color: var(--t26-blanco); margin: 0; }
.tp-explora-close { width: 36px; height: 36px; border-radius: 999px; border: 1.5px solid #3a3a3a; background: transparent; color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; flex: 0 0 auto; font-size: 20px; line-height: 1; font-weight: 300; }
.tp-explora-close:hover { border-color: #fff; }

.tp-explora-tabs { display: flex; gap: 8px; padding: 16px 24px 0; }
.tp-explora-tab { flex: 1; height: var(--t26-pM); border-radius: var(--t26-radio); border: 1.5px solid #3a3a3a; background: transparent; color: var(--t26-gris-claro); font: 700 11px/1 var(--t26-texto); letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.tp-explora-tab:hover { border-color: #565656; color: #fff; }
.tp-explora-tab.is-active, .tp-explora-tab.is-active:hover { background: var(--t26-rojo); border-color: var(--t26-rojo); color: #fff; }

.tp-explora-search-wrap { padding: 14px 24px 4px; }
.tp-explora-search { width: 100%; height: 42px; border-radius: var(--t26-radio); border: 1px solid #343434; background: #161616; color: #fff; padding: 0 16px; font: 400 14px/1 var(--t26-texto); -webkit-appearance: none; appearance: none; }
.tp-explora-search::placeholder { color: #828282; }
.tp-explora-search:focus { outline: none; border-color: #6a6a6a; }

.tpd26-mas { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; padding: 14px 24px 6px; }
.tpd26-mas__t { width: 100%; font: 700 11px/1 var(--t26-texto); letter-spacing: .06em; text-transform: uppercase; color: #8f8f8f; margin-bottom: 6px; }
.tpd26-mas a { display: inline-flex; align-items: center; height: 30px; padding: 0 14px; border-radius: var(--t26-radio); border: 1px solid #3a3a3a; font-size: 12px; color: #d8d8d8; white-space: nowrap; }
.tpd26-mas a:hover { border-color: var(--t26-rojo); color: var(--t26-rojo-hover); }

.tp-explora-list { flex: 1; min-height: 0; overflow-y: auto; padding: 4px 0 24px; scrollbar-width: thin; scrollbar-color: #3a3a3a var(--t26-explora-fondo); }
.tpd26-az { display: block; padding: 14px 24px 6px; font: 700 11px/1 var(--t26-texto); letter-spacing: .06em; text-transform: uppercase; color: #8f8f8f; }
.tp-explora-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 24px; font-size: 14px; color: #ededed; border-bottom: 1px solid #262626; font-weight: 400; }
.tp-explora-item:hover { background: #242424; color: #fff; }
.tp-explora-item-name { font-weight: 400; }
.tpd26-n { font-size: 12px; color: #8f8f8f; white-space: nowrap; }
.tp-explora-no-results { padding: 24px; margin: 0; color: #8f8f8f; font-size: 13px; text-align: center; }

html.t26-explora-abierto { overflow: hidden; }

/* PANEL DERECHO de los filtros (Género, Tipo, Horario…). LUGAR (provincias y clubs) va en el panel IZQUIERDO de ESPAÑA; el resto, aquí a la derecha */
.t26-izq-velo { position: fixed; inset: 0; background: rgba(0, 0, 0, .55); opacity: 0; pointer-events: none; transition: opacity .2s; z-index: 100000; }
.t26-izq-velo.is-on { opacity: 1; pointer-events: auto; }
.t26-izq { position: fixed; top: 0; right: 0; bottom: 0; width: min(420px, 100%); z-index: 100001; display: flex; flex-direction: column; background: #1f1f1f; color: #fff; border-left: 1px solid #3a3a3a; box-shadow: -30px 0 60px rgba(0, 0, 0, .35); transform: translateX(100%); transition: transform .25s; padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px); padding-right: env(safe-area-inset-right, 0px); }
.t26-izq.is-on { transform: none; }
@media (prefers-reduced-motion: reduce) { .t26-izq, .t26-izq-velo { transition: none; } }
html.t26-izq-abierto { overflow: hidden; }
.t26-izq__cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 20px 14px; border-bottom: 1px solid #3a3a3a; }
.t26-izq__t { font: 700 15px/1 var(--t26-titulo); letter-spacing: .08em; text-transform: uppercase; margin: 0; color: inherit; }
.t26-izq__x { width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid currentColor; background: transparent; color: inherit; font-size: 20px; line-height: 1; cursor: pointer; }
.t26-izq__x:hover { background: var(--t26-rojo, #e40613); border-color: var(--t26-rojo, #e40613); color: #fff; }
.t26-izq__busca { display: block; padding: 14px 20px 6px; }
.t26-izq__busca input { width: 100%; height: 40px; border-radius: 999px; border: 1.5px solid #fff; background: #3a3a3a; color: #fff; padding: 0 16px; font: 14px var(--t26-texto); }
.t26-izq__ops { flex: 1; overflow-y: auto; padding: 8px 12px 20px; display: flex; flex-direction: column; }
.t26-izq__op { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 10px; border: 0; border-radius: 6px; background: none; color: inherit; font: 700 12px/1.2 var(--t26-texto); letter-spacing: .08em; text-transform: uppercase; text-align: left; cursor: pointer; }
.t26-izq__op:hover, .t26-izq__op:focus-visible { background: #333; outline: none; }
.t26-izq__op i { width: 18px; height: 18px; border-radius: 50%; border: 1.5px solid currentColor; flex: none; }
.t26-izq__op.is-on { color: var(--t26-rojo, #e40613); }
.t26-izq__op.is-on i { background: var(--t26-rojo, #e40613); border-color: var(--t26-rojo, #e40613); box-shadow: inset 0 0 0 3px #1f1f1f; }
.t26-izq__vacio { padding: 20px 10px; color: #aaa; }
html[data-t26-tema="dia"] .t26-izq { background: #fff; color: #111; border-left-color: #e6e6e6; box-shadow: -30px 0 60px rgba(0, 0, 0, .15); }
html[data-t26-tema="dia"] .t26-izq__cab { border-bottom-color: #e6e6e6; }
html[data-t26-tema="dia"] .t26-izq__busca input { background: #fff; color: #111; border-color: #111; }
html[data-t26-tema="dia"] .t26-izq__op:hover { background: #f3f3f3; }
html[data-t26-tema="dia"] .t26-izq__op.is-on i { box-shadow: inset 0 0 0 3px #fff; }
/* FECHA en el panel derecho: atajos + 6 meses seguidos */
.t26-izq__atajos { display: flex; flex-direction: column; padding-bottom: 8px; border-bottom: 1px solid #3a3a3a; margin-bottom: 8px; }
.t26-izq__mes { padding: 10px 10px 14px; }
.t26-izq__mes h3 { font: 700 13px/1 var(--t26-titulo); letter-spacing: .08em; text-transform: uppercase; margin: 6px 0 12px; }
.t26-izq__sem, .t26-izq__dias { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; text-align: center; }
.t26-izq__sem span { font: 700 10px/1 var(--t26-texto); letter-spacing: .08em; opacity: .6; padding-bottom: 4px; }
.t26-izq__dia { aspect-ratio: 1; max-width: 100%; border: 0; border-radius: 50%; background: none; color: inherit; font: 700 13px/1 var(--t26-texto); cursor: pointer; font-variant-numeric: tabular-nums; }
.t26-izq__dia:hover:not([disabled]) { background: #333; }
.t26-izq__dia[disabled] { opacity: .3; cursor: default; }
.t26-izq__dia.is-hoy { box-shadow: inset 0 0 0 1.5px currentColor; }
.t26-izq__dia.is-entre { background: rgba(228, 6, 19, .22); border-radius: 6px; }
.t26-izq__dia.is-on { background: var(--t26-rojo, #e40613); color: #fff; }
.t26-izq__pie { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 14px 20px; border-top: 1px solid #3a3a3a; }
.t26-izq__rango { flex: 1 1 100%; font: 700 12px/1.2 var(--t26-texto); letter-spacing: .06em; text-transform: uppercase; }
.t26-izq__pie .t26-pil { flex: 1; }
.t26-izq__pie [data-aplica][disabled] { opacity: .4; cursor: default; }
html[data-t26-tema="dia"] .t26-izq__atajos, html[data-t26-tema="dia"] .t26-izq__pie { border-color: #e6e6e6; }
html[data-t26-tema="dia"] .t26-izq__dia:hover:not([disabled]) { background: #f3f3f3; }
/* LUGAR (Noticias): mismo panel, por la IZQUIERDA, con pestañas Ubicaciones / Clubs */
.t26-izq.t26-izq--l { right: auto; left: 0; border-left: 0; border-right: 1px solid #3a3a3a; box-shadow: 30px 0 60px rgba(0, 0, 0, .35); transform: translateX(-100%); padding-right: 0; padding-left: env(safe-area-inset-left, 0px); }
.t26-izq.t26-izq--l.is-on { transform: none; }
.t26-izq__tabs { display: flex; gap: 10px; padding: 14px 20px 0; }
.t26-izq__tabs .t26-pil { flex: 1; }
html[data-t26-tema="dia"] .t26-izq.t26-izq--l { border-right-color: #e6e6e6; box-shadow: 30px 0 60px rgba(0, 0, 0, .15); }
/* el pie con APLICAR siempre a la vista: la lista se desplaza por dentro y el pie queda fijo abajo */
.t26-izq { height: 100%; max-height: 100dvh; overflow: hidden; }
.t26-izq__ops { min-height: 0; flex: 1 1 auto; overscroll-behavior: contain; }
.t26-izq__cab, .t26-izq__busca, .t26-izq__tabs, .t26-izq__pie { flex: none; }
.t26-izq__pie { background: inherit; box-shadow: 0 -12px 24px rgba(0, 0, 0, .25); }
body.admin-bar .t26-izq { top: 32px; max-height: calc(100dvh - 32px); }
@media (max-width: 782px) { body.admin-bar .t26-izq { top: 46px; max-height: calc(100dvh - 46px); } }


/* 14-10 · botones de VISTA (LISTA · MOSAICO · CALENDARIO) siempre solo con icono (título al pasar el ratón), para que la barra de filtros quepa en una fila */
body:not(#t26a#t26b#t26c#t26d#t26e#t26f#t26g#t26h) .t26-vista .t26-pil,
body:not(#t26a#t26b#t26c#t26d#t26e#t26f#t26g#t26h) .t26-barra__vista a.t26c__cal { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
body:not(#t26a#t26b#t26c#t26d#t26e#t26f#t26g#t26h) .t26-vista .t26-pil svg,
body:not(#t26a#t26b#t26c#t26d#t26e#t26f#t26g#t26h) .t26-barra__vista a.t26c__cal svg { width: 18px; height: 18px; flex: none; }
/* siempre solo icono (Alberto 14-10: "en todos sitios, pantalla grande o pequeña") */
@media (min-width: 0px) {
	body:not(#t26a#t26b#t26c#t26d#t26e#t26f#t26g#t26h) .t26-vista .t26-pil .t26-vista__tx,
	body:not(#t26a#t26b#t26c#t26d#t26e#t26f#t26g#t26h) .t26-barra__vista a.t26c__cal .t26-vista__tx { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	body:not(#t26a#t26b#t26c#t26d#t26e#t26f#t26g#t26h) .t26-vista .t26-pil,
	body:not(#t26a#t26b#t26c#t26d#t26e#t26f#t26g#t26h) .t26-barra__vista a.t26c__cal { width: 44px; min-width: 44px; padding: 0 !important; gap: 0; }
}
/* 19-10 (Alberto): el calendario (Favoritos / Mis entradas) aparece a la IZQUIERDA de Entradas, con la misma separación que hay entre el corazón y la lista: así no se mueve nada al pulsar */
body:not(#t26a#t26b#t26c#t26d#t26e#t26f#t26g#t26h) .t26-barra__vista a.t26c__cal { order: -1; margin-right: 8px; }
