/* Funcional, NO piel. Solo controles, avisos y estados del skeleton neutral.
   La paleta y la voz visual siguen siendo las de fábrica (tokens.css / theme.css intactos). */

/* ── Medallón de lacre (selector de idioma; fuera de #gate y de main, sobre el overlay z-100) ── */
/* Dos sellos de cera de 52 px: ES lacre rojo, EN lacre azul (los mismos del gate). El activo lleva un aro de latón. */
#language-control.kc-lang {
  position: fixed;
  z-index: 120;
  inset-block-start: max(12px, env(safe-area-inset-top));
  inset-inline-end: max(12px, env(safe-area-inset-right));
  display: inline-flex;
  gap: 6px;
  padding: 4px;
  background: none;
  color: var(--kc-canvas);
}
.kc-lang__thumb {
  position: absolute;
  inset-block-start: 4px;
  inset-inline-start: 4px;
  inline-size: 52px;
  block-size: 52px;
  border-radius: 50%;
  border: 2px solid var(--ni-brass);
  box-shadow: 0 0 0 1.5px rgba(247, 244, 238, 0.9), 0 0 10px 1px rgba(176, 138, 90, 0.55);
  transition: transform 220ms var(--kc-ease);
  pointer-events: none;
  z-index: 2;
}
#language-control[data-active="en"] .kc-lang__thumb { transform: translateX(58px); }
#language-control.kc-lang button {
  position: relative;
  z-index: 1;
  flex: 0 0 52px;
  inline-size: 52px;
  block-size: 52px;
  min-inline-size: 52px;
  min-block-size: 52px;
  padding: 0;
  border: 0;
  /* Borde de lacre irregular, no un círculo perfecto */
  border-radius: 52% 48% 55% 45% / 47% 53% 47% 53%;
  background: radial-gradient(circle at 34% 28%, #A04858, var(--ni-wax) 56%, #5A1F2A);
  color: inherit;
  font-family: var(--kc-font-display);
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  box-shadow: inset 0 0 0 4px rgba(90, 31, 42, 0.75), inset 0 0 0 5px rgba(255, 214, 214, 0.22), 0 3px 8px rgba(30, 36, 51, 0.38);
  -webkit-tap-highlight-color: transparent;
}
#language-control.kc-lang button[data-locale="en"] {
  background: radial-gradient(circle at 34% 28%, #4A6690, var(--ni-wax-blue) 56%, #1D2E47);
  box-shadow: inset 0 0 0 4px rgba(29, 46, 71, 0.8), inset 0 0 0 5px rgba(214, 226, 255, 0.22), 0 3px 8px rgba(30, 36, 51, 0.38);
}
.kc-lang__code { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.35), 0 1px 0 rgba(255, 255, 255, 0.12); }
/* Sello activo = estampado hacia adentro; inactivo = más plano */
#language-control.kc-lang button[aria-pressed="true"] { box-shadow: inset 0 3px 6px rgba(0, 0, 0, 0.5), inset 0 0 0 4px rgba(0, 0, 0, 0.18), 0 1px 2px rgba(30, 36, 51, 0.3); }
#language-control.kc-lang button:active { transform: translateY(1px); }
#language-control.kc-lang button:focus-visible { outline: 2px solid var(--kc-focus); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  .kc-lang__thumb { transition: none; }
}

/* ── Avisos de estado provisional ── */
.kc-note {
  max-inline-size: 34rem;
  margin-inline: auto;
  color: var(--kc-ink-muted);
  font-size: 0.95rem;
  line-height: 1.5;
}
.kc-note--pending {
  margin-block: var(--kc-space-4);
  padding-inline-start: var(--kc-space-3);
  border-inline-start: 2px solid var(--kc-field-line);
  text-align: start;
}
.kc-hero__note { color: var(--kc-ink-muted); }
#preview-notice { margin-block-start: var(--kc-space-2); font-size: 0.9rem; }

/* ── Galería dentro de #historia ── */
#historia-galeria {
  display: grid;
  gap: var(--kc-space-2);
  margin-block-start: var(--kc-space-6);
  padding-block-start: var(--kc-space-5);
  border-block-start: 1px solid var(--kc-line);
}

/* ── Nodos vacíos: no dejan huecos fantasma ── */
.kc-location h3:empty,
.kc-location__time:empty,
.kc-hero__photo:empty,
[data-kc-photo-missing]:empty { display: none; }
.kc-location__address { overflow-wrap: anywhere; }

/* ── Gate con espacio para el selector y scroll interno en pantallas cortas ── */
#gate { overflow-y: auto; padding-block: 88px 24px; align-items: safe center; }
.kc-gate__body { max-inline-size: 100%; }
html { scroll-padding-block-start: 80px; }
