/* ===========================
   PANEL DE OBRA — CSS COMPLETO
   =========================== */

/* ---------- Backdrop (oscurecido y tap-para-cerrar) ---------- */
#sheetBackdrop{
  position: fixed; inset: 0;
  background: transparent;
  opacity: 0;
  pointer-events: none;
  transition: opacity .18s ease;
  z-index: 1800;
}
#sheetBackdrop.is-open{
  background: rgba(0,0,0,.45);
  opacity: 1;
  pointer-events: auto;
}

/* ---------- Panel (desktop: lateral derecho) ---------- */
#sheet{
  position: fixed; right: 0; top: 0; bottom: 0;
  width: min(92vw, 350px);
  background: #fff; color:#111;
  box-shadow: -12px 0 30px rgba(0,0,0,.28);
  z-index: 1900;
 transform: translateX(100%) translateY(0);        /* oculto a la derecha */
  transition: transform .24s ease;
  display: flex; flex-direction: column;
  overflow: visible !important;         /* deja salir la oreja */
  contain: none !important;             /* evita recortes raros */
}
#sheet.is-open{ transform: translateX(0) translateY(0); }
#sheet.no-trans{ transition: none !important; } /* para reEnterSheet() */

/* ---------- Móvil: convierte a bottom-sheet ---------- */
@media (max-width:700px){
  #sheet{
    left:0; right:0; top:auto; bottom:0;
    width:100vw; height:55vh;
    border-top-left-radius:16px; border-top-right-radius:16px;
    transform: translateX(0) translateY(100%);   /* oculto abajo */
    box-shadow: 0 -12px 30px rgba(0,0,0,.28);
  }
  #sheet.is-open{ transform: translateX(0) translateY(0); } /* visible */
}


/* ---------- Oreja/handle (solo desktop, hija del #sheet) ---------- */
#sheet .sheet-handle{
  position: absolute;
  left: -26px; top: 50%;
  transform: translate(-6px,-50%);
  width: 32px; height: 72px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 12px 0 0 12px;
  box-shadow: 0 8px 22px rgba(0,0,0,.25);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; z-index: 5;
}
#sheet .sheet-handle .chev{
  width: 0; height: 0;
  border-right: 7px solid #555;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
}
#sheet:not(.is-open) .sheet-handle{ display: none !important; }
@media (max-width:700px){
  #sheet .sheet-handle{ display: none !important; }
}

