/* ═══════════════════════════════════════════
   RL Partner Steps – 100% Accuracy Overrides
   ═══════════════════════════════════════════ */

/* Kill the theme Teal and force design tokens */

.rl-partner-grid {
    position: relative;
    padding-bottom: 20px;
}

/* The Horizontal Connecting Line */
.rl-partner-grid::before {
    content: '';
    position: absolute;
    top: 54px; /* Pixel-perfect vertical center of the dots */
    left: 15%;
    right: 15%;
    height: 1px;
    background-color: #D4C9FB !important;
    z-index: 1;
}

@media (max-width: 767px) {
    .rl-partner-grid::before {
        display: none;
    }
}

/* Individual Step Card */
.rl-step-card {
    position: relative;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 15px; /* Tighter vertical rhythm */
}

/* Step Marker (Number + Center Dot) */
.rl-step-num-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 108px;
    margin: 0 auto 10px auto;
}

.rl-step-num-text {
    font-family: 'Gilroy Medium', sans-serif !important;
    font-size: 72px !important;
    font-weight: 800 !important;
    color: #D4C9FB !important; /* Vibrant light purple */
    line-height: 1 !important;
    letter-spacing: -0.02em !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* The Dark Purple Dot */
.rl-step-dot {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 28px;
    height: 28px;
    background-color: #520054 !important; /* Deep brand purple */
    border-radius: 50%;
    border: 5px solid #FFF5FD !important; /* Matches background for 'clean cutout' effect */
    z-index: 10;
}

/* Forced Headings (No more teal!) */
.rl-step-card h4,
.rl-step-card .elementor-heading-title {
    color: #000000 !important;
    font-family: 'Gilroy Medium', sans-serif !important;
    font-weight: 800 !important;
    font-size: 24px !important;
    line-height: 1.2 !important;
    margin: 10px 0 5px 0 !important;
    letter-spacing: -0.01em !important;
}

/* Description Text */
.rl-step-card p,
.rl-step-card .elementor-text-editor {
    color: #333333 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    max-width: 300px;
    margin: 0 auto !important;
}

/* Paragraph Emphasis */
.rl-step-card strong {
    color: #000000 !important;
    font-weight: 700 !important;
}
