:root{
  --purple-main:#4B2E83;
  --purple-accent:#6A4C93;

  --text-main:#2E2E2E;
  --text-secondary:#6B6B6B;

  --bg-soft:#FAF9F7;
  --border:#E9E6F0;
}

/* Base */
body{
  font-family:'Inter', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--text-main);
  line-height:1.65;
  background:var(--bg-soft);
}

h1,h2,h3,h4,h5,h6{
  font-family:'Playfair Display', serif;
  font-weight:500;
  letter-spacing:0.2px;
}

.text-muted-custom{ color:var(--text-secondary) !important; }

/* Navbar */
.navbar{ background:var(--purple-main) !important; }

/* Brand title */
.site-title{
  font-family:"Tangerine", cursive;
  font-weight:700;
  font-size:2.6rem;
  letter-spacing:0.5px;
  line-height:1;
}
@media (max-width:768px){
  .site-title{ font-size:2.2rem; }
}

/* Buttons */
.btn-purple{
  background:var(--purple-main);
  color:#fff;
  border:none;
}
.btn-purple:hover{
  background:var(--purple-accent);
  color:#fff;
}

/* Footer */
.site-footer{
  background:var(--purple-main);
  color:#fff;
  padding:2rem 0;
}
.site-footer .copyright{
  opacity:.8;
  font-size:.85rem;
}

/* Cards */
.card{
  border:1px solid var(--border);
  border-radius:18px;
}

/* Hero video (index) */
.hero-video{
  position:relative;
  height:85vh;
  min-height:520px;
  overflow:hidden;
}
.hero-video video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:1;
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(
    rgba(75,46,131,0.55),
    rgba(75,46,131,0.75)
  );
  z-index:2;
}
.hero-content{
  position:relative;
  z-index:3;
  height:100%;
  display:flex;
  align-items:center;
}
@media (max-width:768px){
  .hero-video{ height:70vh; }
}

/* Course hero image */
.hero-wrap{
  border-bottom:1px solid var(--border);
  background:linear-gradient(
    rgba(75,46,131,0.10),
    rgba(75,46,131,0.03)
  );
}
.hero-img{
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--border);
}
.hero-img img{
  width:100%;
  height:clamp(360px, 42vw, 540px);
  object-fit:cover;
  display:block;
}
.badge-soft{
  background:rgba(75,46,131,0.10);
  color:var(--purple-main);
  border:1px solid rgba(75,46,131,0.18);
  font-weight:600;
}
.sticky-card{ top:1rem; }

/* Included item box (used on course page) */
.included-box{
  border:1px solid var(--border);
  background:#fff;
}
.btn-light {
  color: #2E2E2E;
}