/* ---------- Hero / portada ---------- */
.sheet-hero{ position: relative; background:#f2f2f2; }
.sheet-cover{
  display:block; width:100%; aspect-ratio:16/9; object-fit:cover;
  opacity:0; filter: blur(2px);
  transition: opacity .25s ease, filter .25s ease;
}
.sheet-cover.is-loaded{ opacity:1; filter: blur(0); }

/* Botón cerrar */
.sheet-close{
  position:absolute; top:10px; right:10px;
  width:34px; height:34px; border-radius:999px; border:0;
  background: rgba(255,255,255,.9);
  box-shadow: 0 2px 10px rgba(0,0,0,.2);
  display:grid; place-items:center; cursor:pointer;
}
.sheet-close svg{ width:18px; height:18px; color:#222; }



/* ---------- Body & tipografía ---------- */
.sheet-body{ padding:14px 14px 16px; overflow:auto; }
.sheet-title-row{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.sheet-title{ font:800 18px/1.2 system-ui, Segoe UI, Roboto, Arial; margin:0; color:#111; }

/* Pills (reutiliza tus variantes: .pill--entregado, etc.) */
.pill{
  display:inline-flex; align-items:center; gap:6px;
  padding:4px 10px; border-radius:999px; font:800 11px/1 system-ui;
  border:1px solid rgba(0,0,0,.06);
}
.pill svg{ width:14px; height:14px }

/* Métrica */
.sheet-metric{ margin-top:10px; display:flex; gap:8px; align-items:baseline; }
.metric-label{ font:700 12px/1 system-ui; color:#555; }
.metric-value{ font:800 16px/1.1 system-ui; color:#111; }

/* Lugar */
.sheet-location{
  margin-top:8px; font:600 13px/1.3 system-ui; color:#2a2a2a; opacity:.9;
  display:flex; gap:6px; align-items:center;
}
.sheet-location svg{ width:14px; height:14px; color:#d32f2f; }

/* Descripción con “ver más” */
.sheet-desc{ margin-top:10px; font:500 13px/1.45 system-ui; color:#2a2a2a; }
.sheet-desc.is-clamped{
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  overflow: hidden;
}
.sheet-desc-more{
  margin-top:6px; border:0; background:transparent;
  color:#1a73e8; font:700 12px system-ui; cursor:pointer;
}

/* ---------- Carrusel con flechas ---------- */
.sheet-carousel-mask{ position:relative; }
.sheet-carousel{
  margin-top:12px; display:flex; gap:12px; overflow:auto; scroll-snap-type:x mandatory;
  padding: 4px 40px 10px 8px;             /* espacio para flechas */
  scrollbar-width: thin;
  scroll-padding-left: 8px;
}
.sheet-carousel::-webkit-scrollbar{ height:6px; }
.sheet-carousel .media{
  position: relative; flex: 0 0 auto; border-radius: 14px; overflow: hidden;
  width: clamp(140px, 26vw, 220px); height: clamp(88px, 16vw, 140px);
  background:#eee; scroll-snap-align:center; cursor: pointer;
  box-shadow: 0 6px 16px rgba(0,0,0,.12);
  transition: transform .18s ease, box-shadow .18s ease;
}
.sheet-carousel .media img{
  width:100%; height:100%; object-fit:cover; display:block;
  transform: scale(1.0001);
  transition: transform .18s ease, filter .18s ease;
}
/* Hover “maps” (solo dispositivos con hover) */
@media (hover:hover){
  .sheet-carousel .media:hover{
    box-shadow: 0 12px 28px rgba(0,0,0,.22);
  }
  .sheet-carousel .media:hover img{
    transform: scale(1.04);
    filter: saturate(1.02);
  }
}

/* Flechas */
.sheet-carousel-nav{
  position: absolute; inset: 0; pointer-events: none;
}
.sheet-carousel-nav button{
  pointer-events: auto;
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 38px; height: 38px; border-radius: 999px; border: 0;
  background: rgba(255,255,255,.95);
  box-shadow: 0 4px 14px rgba(0,0,0,.22);
  display: grid; place-items: center; cursor: pointer;
}
.sheet-carousel-nav .prev{
  left:0; transform: translate(-10px, -50%); /* asómala 10px */
}
.sheet-carousel-nav .next{
  right: 8px; transform: translate(-6px, -50%);
}
.sheet-carousel-nav button svg{ width: 18px; height: 18px; color:#222; }
.sheet-carousel-nav button:disabled{ opacity: 1; filter: grayscale(1); cursor: default; }

/* ---------- Acciones ---------- */
.sheet-actions{ margin-top:12px; display:flex; gap:8px; flex-wrap:wrap; }
.sheet-actions .btn{
  background:#f6f8ff; color:#1a73e8; border:1px solid #dbe5ff;
  border-radius:999px; padding:8px 12px; font:800 12px system-ui; cursor:pointer;
}

/* ---------- Skeletons ---------- */
.skel{ position:relative; overflow:hidden; background:#eee; border-radius:10px; }
.skel::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent);
  animation: sk 1s infinite;
}
@keyframes sk{ from{transform:translateX(-100%)} to{transform:translateX(100%)} }
.skel-line{
  height:10px; border-radius:6px; background:#eee; margin-top:8px; position:relative; overflow:hidden;
}
.skel-line::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent);
  animation: sk 1s infinite;
}

/* =========================================================
   VISOR DE FOTOS (lightbox) — usado por el carrusel
   ========================================================= */
#pvBackdrop{
  position:fixed; inset:0; background:rgba(0,0,0,.65);
  opacity:0; pointer-events:none; transition:opacity .2s ease;
  z-index: 1998;
}
#pvBackdrop.is-open{ opacity:1; pointer-events:auto; }

#pv{
  position:fixed; inset:0; display:flex; align-items:center; justify-content:center;
  pointer-events:none; z-index: 1999;
}
#pv.is-open{ pointer-events:auto; }
#pv .box{
  position:relative; background:#000; border-radius:14px; overflow:hidden;
  max-width:min(92vw, 1100px); max-height:min(86vh, 860px);
  box-shadow:0 18px 60px rgba(0,0,0,.45);
}
#pv img{
  display:block; max-width:100%; max-height:min(86vh, 860px); object-fit:contain;
}

/* === FIX X del visor (pv-close) con máscara, a prueba de transforms globales === */
#pv .pv-close svg{ display:none !important; }

#pv .pv-close::before{
  content:"";
  display:block;
  width:22px;
  height:22px;
  background:#222;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 6 L18 18 M6 18 L18 6' stroke='%23000' stroke-width='3.2' stroke-linecap='round' fill='none'/></svg>") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 6 L18 18 M6 18 L18 6' stroke='%23000' stroke-width='3.2' stroke-linecap='round' fill='none'/></svg>") no-repeat center / contain;
}
/* Ajusta grosor con stroke-width y tamaño con width/height */


/* Controles del visor */
.pv-btn{
  pointer-events: auto;
  position:absolute; display:grid; place-items:center; width:42px; height:42px;
  border:0; border-radius:999px; background:rgba(255,255,255,.98);
  box-shadow:0 6px 18px rgba(0,0,0,.28); cursor:pointer;
}
.pv-close{ top:10px; right:10px; }
.pv-prev{ left:12px; top:50%; transform:translateY(-50%); }
.pv-next{ right:12px; top:50%; transform:translateY(-50%); }
.pv-btn svg{ width:20px; height:20px; color:#222; }
.pv-btn:disabled{ opacity:.45; filter:grayscale(1); cursor:default; }

.pv-counter{
  position:absolute; left:0; right:0; bottom:0; padding:8px 12px;
  text-align:center; color:#fff; font:700 12px/1.2 system-ui;
  background:linear-gradient(180deg, transparent, rgba(0,0,0,.45) 60%);
}

/* Seguridad por si algo quedara a medio estado */
#pv:not(.is-open),
#pvBackdrop:not(.is-open){
  pointer-events: none !important;
  opacity: 0 !important;
}



/* Alineación según el lado elegido por el auto-layout */
.obra-label__inner[data-side="R"]{ text-align: left;  }
.obra-label__inner[data-side="L"]{ text-align: right; }

/* (opcional) un pelín menos de ancho para evitar saltos raros */
.obra-label__inner{ max-width: 260px; }

.obra-label__inner{ text-align: var(--align, left); }




/* ===== Dock de resultados (columna a la derecha del panel) ===== */
:root{
  --rd-w: 280px;                      /* ancho del dock de resultados */
  --rd-gap: 12px;                     /* separación respecto al dock de filtros */
}

#resultsDock{
  position: fixed;
  top: calc(var(--chips-bottom, 86px) + 8px);   /* mismo top que los filtros */
  left: 0;                                      /* lo recalculamos por JS */
  width: var(--rd-w);
  max-width: calc(100vw - 24px);

  /* 👇 clave: altura fija para que la lista pueda hacer scroll */
  height: calc(100vh - (var(--chips-bottom, 86px) + 8px) - 12px);
  max-height: calc(100vh - (var(--chips-bottom, 86px) + 8px) - 12px);

  z-index: 1100;

  background: rgba(255,255,255,.92);
  backdrop-filter: blur(6px);
  border: 1px solid #00000012;
  border-radius: 14px;
  box-shadow: 0 12px 30px rgba(0,0,0,.14);
  overflow: hidden;  /* esto se queda así, el scroll es solo en .rd-list */
}


