/* Spellbound Subscriptions — page-only */

body.subs-body .subs-shell{
  max-width: 1120px;
}

body.subs-body .subs-wrap{
  max-width: 980px;
  margin: 0 auto;
}

/* Sections */
body.subs-body .section{
  background: radial-gradient(circle at 20% 0%, rgba(255,248,220,0.96), rgba(241,221,185,0.92));
  border-radius: 14px;
  padding: 1.1rem 1.2rem 1.2rem;
  border: 1px solid rgba(170,120,60,0.7);
  box-shadow: 0 6px 14px rgba(0,0,0,0.25), inset 0 0 10px rgba(139,96,41,0.35);
  margin-bottom: 16px;
}

body.subs-body .section h2{
  margin: 0 0 0.6rem;
  font-family: 'Cinzel', serif;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #4b2c16;
  font-size: 1.1rem;
}

body.subs-body .lead{
  margin: 0;
  color: #3a230f;
  font-size: 1.03rem;
  line-height: 1.5;
}

/* Mini cards */
body.subs-body .mini-card{
  border-radius: 12px;
  border: 1px solid rgba(170,120,60,0.55);
  background: radial-gradient(circle at 0 0, rgba(255,252,240,0.95), rgba(244,223,188,0.95));
  box-shadow: 0 6px 14px rgba(0,0,0,0.18), inset 0 0 8px rgba(139,96,41,0.25);
  padding: 0.9rem 0.95rem;
}

body.subs-body .mini-card .kicker{
  font-family: 'Cinzel', serif;
  letter-spacing: 0.08em;
  color: #5b346f;
  font-size: 0.92rem;
  margin-bottom: 0.35rem;
  text-transform: uppercase;
}

body.subs-body .mini-card p{
  margin: 0;
  color: #3a230f;
  line-height: 1.45;
}

/* Plan cards */
body.subs-body .plan{
  border-radius: 14px;
  border: 1px solid rgba(170,120,60,0.6);
  background: radial-gradient(circle at 0 0, rgba(255,252,240,0.96), rgba(244,223,188,0.96));
  box-shadow: 0 8px 18px rgba(0,0,0,0.22), inset 0 0 8px rgba(139,96,41,0.28);
  padding: 1.0rem 1.05rem 1.05rem;
  position: relative;
  overflow: hidden;
}

body.subs-body .plan--featured{
  border-color: rgba(230,210,255,0.9);
  box-shadow: 0 10px 22px rgba(0,0,0,0.35), 0 0 14px rgba(204,153,255,0.55);
}

body.subs-body .plan h3{
  margin: 0 0 0.35rem;
  font-family: 'Cinzel', serif;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #2a1a3f;
  font-size: 1.05rem;
}

body.subs-body .price{
  font-size: 1.15rem;
  color: #4b2c16;
  margin: 0 0 0.65rem;
  font-weight: 600;
}

body.subs-body .price-note{
  font-size: 0.85rem;
  color: #7b5532;
}

body.subs-body .plan ul{
  margin: 0 0 0.8rem;
  padding-left: 1.1rem;
  color: #3a230f;
}

body.subs-body .plan li{
  margin: 0.25rem 0;
  line-height: 1.35;
}

/* Buttons */
body.subs-body .subs-cta{
  border-radius: 999px;
  background: linear-gradient(to bottom, #6a1b9a, #4a148c);
  color: #fff;
  font-family: 'Cinzel', serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.9rem;
  border: 0;
  box-shadow: 0 4px 10px rgba(0,0,0,0.5), 0 0 10px rgba(204,153,255,0.55);
  padding: 0.55em 1.15em;
}

body.subs-body .subs-cta:hover{
  transform: translateY(-1px);
  color: #fff;
  box-shadow: 0 7px 16px rgba(0,0,0,0.65), 0 0 14px rgba(224,188,255,0.85);
}

body.subs-body .subs-cta--secondary{
  background: linear-gradient(to bottom, #fbe4b3, #d8b36b);
  color: #3a230f;
  box-shadow: 0 4px 10px rgba(0,0,0,0.28);
}

body.subs-body .subs-cta--secondary:hover{
  color: #3a230f;
}

/* Steps */
body.subs-body .step{
  border-radius: 12px;
  border: 1px solid rgba(170,120,60,0.55);
  background: rgba(255,252,240,0.75);
  padding: 0.85rem 0.9rem;
}

body.subs-body .step .num{
  font-family: 'Cinzel', serif;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #7b5532;
  font-size: 0.85rem;
  margin-bottom: 0.25rem;
}

body.subs-body .step .txt{
  margin: 0;
  color: #3a230f;
  line-height: 1.45;
}

/* FAQ */
body.subs-body details{
  border: 1px solid rgba(170,120,60,0.55);
  background: rgba(255,252,240,0.75);
  border-radius: 12px;
  padding: 0.65rem 0.75rem;
  margin-top: 10px;
}

body.subs-body summary{
  cursor: pointer;
  font-family: 'Cinzel', serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #2a1a3f;
  font-size: 0.95rem;
}

body.subs-body details p{
  margin: 0.55rem 0 0;
  color: #3a230f;
  line-height: 1.5;
}

body.subs-body .final-cta{
  text-align: center;
  padding: 1.3rem 1.1rem 1.2rem;
}

body.subs-body .back-link{
  text-align:center;
  margin-top: 1.2rem;
}

body.subs-body .back-link a{
  color:#5b346f;
  text-decoration:none;
}
body.subs-body .back-link a:hover{
  text-decoration: underline;
}

body.subs-body .subs-note{
  color:#6b5840;
  font-style: italic;
}