:root {
   --color-primary: #221f70;
   --color-secondary: #FFC000;
   --color-accent: #00AEEF;
   --transition-default: all 0.3s ease-in-out;
   --shadow-soft: 0 18px 45px rgba(34, 31, 112, 0.12);
   --radius-default: 8px;
}

/* Color Utilities */

.u-bg-primary {
   background-color: var(--color-primary) !important;
   transition: var(--transition-default);
}

.u-bg-secondary {
   background-color: var(--color-secondary) !important;
   transition: var(--transition-default);
}

.u-text-primary {
   color: var(--color-primary) !important;
   transition: var(--transition-default);
}

.u-text-secondary {
   color: var(--color-secondary) !important;
   transition: var(--transition-default);
}

.u-hover-text-primary:hover {
   color: var(--color-primary) !important;
}

.u-hover-text-secondary:hover {
   color: var(--color-secondary) !important;
}

.u-hover-bg-primary:hover {
   background-color: var(--color-primary) !important;
}

.u-hover-bg-secondary:hover {
   background-color: var(--color-secondary) !important;
}

/* Button Utilities */

.u-btn-primary {
   background: var(--color-primary) !important;
   color: #fff !important;
   transition: var(--transition-default);
   padding: 10px 16px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   border: none;
   border-radius: var(--radius-default);
   text-decoration: none;
   cursor: pointer;
}

.u-btn-primary:hover {
   background: var(--color-secondary) !important;
   color: #000 !important;
}

.u-btn-secondary {
   background: var(--color-secondary) !important;
   color: #000 !important;
   transition: var(--transition-default);
   padding: 10px 16px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 8px;
   border: none;
   border-radius: var(--radius-default);
   text-decoration: none;
   cursor: pointer;
}

.u-btn-secondary:hover {
   background: var(--color-primary) !important;
   color: #fff !important;
}

/* Utility Helpers */

.u-cursor-pointer {
   cursor: pointer !important;
}

.u-hover-lift {
   transition: transform 0.3s ease-in-out;
}

.u-hover-lift:hover {
   transform: translateY(-5px);
}

.u-text-center {
   text-align: center !important;
}

.u-text-right {
   text-align: right !important;
}

.u-text-left {
   text-align: left !important;
}

.u-m-0 {
   margin: 0 !important;
}

.u-mb-0 {
   margin-bottom: 0 !important;
}

.u-mt-0 {
   margin-top: 0 !important;
}

.u-mx-auto {
   margin-left: auto !important;
   margin-right: auto !important;
}

.u-p-0 {
   padding: 0 !important;
}

.u-rounded {
   border-radius: var(--radius-default) !important;
}

.u-shadow-soft {
   box-shadow: var(--shadow-soft) !important;
}

.u-max-w-full {
   max-width: 100% !important;
}

.u-flex-center {
   display: flex !important;
   align-items: center !important;
   justify-content: center !important;
}