#resultsDock .rd-head{
  display:flex; align-items:center; justify-content:space-between;
  padding: 10px 12px;
  border-bottom: 1px solid #eaeaea;
  font: 800 13px/1 system-ui;
  color:#222;
}
#resultsDock .rd-count{ font-weight:700; color:#555; }

#resultsDock .rd-list{
  list-style:none; margin:8px; padding:6px;
  background:#fff; border:1px solid #e5e5e5; border-radius:12px;
  box-shadow:0 6px 16px rgba(0,0,0,.08);
  max-height: calc(100% - 56px);
  overflow-y: auto;   /* aquí forzamos scroll vertical */
}
#resultsDock .rd-list li{
  padding:10px 12px; border-radius:10px; cursor:pointer; display:grid; gap:4px;
}
#resultsDock .rd-list li:hover{ background:#f7f9ff; }
#resultsDock .title{ font:800 13px/1.25 system-ui; color:#111; }
#resultsDock .meta{ font:700 12px/1.2 system-ui; color:#444; opacity:.9; }
#resultsDock .pill{ font:800 10px/1 system-ui; padding:3px 8px; border-radius:999px; display:inline-block; }

/* Responsive: si no hay espacio (pantalla angosta), oculta el dock */
@media (max-width: 640px){
  #resultsDock{ display:none !important; }
}


