/*
  ============================================================
  ASTRACANA · SPREAD BUILDER — STYLES
  ============================================================
*/
.astr-spread-builder{
  --bg:#1B1235; --bg-soft:#2A1E4D; --gold:#D4AF37; --gold-dim:#9a7f2a;
  --ink:#FAF6EF; --ink-dim:#C9BFAE;
  font-family: Georgia, 'Times New Roman', serif; color: var(--ink);
  display:flex; flex-direction:column; align-items:center;
  padding:32px 20px 52px; text-align:center;
  background: radial-gradient(120% 90% at 50% 0%, var(--bg-soft) 0%, var(--bg) 55%, #14102a 100%);
  border:1px solid rgba(212,175,55,.28); border-radius:20px;
  box-shadow:0 24px 60px rgba(20,12,40,.22); margin:8px 0 24px;
}
.astr-spread-builder *{ box-sizing:border-box; margin:0; padding:0; }
.astr-spread-builder .astr-title{ font-size:clamp(1.7rem,5vw,2.5rem); letter-spacing:.04em; font-weight:normal; }
.astr-spread-builder .astr-star{ color:var(--gold); }
.astr-spread-builder .astr-subtitle{ margin-top:10px; color:var(--ink-dim); font-style:italic; max-width:560px; line-height:1.6; }
.astr-spread-builder .astr-intro{ margin-top:20px; max-width:640px; color:var(--ink); line-height:1.8; font-size:1rem; }
.astr-spread-builder .astr-ask{ margin-top:20px; width:min(420px,100%); }
.astr-spread-builder .astr-ask label{ display:block; margin-bottom:8px; font-size:.8rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-dim); }
.astr-spread-builder .astr-ask input{
  width:100%; padding:12px 18px; border-radius:999px; border:1px solid var(--gold-dim);
  background:rgba(255,255,255,.04); color:var(--ink); font-family:inherit; font-size:1rem; text-align:center;
}
.astr-spread-builder .astr-ask input:focus{ outline:none; border-color:var(--gold); }
.astr-spread-builder .astr-positions{ margin-top:24px; width:min(560px,100%); display:flex; flex-direction:column; gap:14px; }
.astr-spread-builder .astr-position{
  border:1px solid rgba(212,175,55,.28); border-radius:14px; padding:16px;
  background:rgba(255,255,255,.03); text-align:left;
}
.astr-spread-builder .astr-position .astr-pos-head{ color:var(--gold); font-size:.82rem; letter-spacing:.18em; text-transform:uppercase; margin-bottom:10px; }
.astr-spread-builder .astr-position input{
  width:100%; margin-bottom:8px; padding:10px 14px; border-radius:10px;
  border:1px solid rgba(212,175,55,.22); background:rgba(255,255,255,.04);
  color:var(--ink); font-family:inherit; font-size:.95rem;
}
.astr-spread-builder .astr-position input:focus{ outline:none; border-color:var(--gold); }
.astr-spread-builder .astr-btn-row{ margin-top:22px; display:flex; gap:12px; flex-wrap:wrap; justify-content:center; }
.astr-spread-builder .astr-btn{
  font-family:inherit; font-size:.95rem; letter-spacing:.08em; padding:13px 30px;
  border-radius:999px; cursor:pointer; border:1px solid var(--gold);
  background:transparent; color:var(--gold); transition:all .25s;
}
.astr-spread-builder .astr-btn:hover{ background:var(--gold); color:var(--bg); }
.astr-spread-builder .astr-btn.astr-primary{ background:var(--gold); color:var(--bg); }
.astr-spread-builder .astr-btn.astr-primary:hover{ filter:brightness(1.1); }
.astr-spread-builder .astr-btn:disabled{ opacity:.5; cursor:default; }
.astr-spread-builder .astr-result{ margin-top:30px; width:min(640px,100%); display:flex; flex-direction:column; align-items:center; }
.astr-spread-builder .astr-result-name{ font-size:1.8rem; color:var(--gold); letter-spacing:.05em; }
.astr-spread-builder .astr-result-question{ margin-top:6px; color:var(--ink-dim); font-style:italic; }
.astr-spread-builder .astr-cards{ margin-top:22px; width:100%; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
.astr-spread-builder .astr-card{
  border:1px solid rgba(212,175,55,.32); border-radius:16px; padding:20px 16px;
  background:rgba(255,255,255,.03); text-align:center;
}
.astr-spread-builder .astr-card .astr-card-pos{ font-size:.75rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-dim); }
.astr-spread-builder .astr-card .astr-card-pos-title{ color:var(--gold); font-size:1.05rem; margin-top:6px; }
.astr-spread-builder .astr-card .astr-card-name{ margin-top:12px; font-size:1.25rem; color:var(--ink); }
.astr-spread-builder .astr-card .astr-card-name.astr-rev{ color:var(--ink-dim); }
.astr-spread-builder .astr-card .astr-card-orient{ font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-dim); margin-top:4px; }
.astr-spread-builder .astr-card .astr-card-keys{ margin-top:10px; font-size:.9rem; font-style:italic; color:var(--ink-dim); line-height:1.6; }
.astr-spread-builder .astr-card .astr-card-reflect{ margin-top:12px; font-size:.92rem; line-height:1.75; color:var(--ink); text-align:left; }
.astr-spread-builder .astr-saved{ margin-top:36px; width:min(640px,100%); }
.astr-spread-builder .astr-h2{ font-weight:normal; font-size:1.4rem; color:var(--gold); letter-spacing:.05em; }
.astr-spread-builder .astr-saved-list{ margin-top:14px; display:flex; flex-direction:column; gap:10px; }
.astr-spread-builder .astr-saved-item{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  border:1px solid rgba(212,175,55,.22); border-radius:12px; padding:12px 16px;
  background:rgba(255,255,255,.03); text-align:left; font-size:.95rem;
}
.astr-spread-builder .astr-saved-item .astr-saved-name{ color:var(--ink); }
.astr-spread-builder .astr-saved-item .astr-saved-meta{ color:var(--ink-dim); font-size:.82rem; font-style:italic; }
.astr-spread-builder .astr-saved-item .astr-mini-btns{ display:flex; gap:8px; }
.astr-spread-builder .astr-mini-btn{
  font-family:inherit; font-size:.78rem; letter-spacing:.06em; padding:7px 14px;
  border-radius:999px; cursor:pointer; border:1px solid var(--gold-dim);
  background:transparent; color:var(--gold);
}
.astr-spread-builder .astr-mini-btn:hover{ background:var(--gold); color:var(--bg); }
.astr-spread-builder .astr-saved-empty{ color:var(--ink-dim); font-style:italic; font-size:.92rem; }
.astr-spread-builder .astr-note{ margin-top:26px; color:var(--ink-dim); font-size:.85rem; font-style:italic; max-width:560px; line-height:1.7; }
.astr-spread-builder .astracana-why-slot{ width:min(640px,100%); display:flex; justify-content:center; }
@media (max-width:480px){ .astr-spread-builder{ padding:16px 4px 40px; } }
