:root { color-scheme: dark; font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; background: #0f1411; color: #fff; }
body { min-height: 100vh; }
.app { min-height: 100vh; display: grid; grid-template-rows: auto minmax(520px, 1fr) auto; background: #0f1411; }
.cabecera { min-height: 72px; display: flex; align-items: center; gap: 18px; padding: 10px 22px; border-bottom: 1px solid rgba(255,255,255,.09); background: #070b09; position: relative; z-index: 10; }
.logo { width: 102px; height: auto; object-fit: contain; }
.etiqueta { margin: 0 0 2px; color: #b9c2bc; letter-spacing: .18em; font-size: .68rem; }
h1 { margin: 0; font-size: clamp(1.25rem, 2.1vw, 2rem); }
.escena { position: relative; min-height: 520px; overflow: hidden; background: #050505; }
#visorOriginal { display: block; width: 100%; height: 100%; min-height: 520px; border: 0; background: #050505; }
.estado-carga, .mensaje-error { position: absolute; z-index: 5; left: 50%; top: 50%; transform: translate(-50%, -50%); padding: 14px 18px; border-radius: 10px; background: rgba(0,0,0,.8); }
.oculto { display: none !important; }
.accesos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding: 14px 20px; background: #0b100d; }
.tarjeta-caso { display: grid; gap: 4px; padding: 14px 16px; border: 1px solid rgba(255,255,255,.13); border-radius: 10px; color: #fff; text-decoration: none; background: rgba(255,255,255,.035); }
.tarjeta-caso:hover { background: rgba(255,255,255,.075); }
.tarjeta-caso span { color: #bfc7c1; font-size: .86rem; }
.pie { padding: 10px 20px; color: #aeb7b0; font-size: .78rem; background: #070b09; }
.pie p { margin: 0; }
@media (max-width: 800px) {
  .app { grid-template-rows: auto minmax(420px, 1fr) auto; }
  .cabecera { padding: 8px 12px; gap: 10px; }
  .logo { width: 78px; }
  .escena, #visorOriginal { min-height: 420px; }
  .accesos { grid-template-columns: 1fr; padding: 10px; }
}


/* Participación ciudadana: fuera de .app para no reducir el mapa provincial. */
.participacion { padding: 28px 20px 24px; background: #0f1712; border-top: 1px solid rgba(255,255,255,.08); }
.participacion__interior { width: min(920px, 100%); margin: 0 auto; }
.participacion__etiqueta { margin: 0 0 5px; color: #c8b58c; letter-spacing: .16em; font-size: .66rem; font-weight: 800; }
.participacion h2 { margin: 0 0 8px; font: 700 clamp(1.35rem, 2.4vw, 1.9rem)/1.12 Georgia, "Times New Roman", serif; }
.participacion__intro { margin: 0 0 17px; max-width: 820px; color: #c5cec8; line-height: 1.48; font-size: .92rem; }
.participacion__formulario { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.participacion__campo { display: grid; gap: 6px; }
.participacion__campo--ancho, .participacion__privacidad, .participacion__acciones { grid-column: 1 / -1; }
.participacion label { font-size: .84rem; font-weight: 700; color: #eef2ef; }
.participacion input[type="text"], .participacion input[type="email"], .participacion textarea {
  width: 100%; border: 1px solid rgba(255,255,255,.18); border-radius: 7px; background: #090e0b; color: #fff;
  padding: 10px 11px; font: inherit;
}
.participacion textarea { resize: vertical; min-height: 94px; }
.participacion input:focus, .participacion textarea:focus {
  outline: none; border-color: rgba(255,255,255,.55); box-shadow: 0 0 0 3px rgba(255,255,255,.05);
}
.participacion__privacidad label { display: flex; align-items: flex-start; gap: 8px; font-weight: 400; color: #c7d0ca; line-height: 1.35; font-size: .82rem; }
.participacion__privacidad input { margin-top: .15em; flex: 0 0 auto; }
.participacion__privacidad a { color: #fff; }
.participacion__acciones { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.participacion__acciones button {
  border: 1px solid rgba(255,255,255,.22); border-radius: 7px; background: #f1eee6; color: #152019;
  padding: 10px 16px; font: inherit; font-weight: 800; cursor: pointer;
}
.participacion__acciones button:hover, .participacion__acciones button:focus { background: #fff; }
.participacion__acciones button:disabled { opacity: .55; cursor: wait; }
.participacion__estado { margin: 0; font-size: .84rem; color: #c7d0ca; }
.participacion__estado--ok { color: #cce8d5; }
.participacion__estado--error { color: #ffb8b8; }
.participacion__trampa {
  position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important;
  clip: rect(0 0 0 0) !important; white-space: nowrap !important; clip-path: inset(50%) !important;
}
@media (max-width: 700px) {
  .participacion { padding: 23px 12px 21px; }
  .participacion__formulario { grid-template-columns: 1fr; }
  .participacion__campo { grid-column: 1 / -1; }
  .participacion__acciones { align-items: flex-start; flex-direction: column; }
}