/* ====== FILTROS / DOCK — VERSIÓN LIMPIA ====== */

:root{
  --fp-w: 300px;
  --fp-row-h: 34px;      /* antes 44px */
  --fp-pad-x: 12px;
}

/* Contenedor del dock */
#filtersDock.fp{
  position: fixed;
  left: 12px;
  top: calc(var(--chips-bottom, 86px) + 8px);
  z-index: 1100;
  display: inline-flex;
  flex-direction: column;
  gap: 8px;
  width: auto;
    transition: width .28s cubic-bezier(.2,.7,.2,1);
  will-change: width;

}
@media (max-width:700px){
  :root{ --fp-w: calc(100vw - 24px); }
}

/* Píldora trigger */
.fp-pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 14px;
  background:#fff; border:1px solid #00000012; border-radius:999px;
  font:800 13px/1 system-ui; color:#222;
  box-shadow:0 8px 20px rgba(0,0,0,.12); cursor:pointer;
}
.fp-pill svg{ width:18px; height:18px; color:#333; transition:transform .22s ease; }
.fp[aria-expanded="true"] .fp-pill svg{ transform:rotate(90deg); }

/* Panel */
.fp-panel{
  width:var(--fp-w);
  background:#fff; border:1px solid #00000012; border-radius:14px;
  box-shadow:0 12px 30px rgba(0,0,0,.14); overflow:hidden;
}

/* Suaviza la apertura/cierre del cuerpo del panel (el JS cambia su height) */
#fpPanel{
  height: 0;                 /* estado colapsado, tu JS lo ajusta */
  overflow: hidden;          /* evita desbordes durante la animación */
  transition: height .30s cubic-bezier(.2,.7,.2,1);
  will-change: height;
}

.fp-panel .fp-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px var(--fp-pad-x);
  font:800 13px/1 system-ui; color:#222;
  border-bottom:1px solid #eaeaea;
}
.fp-panel .fp-body{ padding:10px var(--fp-pad-x) 12px; }

/* ===== MODO LISTA (único estilo de campos) ===== */

/* ===== Scroll interno cuando el panel se hace largo ===== */
#filtersDock.fp{
  /* añade límites sin romper tu layout actual */
  max-height: calc(100vh - var(--chips-bottom, 86px) - 12px);
  overflow: hidden; /* el scroll vive dentro */
}

/* el cuerpo del panel que contiene los filtros */
#filtersDock .fp-panel,
#filtersDock .fp--list{            /* usa este segundo si tu cuerpo se llama fp--list */
  overflow: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 12px;
}

/* Oculta SOLO el encabezado superior "Filtros" dentro del panel */
#filtersDock .fp-panel > :is(h2, h3, .fp-heading, .fp-title, .f-header):first-child{
  display: none !important;
}

/* Ajuste fino: elimina el salto/borde que quedaba después del título */
#filtersDock .fp-panel > *:first-child{
  margin-top: 0;
  border-top: 0;
}

/* listas largas de opciones dentro de cada filtro */
#filtersDock .f-menu{
  max-height: min(56vh, 520px);
  overflow: auto;
}


/* Fila base */
#filtersDock.fp--list .f-field{
  position:relative;
  background:transparent;           /* JAMÁS blanco */
  border:0; border-bottom:1px solid #e9e9e9;
  border-radius:0; margin:0;
  min-height:var(--fp-row-h);
  padding:10px calc(var(--fp-pad-x) + 32px) 8px var(--fp-pad-x); /* hueco p/ ＋ */
  box-shadow:none;
    display: flex;
  align-items: center;   /* ← centra el label en la fila */
    display: block;  

}
#filtersDock.fp--list .f-field:last-child{ border-bottom:0; }

/* Título (flujo normal, misma línea que el ＋) */
#filtersDock.fp--list .f-field > label{
  display:flex; align-items:center;   /* centra verticalmente el texto */
  margin:0; padding:0;
  font:700 14px/1.15 system-ui, Segoe UI, Roboto, Arial;  /* ↓ línea más compacta */
  color:#222; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}


/* Botón ＋: fijo arriba-dcha de la fila */
#filtersDock.fp--list .f-chip{
  position:absolute; right:var(--fp-pad-x); top:10px;
  width:28px; height:28px; display:grid; place-items:center;
  background:transparent; border:0; padding:0; cursor:pointer;
  box-shadow:none;
}
#filtersDock.fp--list .f-chip__icon{
  font-size:20px; line-height:1; font-weight:900; color:#444;
}

