/* ===== Theme (soft pastels with a purple accent) ===== */
:root{
  --wcg-bg: #faf7fc;
  --wcg-surface: #ffffff;
  --wcg-text: #1f1b29;
  --wcg-muted: #6d6880;
  --wcg-primary: #7b68ee;        /* soft pastel purple (periwinkle-ish) */
  --wcg-primary-600: #6a59de;
  --wcg-primary-100: #efeefe;
  --wcg-ring: rgba(123, 104, 238, .25);
  --wcg-shadow: 0 10px 30px rgba(123,104,238,.10);
}

html, body { background: var(--wcg-bg); color: var(--wcg-text); }
a { text-decoration: none; }

/* Section spacing */
.py-6 { padding-top: 4.5rem; padding-bottom: 4.5rem; }

/* Buttons */
.btn-primary {
  --bs-btn-bg: var(--wcg-primary);
  --bs-btn-border-color: var(--wcg-primary);
  --bs-btn-hover-bg: var(--wcg-primary-600);
  --bs-btn-hover-border-color: var(--wcg-primary-600);
  --bs-btn-focus-shadow-rgb: 123,104,238;
}
.btn-outline-primary{
  --bs-btn-color: var(--wcg-primary);
  --bs-btn-border-color: var(--wcg-primary);
  --bs-btn-hover-bg: var(--wcg-primary);
  --bs-btn-hover-border-color: var(--wcg-primary);
  --bs-btn-active-bg: var(--wcg-primary);
}

/* Hero gradient */
.hero-gradient {
  background: radial-gradient(1200px 600px at -10% 10%, var(--wcg-primary-100), transparent 60%),
              radial-gradient(1000px 500px at 110% -10%, #f3ecff, transparent 60%),
              linear-gradient(180deg, #fff, #faf7fc);
}

/* Soft cards */
.soft-card{
  border: 1px solid #eeeaf8;
  background: var(--wcg-surface);
  box-shadow: var(--wcg-shadow);
  transition: transform .2s ease, box-shadow .2s ease;
  border-radius: 1rem;
}
.soft-card:hover{ transform: translateY(-2px); box-shadow: 0 14px 40px rgba(123,104,238,.14); }

/* Icon circle */
.icon-circle{
  width: 48px; height: 48px; border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--wcg-primary-100);
  box-shadow: inset 0 0 0 1px #e5e0fb;
}

/* Navbar tweak (shrink on scroll is handled in JS) */
#mainNav.navbar-shrink { box-shadow: 0 6px 20px rgba(0,0,0,.06); }

/* Back to top */
.back-to-top{
  position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 1030;
  opacity: 0; visibility: hidden; transform: translateY(10px);
  transition: all .2s ease;
}
.back-to-top.show{ opacity: 1; visibility: visible; transform: translateY(0); }

/* Focus rings */
.btn:focus, .form-control:focus, .form-select:focus, .navbar-toggler:focus{
  box-shadow: 0 0 0 .25rem var(--wcg-ring);
}

/* Utilities */
.text-secondary{ color: var(--wcg-muted) !important; }

/* Images */
.card-img-top, .rounded-4 { border-radius: 1rem !important; }
