/* ===== Spells Page — scoped overrides (visual-only) ================= */
/* Load this AFTER your main /Guardians/css/style.css on Spells.html */

/* Center the CTA row under the info-panel and use equal spacing */
.cta-bar{
  justify-content: center;  /* center the button row */
  gap: .75rem;              /* equal spacing between all buttons */
  row-gap: .75rem;          /* equal vertical gap on wrap */
}

/* Make sure CTA pills are visually centered and consistent */
.cta-bar .cta-button{
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Optional: nudge the top margin so the CTAs breathe a bit */
.cta-bar{ margin-top: .6rem; }

/* === Spells page UX polish: tabs + panel =========================== */

/* A. Tighter spacing so the panel is visible after a click */
.tabstrip{
  margin-top: .35rem;          /* closer to the page title */
  margin-bottom: .45rem;       /* closer to the info panel */
}

/* A. Visual cue: add a down arrow to each tab (emoji) */
.tabstrip .tab::after{
  content: " ⬇️";
  opacity: .95;
  font-size: .95em;
}

/* A. Stronger active tab so change is obvious */
.tabstrip .tab[aria-selected="true"]{
  border-color: rgba(255,255,255,.75);
  background: rgba(255,255,255,.10);
  box-shadow:
    0 0 0 1px rgba(255,255,255,.18) inset,
    0 0 18px rgba(224,208,143,.22);  /* subtle warm halo */
}

/* A. Reveal animation on the info panel when content swaps */
#info-panel.reveal{
  animation: panel-reveal .24s ease both;
}
@keyframes panel-reveal{
  from{ opacity:0; transform: translateY(.35rem); }
  to  { opacity:1; transform: none; }
}

/* ===== AP Roll (Tempo Modifiers) mini-cards ======================= */
.aproll-section{ margin:.6rem 0 1.2rem; }
.aproll-section h3{ margin:0 0 .55rem; }

.aproll-grid{
  display:grid;
  gap:.8rem;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.ap-card{
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:linear-gradient(180deg, rgba(22,28,36,.7), rgba(14,18,24,.6));
  padding:.85rem .95rem;
  box-shadow:0 10px 26px rgba(0,0,0,.25);
}

.ap-badge{
  display:inline-block;
  font-size:.86rem;
  line-height:1;
  padding:.28rem .55rem;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(255,255,255,.08);
  margin-bottom:.55rem;
}

.ap-card.is-optional{
  border-color: rgba(255,221,150,.28);
  background: linear-gradient(180deg, rgba(255,221,150,.08), rgba(14,18,24,.6));
}
.ap-card.is-optional .ap-badge{
  border-color: rgba(255,221,150,.45);
  box-shadow: 0 0 14px rgba(224,208,143,.18);
}

/* Table styling: compact, readable, centered values */
.ap-table{
  width:100%;
  border-collapse:collapse;
  font-size: .98rem;
}
.ap-table th,
.ap-table td{
  padding:.32rem .35rem;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ap-table tr:last-child th,
.ap-table tr:last-child td{ border-bottom:0; }

.ap-table th{
  text-align:left;
  width:40%;
  opacity:.95;
}
.ap-table td{
  text-align:right;
  font-weight:700;
  opacity:.98;
}

.ap-note{
  margin-top:.45rem;
  font-size:.95rem;
  opacity:.9;
}
