/* Mapa de rutas. Todo va bajo .rc para no chocar con el tema.
   Personalizable: --rc-accent, --rc-h (alto del mapa) */
.rc{
  --rc-bg:#eef1ea; --rc-panel:#fff; --rc-ink:#1c2a1e; --rc-muted:#5a6a5c; --rc-line:#d6ded0;
  --rc-accent:#24502c; --rc-accent-soft:#e3eee0; --rc-h:620px;
  container-type:inline-size; container-name:rc;
  background:var(--rc-bg); color:var(--rc-ink); border-radius:14px; padding:12px;
  font-size:15px; line-height:1.45; margin:1.5em 0; text-align:left;
}
.rc *,.rc *::before,.rc *::after{box-sizing:border-box}
.rc p,.rc ul,.rc h2,.rc h3{margin:0;padding:0}
.rc ul{list-style:none}
.rc ul li{margin:0;padding:0}
.rc ul li::before,.rc ul li::marker{content:none}
.rc button,.rc input{font-family:inherit;text-transform:none;letter-spacing:normal;box-shadow:none;margin:0;min-height:0;line-height:1.3}
.rc img{max-width:100%;height:auto}
.rc :focus-visible{outline:3px solid #7cb987;outline-offset:2px}
.rc [hidden]{display:none !important}

.rc-app{display:grid;grid-template-columns:330px minmax(0,1fr);gap:12px;align-items:start}
.rc .rc-panel{background:var(--rc-panel);border:1px solid var(--rc-line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:14px;max-height:calc(var(--rc-h) + 220px);overflow-y:auto;min-width:0}
.rc-modo-ficha .rc-app{grid-template-columns:300px minmax(0,1fr)}
.rc-right{display:grid;gap:12px;min-width:0}
.rc-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.rc .rc-h2{font-size:18px;line-height:1.2;font-weight:700;color:var(--rc-ink)}
.rc .rc-h3{font-size:18px;line-height:1.2;font-weight:700;color:var(--rc-ink)}
.rc .rc-h3-s{font-size:15px}
.rc .rc-hint{font-size:12.5px;color:var(--rc-muted)}
.rc .rc-error{color:#a3271f}
.rc .rc-p{font-size:14px}

.rc-chips{display:flex;flex-wrap:wrap;gap:6px}
.rc .rc-chip{font-size:13px;font-weight:400;border:1px solid var(--rc-line);background:#fff;color:var(--rc-ink);border-radius:999px;padding:4px 11px;cursor:pointer}
.rc .rc-chip:hover{border-color:var(--rc-accent);background:#fff;color:var(--rc-ink)}
.rc .rc-chip[aria-pressed="true"]{background:var(--rc-accent);border-color:var(--rc-accent);color:#fff}

.rc .rc-lista{margin:0 -6px;display:grid;gap:2px}
.rc .rc-lista li a{display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;border-radius:8px;padding:8px 6px;color:var(--rc-ink);text-decoration:none}
.rc .rc-lista li a:hover{background:var(--rc-accent-soft);color:var(--rc-ink)}
.rc .rc-lista li.rc-activa a{background:var(--rc-accent-soft);box-shadow:inset 3px 0 0 var(--rc-accent)}
.rc-sw{grid-row:span 2;width:6px;height:30px;border-radius:3px;background:#9aa69b}
.rc-li-t{font-weight:700;line-height:1.25}
.rc-li-s{font-size:12.5px;color:var(--rc-muted);font-variant-numeric:tabular-nums}

.rc-detalle{display:grid;gap:10px;border:1px solid var(--rc-line);border-radius:10px;padding:12px;background:#fbfcfa}
.rc-modo-ficha .rc-detalle{border:0;padding:0;background:transparent}
.rc-det-head{display:flex;justify-content:space-between;gap:8px;align-items:start}
.rc .rc-x{border:0;background:transparent;font-size:22px;line-height:1;cursor:pointer;color:var(--rc-muted);padding:2px 6px}
.rc-det-img{width:100%;height:140px;object-fit:cover;border-radius:8px;display:block}
.rc-pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.rc-pill{font-size:12px;font-weight:700;border-radius:999px;padding:2px 9px;background:#eceee9;color:#3b463c}
.rc-dif-facil{background:#dff1e2;color:#1e5b2a}
.rc-dif-moderada{background:#fbefd0;color:#6b4a00}
.rc-dif-dificil{background:#fbe1d6;color:#7a2e12}
.rc-dif-muydificil{background:#f5d6d6;color:#7a1414}
.rc-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rc-tile{border:1px solid var(--rc-line);border-radius:8px;padding:8px 10px;background:#fff;display:grid;gap:1px}
.rc-k{font-size:12px;color:var(--rc-muted)}
.rc-v{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.15}
.rc-s{font-size:12px;color:var(--rc-muted)}
.rc-btns{display:flex;flex-wrap:wrap;gap:6px}
.rc .rc-btn{display:inline-block;font-size:13.5px;font-weight:700;border-radius:8px;padding:8px 12px;text-decoration:none;cursor:pointer;border:1px solid var(--rc-accent);background:var(--rc-accent);color:#fff}
.rc .rc-btn:hover{filter:brightness(1.1);color:#fff}
.rc .rc-btn-2{background:#fff;color:var(--rc-accent)}
.rc .rc-btn-2:hover{background:var(--rc-accent-soft);color:var(--rc-accent);filter:none}
.rc .rc-btn-2[aria-pressed="true"]{background:var(--rc-accent);color:#fff}
.rc .rc-btn-3{background:transparent;border-color:transparent;color:var(--rc-accent);text-decoration:underline;padding-left:4px;padding-right:4px}
.rc .rc-btn-3:hover{color:var(--rc-accent)}

.rc .rc-fuente a{color:var(--rc-accent)}
.rc-propia{border-top:1px solid var(--rc-line);padding-top:12px;display:grid;gap:6px}
.rc .rc-file{font-size:13.5px;font-weight:700;display:block;margin:0;color:var(--rc-ink)}
.rc-propia input[type=file]{font-size:13px;max-width:100%}

.rc-mapwrap{position:relative;min-width:0;border-radius:12px;overflow:hidden;border:1px solid var(--rc-line);background:#dfe6dc}
.rc-map{width:100%;height:var(--rc-h)}
.rc-mapwrap:fullscreen .rc-map{height:100%}
.rc-loading{position:absolute;inset:0;display:grid;place-items:center;color:var(--rc-muted);font-size:14px;text-align:center;padding:16px;background:linear-gradient(#cfe3f1,#e6ece0)}
.rc-tools{position:absolute;left:10px;top:10px;display:flex;gap:6px;flex-wrap:wrap;max-width:calc(100% - 70px)}
.rc .rc-tools button{font-size:13px;font-weight:700;border:1px solid rgba(0,0,0,.12);background:rgba(255,255,255,.94);color:var(--rc-ink);border-radius:8px;padding:6px 10px;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.12)}
.rc .rc-tools button:hover{background:#fff;color:var(--rc-ink)}
.rc .rc-tools button:disabled{opacity:.5;cursor:not-allowed}
.rc .rc-tools button[aria-pressed="true"]{background:var(--rc-accent);color:#fff;border-color:var(--rc-accent)}

.rc-perfil{background:var(--rc-panel);border:1px solid var(--rc-line);border-radius:12px;padding:12px 14px;display:grid;gap:6px}
.rc-perfil-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:baseline}
.rc-perfil-wrap{position:relative}
.rc-perfil svg{width:100%;height:auto;display:block;touch-action:none}
.rc-ax{font-size:11px;fill:var(--rc-muted);font-variant-numeric:tabular-nums}
.rc-tt{position:absolute;pointer-events:none;background:var(--rc-ink);color:#fff;font-size:12.5px;border-radius:6px;padding:5px 8px;white-space:nowrap;transform:translate(-50%,-100%);opacity:0;font-variant-numeric:tabular-nums}

.rc .maplibregl-popup-content{border-radius:10px;font:inherit;padding:10px 26px 10px 12px;box-shadow:0 4px 14px rgba(0,0,0,.18)}
.rc-pop{display:grid;gap:3px;font-size:13.5px;color:var(--rc-ink)}
.rc-pop span{color:var(--rc-muted);font-size:12.5px}

@container rc (max-width: 860px){
  .rc-app,.rc-modo-ficha .rc-app{grid-template-columns:1fr}
  .rc-right{order:-1}
  .rc .rc-panel{max-height:none;overflow:visible}
  .rc-map{height:min(var(--rc-h), 70vh)}
  .rc-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@container rc (max-width: 520px){
  .rc-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
}
