:root{
  --bg:#0b0f1e; --panel:#11162a; --panel2:#0e1330; --ink:#f4f6ff; --muted:#9fb0e3;
  --cta:#7c3aed; --accent:#55d6be; --danger:#ef4444; --ok:#10b981; --border:#243058;
  --shadow:0 14px 40px rgba(0,0,0,.35);
  --poi-max-w: 236px; /* compacto */
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:var(--sans);
  background:radial-gradient(1200px 400px at 50% -10%, #192043 0%, #0b0f1e 50%, #090d19 100%);
  color:var(--ink)
}
img{display:block}
button{font-size:16px}

/* ===== UI ===== */
.wrap{max-width:1080px;margin:0 auto;padding:14px 16px}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.grow{flex:1 1 0}
.overlay .brand,
.logo-row .brand{font-weight:800;font-size:18px}
.muted{color:var(--muted)}
.status{font-size:12px;color:var(--muted)}

.controls{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.pillbar{gap:8px}
.mode-switch{display:flex;gap:8px;align-items:center}
.pill{
  padding:8px 12px;border-radius:999px;border:1px solid var(--border);background:#12193a;
  color:#e8eaff;cursor:pointer;transition:transform .12s ease, box-shadow .12s ease
}
.pill.active{background:linear-gradient(180deg,#1b2451,#131a3e);box-shadow:0 6px 16px rgba(0,0,0,.35);border-color:#31407a}
.pill:active{transform:scale(.98)}
.btn{
  appearance:none;border:0;background:var(--cta);color:white;padding:10px 14px;border-radius:12px;
  cursor:pointer;font-weight:700;box-shadow:var(--shadow)
}
.btn.secondary{background:#1b2451;border:1px solid #2b3a76;color:#e9ecff}
.card{background:var(--panel);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}
.section-title{font-weight:800;margin:0 0 6px}

/* ===== AR ===== */
.ar-shell{
  position:relative;height:70vh;min-height:420px
}
/* AR “limpio”: SIN fondo de tarjeta ni sombras */
.card.ar-shell{
  background:transparent !important;border:0 !important;box-shadow:none !important;
  overflow:visible !important;
}
.ar-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(.95);
}
.ar-overlay{
  position:absolute;inset:0;z-index:1;pointer-events:auto;perspective:1100px;overflow:visible;
}

/* Tarjeta compacta */
.poi{
  position:absolute;
  transform:translate(-50%,-50%) rotateX(10deg);
  transform-style:preserve-3d;will-change:transform,left,top;

  background:linear-gradient(180deg,rgba(18,24,55,.94),rgba(10,14,32,.86));
  border:1px solid #394a99;color:#eaf0ff;border-radius:14px;
  padding:8px 10px;
  display:flex;flex-direction:column;gap:8px;
  box-shadow:0 22px 56px rgba(0,0,0,.55);
  backdrop-filter:blur(6px);
  pointer-events:auto;

  max-width:var(--poi-max-w);
  width:clamp(168px, 58vw, var(--poi-max-w));
  word-break:break-word;
  transform-origin:center bottom;
  backface-visibility:hidden;
}
.poi img{
  width:100%;height:96px;object-fit:cover;
  border-radius:12px;border:1px solid #4a5fd6;box-shadow:0 8px 18px rgba(0,0,0,.45)
}

/* Textos */
.p-title{font-weight:800;letter-spacing:.2px;font-size:15px;margin-bottom:2px}
.p-sub{font-size:11px;color:#c7d5ff;margin-bottom:4px}
.p-nowline{font-size:12px;margin:2px 0}
.p-nowtag{display:inline-block;font-size:10px;margin-right:6px;border:1px solid #6aa3ff;color:#e4efff;background:rgba(60,100,220,.25);padding:1px 6px;border-radius:999px}
.p-desc{font-size:11px;color:#d7e2ff;opacity:.95;margin:2px 0 4px;max-width:100%}
.p-info{display:grid;gap:4px;margin-top:4px}
.p-info-line{font-size:11px;color:#d7e2ff;opacity:.95}

/* Acordeón */
.p-accordion{margin-top:2px}
.p-accordion > summary{
  list-style:none;cursor:pointer;appearance:none;border:0;background:#1a2150;border:1px solid #2c3a7a;color:#e8ecff;
  padding:5px 9px;border-radius:999px;font-size:11px;display:inline-flex;align-items:center;gap:6px;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
}
.p-accordion > summary::-webkit-details-marker{display:none}
.p-accordion > summary::before{content:"▼";display:inline-block;transform:translateY(-1px)}
.p-accordion[open] > summary::before{content:"▲"}
.p-schedule{margin-top:6px;display:grid;gap:6px}
.p-srow{display:flex;gap:8px;align-items:center;font-size:12px}
.p-srow.current .p-artist{font-weight:800}
.p-time{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:11px;color:#bcd0ff;border:1px solid #3e4f9d;padding:1px 6px;border-radius:6px;background:rgba(60,80,200,.18)}

/* Tip/Debug, mapa, etc. */
.tip{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);background:#12193a;border:1px solid #2b3a76;border-radius:999px;padding:8px 12px;color:#e9edff}
.tip.hide{display:none}
.debug{position:absolute;left:10px;top:10px;display:flex;align-items:center;gap:8px;background:#12193a;border:1px solid #2b3a76;border-radius:999px;padding:6px 10px;color:#e9edff}
.debug.hide{display:none}
.map{height:360px}
.footer{display:flex;justify-content:space-between;align-items:center;margin:8px auto 16px}
.lang-dd{appearance:none;background:#0e1426;border:1px solid var(--border);color:#e9edff;padding:8px 12px;border-radius:999px;cursor:pointer;min-width:160px}
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.86);display:flex;align-items:flex-start;justify-content:center;z-index:40;overflow:auto}
.overlay-card{background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:22px;max-width:520px;width:92%;text-align:center;box-shadow:0 14px 48px rgba(0,0,0,.4);margin-top:7vh;}
.overlay-title{font-size:22px;font-weight:800;margin:4px 0 10px}
.overlay-label{display:block;margin:8px 0 8px;color:#cbd5ff}
.overlay-btn{margin-top:14px;width:100%}
.overlay-hint{font-size:12px;color:#9fb0e3;margin-top:8px}
.overlay-mini{font-size:11px;color:#7f8cc7;margin-top:10px}
.logo-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.chip{font-size:12px;border:1px solid #384a9d;color:#dbe1ff;padding:2px 8px;border-radius:999px;background:#10163a}
.overlay .mode-switch{justify-content:center;margin:10px 0 6px}
