/* =========================================================
   DEPORTES JIMMY — AVÍSAME CUANDO LLEGUE  (v11.3.0)
   ---------------------------------------------------------
   Un diálogo corto. Tres campos y un botón, y solo uno de
   los tres es obligatorio.

   Se abre encima de donde estaba el cliente y se cierra
   solo al terminar: apuntarse no debería sacarlo de la
   parrilla que estaba mirando.
   ========================================================= */

.dj-esp {
  position:fixed; inset:0; z-index:99990;
  display:grid; place-items:center; padding:18px;
}
.dj-esp[hidden] { display:none; }

.dj-esp__fondo {
  position:absolute; inset:0;
  background:rgba(17,17,20,.55);
  backdrop-filter:blur(2px);
}

body.dj-esp-abierto { overflow:hidden; }

.dj-esp__caja {
  position:relative; width:min(420px,100%);
  background:#fff; border-radius:14px;
  padding:26px 24px 20px;
  box-shadow:0 24px 60px rgba(0,0,0,.28);
  animation:dj-esp-entra .18s ease-out;
}
@keyframes dj-esp-entra {
  from { opacity:0; transform:translateY(10px) scale(.985); }
  to   { opacity:1; transform:none; }
}

.dj-esp__x {
  position:absolute; top:10px; right:12px;
  border:0; background:none; cursor:pointer;
  font-size:26px; line-height:1; color:#A5A5AD;
}
.dj-esp__x:hover { color:#111114; }

.dj-esp__titulo {
  margin:0 0 4px; font-size:20px; font-weight:700;
  color:#111114; letter-spacing:-.01em;
}
.dj-esp__producto {
  margin:0 0 18px; font-size:13.5px; color:#75757D; line-height:1.4;
}
.dj-esp__producto:empty { display:none; }

.dj-esp__campos { display:grid; gap:12px; }
.dj-esp__campos label { display:block; }
.dj-esp__campos span {
  display:block; font-size:12px; font-weight:600;
  color:#55555D; margin-bottom:4px;
}
.dj-esp__campos small { font-weight:400; color:#A5A5AD; }
.dj-esp__campos input {
  width:100%; height:42px; padding:0 12px;
  border:1px solid #E3E3E8; border-radius:8px;
  font-size:15px; background:#fff; color:#111114;
}
.dj-esp__campos input:focus {
  outline:none; border-color:#111114;
  box-shadow:0 0 0 3px rgba(17,17,20,.08);
}

.dj-esp__enviar {
  width:100%; height:46px; margin-top:16px; cursor:pointer;
  border:0; border-radius:8px;
  background:var(--dj-red,#E11B22); color:#fff;
  font-size:14px; font-weight:700; letter-spacing:.02em;
  text-transform:uppercase;
}
.dj-esp__enviar:hover { background:var(--dj-red-dark,#C40000); }

.dj-esp.es-cargando .dj-esp__caja { opacity:.6; pointer-events:none; }

/* Al confirmar, el formulario se apaga y solo queda el
   mensaje: no tiene sentido dejar los campos invitando a
   apuntarse otra vez. */
.dj-esp.es-listo .dj-esp__campos,
.dj-esp.es-listo .dj-esp__enviar { display:none; }

.dj-esp__aviso { margin:12px 0 0; font-size:13px; text-align:center; }
.dj-esp__aviso:empty { display:none; }
.dj-esp__aviso.es-error { color:#C40000; }
.dj-esp__aviso.es-bien  { color:#0B6E4F; font-weight:600; }

.dj-esp__legal {
  margin:14px 0 0; font-size:11px; color:#A5A5AD; text-align:center;
}

/* El botón de la ficha del producto, debajo del precio. */
.dj-esp-btn { cursor:pointer; }

@media (max-width:480px) {
  .dj-esp { padding:0; place-items:end center; }
  .dj-esp__caja { width:100%; border-radius:16px 16px 0 0; }
}