/* Menú / acordeón debajo del título */
#filtersDock.fp--list .f-menu{
  position:static; margin-top:8px;
  padding:8px 0 12px;
  border:0; border-top:1px solid #eee;
  background:transparent; box-shadow:none;
  height:0; overflow:hidden; transition:height .22s ease;
}
#filtersDock.fp--list .f-menu.is-open{ height:auto; }

/* Items del submenú (FIX: nunca texto blanco al hover) */
#filtersDock .f-menu label{
  display:flex; align-items:center; gap:8px;
 padding: 2px 0;
font: 700 12.5px/1.02 system-ui;

  color:#222 !important;                 /* color base forzado */
  background:transparent;
  border-radius: 0 !important;
  transition:background .12s ease, color .12s ease;
}

#filtersDock .f-menu label:hover{
  border-radius: 6px !important;
}
#filtersDock .f-menu label:hover{
  background:#f3f6ff !important;         /* leve gris/azulado */
  color:#111 !important;                  /* NUNCA blanco */
}
#filtersDock .f-menu label *{
  color:inherit !important;               /* heredan del label */
}
#filtersDock .f-menu label:hover *{
  color:inherit !important;               /* también al hover */
}


/* Hover de fila: sutil o nulo (sin azules, sin sombras) */
#filtersDock.fp--list .f-field:hover{
  background:transparent; box-shadow:none; border-bottom-color:#e9e9e9;
}
#filtersDock.fp--list .f-field:hover > label,
#filtersDock.fp--list .f-field:hover .f-chip__icon{
  color:inherit;
}

/* Accesibilidad: foco visible sin cambiar colores */
#filtersDock.fp--list .f-chip:focus-visible{
  outline:2px solid #1a73e8; border-radius:12px;
}

/* Acciones al pie (si las usas) */
#filtersDock .f-actions{
  margin-top:12px; border-top:0; padding-top:0;
}

/* ===== OVERRIDES LIMPIEZA PANEL DE FILTROS (modo lista) ===== */

/* 1) Panel más angosto */
:root{
  --fp-w: 280px;            /* antes 300–340px */
}

/* 2) Oculta cualquier texto/contador dentro del botón; deja solo el ícono ＋/－ */
#filtersDock.fp--list .f-chip > span:not(.f-chip__icon){
  display: none !important;
}

/* 3) Asegura que tampoco se cuelen contadores dentro del <label> del campo */
#filtersDock.fp--list .f-field > label > *:not(:first-child){
  display: none !important;
}

/* 4) Ícono grande, centrado y con color consistente en hover/focus */
#filtersDock.fp--list .f-chip__icon{
  font-size: 20px;
  line-height: 1;
  font-weight: 900;
  color: #444;
}
#filtersDock.fp--list .f-field:hover .f-chip__icon,
#filtersDock.fp--list .f-chip:focus-visible .f-chip__icon{
  color: #1a73e8 !important;
}

/* 5) Menú desplegable como acordeón (altura animada y bien alineado) */
#filtersDock.fp--list .f-menu{
  position: static;
  margin-top: 8px;
  padding: 4px 0 6px;
  border: 0;
  border-top: 1px solid #eee;
  background: transparent;
  box-shadow: none;
  height: 0;
  overflow: hidden;
  transition: height .22s ease;
}
#filtersDock.fp--list .f-menu.is-open{ height: auto; }

/* 6) Ítems del submenú legibles (siempre texto oscuro) */
#filtersDock.fp--list .f-menu label{
  color: #222 !important;
  background: transparent;
}
#filtersDock.fp--list .f-menu label:hover{
  background: #f3f6ff !important;
  color: #111 !important;
}

/* ===== FIX TEXTO ENUNCIADO (no más blanco ni transparente al hover) ===== */
#filtersDock .f-field > label,
#filtersDock .f-field > label *{
  color: #1f2328 !important;              /* texto oscuro estable */
  -webkit-text-fill-color: #1f2328 !important;
  text-shadow: none !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Mantenerlo igual también cuando hay hover en la fila o en el label */
#filtersDock .f-field:hover > label,
#filtersDock .f-field:hover > label *,
#filtersDock .f-field > label:hover,
#filtersDock .f-field > label:hover *{
  color: #1f2328 !important;
  -webkit-text-fill-color: #1f2328 !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Si dentro del label hay enlaces, heredan el color y no cambian al hover */
