/* Recorrido virtual (28-oct): el tour 360° del proveedor del colegio (Dagaz) a pantalla completa, con una barra delgada para volver.
   Página aparte a propósito: no carga el CSS ni el JS del resto del sitio, y el tour solo baja cuando alguien entra aquí. */
:root{ --navy:#004484; --tinta:#0C1F4F; --oro-vivo:#F9C658; --crema:#FBF7EE; --barra:56px; }
*{ box-sizing:border-box; }
html, body{ margin:0; height:100%; }
body.rt{ display:flex; flex-direction:column; height:100vh; height:100dvh; overflow:hidden; background:var(--crema); color:var(--tinta); font-family:'Montserrat', system-ui, sans-serif; }

.rt__barra{ flex:0 0 auto; display:flex; align-items:center; justify-content:space-between; gap:16px; height:var(--barra); padding:0 clamp(16px,3vw,40px); padding-top:env(safe-area-inset-top); height:calc(var(--barra) + env(safe-area-inset-top)); background:#fff; border-bottom:1px solid rgba(12,31,79,.1); position:relative; z-index:2; }
.rt__marca{ display:flex; align-items:center; gap:10px; min-width:0; color:var(--tinta); text-decoration:none; }
.rt__marca img{ width:34px; height:auto; flex:0 0 auto; }
.rt__marca span{ font-family:'Newsreader', Georgia, serif; font-weight:500; font-size:clamp(16px,1.4vw,19px); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rt__volver{ position:relative; flex:0 0 auto; display:inline-flex; align-items:center; gap:8px; padding:6px 0 8px; font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--tinta); text-decoration:none; }
.rt__volver::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--oro-vivo); transform:scaleX(.35); transform-origin:left; transition:transform .45s cubic-bezier(.22,1,.28,1); }
.rt__volver:hover::after, .rt__volver:focus-visible::after{ transform:scaleX(1); }

.rt__visor{ position:relative; flex:1 1 auto; min-height:0; }
.rt__h1{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; margin:-1px; }
/* un iframe no se estira con left/right: necesita ancho y alto explícitos */
.rt__tour{ position:absolute; top:0; left:env(safe-area-inset-left); width:calc(100% - env(safe-area-inset-left) - env(safe-area-inset-right)); height:calc(100% - env(safe-area-inset-bottom)); border:0; display:block; background:var(--crema); }

.rt__aviso{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:24px 16px; text-align:center; background:var(--crema); transition:opacity .5s ease; }
.rt__aviso[hidden]{ display:none; }
.rt__aviso.es-listo{ opacity:0; pointer-events:none; }
/* respaldo: tapa con botón de cerrar; si el tour sí cargó sin avisar, la × lo descubre */
.rt__cerrar{ position:absolute; top:10px; right:12px; width:36px; height:36px; border:0; background:none; font-size:26px; line-height:1; color:var(--tinta); cursor:pointer; }
.rt__respaldo[hidden], .rt__cargando[hidden]{ display:none !important; }
.rt__sinjs{ position:absolute; left:0; right:0; bottom:0; margin:0; padding:16px; text-align:center; background:var(--crema); font-weight:700; }
.rt__sinjs a{ color:var(--tinta); }
.rt__sello{ width:56px; height:auto; animation:rt-late 1.6s ease-in-out infinite; }
.rt__aviso.es-respaldo .rt__sello{ animation:none; }
.rt__cargando{ margin:0; font-size:13px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--navy); }
.rt__txt{ margin:0; max-width:34ch; font-family:'Newsreader', Georgia, serif; font-weight:500; font-size:clamp(22px,2.4vw,30px); line-height:1.2; }
.rt__ctas{ display:flex; flex-wrap:wrap; justify-content:center; gap:14px 32px; margin:10px 0 0; }
.rt__cta{ position:relative; padding-bottom:9px; font-size:14px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--tinta); text-decoration:none; }
.rt__cta::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:2.5px; background:var(--oro-vivo); }
@keyframes rt-late{ 0%,100%{ transform:scale(1); opacity:1; } 50%{ transform:scale(.92); opacity:.6; } }

@media (max-width:520px){
  :root{ --barra:52px; }
  .rt__marca span{ display:none; }
  .rt__ctas{ flex-direction:column; align-items:center; }
}
@media (prefers-reduced-motion:reduce){ .rt__sello{ animation:none; } .rt__volver::after{ transition:none; } }
