/* --- MASTER MODULAR BUTTON LOGIC --- */
.cta-btn {
 display: inline-block;
 padding: 12px 24px;
 transition: all 0.2s ease-in-out;
 border-style: solid;
 text-align: center;
 font-weight: bold;
 border-radius: var(--roundness, 12px) !important;
 border-width: var(--border-size, 2px) !important;
 text-decoration: var(--text-decoration, none) !important;
 
 /* Animation Defaults */
 --hover-lift: -2px;
 --hover-scale: 1.05;
}

/* FILLED & UNFILLED LOGIC */
.cta-btn.filled {
 background-color: var(--btn-color, rgba(0, 0, 0, 1)) !important;
 border-color: var(--btn-color, rgba(0, 0, 0, 1)) !important;
 color: var(--text-color, rgba(255, 255, 255, 1)) !important;
}

.cta-btn.unfilled {
 background-color: var(--bg-color, rgba(255, 255, 255, 1)) !important;
 border-color: var(--btn-color, rgba(0, 0, 0, 1)) !important;
 color: var(--text-color, rgba(0, 0, 0, 1)) !important;
}

/* --- HOVER STRENGTH LOGIC --- */

/* Base Hover */
.cta-btn:hover {
 opacity: 0.9;
}

/* Y-Axis Lift Strength */
.cta-btn.hover-lift:hover {
 transform: translateY(var(--hover-lift));
}

/* Scale/Grow Strength */
.cta-btn.hover-grow:hover {
 transform: scale(var(--hover-scale));
}