/* Detalles que Tailwind no cubre */
html { -webkit-tap-highlight-color: transparent; }
body { font-feature-settings: "tnum" 1; }
:focus-visible { outline: 2px solid #5c6830; outline-offset: 2px; }
[hidden] { display: none !important; }

/* Leaflet con la estética de la app */
.leaflet-container { font-family: Montserrat, system-ui, sans-serif; background: #eef0e6; isolation: isolate; z-index: 0; } /* que el mapa no tape listas, menús ni la barra de abajo */
.leaflet-control-attribution { font-size: 10px; background: rgba(255,255,255,.8) !important; }
.leaflet-bar a { color: #1f2218 !important; }
.marcador { width: 30px; height: 30px; border-radius: 9999px; display: grid; place-items: center; font: 700 13px/1 Montserrat, sans-serif; color: #fff; background: #5c6830; border: 3px solid #fff; box-shadow: 0 2px 8px rgba(31,34,24,.3); }
.marcador.visitada { background: #b5bd86; color: #2f3517; }
.marcador.con-hora { background: #a3542a; }
.marcador.base { background: #1f2218; }
.leaflet-popup-content-wrapper { border-radius: 14px; box-shadow: 0 12px 40px rgba(31,34,24,.16); }
.leaflet-popup-content { margin: 12px 14px; font-size: 13px; }

/* Popovers de los controles propios */
.ui-popover { position: fixed; z-index: 80; }
.ui-opcion[aria-selected="true"] { background: #f4f5ec; color: #4a5426; font-weight: 600; }
.ui-opcion.activa { background: #f4f5ec; }

/* Barra de progreso de subida */
@keyframes brillo { from { background-position: 200% 0 } to { background-position: -200% 0 } }
.cargando { background: linear-gradient(90deg, #f4f5ec 25%, #e8ebd8 50%, #f4f5ec 75%); background-size: 200% 100%; animation: brillo 1.4s linear infinite; }
@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

.scroll-fino::-webkit-scrollbar { width: 8px; height: 8px; }
.scroll-fino::-webkit-scrollbar-thumb { background: #d3d8b4; border-radius: 9999px; }

/* Mapa de OpenStreetMap más apagado, para que destaquen los puntos */
.leaflet-tile-pane { filter: saturate(.45) contrast(.92) brightness(1.04) sepia(.08); }

/* Móvil: con menos de 16px el iPhone hace zoom al escribir */
@media (max-width: 639px) { input:not([type=hidden]), textarea { font-size: 16px !important; } }
.sin-barra { scrollbar-width: none; } .sin-barra::-webkit-scrollbar { display: none; }
/* Hojas que salen desde abajo en el móvil: asa para arrastrar la vista */
@media (max-width: 639px) { .ui-popover::before { content: ""; display: block; width: 40px; height: 4px; border-radius: 9999px; background: #e6e7de; margin: 0 auto 10px; } }
button, a { touch-action: manipulation; }
