/* Sala Histórica — estilos propios; hereda variables --w-* de web26.css (.w26) */
.sala .sala-wrap { margin-top: -26px; position: relative; z-index: 2; }
.sala-escenario { position: relative; background: #0b1a11; border-radius: var(--w-radio); box-shadow: var(--w-sombra-alta); overflow: hidden; color: #fff; display: flex; flex-direction: column; }
.sala-escenario:fullscreen { border-radius: 0; height: 100vh; }
.sala-barra { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; background: var(--w-900); }
.sala-tabs { display: flex; gap: 4px; flex-wrap: wrap; }
.sala-tabs button { border: 0; background: transparent; color: rgba(255,255,255,.78); padding: 8px 14px; border-radius: 999px; font: inherit; font-size: .88rem; font-weight: 600; cursor: pointer; min-height: 40px; }
.sala-tabs button:hover { background: rgba(255,255,255,.1); color: #fff; }
.sala-tabs button[aria-selected="true"] { background: var(--w-lima); color: var(--w-950); }
.sala-btn { border: 1px solid rgba(255,255,255,.25); background: rgba(255,255,255,.08); color: #fff; padding: 8px 14px; border-radius: 999px; font: inherit; font-size: .84rem; font-weight: 600; cursor: pointer; min-height: 40px; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 6px; }
.sala-btn:hover { background: rgba(255,255,255,.18); }
.sala-btn--lleno { background: var(--w-600); border-color: var(--w-600); color: #fff !important; }
.sala-btn--lleno:hover { background: var(--w-700); }
.sala-tabs button:focus-visible, .sala-btn:focus-visible, .sala-pad button:focus-visible, .sala-cerrar:focus-visible { outline: 3px solid var(--w-oro); outline-offset: 2px; }

.sala-vistas { position: relative; height: clamp(380px, 68vh, 720px); }
.sala-escenario:fullscreen .sala-vistas { height: auto; flex: 1; }
.sala-vistas > div { position: absolute; inset: 0; }
.sala-vistas [hidden] { display: none !important; }
.s3d-host, .s360-host { position: absolute; inset: 0; outline: none; }
.s3d-canvas { display: block; width: 100%; height: 100%; touch-action: none; cursor: grab; }
.s3d-canvas:active { cursor: grabbing; }
.s3d-tip { position: absolute; pointer-events: none; background: rgba(4,33,15,.92); color: #fff; padding: 5px 10px; border-radius: 8px; font-size: .8rem; max-width: 240px; z-index: 3; }
.sala-video { width: 100%; height: 100%; background: #000; object-fit: contain; }
.sala-aviso { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; gap: 10px; padding: 24px; background: radial-gradient(700px 300px at 50% 0, rgba(74,222,128,.2), transparent 70%), var(--w-950); }
.s3d-host .sala-aviso { position: absolute; inset: 0; }
.sala-detalle { font: .72rem/1.4 monospace; color: rgba(255,255,255,.55) !important; max-width: 60ch; word-break: break-word; }
.sala-aviso i { font-size: 2.4rem; color: var(--w-300); }
.sala-aviso h2 { color: #fff !important; font-size: 1.4rem; }
.sala-aviso p { max-width: 44ch; color: rgba(255,255,255,.8); margin: 0; }

.sala-controles { position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px; padding: 10px; pointer-events: none; }
.sala-controles > * { pointer-events: auto; }
.sala-controles[hidden] { display: none; }
.sala-paredes { display: flex; flex-wrap: wrap; gap: 6px; }
.sala-paredes .sala-btn { background: rgba(4,33,15,.78); backdrop-filter: blur(6px); }
.sala-check { display: inline-flex; align-items: center; gap: 6px; background: rgba(4,33,15,.78); padding: 8px 12px; border-radius: 999px; font-size: .82rem; cursor: pointer; }
.sala-pad { display: grid; grid-template-columns: repeat(3, 44px); grid-template-rows: repeat(2, 44px); gap: 4px; }
.sala-pad button { border: 1px solid rgba(255,255,255,.3); background: rgba(4,33,15,.78); color: #fff; border-radius: 12px; cursor: pointer; touch-action: none; }
.sala-pad button:active { background: var(--w-600); }
.sala-pad [data-mover="f"] { grid-column: 2; grid-row: 1; } .sala-pad [data-mover="l"] { grid-column: 1; grid-row: 2; }
.sala-pad [data-mover="b"] { grid-column: 2; grid-row: 2; } .sala-pad [data-mover="r"] { grid-column: 3; grid-row: 2; }

/* panel de detalle: lateral en pantallas anchas, hoja inferior en celulares */
.sala-panel { position: absolute; z-index: 6; top: 0; right: 0; bottom: 0; width: min(400px, 92%); background: var(--w-card); color: var(--w-ink); padding: 18px 18px 24px; overflow-y: auto; box-shadow: -10px 0 30px rgba(0,0,0,.35); transform: translateX(105%); transition: transform .22s ease; }
.sala-panel.abierto { transform: none; }
.sala-panel[hidden] { display: none; }
.sala-panel h2 { color: var(--w-ink) !important; font-size: 1.25rem; padding-right: 40px; margin-bottom: 6px; }
.sala-cerrar { position: absolute; top: 10px; right: 10px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: var(--w-100); color: var(--w-800); cursor: pointer; font-size: 1.05rem; }
.sala-epigrafe { font-style: italic; color: var(--w-ink2); font-size: .92rem; }
#panel-foto { width: 100%; height: auto; border-radius: 12px; background: var(--w-50); margin: 8px 0 4px; display: block; }
#panel-ampliar { font-size: .85rem; display: inline-block; margin-bottom: 8px; }
.sala-galeria { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
.sala-galeria button { width: 56px; height: 56px; padding: 0; border: 2px solid transparent; border-radius: 10px; overflow: hidden; cursor: pointer; background: var(--w-50); }
.sala-galeria button[aria-pressed="true"] { border-color: var(--w-600); }
.sala-galeria img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sala-texto p { font-size: .95rem; }
.sala-pend { color: var(--w-ink2); font-style: italic; }
.sala-personas { list-style: none; padding: 0; margin: 0 0 12px; display: grid; gap: 6px; }
.sala-personas li { display: flex; justify-content: space-between; gap: 8px; padding: 8px 12px; background: var(--w-50); border: 1px solid var(--w-line); border-radius: 10px; }
.sala-personas a { font-weight: 600; } .sala-personas small { color: var(--w-ink2); white-space: nowrap; }
@media (max-width: 640px) {
  .sala-panel { top: auto; left: 0; right: 0; width: 100%; max-height: 72%; border-radius: 18px 18px 0 0; transform: translateY(105%); box-shadow: 0 -10px 30px rgba(0,0,0,.35); }
  .sala-panel.abierto { transform: none; }
  .sala-vistas { height: 62vh; }
  .sala-tabs button { padding: 8px 10px; font-size: .8rem; }
}

.sala-ayuda { text-align: center; color: var(--w-ink2); font-size: .86rem; margin: 12px 0 0; }
.sala-h2 { font-size: clamp(1.3rem, 2.4vw, 1.7rem); margin-bottom: 14px; }
.sala-lista { margin-bottom: 14px; }
.sala-lista h3 { font-size: 1.05rem; margin-bottom: 2px; }
.sala-resumen { color: var(--w-ink2); font-size: .9rem; margin-bottom: 8px !important; }
.sala-lista ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.sala-lista button { border: 1px solid var(--w-line); background: var(--w-50); color: var(--w-800); border-radius: 999px; padding: 6px 12px; font: inherit; font-size: .84rem; cursor: pointer; }
.sala-lista button:hover { background: var(--w-100); border-color: var(--w-300); }
html[data-theme="dark"] .sala-lista button { color: var(--w-300); }

/* puntos del 360° (Pannellum) */
.s360-hs { width: 34px; height: 34px; border-radius: 50%; background: rgba(14,122,58,.92); border: 3px solid #fff; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-family: Georgia, serif; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,.4); }
.s360-hs em { position: absolute; bottom: 120%; left: 50%; transform: translateX(-50%); background: rgba(4,33,15,.92); padding: 4px 10px; border-radius: 8px; font: 600 .78rem system-ui; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .15s; }
.s360-hs:hover em, .s360-hs:focus em { opacity: 1; }
.s360-hs--ir { background: rgba(255,255,255,.92); color: var(--w-800); border-color: var(--w-600); }
.s360-editor { position: absolute; left: 10px; top: 10px; z-index: 9; background: rgba(0,0,0,.75); padding: 6px 10px; border-radius: 8px; font: .78rem monospace; color: #fff; }
@media (prefers-reduced-motion: reduce) { .sala-panel { transition: none; } }
