/* Patrimonio · Mapa y fichas (Bridge 1.5.151). Mismo lenguaje que las tarjetas de Actualidade. */
.nk-heritage-explorer{--nk-heritage-accent:#00748D;--nk-heritage-title:#08496A;--nk-heritage-map-height:560px;box-sizing:border-box;width:100%;min-width:0;color:#536074;font-family:'Source Sans 3',system-ui,sans-serif;font-size:16px;line-height:1.5;}
.nk-heritage-explorer *,.nk-heritage-explorer *::before,.nk-heritage-explorer *::after{box-sizing:border-box;}
.nk-heritage-explorer-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:24px;align-items:start;}
.nk-heritage-explorer-layout--no-map{grid-template-columns:minmax(0,1fr);}
.nk-heritage-explorer-map{position:sticky;top:112px;min-width:0;}
.nk-heritage-explorer-canvas{width:100%;height:var(--nk-heritage-map-height);border:1px solid #DEEBF0;border-radius:6px;background:#E8EEF0;overflow:hidden;z-index:0;}
.nk-heritage-explorer-canvas:focus-visible{outline:3px solid var(--nk-heritage-accent);outline-offset:3px;}
.nk-heritage-explorer-list{display:grid;gap:18px;margin:0;padding:0;list-style:none;}
.nk-heritage-explorer-layout--no-map .nk-heritage-explorer-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));}
.nk-heritage-card{display:flex;flex-direction:column;margin:0;overflow:hidden;border:1px solid #DEEBF0;border-radius:6px;background:#FFFFFF;transition:border-color .2s ease,box-shadow .2s ease;}
.nk-heritage-card.is-active{border-color:var(--nk-heritage-accent);box-shadow:0 0 0 2px var(--nk-heritage-accent);}
.nk-heritage-card-media{display:block;line-height:0;}
.nk-heritage-card-media img{display:block;width:100%;height:190px;max-width:none;object-fit:cover;border-radius:0;}
.nk-heritage-card-body{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;}
.nk-heritage-card-meta{display:flex;align-items:center;gap:8px;margin:0;color:var(--nk-heritage-accent);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.nk-heritage-card-pin{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--nk-heritage-title);color:#FFFFFF;font-size:12px;letter-spacing:0;}
.nk-heritage-explorer .nk-heritage-card-title{margin:0;font-family:'Bricolage Grotesque','Source Sans 3',sans-serif;font-size:22px;font-weight:700;line-height:1.2;letter-spacing:-.01em;}
.nk-heritage-explorer .nk-heritage-card-title a{color:var(--nk-heritage-title);text-decoration:none;}
.nk-heritage-explorer .nk-heritage-card-title a:is(:hover,:focus-visible){color:var(--nk-heritage-accent);text-decoration:underline;text-underline-offset:3px;}
.nk-heritage-card-excerpt{margin:0;font-size:15px;}
.nk-heritage-card-hours{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border-radius:6px;background:#F3F8FA;color:#3E525D;font-size:14px;}
.nk-heritage-card-hours svg,.nk-heritage-card-focus svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.nk-heritage-card-hours svg{margin-top:1px;color:var(--nk-heritage-accent);}
.nk-heritage-card-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-top:4px;}
.nk-heritage-explorer a.nk-heritage-card-link{color:var(--nk-heritage-accent);font-size:15px;font-weight:700;text-decoration:none;}
.nk-heritage-explorer a.nk-heritage-card-link:is(:hover,:focus-visible){color:var(--nk-heritage-title);text-decoration:underline;text-underline-offset:3px;}
.nk-heritage-explorer button.nk-heritage-card-focus,.nk-heritage-explorer button.nk-heritage-card-focus:is(:hover,:focus,:active){display:inline-flex;align-items:center;gap:6px;min-height:40px;margin:0;padding:8px 12px;border:1px solid #DEEBF0;border-radius:6px;background:#FFFFFF;box-shadow:none;color:var(--nk-heritage-title);font:600 14px/1.2 'Source Sans 3',system-ui,sans-serif;text-transform:none;cursor:pointer;}
.nk-heritage-explorer button.nk-heritage-card-focus:hover{background:#EDF5F8;}
.nk-heritage-explorer button.nk-heritage-card-focus:focus-visible{outline:2px solid var(--nk-heritage-accent);outline-offset:2px;}
.nk-heritage-explorer-empty{margin:0;padding:18px 20px;border:1px solid #DEEBF0;border-radius:6px;background:#F6FAFB;color:#3E525D;}
.nk-heritage-marker{background:none;border:0;}
.nk-heritage-marker span{display:grid;place-items:center;width:34px;height:34px;border:3px solid #FFFFFF;border-radius:50% 50% 50% 0;background:#08496A;box-shadow:0 3px 10px rgba(8,31,45,.35);color:#FFFFFF;font:700 14px/1 'Source Sans 3',system-ui,sans-serif;transform:rotate(-45deg);}
.nk-heritage-marker b{display:block;font-weight:700;transform:rotate(45deg);}
.leaflet-marker-icon.nk-heritage-marker:focus-visible span{outline:3px solid #00748D;outline-offset:2px;}
.nk-heritage-popup{display:grid;gap:6px;font-family:'Source Sans 3',system-ui,sans-serif;font-size:14px;color:#3E525D;}
.nk-heritage-popup img{display:block;width:100%;height:110px;object-fit:cover;border-radius:4px;}
.nk-heritage-popup strong{color:#08496A;font-family:'Bricolage Grotesque','Source Sans 3',sans-serif;font-size:17px;line-height:1.2;}
.nk-heritage-popup a{color:#00748D;font-weight:700;text-decoration:none;}
.nk-heritage-popup a:hover{text-decoration:underline;}
@media (max-width:980px){.nk-heritage-explorer-layout{grid-template-columns:minmax(0,1fr);}.nk-heritage-explorer-map{position:relative;top:auto;}.nk-heritage-explorer-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));}}
@media (max-width:767px){.nk-heritage-card-media img{height:180px;}.nk-heritage-explorer .nk-heritage-card-title{font-size:20px;}}
@media (prefers-reduced-motion:reduce){.nk-heritage-card{transition:none;}}

/* 1.5.153 · Ficha de patrimonio «Guía de visita» (Ficha editorial con diseño de patrimonio «Guía de visita»). */
.nk-heritage-visit{--nk-hv-accent:#00748D;--nk-hv-title:#08496A;--nk-hv-border:#DEEBF0;box-sizing:border-box;color:#3E525D;font-family:'Source Sans 3',system-ui,sans-serif;font-size:17px;line-height:1.6;}
.nk-heritage-visit *,.nk-heritage-visit *::before,.nk-heritage-visit *::after{box-sizing:border-box;}
.nk-heritage-visit-hero{position:relative;display:flex;align-items:flex-end;min-height:440px;margin:0 0 32px;overflow:hidden;border-radius:15px;background:#08364F center/cover no-repeat;}
.nk-heritage-visit-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,54,79,.15) 0%,rgba(8,54,79,.45) 45%,rgba(8,54,79,.9) 100%);}
.nk-heritage-visit-hero-inner{position:relative;z-index:1;width:100%;padding:96px 48px 44px;color:#FFFFFF;}
.nk-heritage-visit a.nk-heritage-visit-back{position:absolute;z-index:2;top:24px;left:24px;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--nk-hv-title);font-size:15px;font-weight:700;text-decoration:none;}
.nk-heritage-visit a.nk-heritage-visit-back:is(:hover,:focus-visible){background:#FFFFFF;color:var(--nk-hv-accent);}
.nk-heritage-visit-eyebrow{margin:0 0 10px;color:#CFE6EE;font-size:13px;font-weight:700;letter-spacing:.14em;}
.nk-heritage-visit .nk-heritage-visit-title{max-width:900px;margin:0;color:#FFFFFF;font-family:'Bricolage Grotesque','Source Sans 3',sans-serif;font-size:54px;font-weight:800;line-height:1.04;letter-spacing:-.02em;}
.nk-heritage-visit-lead{max-width:720px;margin:14px 0 0;color:#E4EEF2;font-size:19px;line-height:1.5;}
.nk-heritage-visit-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);grid-template-areas:"main aside";gap:40px;align-items:start;}
.nk-heritage-visit--no-main .nk-heritage-visit-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"aside";}
.nk-heritage-visit-main{grid-area:main;min-width:0;}
.nk-heritage-visit-aside{grid-area:aside;position:sticky;top:112px;display:flex;flex-direction:column;gap:16px;padding:24px;border:1px solid var(--nk-hv-border);border-radius:12px;background:#FFFFFF;}
.nk-heritage-visit--no-main .nk-heritage-visit-aside{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);grid-template-areas:"title map" "facts map" "actions map" "links map";align-content:start;column-gap:32px;}
.nk-heritage-visit--no-main .nk-heritage-visit-aside-title{grid-area:title;}
.nk-heritage-visit--no-main .nk-heritage-visit-facts{grid-area:facts;}
.nk-heritage-visit--no-main .nk-heritage-visit-map{grid-area:map;--nk-heritage-map-height:320px;}
.nk-heritage-visit--no-main .nk-heritage-visit-actions{grid-area:actions;}
.nk-heritage-visit .nk-heritage-visit-aside-title,.nk-heritage-visit .nk-heritage-visit-section-title{margin:0;color:var(--nk-hv-title);font-family:'Bricolage Grotesque','Source Sans 3',sans-serif;font-size:24px;font-weight:800;line-height:1.15;letter-spacing:-.01em;}
.nk-heritage-visit .nk-heritage-visit-subtitle{margin:4px 0 0;color:var(--nk-hv-title);font-size:15px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.nk-heritage-visit-facts{display:grid;gap:12px;margin:0;}
.nk-heritage-visit-fact{display:grid;grid-template-columns:36px minmax(0,1fr);column-gap:12px;align-items:start;margin:0;padding:12px;border-radius:8px;background:#F3F8FA;}
.nk-heritage-visit-fact svg{grid-row:span 2;width:36px;height:36px;padding:8px;border-radius:50%;background:#FFFFFF;fill:none;stroke:var(--nk-hv-accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.nk-heritage-visit-fact dt{margin:0;color:var(--nk-hv-title);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.nk-heritage-visit-fact dd{margin:0;color:#3E525D;font-size:16px;line-height:1.45;}
.nk-heritage-visit-map{--nk-heritage-map-height:220px;}
.nk-heritage-visit-map .nk-heritage-explorer-canvas{border-radius:8px;}
.nk-heritage-visit-actions{display:flex;flex-direction:column;gap:10px;}
.nk-heritage-visit a.nk-heritage-visit-directions{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 18px;border-radius:8px;background:#08496A;color:#FFFFFF;font-size:16px;font-weight:700;text-decoration:none;}
.nk-heritage-visit a.nk-heritage-visit-directions:is(:hover,:focus-visible){background:var(--nk-hv-accent);color:#FFFFFF;}
.nk-heritage-visit a.nk-heritage-visit-directions svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linejoin:round;}
.nk-heritage-visit a.nk-heritage-visit-osm,.nk-heritage-visit-links a,.nk-heritage-visit a.nk-heritage-visit-all{color:var(--nk-hv-accent);font-size:15px;font-weight:700;text-decoration:none;}
.nk-heritage-visit a.nk-heritage-visit-osm{align-self:center;}
.nk-heritage-visit a:is(.nk-heritage-visit-osm,.nk-heritage-visit-all):is(:hover,:focus-visible),.nk-heritage-visit-links a:is(:hover,:focus-visible){color:var(--nk-hv-title);text-decoration:underline;text-underline-offset:3px;}
.nk-heritage-visit-links{display:grid;gap:6px;margin:0;padding:0;list-style:none;}
.nk-heritage-visit-content{color:#3E525D;font-size:18px;line-height:1.65;}
.nk-heritage-visit-content>*:first-child{margin-top:0;}
.nk-heritage-visit-content :is(h2,h3){color:var(--nk-hv-title);font-family:'Bricolage Grotesque','Source Sans 3',sans-serif;}
.nk-heritage-visit-gallery-section{display:grid;gap:16px;margin-top:8px;}
.nk-heritage-visit-content+.nk-heritage-visit-gallery-section{margin-top:36px;}
.nk-heritage-visit-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.nk-heritage-visit-gallery--1{grid-template-columns:minmax(0,1fr);}
.nk-heritage-visit-gallery--3 figure:first-child{grid-column:span 2;}
.nk-heritage-visit-gallery figure{margin:0;min-width:0;}
.nk-heritage-visit-gallery a{display:block;overflow:hidden;border-radius:8px;cursor:zoom-in;line-height:0;}
.nk-heritage-visit-gallery img{display:block;width:100%;height:260px;max-width:none;object-fit:cover;transition:transform .3s ease;}
.nk-heritage-visit-gallery--1 img{height:420px;}
.nk-heritage-visit-gallery a:is(:hover,:focus-visible) img{transform:scale(1.03);}
.nk-heritage-visit-gallery a:focus-visible{outline:3px solid var(--nk-hv-accent);outline-offset:3px;}
.nk-heritage-visit-gallery figcaption{margin-top:6px;color:#6B6864;font-size:14px;}
.nk-heritage-visit-credits{margin:20px 0 0;color:#6B6864;font-size:14px;}
.nk-heritage-visit-more{margin-top:56px;padding-top:32px;border-top:1px solid var(--nk-hv-border);}
.nk-heritage-visit-more--link{display:flex;justify-content:center;margin:48px 0 0;padding-top:28px;}
.nk-heritage-visit a.nk-heritage-visit-all--button{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:11px 20px;border:1px solid var(--nk-hv-border);border-radius:8px;background:#FFFFFF;color:var(--nk-hv-title);}
.nk-heritage-visit a.nk-heritage-visit-all--button:is(:hover,:focus-visible){background:#EDF5F8;color:var(--nk-hv-title);text-decoration:none;}
.nk-heritage-visit-more-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:18px;}
.nk-heritage-visit-others{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none;}
.nk-heritage-visit-others a{display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--nk-hv-border);border-radius:6px;background:#FFFFFF;color:var(--nk-hv-title);font-family:'Bricolage Grotesque','Source Sans 3',sans-serif;font-size:19px;font-weight:700;line-height:1.2;text-decoration:none;}
.nk-heritage-visit-others img{display:block;width:100%;height:160px;object-fit:cover;}
.nk-heritage-visit-others span{padding:14px 16px 16px;}
.nk-heritage-visit-others a:is(:hover,:focus-visible) span{color:var(--nk-hv-accent);text-decoration:underline;text-underline-offset:3px;}
@media (max-width:980px){
  .nk-heritage-visit-layout{grid-template-columns:minmax(0,1fr);grid-template-areas:"aside" "main";gap:28px;}
  .nk-heritage-visit-aside{position:static;}
  .nk-heritage-visit--no-main .nk-heritage-visit-aside{display:flex;}
  .nk-heritage-visit-others{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:767px){
  .nk-heritage-visit-hero{min-height:360px;margin-bottom:22px;border-radius:9px;}
  .nk-heritage-visit-hero-inner{padding:84px 20px 26px;}
  .nk-heritage-visit a.nk-heritage-visit-back{top:16px;left:16px;}
  .nk-heritage-visit .nk-heritage-visit-title{font-size:34px;}
  .nk-heritage-visit-lead{font-size:17px;}
  .nk-heritage-visit-aside{padding:18px;}
  .nk-heritage-visit-gallery{grid-template-columns:minmax(0,1fr);}
  .nk-heritage-visit-gallery--3 figure:first-child{grid-column:auto;}
  .nk-heritage-visit-gallery img,.nk-heritage-visit-gallery--1 img{height:230px;}
  .nk-heritage-visit-others{grid-template-columns:minmax(0,1fr);}
}
@media (prefers-reduced-motion:reduce){.nk-heritage-visit-gallery img{transition:none;}}

/* 1.5.155 · Rutas · Mapa y listado: estadísticas y estado de cada ruta. */
.nk-route-card-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:2px 0 0;padding:10px 12px;border-radius:6px;background:#F3F8FA;}
.nk-route-card-stats div{min-width:0;}
.nk-route-card-stats dt{margin:0;color:#6B6864;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;}
.nk-route-card-stats dd{margin:0;color:var(--nk-heritage-title);font-size:16px;font-weight:700;line-height:1.3;}
.nk-route-card-closed{align-self:flex-start;margin:0;padding:3px 10px;border-radius:999px;background:#FBEFD9;color:#8A5300;font-size:13px;font-weight:700;}
.nk-route-card--closed .nk-heritage-card-media img{filter:grayscale(.6);}
.nk-route-explorer .leaflet-interactive{cursor:pointer;}

/* 1.5.158 · Rutas: filtros, resultados, paginación y burbujas del mapa. */
.nk-route-filters{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)) auto;align-items:end;gap:12px 16px;margin:0 0 14px;padding:18px 20px;border:1px solid #DEEBF0;border-radius:10px;background:#F6FAFB;}
.nk-route-filter{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;}
.nk-route-filter span{color:#08496A;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;}
.nk-route-explorer .nk-route-filter :is(input,select){width:100%;min-height:46px;margin:0;padding:10px 12px;border:1px solid #C9D9E1;border-radius:8px;background:#FFFFFF;color:#3E525D;font:400 16px/1.3 'Source Sans 3',system-ui,sans-serif;box-shadow:none;}
.nk-route-explorer .nk-route-filter :is(input,select):focus{outline:2px solid #00748D;outline-offset:1px;border-color:#00748D;}
.nk-route-filter-actions{display:flex;align-items:center;gap:14px;}
.nk-route-explorer .nk-route-filter-actions button,.nk-route-explorer .nk-route-filter-actions button:is(:hover,:focus,:active){min-height:46px;margin:0;padding:10px 22px;border:0;border-radius:8px;background:#08496A;box-shadow:none;color:#FFFFFF;font:700 16px/1 'Source Sans 3',system-ui,sans-serif;text-transform:none;cursor:pointer;}
.nk-route-explorer .nk-route-filter-actions button:is(:hover,:focus-visible){background:#00748D;}
.nk-route-explorer .nk-route-filter-actions button:focus-visible{outline:2px solid #00748D;outline-offset:2px;}
.nk-route-filter-actions a{color:#00748D;font-size:15px;font-weight:700;text-decoration:none;white-space:nowrap;}
.nk-route-filter-actions a:hover{text-decoration:underline;}
.nk-route-results{margin:0 0 16px;color:#3E525D;font-size:15px;font-weight:600;}
.nk-route-explorer-column{min-width:0;}
.nk-route-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin-top:22px;}
.nk-route-page{display:inline-grid;place-items:center;min-width:42px;min-height:42px;padding:0 12px;border:1px solid #DEEBF0;border-radius:8px;background:#FFFFFF;color:#08496A;font-size:15px;font-weight:700;text-decoration:none;}
.nk-route-explorer a.nk-route-page:is(:hover,:focus-visible){background:#EDF5F8;color:#08496A;}
.nk-route-page.is-current{border-color:#08496A;background:#08496A;color:#FFFFFF;}
.nk-route-page-gap{padding:0 4px;color:#6B6864;}
.nk-heritage-marker--dot span{width:18px;height:18px;border:3px solid #FFFFFF;border-radius:50%;background:#00748D;transform:none;box-shadow:0 2px 6px rgba(8,31,45,.35);}
.nk-route-cluster{background:none;border:0;}
.nk-route-cluster span{display:grid;place-items:center;width:42px;height:42px;border:3px solid #FFFFFF;border-radius:50%;background:#00748D;box-shadow:0 3px 10px rgba(8,31,45,.35);color:#FFFFFF;font:700 14px/1 'Source Sans 3',system-ui,sans-serif;}
@media (max-width:980px){.nk-route-filters{grid-template-columns:repeat(2,minmax(0,1fr));}.nk-route-filter--search{grid-column:1/-1;}.nk-route-filter-actions{grid-column:1/-1;}}
@media (max-width:767px){.nk-route-filters{grid-template-columns:minmax(0,1fr);padding:16px;}.nk-route-filter-actions button{flex:1;}}
/* 1.5.159 · Paginación de rutas por encima de la regla genérica de paginación del Bridge. */
.nk-route-explorer .nk-route-pagination :is(a,span).nk-route-page{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;box-sizing:border-box;min-width:42px;min-height:42px;height:42px;margin:0;padding:0 12px;border:1px solid #DEEBF0;border-radius:8px;background:#FFFFFF;color:#08496A;font:700 15px/1 'Source Sans 3',system-ui,sans-serif;text-decoration:none;}
.nk-route-explorer .nk-route-pagination a.nk-route-page:is(:hover,:focus-visible){border-color:#08496A;background:#EDF5F8;color:#08496A;}
.nk-route-explorer .nk-route-pagination a.nk-route-page:focus-visible{outline:2px solid #00748D;outline-offset:2px;}
.nk-route-explorer .nk-route-pagination span.nk-route-page.is-current{border-color:#08496A;background:#08496A;color:#FFFFFF;}
.nk-route-explorer .nk-route-pagination{border:0;padding:0;}
