:root {
  /* Palette: #AB0E86, #59057B, #FFC145, #F5EBFF */
  --primary-color: #AB0E86;
  --secondary-color: #59057B;
  --accent-color: #FFC145;
  --light-color: #FDF2FF;
  --dark-color: #38024B;
  
  --gradient-primary: linear-gradient(135deg, #AB0E86 0%, #59057B 100%);
  --hover-color: #8E0B6F;
  --background-color: #FFFFFF;
  --text-color: #4A4A4A;
  
  --border-color: rgba(171, 14, 134, 0.2);
  --divider-color: rgba(89, 5, 123, 0.1);
  --shadow-color: rgba(89, 5, 123, 0.15);
  
  --highlight-color: #FFEB00;
  
  --main-font: 'Poppins', sans-serif;
  --heading-font: 'Montserrat', sans-serif;
}

body {
    font-family: var(--main-font);
    background-color: #FAFAFA;
    color: var(--text-color);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

h1, h2, h3 {
    font-family: var(--heading-font);
    font-weight: 800;
}

.card-dynamic {
    background: white;
    border-radius: 20px;
    box-shadow: 0 10px 30px -5px var(--shadow-color);
}

.btn-dynamic {
    background: var(--gradient-primary);
    color: white;
    border-radius: 50px;
    font-weight: 600;
    box-shadow: 0 4px 15px rgba(171, 14, 134, 0.4);
    transition: transform 0.2s, box-shadow 0.2s;
}
.btn-dynamic:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(171, 14, 134, 0.6);
}