/* ================= LivePassion — Login (card blanca, estilo del sitio) ================= */

:root{
  /* Colores del sitio */
  --lp-black:#0a0a0a;            /* header */
  --lp-gold:#f3cc4a;             /* acento principal */
  --lp-gold-2:#ffd86a;           /* hover */

  --bg:#f7f5f2;                  /* fondo general claro */
  --ink:#222;                    /* texto principal */
  --muted:#666;                  /* texto secundario */
  --line:#e9e4dd;                /* líneas/bordes claros */

  --card:#ffffff;                /* card blanca */
  --shadow: 0 18px 60px rgba(0,0,0,.10);  /* sombra como en las cards del carrito */
  --r: 18px;                     /* radio de cards/botones */
}

/* ===== Reset / body ===== */
*{ box-sizing:border-box }
html,body{ height:100% }
body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, sans-serif;
  background: var(--bg);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* ===== Header (igual estética del sitio) ===== */
.lp-header{
  background: var(--lp-black);
  border-bottom: 3px solid var(--lp-gold);
  color:#fff;
  position: sticky; top:0; z-index: 10;
}
.lp-wrap{
  max-width:1120px; margin:0 auto;
  padding:14px 20px;
  display:flex; align-items:center; justify-content:space-between;
}
.lp-brand{ display:flex; align-items:center; gap:10px; color:#fff; text-decoration:none; }
.lp-gold-dot{ width:10px; height:10px; border-radius:999px; background:var(--lp-gold); box-shadow:0 0 14px rgba(243,204,74,.6); }
.lp-wordmark{ font-weight:700; letter-spacing:.5px; }
.lp-wordmark b{ font-weight:800; }
.lp-nav{ display:flex; gap:18px; }
.lp-nav a{
  color:#ffd; text-decoration:none; font-weight:600; position:relative; padding:2px 0;
}
.lp-nav a::after{
  content:""; position:absolute; left:0; bottom:-4px; height:2px; width:0;
  background: var(--lp-gold); transition: width .18s ease;
}
.lp-nav a:hover::after{ width:100%; }

/* ===== Escena ===== */
.auth-scene{
  display:grid; place-items:center;
  padding:64px 16px 88px;
}

/* ===== Card blanca (dos columnas) ===== */
.auth-card{
  width:min(1040px, 100%);
  display:grid; grid-template-columns: 1.1fr 1fr;
  background: var(--card);
  border-radius: var(--r);
  box-shadow: var(--shadow);
  overflow: hidden;
  border: 1px solid rgba(0,0,0,.03);
}

/* ---- Lado izquierdo: hero claro con tinte dorado suave ---- */
.auth-hero{
  padding:40px 36px;
  background:
    linear-gradient(180deg, rgba(243,204,74,.10), rgba(255,255,255,.85)),
    url('assets/hero-crowd.jpg') center/cover no-repeat;
  display:flex; flex-direction:column; gap:18px; justify-content:space-between;
}
.auth-hero h1{
  margin:0 0 8px; font-size:28px; letter-spacing:.2px; color:#1b1b1b;
}
.auth-hero p{
  margin:0; color:#444;
}
.hero-bullets{
  list-style:none; padding:0; margin:22px 0 0; display:grid; gap:12px; color:#333;
}
.hero-bullets li{ display:flex; align-items:center; gap:10px; }
.hero-bullets li span{ width:7px; height:7px; border-radius:999px; background:var(--lp-gold); }

/* ---- Lado derecho: formulario en card blanca ---- */
.auth-form{
  padding:36px;
  background: var(--card);
  display:flex; flex-direction:column; gap:16px;
}
.form-head h2{ margin:0 0 6px; font-size:22px; color:#1f1f1f; }
.form-head p{ margin:0; color:var(--muted); font-size:14px; }

/* Campos */
.field{ display:flex; flex-direction:column; gap:8px; }
.field > span{ font-size:13px; color:var(--muted); }
.ctl{ position:relative; }
input[type="text"], input[type="password"], input[type="email"]{
  width:100%;
  background:#fff;
  color:var(--ink);
  border:1px solid var(--line);
  border-radius:12px;
  padding:14px;
  font-size:16px;
  outline:none;
  transition:border .18s, box-shadow .18s;
}
input::placeholder{ color:#9b9b9b; }
input:focus{
  border-color: var(--lp-gold);
  box-shadow: 0 0 0 3px rgba(243,204,74,.22);
}
.toggle{
  position:absolute; right:10px; top:50%; transform:translateY(-50%);
  background:transparent; border:0; color:#777; cursor:pointer; padding:6px 8px;
}
.toggle:hover{ color:#333; }

/* Fila auxiliar */
.row{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.row.small{ font-size:13px; color:var(--muted); }
.check{ display:flex; align-items:center; gap:8px; }

.link{ color:#222; text-decoration:none; border-bottom:1px solid transparent; }
.link:hover{ border-bottom-color: currentColor; }

/* Botones (como los de tu carrito/checkout) */
.btn{
  width:100%; border-radius:12px; padding:14px 16px;
  font-weight:700; font-size:16px; cursor:pointer; transition:.18s;
  border:1px solid transparent;
}
.btn:active{ transform: translateY(1px); }

.btn-gold{
  background: var(--lp-gold); color:#111; border:0;
  box-shadow: 0 10px 28px rgba(243,204,74,.20);
}
.btn-gold:hover{ background: var(--lp-gold-2); }

.btn-ghost{
  background:#fff; color:#111; border:1px solid var(--line);
}
.btn-ghost:hover{ background:#f3f3f3; }

/* Mensajes */
.msg{ display:none; padding:12px 14px; border-radius:12px; font-size:14px; border:1px solid transparent; }
.msg-ok{ background:#ecfff3; border-color:#b8efcc; color:#165a32; }
.msg-err{ background:#fff4f0; border-color:#ffd2c5; color:#7a2919; }

/* ===== Footer (igual estilo claro con línea dorada) ===== */
.lp-footer{
  background:#fff; color:#444; border-top:2px solid var(--lp-gold);
}
.lp-footer .lp-wrap{
  max-width:1120px; margin:0 auto;
  padding:18px 20px; display:flex; justify-content:space-between; align-items:center; font-size:13px;
}

/* ===== Responsive ===== */
@media (max-width: 900px){
  .auth-card{ grid-template-columns:1fr; }
  .auth-hero{ min-height:220px; }
}
