.pagina-visita .cabecera{position:sticky;top:0;background:var(--niebla);border-bottom:1px solid var(--linea)}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.visita-cabeza{padding:34px 0 22px}
.visita-cabeza h1{font-size:clamp(36px,5.6vw,72px);max-width:15ch}
.visita-cabeza .entradilla{margin-top:14px}

.mapa-caja{position:relative;width:min(100% - 2*var(--borde),1320px);margin:auto;height:min(68svh,680px);min-height:420px;border-radius:22px;overflow:hidden;background:#3a4733;box-shadow:0 24px 50px -30px rgba(0,0,0,.6)}
#mapa{position:absolute;inset:0;cursor:crosshair}
.leaflet-container{font-family:var(--sans);background:#3a4733}
.leaflet-control-attribution{display:none}
.mapa-arriba{position:absolute;z-index:500;top:12px;left:12px;right:58px;display:flex;gap:8px;align-items:flex-start;pointer-events:none}
.saltos{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;flex:1;pointer-events:auto;padding-bottom:2px}
.saltos::-webkit-scrollbar{display:none}
.chip-btn{pointer-events:auto;border:0;background:var(--papel);color:var(--tinta);font:650 14px var(--sans);border-radius:999px;padding:9px 14px;white-space:nowrap;box-shadow:0 6px 16px -8px rgba(0,0,0,.55);cursor:pointer;min-height:40px}
.chip-btn[disabled]{opacity:.45;cursor:default}
.chip-btn.activo{background:var(--tojo)}
#miUbic{background:var(--tinta);color:var(--papel)}
.mapa-abajo{position:absolute;z-index:500;left:12px;right:12px;bottom:12px;display:flex;gap:10px;align-items:flex-end;justify-content:space-between;pointer-events:none}
.lectura{pointer-events:auto;background:var(--tinta);color:var(--papel);border-radius:18px;padding:12px 16px;min-width:200px}
.lectura small{display:block;font-size:13px;opacity:.8;font-weight:600}
.lectura b{display:block;font:400 30px/1.1 var(--serif);font-variant-numeric:tabular-nums;margin-top:2px}
.mapa-botones{display:flex;gap:6px;pointer-events:auto}
.nota-mapa{font-size:13px;color:var(--granito);margin-top:10px}
.vertice{width:16px;height:16px;border-radius:50%;background:var(--tojo);border:3px solid #1b261d;box-shadow:0 0 0 3px rgba(226,176,8,.35)}
@media (max-width:760px){
  .mapa-caja{width:100%;border-radius:0;height:66svh}
  .mapa-arriba{right:12px}
  .leaflet-control-zoom{display:none}
  .pagina-visita .dock{display:none}
  .mapa-abajo{flex-direction:column;align-items:stretch}
  .mapa-botones{justify-content:flex-end}
  .lectura b{font-size:26px}
}

.parte{padding:42px 0 90px}
.parte-hoja{max-width:820px;margin:auto;background:var(--papel);border-radius:26px;padding:clamp(22px,4vw,44px);border:1px solid var(--linea);background-image:repeating-linear-gradient(180deg,transparent 0 33px,rgba(91,98,89,.09) 33px 34px);}
.parte-cab{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap;border-bottom:2px solid var(--tinta);padding-bottom:12px;margin-bottom:8px}
.parte-cab h2{font-size:clamp(30px,4vw,42px)}
#progreso{margin:0;font-weight:650;color:var(--helecho)}
#progreso.ok{color:var(--prado)}
.campo{border:0;padding:0;margin:26px 0 0;display:block;font-weight:650}
.campo legend{font:400 22px/1.2 var(--serif);margin-bottom:12px;padding:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips button{font:600 15.5px var(--sans);color:var(--tinta);background:#fff;border:1.5px solid #b9c0b2;border-radius:12px;padding:11px 14px;cursor:pointer;min-height:46px;transition:background .15s,border-color .15s,transform .15s}
.chips button:hover{border-color:var(--tinta)}
.chips button[aria-pressed=true]{background:var(--tinta);color:var(--papel);border-color:var(--tinta)}
.alturas button{display:flex;flex-direction:column;align-items:center;gap:6px;width:calc((100% - 16px)/3);padding:12px 8px}
.alturas svg{width:34px;height:50px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}
.alturas svg circle{fill:currentColor;stroke:none}
.alturas svg .hierba{fill:#5b8a2e;stroke:none;opacity:.75}
.campo.dos{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.campo label,label.campo{display:block;font:400 20px/1.2 var(--serif)}
.campo input,.campo select,.campo textarea{display:block;width:100%;margin-top:8px;font:500 17px var(--sans);color:var(--tinta);background:#fff;border:1.5px solid #b9c0b2;border-radius:12px;padding:12px 14px;min-height:50px}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:3px solid var(--tojo);outline-offset:1px;border-color:var(--tinta)}
.opc{font:500 14px var(--sans);color:var(--granito)}
@media (max-width:560px){.campo.dos{grid-template-columns:1fr}}

.resumen[hidden]{display:none}
.resumen{display:grid;grid-template-columns:120px 1fr;gap:18px;margin-top:30px;padding:18px;border-radius:18px;background:#fff;border:1.5px dashed var(--granito);animation:entra .4s cubic-bezier(.2,.8,.2,1)}
.resumen svg{width:120px;height:120px;background:#e9ece4;border-radius:12px}
.resumen svg polygon{fill:rgba(226,176,8,.45);stroke:#1b261d;stroke-width:2;stroke-linejoin:round}
.resumen svg circle{fill:#1b261d}
.resumen dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:15px}
.resumen dt{color:var(--granito);font-weight:600}
.resumen dd{margin:0;font-weight:650}
@media (max-width:560px){.resumen{grid-template-columns:1fr}.resumen svg{width:100%;height:140px}}
.enviar-fila{margin-top:26px}
.boton.grande{width:100%;min-height:58px;font-size:18px}
.boton[disabled]{opacity:.5;cursor:not-allowed}
.aviso{font-size:14px;color:var(--granito);margin:10px 0 0}
