/**
 * Portal GIS — plantilla de ficha «Territorio».
 *
 * Todo va dentro de .gism-ficha para no chocar con el tema (que pone la
 * cabecera y el pie). Una sola columna por debajo de 960 px.
 */

.gism-ficha {
	--f-bg: #ffffff;
	--f-tint: #f1f3f0;
	--f-card: #ffffff;
	--f-line: #e2ded3;
	--f-line-2: #d6d1c4;
	--f-ink: #1e2a24;
	--f-head: #1f3a2e;
	--f-muted: #5f6b64;
	--f-soft: #77847c;
	--f-green: #245b45;
	--f-green-h: #1b4836;
	--f-dark: #1d3a2e;
	--f-field: #f2f0ea;
	--f-serif: Georgia, "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Cambria, "Times New Roman", serif;
	--f-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--gism-f-top: 0px;
	background: #ffffff;
	color: var(--f-ink);
	text-align: start;
	-webkit-font-smoothing: antialiased;
}
body.admin-bar .gism-ficha { --gism-f-top: 32px; }
@media (max-width: 782px) { body.admin-bar .gism-ficha { --gism-f-top: 0px; } }

.gism-ficha-main { margin: 0 !important; padding: 0 !important; max-width: none !important; }
.gism-ficha *, .gism-ficha *::before, .gism-ficha *::after { box-sizing: border-box; }
.gism-ficha :where(h1, h2, h3, p, ul, ol, dl, dd, figure, blockquote, form) { margin: 0; padding: 0; }
.gism-ficha :where(ul, ol) { list-style: none; }
.gism-ficha :where(h1, h2, h3) { letter-spacing: normal; text-transform: none; }
.gism-ficha a { color: var(--f-green); text-decoration-thickness: 1px; text-underline-offset: 2px; }
.gism-ficha img, .gism-ficha svg { max-width: 100%; }
.gism-ficha [hidden] { display: none !important; }
.gism-ficha :focus-visible { outline: 2px solid #2f7a5a; outline-offset: 2px; }
#gism-ficha .gism-f-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
#gism-ficha .gism-f-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

#gism-ficha .gism-f-wrap { max-width: 1200px; margin: 0 auto; padding: 26px 30px 72px; }

/* Los temas suelen dar estilo a todos los botones y campos: aquí se fijan los de la ficha (el id gana en especificidad). */
#gism-ficha button, #gism-ficha select, #gism-ficha input, #gism-ficha textarea { text-transform: none; letter-spacing: normal; font-weight: 400; box-shadow: none; text-shadow: none; }
#gism-ficha button:not(.maplibregl-ctrl button) { min-width: 0; }
#gism-ficha .maplibregl-ctrl button { background-color: #fff; border: 0; padding: 0; color: #333; }
#gism-ficha .maplibregl-ctrl-group button + button { border-top: 1px solid #ddd; }
#gism-ficha figcaption { margin: 0; text-align: start; font-size: inherit; color: inherit; }
#gism-ficha .gism-f-check input[type="checkbox"] { -webkit-appearance: auto; appearance: auto; border: 0; background: none; position: static; }
#gism-ficha .gism-f-check input[type="checkbox"]::before, #gism-ficha .gism-f-check input[type="checkbox"]::after { content: none; display: none; }

/* Ruta e idioma */
#gism-ficha .gism-f-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 30px; }
#gism-ficha .gism-f-crumbs ol { display: flex; flex-wrap: wrap; gap: 0; font-size: 0.83em; color: var(--f-muted); }
#gism-ficha .gism-f-crumbs li + li::before { content: "/"; margin: 0 6px; color: var(--f-soft); }
#gism-ficha .gism-f-crumbs a { color: var(--f-muted); text-decoration: none; }
#gism-ficha .gism-f-crumbs a:hover { text-decoration: underline; }
#gism-ficha .gism-f-lang { margin-left: auto; }
#gism-ficha .gism-f-lang__sel { font: inherit; font-size: 0.87em; color: var(--f-ink); background: var(--f-card); border: 1px solid var(--f-line-2); border-radius: 0; padding: 5px 28px 5px 10px; min-height: 34px; cursor: pointer; }

/* Cabecera */
#gism-ficha .gism-f-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-top: 14px; }
#gism-ficha .gism-f-chip { display: inline-block; background: var(--f-tint); color: var(--f-head); font-size: 0.73em; letter-spacing: .09em; text-transform: uppercase; padding: 5px 10px; line-height: 1.4; }
#gism-ficha .gism-f-title { color: var(--f-head); margin: 16px 0 10px; }
#gism-ficha .gism-f-place { font-size: inherit; color: var(--f-muted); }
#gism-ficha .gism-f-head__acts { display: flex; gap: 8px; flex-shrink: 0; padding-bottom: 2px; }

/* Botones */
#gism-ficha .gism-f-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; font: inherit; font-size: inherit; line-height: 1.3; min-height: 40px; padding: 9px 14px; border-radius: 0; cursor: pointer; text-decoration: none; transition: background-color .15s, border-color .15s, color .15s; }
#gism-ficha .gism-f-btn--ghost { background: var(--f-card); color: var(--f-head); border: 1px solid var(--f-line-2); }
#gism-ficha .gism-f-btn--ghost:hover { border-color: var(--f-green); }
#gism-ficha .gism-f-btn--solid { background: var(--f-green); color: #fff; border: 1px solid var(--f-green); }
#gism-ficha .gism-f-btn--solid:hover { background: var(--f-green-h); border-color: var(--f-green-h); color: #fff; }
#gism-ficha .gism-f-btn--block { display: flex; width: 100%; }
#gism-ficha .gism-f-fav[aria-pressed="true"] .gism-f-fav__icon { color: #b3263a; }

/* Foto principal */
#gism-ficha .gism-f-hero { position: relative; margin-top: 22px; height: clamp(230px, 27vw, 330px); overflow: hidden; background: #c9d6cf; }
#gism-ficha .gism-f-hero__img, #gism-ficha .gism-f-hero .gism-f-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
#gism-ficha .gism-f-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(12, 28, 20, .72) 0%, rgba(12, 28, 20, .25) 42%, rgba(12, 28, 20, 0) 70%); pointer-events: none; }
#gism-ficha .gism-f-hero__cap { position: absolute; inset-inline-start: 22px; bottom: 18px; inset-inline-end: 200px; z-index: 1; color: #fff; display: flex; flex-direction: column; gap: 4px; }
#gism-ficha .gism-f-hero__tag { font-family: inherit; font-size: 1.45em; line-height: 1.35; max-width: 26em; text-shadow: 0 1px 2px rgba(0, 0, 0, .3); }
#gism-ficha .gism-f-hero__credit { font-size: 0.77em; opacity: .92; }
#gism-ficha .gism-f-hero__more { position: absolute; inset-inline-end: 22px; bottom: 18px; z-index: 1; font: inherit; font-size: 0.9em; color: #fff; background: rgba(22, 44, 34, .55); border: 1px solid rgba(255, 255, 255, .7); padding: 9px 14px; cursor: pointer; border-radius: 0; }
#gism-ficha .gism-f-hero__more:hover { background: rgba(22, 44, 34, .8); }

/* Navegación por secciones */
#gism-ficha .gism-f-nav { position: sticky; top: var(--gism-f-top); z-index: 30; background: var(--f-bg); border-bottom: 1px solid var(--f-line); margin-top: 6px; }
#gism-ficha .gism-f-nav ul { display: flex; gap: 22px; overflow-x: auto; scrollbar-width: none; }
#gism-ficha .gism-f-nav ul::-webkit-scrollbar { display: none; }
#gism-ficha .gism-f-nav a { display: block; padding: 12px 0 10px; font-size: 0.87em; color: var(--f-ink); text-decoration: none; white-space: nowrap; border-bottom: 2px solid transparent; }
#gism-ficha .gism-f-nav a:hover, #gism-ficha .gism-f-nav a[aria-current="true"] { border-bottom-color: var(--f-green); color: var(--f-green); }
#gism-ficha .gism-f-nav.is-stuck { box-shadow: 0 6px 10px -8px rgba(0, 0, 0, .25); }

/* Rejilla */
#gism-ficha .gism-f-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, 1fr); gap: 26px; margin-top: 26px; align-items: start; }
#gism-ficha .gism-f-content { display: flex; flex-direction: column; gap: 34px; min-width: 0; }
#gism-ficha .gism-f-content > [id], #gism-ficha .gism-f-side[id] { scroll-margin-top: calc(var(--gism-f-top) + 60px); }
#gism-f-form { scroll-margin-top: calc(var(--gism-f-top) + 70px); }

#gism-ficha .gism-f-h2 { color: var(--f-head); margin: 0; }
#gism-ficha .gism-f-h3 { color: var(--f-head); margin: 0; }
#gism-ficha .gism-f-kicker { font-size: 0.73em; letter-spacing: .07em; text-transform: uppercase; color: var(--f-muted); margin-bottom: 4px !important; }
#gism-ficha .gism-f-text { font-size: inherit; color: var(--f-muted); }
#gism-ficha .gism-f-small { font-size: 0.8em; color: var(--f-muted); }
#gism-ficha .gism-f-card { background: var(--f-card); border: 1px solid var(--f-line); padding: 22px 20px; }

/* El lugar */
#gism-ficha .gism-f-sec__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
#gism-ficha .gism-f-sec > .gism-f-h2 { margin-bottom: 14px; }
#gism-ficha .gism-f-speak { display: flex; gap: 6px; flex-shrink: 0; }
#gism-ficha .gism-f-speak__play[aria-pressed="true"] { border-color: var(--f-green); color: var(--f-green); }
#gism-ficha .gism-f-desc { font-size: inherit; line-height: 1.8; color: var(--f-ink); }
#gism-ficha .gism-f-desc p + p, #gism-ficha .gism-f-desc > * + * { margin-top: 14px; }
#gism-ficha .gism-f-desc[dir="rtl"] { text-align: right; }
#gism-ficha .gism-f-note { margin-top: 16px !important; font-size: 0.8em; color: var(--f-muted); padding: 10px 12px; border-inline-start: 2px solid var(--f-line-2); }

/* Situación: mapa 3D (o 2D de reserva) arriba de la columna lateral */
#gism-ficha .gism-f-grid--map { grid-template-rows: auto 1fr; grid-template-areas: "content sit" "content side"; row-gap: 16px; }
#gism-ficha .gism-f-grid--map > .gism-f-content { grid-area: content; }
#gism-ficha .gism-f-grid--map > .gism-f-sit { grid-area: sit; min-width: 0; scroll-margin-top: calc(var(--gism-f-top) + 60px); }
#gism-ficha .gism-f-grid--map > .gism-f-side { grid-area: side; }
#gism-ficha .gism-f-sit { padding: 16px; }
#gism-ficha .gism-f-sit__title { margin-bottom: 12px; }
#gism-ficha .gism-f-sit__frame { position: relative; height: 320px; border-radius: 14px; overflow: hidden; isolation: isolate; background: #e4ebe3; }
#gism-ficha .gism-f-sit__ph {
	position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px;
	background:
		radial-gradient(circle at 50% 46%, rgba(255, 255, 255, .65) 0, rgba(255, 255, 255, 0) 38%),
		repeating-radial-gradient(ellipse at 30% 70%, rgba(36, 91, 69, .07) 0 2px, transparent 2px 26px),
		linear-gradient(160deg, #eef2ea 0%, #dfe8dc 55%, #d3dfd2 100%);
}
#gism-ficha .gism-f-sit__pin { display: block; filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .3)); }
#gism-ficha .gism-f-sit__coords { font-size: 0.77em; color: var(--f-muted); background: rgba(255, 255, 255, .85); padding: 2px 9px; border-radius: 999px; }
#gism-ficha .gism-f-sit__root { position: absolute; inset: 0; margin: 0; font-family: inherit; }
#gism-ficha .gism-f-sit__root .gism-viewer { height: 100%; min-height: 0; border: 0; border-radius: 14px; background: transparent; }
#gism-ficha .gism-f-sit__root:fullscreen .gism-viewer { border-radius: 0; background: #e9eef1; }
#gism-ficha .gism-f-sit__root .gism-state--loading { background: rgba(255, 255, 255, .4); color: var(--f-head); }
#gism-ficha .gism-f-sit__2d { position: absolute; inset: 0; height: auto; border: 0; background: transparent; }
#gism-ficha .gism-f-sit__frame.is-2d .gism-f-sit__2d { background: #e9ecef; }
#gism-ficha .gism-f-sit__hint { position: absolute; inset: 0; z-index: 20; display: flex; align-items: center; justify-content: center; padding: 24px; margin: 0; text-align: center; background: rgba(12, 28, 20, .55); color: #fff; font-size: 0.93em; line-height: 1.4; pointer-events: none; opacity: 0; transition: opacity .25s; }
#gism-ficha .gism-f-sit__hint.is-on { opacity: 1; }
/* Gestos cooperativos: un dedo desplaza la página (assets/js/ficha.js). */
#gism-ficha .gism-f-sit__frame.is-coop .gism-map, #gism-ficha .gism-f-sit__frame.is-coop .gism-map canvas { touch-action: pan-x pan-y !important; }
#gism-ficha .gism-f-sit__root:fullscreen .gism-map, #gism-ficha .gism-f-sit__root:fullscreen .gism-map canvas { touch-action: none !important; }
#gism-ficha .gism-f-sit__btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
#gism-ficha .gism-f-sit__btns .gism-f-btn { padding-inline: 10px; }
/* Los temas suelen dar estilo a todos los botones: los del visor conservan el suyo. */
#gism-ficha .gism-f-sit__root button { min-height: 0; line-height: normal; }

/* Vídeo y 360° */
#gism-ficha .gism-f-media { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
#gism-ficha .gism-f-mcard { display: flex; flex-direction: column; text-align: start; font: inherit; color: inherit; background: var(--f-card); border: 1px solid var(--f-line); padding: 0; cursor: pointer; border-radius: 0; width: 100%; }
#gism-ficha .gism-f-mcard:hover { border-color: var(--f-green); }
#gism-ficha .gism-f-mcard__art { display: flex; align-items: center; justify-content: center; height: 112px; }
#gism-ficha .gism-f-mcard__art--video { background: linear-gradient(135deg, #879f8c 0%, #4a7461 55%, #2c5747 100%); }
#gism-ficha .gism-f-mcard__art--pano { background: linear-gradient(135deg, #b5b28a 0%, #8c9a73 50%, #5f7a63 100%); }
#gism-ficha .gism-f-mcard__badge { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; height: 46px; padding: 0 6px; font-size: 1.25em; border: 1.5px solid rgba(255, 255, 255, .75); color: #fff; font-size: inherit; }
#gism-ficha .gism-f-mcard__body { display: flex; flex-direction: column; gap: 4px; padding: 12px 16px 14px; }
#gism-ficha .gism-f-mcard__title { display: flex; justify-content: space-between; font-size: inherit; color: var(--f-ink); }
#gism-ficha .gism-f-mcard__sub { font-size: 0.8em; color: var(--f-muted); }

/* Vuelo */
#gism-ficha .gism-f-fly { background: var(--f-dark); color: #e6eee9; padding: 26px 22px 22px; }
#gism-ficha .gism-f-fly .gism-f-kicker { color: #cfe0d6; }
#gism-ficha .gism-f-fly .gism-f-h2 { color: #fff; }
#gism-ficha .gism-f-fly__lead { margin-top: 8px !important; font-size: inherit; color: #d9e5de; }
#gism-ficha .gism-f-fly__modes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; padding-bottom: 16px; border-bottom: 1px solid rgba(255, 255, 255, .22); }
#gism-ficha .gism-f-fly__mode { display: inline-flex; align-items: center; gap: 6px; font: inherit; font-size: 0.9em; padding: 8px 13px; min-height: 38px; background: #fff; color: var(--f-head); border: 1px solid #fff; border-radius: 0; cursor: pointer; }
#gism-ficha .gism-f-fly__mode[aria-checked="true"] { background: #2e6650; color: #fff; border-color: #2e6650; }
#gism-ficha .gism-f-fly__desc { margin-top: 14px !important; font-size: 0.87em; color: #e6eee9; }
#gism-ficha .gism-f-fly__name { font-weight: 400; }
#gism-ficha .gism-f-fly__go { display: block; margin-top: 30px; background: #fff; color: var(--f-head); text-align: center; text-decoration: none; padding: 11px 16px; font-size: inherit; border: 1px solid #fff; }
#gism-ficha .gism-f-fly__go:hover { background: #eef3ef; }
#gism-ficha .gism-f-fly__foot { margin-top: 10px !important; font-size: 0.77em; color: #c4d4ca; }

/* Datos y listas */
#gism-ficha .gism-f-dl { display: flex; flex-direction: column; gap: 12px; margin: 16px 0 18px !important; }
#gism-ficha .gism-f-dl__row dt, #gism-ficha .gism-f-facts dt { font-size: 0.73em; letter-spacing: .08em; text-transform: uppercase; color: var(--f-soft); }
#gism-ficha .gism-f-dl__row dd { font-size: inherit; color: var(--f-ink); margin-top: 2px !important; }
#gism-ficha .gism-f-card > .gism-f-text { margin-bottom: 18px; }
#gism-ficha .gism-f-facts { display: flex; flex-direction: column; gap: 14px; margin-top: 16px !important; }
#gism-ficha .gism-f-facts dd { font-size: inherit; color: var(--f-ink); margin-top: 3px !important; overflow-wrap: anywhere; }
#gism-ficha .gism-f-facts dd a { color: var(--f-green); }
#gism-ficha .gism-f-inline { margin-left: 8px; font-size: 0.87em; }

/* Sigue descubriendo */
#gism-ficha .gism-f-sec > .gism-f-text { margin: -4px 0 16px; }
#gism-ficha .gism-f-near { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
#gism-ficha .gism-f-near__link { display: flex; flex-direction: column; height: 100%; background: var(--f-card); border: 1px solid var(--f-line); text-decoration: none; color: var(--f-ink); }
#gism-ficha .gism-f-near__link:hover { border-color: var(--f-green); }
#gism-ficha .gism-f-near__art { position: relative; display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #d6e0da; }
#gism-ficha .gism-f-near__art img, #gism-ficha .gism-f-near__art svg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
#gism-ficha .gism-f-near__title { display: block; padding: 10px 12px 2px; font-size: inherit; line-height: 1.35; color: var(--f-head); }
#gism-ficha .gism-f-near__meta { display: block; padding: 0 12px 12px; font-size: 0.8em; color: var(--f-muted); }
#gism-ficha .gism-f-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px !important; }
#gism-ficha .gism-f-tags a { display: inline-block; background: var(--f-tint); color: var(--f-head); font-size: 0.77em; letter-spacing: .05em; padding: 5px 10px; text-decoration: none; border: 1px solid transparent; }
#gism-ficha .gism-f-tags a:hover { border-color: var(--f-green); }

/* Fuentes */
#gism-ficha .gism-f-sources summary { cursor: pointer; font-size: inherit; color: var(--f-ink); padding: 4px 0; }
#gism-ficha .gism-f-sources[open] summary { margin-bottom: 4px; }
#gism-ficha .gism-f-dl--small dd { font-size: 0.87em; }

/* Lateral */
#gism-ficha .gism-f-side { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
#gism-ficha .gism-f-side.is-sticky { position: sticky; top: calc(var(--gism-f-top) + 64px); }
#gism-ficha .gism-f-talk .gism-f-btn--block { margin-top: 20px; }
#gism-ficha .gism-f-form { display: flex; flex-direction: column; gap: 14px; margin-top: 16px !important; }
#gism-ficha .gism-f-fix .gism-f-form { margin-top: 10px !important; }
#gism-ficha .gism-f-field label { display: block; font-size: 0.83em; color: var(--f-ink); margin-bottom: 6px; }
#gism-ficha .gism-f-field input, #gism-ficha .gism-f-field textarea { display: block; width: 100%; font: inherit; font-size: inherit; color: var(--f-ink); background: var(--f-field); border: 1px solid var(--f-line-2); border-radius: 0; padding: 11px 12px; box-shadow: none; }
#gism-ficha .gism-f-field textarea { min-height: 96px; resize: vertical; }
#gism-ficha .gism-f-field input:focus, #gism-ficha .gism-f-field textarea:focus { border-color: var(--f-green); background: #fff; outline: none; box-shadow: 0 0 0 2px rgba(36, 91, 69, .18); }
#gism-ficha .gism-f-field [aria-invalid="true"] { border-color: #b3263a; }
#gism-ficha .gism-f-check { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 4px 8px; font-size: 0.83em; }
#gism-ficha .gism-f-check input { width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--f-green); }
#gism-ficha .gism-f-check label { flex: 1; font-size: inherit; font-weight: 400; margin: 0; }
#gism-ficha .gism-f-check__link { flex-basis: 100%; padding-left: 24px; font-size: inherit; }
#gism-ficha .gism-f-status { font-size: 0.87em; min-height: 0; }
#gism-ficha .gism-f-status.is-error { color: #a1202f; }
#gism-ficha .gism-f-status.is-ok { color: var(--f-green); }

/* Galería, vídeo y 360° */
#gism-ficha .gism-f-dialog { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(10, 20, 15, .86); }
#gism-ficha .gism-f-dialog__box { position: relative; width: 100%; max-width: 1100px; display: flex; flex-direction: column; gap: 10px; color: #fff; }
#gism-ficha .gism-f-dialog__bar { display: flex; align-items: center; gap: 12px; }
#gism-ficha .gism-f-dialog__title { flex: 1; font-family: inherit; font-weight: 400; font-size: inherit; color: #fff; }
#gism-ficha .gism-f-dialog__count { font-size: 0.87em; opacity: .85; }
#gism-ficha .gism-f-dialog__close { font: inherit; font-size: 1.8em; line-height: 1; width: 44px; height: 44px; background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .5); cursor: pointer; border-radius: 0; }
#gism-ficha .gism-f-dialog__stage { position: relative; height: min(76vh, 680px); background: #0c1611; display: flex; align-items: center; justify-content: center; }
#gism-ficha .gism-f-dialog__stage img { max-width: 100%; max-height: 100%; object-fit: contain; display: block; }
#gism-ficha .gism-f-dialog__stage iframe, #gism-ficha .gism-f-dialog__stage video { width: 100%; height: 100%; border: 0; background: #000; }
#gism-ficha .gism-f-dialog__stage .gism-pano__view { width: 100%; height: 100%; display: block; cursor: grab; touch-action: none; }
#gism-ficha .gism-f-dialog__cap { font-size: 0.83em; opacity: .9; min-height: 1em; }
#gism-ficha .gism-f-dialog__cap a { color: #fff; }
#gism-ficha .gism-f-dialog__nav { display: flex; justify-content: center; gap: 10px; }
/* Simulador de vuelo: 95 % de la ventana (entera en el móvil). */
#gism-ficha .gism-f-dialog--fly { padding: 2.5vh 2.5vw; }
#gism-ficha .gism-f-dialog--fly .gism-f-dialog__box { max-width: none; width: 95vw; height: 95vh; height: 95dvh; gap: 0; background: #0c1611; }
#gism-ficha .gism-f-dialog--fly .gism-f-dialog__bar { padding: 6px 8px 6px 14px; }
#gism-ficha .gism-f-dialog--fly .gism-f-dialog__stage { flex: 1; height: auto; min-height: 0; }
#gism-ficha .gism-f-dialog--fly .gism-f-dialog__cap, #gism-ficha .gism-f-dialog--fly .gism-f-dialog__nav { display: none; }
@media (max-width: 767px) {
	#gism-ficha .gism-f-dialog--fly { padding: 0; }
	#gism-ficha .gism-f-dialog--fly .gism-f-dialog__box { width: 100vw; height: 100vh; height: 100dvh; }
}
#gism-ficha .gism-f-dialog__msg { padding: 24px; text-align: center; font-size: inherit; }

#gism-ficha .gism-f-toast { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); z-index: 100001; background: var(--f-head); color: #fff; padding: 10px 16px; font-size: inherit; box-shadow: 0 6px 20px rgba(0, 0, 0, .2); }

/* Una columna */
@media (max-width: 959px) {
	#gism-ficha .gism-f-grid { grid-template-columns: minmax(0, 1fr); }
	/* Una columna: «Situación» justo después de «El lugar» y el lateral al final (sin duplicar nada). */
	#gism-ficha .gism-f-grid--map { display: flex; flex-direction: column; gap: 34px; }
	#gism-ficha .gism-f-grid--map > .gism-f-content { display: contents; }
	#gism-ficha .gism-f-grid--map > .gism-f-content > * { order: 2; min-width: 0; }
	#gism-ficha .gism-f-grid--map > .gism-f-content > #gism-f-lugar { order: 0; }
	#gism-ficha .gism-f-grid--map > .gism-f-sit { order: 1; }
	#gism-ficha .gism-f-grid--map > .gism-f-side { order: 3; }
	#gism-ficha .gism-f-side.is-sticky { position: static; }
	#gism-ficha .gism-f-near { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	#gism-ficha .gism-f-wrap { padding: 16px 16px 56px; }
	#gism-ficha .gism-f-head { flex-direction: column; align-items: stretch; gap: 14px; }
	#gism-ficha .gism-f-title { margin-top: 12px; }
	#gism-ficha .gism-f-head__acts .gism-f-btn { flex: 1; }
	#gism-ficha .gism-f-hero { margin-left: -16px; margin-right: -16px; height: 240px; }
	#gism-ficha .gism-f-hero__cap { inset-inline: 16px; bottom: 64px; }
	#gism-ficha .gism-f-hero__tag { font-size: 1.2em; }
	#gism-ficha .gism-f-hero__more { inset-inline-start: 16px; inset-inline-end: auto; bottom: 16px; }
	#gism-ficha .gism-f-sec__head { flex-direction: column; align-items: stretch; }
	#gism-ficha .gism-f-sit__frame { height: 280px; }
	#gism-ficha .gism-f-near { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	#gism-ficha .gism-f-near__title { font-size: 0.87em; padding: 8px 10px 2px; }
	#gism-ficha .gism-f-near__meta { padding: 0 10px 10px; font-size: 0.77em; }
	#gism-ficha .gism-f-hero::after { background: linear-gradient(to top, rgba(12, 28, 20, .8) 0%, rgba(12, 28, 20, .35) 55%, rgba(12, 28, 20, 0) 80%); }
	#gism-ficha .gism-f-top { flex-wrap: wrap; }
}
@media (prefers-reduced-motion: reduce) {
	.gism-ficha * { transition: none !important; scroll-behavior: auto !important; }
}
