/* Cálculo Numerológico Completo — formulario nombre/apellidos/fecha y 4 tarjetas de núcleo
   (Lección de Vida, Destino, Personalidad Externa, Corazón/Alma). */

.nc-page { color: #f3ead2; }
.nc-header { text-align: center; margin-bottom: 1.4rem; }
.nc-header h1 {
  font-family: 'Cinzel', 'Times New Roman', serif;
  font-size: clamp(1.6rem, 4vw, 2.4rem);
  color: #f0d68a;
  text-shadow: 0 0 16px rgba(240,214,138,0.45);
  margin: 0 0 .6rem;
}
.nc-intro { max-width: 64ch; margin: 0 auto; color: rgba(243,234,210,0.85); line-height: 1.55; }

.nc-app { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 1.4rem; }

/* ---------- Form ---------- */
.nc-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 1.3rem 1.2rem;
  border-radius: 14px;
  border: 1px solid rgba(240,214,138,0.28);
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(255,240,200,0.06), transparent 60%),
    linear-gradient(165deg, #2a2440 0%, #16121f 100%);
}
.nc-field { display: flex; flex-direction: column; gap: .4rem; }
.nc-label { font-weight: 700; color: #f0d68a; }
.nc-input {
  width: 100%;
  padding: .7rem 1rem;
  background: rgba(20,16,30,0.6);
  border: 1px solid rgba(240,214,138,0.4);
  border-radius: 10px;
  color: #f3ead2;
  font-size: 1.02rem;
  font-family: inherit;
  box-sizing: border-box;
}
.nc-input:focus { outline: none; border-color: rgba(240,214,138,0.85); box-shadow: 0 0 0 3px rgba(240,214,138,0.2); }
.nc-input::placeholder { color: rgba(243,234,210,0.4); }
.nc-date { display: inline-flex; flex-wrap: wrap; gap: .45rem; }
.nc-sel {
  background: #fdf6e3; color: #1a142a;
  border: 1px solid rgba(150,120,80,0.5);
  border-radius: 8px; padding: .4rem .55rem;
  font-size: 1rem; font-weight: 600; font-variant-numeric: tabular-nums; cursor: pointer;
}
.nc-sel:focus-visible { outline: 2px solid #f0d68a; outline-offset: 1px; }
.nc-calc { align-self: flex-start; min-width: 160px; }

/* ---------- Result ---------- */
.nc-summary {
  text-align: center;
  font-family: 'Cinzel', 'Times New Roman', serif;
  font-size: 1.2rem;
  color: #f0d68a;
  margin: 0;
}
.nc-cores { display: flex; flex-direction: column; gap: 1rem; }
.nc-card {
  border-radius: 14px;
  padding: 1.1rem 1.2rem 1.2rem;
  background: rgba(26,20,30,0.6);
  border: 1px solid rgba(255,255,255,0.08);
  border-left: 5px solid var(--c, #f0d68a);
}
.nc-card-head { display: flex; align-items: center; gap: .9rem; margin-bottom: .6rem; }
.nc-card-num {
  flex: none;
  width: 54px; height: 54px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
  background: var(--c, #f0d68a);
  color: #16121f;
  font-weight: 800;
  font-size: 1.6rem;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 0 14px color-mix(in srgb, var(--c, #f0d68a) 55%, transparent);
}
.nc-card-num--master { box-shadow: 0 0 18px var(--c, #f0d68a); outline: 2px solid rgba(255,255,255,0.4); outline-offset: 2px; }
.nc-card-titles { flex: 1; min-width: 0; }
.nc-card-title {
  font-family: 'Cinzel', 'Times New Roman', serif;
  font-size: 1.1rem;
  color: #f3ead2;
  margin: 0;
}
.nc-card-resumido { margin: .1rem 0 0; color: var(--c, #f0d68a); font-weight: 700; font-style: italic; }
.nc-card-desc { font-size: .85rem; color: rgba(243,234,210,0.6); font-style: italic; margin: 0 0 .6rem; }
.nc-card-interp { margin: 0; line-height: 1.6; color: rgba(243,234,210,0.92); }
.nc-card-master { margin: .6rem 0 0; font-size: .82rem; font-style: italic; color: #ffd28a; }

.nc-error { text-align: center; color: #ff9999; margin: 0; }

@media (max-width: 520px) {
  .nc-calc { align-self: stretch; }
  .nc-card-num { width: 46px; height: 46px; font-size: 1.35rem; }
}
