/* ============================================================
   shell.css — Solo añade lo NUEVO sobre el diseño original:
   barra de sesión, modales de auth/compra y pantalla de bloqueo.
   La navegación (switcher/topbar/nav) usa los estilos originales.
   ============================================================ */

/* Barra de sesión: franja fina sobre el block-switcher */
#auth-barra {
  display: flex; align-items: center; justify-content: flex-end; gap: 10px;
  background: #070705; color: rgba(255,255,255,.7);
  padding: 5px 18px; font-size: 12px; position: sticky; top: 0; z-index: 202;
  border-bottom: 1px solid rgba(255,255,255,.05);
}
#auth-barra .auth-email { color: rgba(255,255,255,.55); margin-right: 4px; }

/* Como #auth-barra ocupa el top:0, empujamos el resto de barras sticky hacia abajo */
#block-switcher { top: 30px !important; }
#topbar { top: 30px; }
#nav { top: 79px; }

/* Botones reutilizables */
.btn-primary {
  background: var(--gold); color: #1a1a18; border: none; border-radius: 7px;
  padding: 7px 16px; font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 600;
  cursor: pointer; transition: filter .15s;
}
.btn-primary:hover { filter: brightness(1.07); }
.btn-ghost {
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15);
  color: rgba(255,255,255,.85); border-radius: 7px; padding: 6px 14px;
  font-family: 'DM Sans', sans-serif; font-size: 12.5px; cursor: pointer; transition: background .15s;
}
.btn-ghost:hover { background: rgba(255,255,255,.14); }

/* Pantalla de bloqueo (registro o compra) */
.bloqueo {
  max-width: 560px; margin: 70px auto; text-align: center;
  background: var(--card-bg); border: 1px solid var(--border); border-radius: 16px;
  padding: 52px 44px;
}
.bloqueo-icon { font-size: 42px; margin-bottom: 16px; }
.bloqueo h2 { font-family: 'DM Serif Display', serif; font-size: 25px; color: var(--ink); margin-bottom: 14px; }
.bloqueo p { font-size: 15px; color: var(--ink2); line-height: 1.65; margin-bottom: 28px; }
.bloqueo-acciones { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.bloqueo .btn-primary { padding: 11px 24px; font-size: 14px; }
.bloqueo .btn-ghost { background: var(--paper2); border-color: var(--border); color: var(--ink); padding: 10px 20px; font-size: 13px; }

/* Modales */
.modal-overlay {
  position: fixed; inset: 0; background: rgba(13,13,11,.6); backdrop-filter: blur(4px);
  display: flex; align-items: center; justify-content: center; z-index: 1000; padding: 20px;
}
.modal-box {
  background: var(--paper); border-radius: 16px; padding: 34px 32px; width: 100%;
  max-width: 430px; position: relative; box-shadow: 0 24px 70px rgba(0,0,0,.35);
}
.modal-box h3 { font-family: 'DM Serif Display', serif; font-size: 23px; color: var(--ink); margin-bottom: 20px; }
.modal-box input {
  width: 100%; padding: 11px 14px; margin-bottom: 12px; border: 1px solid var(--border2);
  border-radius: 8px; font-family: 'DM Sans', sans-serif; font-size: 14px;
  background: var(--card-bg); color: var(--ink); box-sizing: border-box;
}
.modal-submit { width: 100%; margin-top: 4px; padding: 11px; font-size: 14px; }
.modal-x {
  position: absolute; top: 14px; right: 16px; background: none; border: none;
  font-size: 26px; line-height: 1; color: var(--ink3); cursor: pointer;
}
.modal-alt { font-size: 13px; color: var(--ink3); margin-top: 18px; text-align: center; }
.modal-alt a { color: var(--gold); cursor: pointer; font-weight: 600; }
.modal-msg {
  display: none; background: #fdecea; color: #c0392b; font-size: 13px;
  padding: 10px 14px; border-radius: 8px; margin-bottom: 14px;
}

/* Planes de compra */
.planes { display: grid; gap: 10px; margin-top: 4px; }
.plan {
  text-align: left; background: var(--card-bg); border: 1px solid var(--border2);
  border-radius: 10px; padding: 14px 18px; cursor: pointer; font-family: 'DM Sans', sans-serif;
  transition: border-color .15s, transform .1s;
}
.plan:hover { border-color: var(--gold); transform: translateY(-1px); }
.plan-destacado { border-color: var(--gold); }
.plan-nombre { font-size: 15px; font-weight: 700; color: var(--ink); margin-bottom: 3px; }
.plan-desc { font-size: 12.5px; color: var(--ink3); }

@media (max-width: 600px) {
  #auth-barra { padding: 5px 12px; }
  .bloqueo { margin: 40px 16px; padding: 36px 24px; }
}