#filtersDock .f-field > label a,
#filtersDock .f-field > label a:hover{
  color: inherit !important;
  text-decoration: none;
}

/* Por si algún global le pone trazo al texto */
#filtersDock .f-field > label{
  -webkit-text-stroke: 0 !important;
}

/* Y recordatorio: el hover visual solo en el submenú (checkboxes) */
#filtersDock .f-menu label:hover{
  background: #f3f6ff !important;
  color: #111 !important;
}

/* Quitar la línea bajo el enunciado */
#filtersDock.fp--list .f-menu{
  border-top: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  box-shadow: none !important;
}

/* Oculta el rótulo "Filtros" del encabezado del dock */
#filtersDock .fp-head .fp-title{
  display: none !important;
}

/* Mostrar resultados solo en el dock derecho */
#filtersDock #resultsList{
  display: none !important;
}

/* Mantener el mapa claro y clickeable aunque la ficha esté abierta */
#sheetBackdrop{
  opacity: 0 !important;          /* sin oscurecer */
  pointer-events: none !important; /* no bloquea el mapa */
}

/* Oculta el dock de resultados cuando se le añada la clase */
#resultsDock.is-hidden{
  display: none !important;
}

/* Evitar que el menú se ensanche por textos largos */
#filtersDock .f-menu{
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Por si algún nombre es MUY largo, que rompa línea */
#filtersDock .f-menu label{
  word-break: break-word;
}

/* Dock de filtros: que los menús no ensanchen el panel */
#filtersDock .f-field {
  position: relative;          /* referencia para el absolute de .f-menu */
}

#filtersDock .f-menu {
  left: 0;
  right: 0;                    /* ocupa el ancho del campo */
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;      /* respeta padding/bordes dentro del ancho */
}

/* Compactar más las filas de los filtros SOLO en el dock lateral */
#filtersDock .f-menu .f-option{
  margin: 0 !important;
  padding: 0 !important;
}

#filtersDock .f-menu label{
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  line-height: 0.7 !important;
  gap: 2px !important; /* opcional: reduce aún más la altura */
}
/* Más aire entre los títulos (Segmento, Provincia, Distrito, Estado)
   y los checkboxes que vienen debajo, sin alterar nada más */
#filtersDock .f-field label {
  margin-bottom: 10px !important;  /* antes eran 6px */
}

/* Reducir solo el espacio entre los checkboxes (sin tocar enunciados) */
#filtersDock .f-menu label {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
  line-height: 0.4 !important;
} 

#filtersDock .f-menu label {
  gap: 1px !important;     /* antes 8px – reduce la altura visual */
  padding: 0 !important;    /* cero aire */
  line-height: 1 !important;
}

/* === Compactar interlineado de los checkboxes en los menús === */
.f-menu label,
#filtersPanel .f-menu label,
#fDistMenu label,
#fDistList label{
  display: flex;
  align-items: center;
  gap: 6px;
  font: 700 12px/1 system-ui, Segoe UI, Roboto, Arial;
  padding: 2px 4px;   /* menos alto */
  margin: 0;          /* sin margen extra */
}

/* Opcional: cabecera "Seleccionar todo" del menú de distritos más compacta */
#fDistMenu > label[style]{
  padding-bottom: 3px !important;
  border-bottom: 1px solid #eee;
}

/* Opciones del menú de filtros dentro del dock */
#filtersDock .f-menu label{
  margin: 0;                 /* sin espacio extra abajo */
  padding: 2px 4px;          /* menos alto */
  font: 700 12px/1.1 system-ui;
}

#filtersDock .f-menu label input{
  margin: 0 6px 0 0;         /* que el check no empuje hacia abajo */
}


#filtersDock .f-menu label{
  border-radius: 0 !important;
  background: transparent !important;
}

#filtersDock .f-menu label:hover{
  border-radius: 0 !important;
  background: #f3f6ff !important; /* si quieres hover sin bordes */
}

/* Quitar esquina rara del encabezado "Seleccionar todo" en DISTRICTO */
#fDistMenu > label[style]{
  background: transparent !important;  /* que se funda con el panel */
  border-radius: 0 !important;
  padding-top: 2px !important;
  padding-bottom: 3px !important;
  border-bottom: 1px solid #eee !important;
}

/* Quitar la curva superior de los menús de filtros en el dock */
#filtersDock .f-menu{
  border-radius: 0 0 12px 12px !important;  /* recto arriba, redondo abajo */
}
