/* Stage 4 integration helpers. Scope under lc- classes only. */
.lc-media-card {
  margin: 0;
  border: 1px solid var(--border, rgba(0,0,0,.18));
  border-radius: 8px;
  overflow: hidden;
  background: var(--surface, #fff);
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, .10);
}
.lc-media-card img { display: block; width: 100%; height: auto; }
.lc-media-card figcaption { padding: .85rem 1rem; font-weight: 800; }
.lc-airsoft-map { display: grid; grid-template-columns: minmax(0, 1fr) minmax(18rem, .38fr); gap: 1rem; align-items: start; margin: 1.25rem 0 0; }
.lc-airsoft-map__stage { position: relative; }
.lc-airsoft-map__stage > img { width: 100%; border-radius: 8px; border: 1px solid var(--border, rgba(0,0,0,.18)); display: block; }
.lc-airsoft-map__hotspots { position: absolute; inset: 0; pointer-events: none; }
.lc-airsoft-hotspot { position: absolute; transform: translate(-50%, -50%); pointer-events: auto; border: 2px solid #fff; background: rgba(0,0,0,.82); color: #fff; border-radius: 999px; padding: .42rem .7rem; font-weight: 900; line-height: 1; box-shadow: 0 .35rem 1rem rgba(0,0,0,.35); cursor: pointer; }
.lc-airsoft-hotspot:focus-visible { outline: 4px solid var(--focus, #ffd34d); outline-offset: 3px; }
.lc-airsoft-map__panel { border: 1px solid var(--border, rgba(0,0,0,.18)); border-radius: 8px; padding: 1rem; background: var(--surface, #fff); position: sticky; top: 1rem; }
.lc-airsoft-map__panel h3 { margin-top: 0; }
.lc-airsoft-panel__close { float: right; margin: 0 0 .5rem .75rem; border: 1px solid var(--border, rgba(0,0,0,.18)); border-radius: 999px; background: var(--surface, #fff); color: inherit; cursor: pointer; font: inherit; font-weight: 800; padding: .25rem .55rem; }
.lc-airsoft-panel__close:focus-visible { outline: 4px solid var(--focus, #ffd34d); outline-offset: 2px; }
.lc-airsoft-map__caption { grid-column: 1 / -1; }
.lc-airsoft-static-fallback { border: 1px solid var(--border, rgba(0,0,0,.18)); border-radius: 8px; padding: .8rem 1rem; background: var(--surface, #fff); }
.lc-airsoft-static-fallback summary { cursor: pointer; font-weight: 900; }
.lc-airsoft-static-fallback ul { margin-bottom: 0; }
.lc-airsoft-sequence { display: grid; gap: .55rem; margin-top: 1rem; }
.lc-airsoft-sequence li { padding: .65rem .8rem; border-left: 4px solid var(--accent, #087e6f); background: color-mix(in srgb, var(--surface, #fff) 88%, var(--accent-soft, #e5f7ef) 12%); font-weight: 800; }
.lc-home-teaser-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.lc-home-teaser { color: inherit; text-decoration: none; }
.lc-home-teaser span { display: block; padding: .85rem 1rem; font-weight: 900; }
.lc-airsoft-sequence li span { display: block; margin-top: .25rem; font-weight: 500; }
.lc-hidden-failure-notes { margin-top: 1rem; }
.lc-hidden-failure-card .card__meta { color: var(--accent-strong, #173f54); }
@media (max-width: 900px) {
  .lc-airsoft-map { grid-template-columns: 1fr; }
  .lc-airsoft-map__panel { position: static; }
  .lc-home-teaser-row { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .lc-airsoft-hotspot { transition: none; }
}
