/* ==========================================================================
   Multi-Step Form & Interactive Step Cards Styling for Findox / Investors Club
   ========================================================================== */

/* Outer Multi-step Container */
.contact-multistep-container {
    background: #ffffff;
    border-radius: 32px;
    padding: 50px 45px;
    box-shadow: 0 25px 60px rgba(11, 31, 58, 0.12);
    position: relative;
    border: 1px solid rgba(228, 232, 239, 0.9);
}

@media (max-width: 767px) {
    .contact-multistep-container {
        padding: 30px 20px;
        border-radius: 20px;
    }
}

/* Step Progress Bar */
.step-progress-wrapper {
    position: relative;
    margin-bottom: 35px;
}

.step-progress-bar {
    width: 100%;
    height: 6px;
    background-color: #EDF2F7;
    border-radius: 999px;
    overflow: hidden;
    position: relative;
}

.step-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #4F7F3A 0%, #0B1F3A 100%);
    border-radius: 999px;
    transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Step Indicators (1, 2, 3, 4) */
.step-progress-indicators {
    display: flex;
    justify-content: space-between;
    position: relative;
}

.step-indicator {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: default;
    transition: all 0.3s ease;
    flex: 1;
    text-align: center;
}

.step-indicator__circle {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #F1F4F9;
    color: #667085;
    font-weight: 700;
    font-size: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 6px;
    border: 2px solid transparent;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.step-indicator__label {
    font-size: 12px;
    font-weight: 600;
    color: #8C98A4;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: color 0.3s ease;
}

.step-indicator.active .step-indicator__circle {
    background: #0B1F3A;
    color: #ffffff;
    box-shadow: 0 4px 14px rgba(11, 31, 58, 0.3);
    border-color: #4F7F3A;
    transform: scale(1.08);
}

.step-indicator.active .step-indicator__label {
    color: #0B1F3A;
    font-weight: 700;
}

.step-indicator.completed .step-indicator__circle {
    background: #4F7F3A;
    color: #ffffff;
}

.step-indicator.completed .step-indicator__circle::after {
    content: "✓";
    font-weight: 900;
}

.step-indicator.completed .step-indicator__label {
    color: #4F7F3A;
}

/* Card Header */
.step-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(79, 127, 58, 0.1);
    color: #4F7F3A;
    font-size: 13px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: 100px;
    margin-bottom: 10px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.step-card__title {
    font-size: 22px;
    font-weight: 700;
    color: #0B1F3A;
    margin-bottom: 6px;
    font-family: var(--findox-heading-font, "Sora", sans-serif);
}

.step-card__subtitle {
    font-size: 14px;
    color: #667085;
    margin-bottom: 0;
    line-height: 1.5;
}

/* Form Steps Visibility */
.form-step-card {
    display: none;
    animation: fadeInStep 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.form-step-card.active {
    display: block;
}

@keyframes fadeInStep {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Form Labels & Controls */
.form-label-custom {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #0B1F3A;
    margin-bottom: 8px;
    font-family: var(--findox-font, "DM Sans", sans-serif);
}

.input-with-icon {
    position: relative;
    width: 100%;
}

.input-with-icon .input-icon {
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: #98A2B3;
    font-size: 16px;
    pointer-events: none;
    transition: color 0.3s ease;
}

.contact-multistep-container .form-one input[type="text"],
.contact-multistep-container .form-one input[type="email"],
.contact-multistep-container .form-one input[type="tel"],
.contact-multistep-container .form-one input[type="number"] {
    width: 100%;
    height: 52px;
    border-radius: 14px;
    background-color: #F8FAFC !important;
    border: 1.5px solid #E2E8F0;
    padding: 10px 20px 10px 48px;
    font-size: 15px;
    color: #0B1F3A;
    transition: all 0.25s ease;
}

.contact-multistep-container .form-one input:focus {
    background-color: #FFFFFF !important;
    border-color: #0B1F3A !important;
    box-shadow: 0 0 0 4px rgba(11, 31, 58, 0.08);
    outline: none;
}

.contact-multistep-container .form-one input:focus + .input-icon,
.input-with-icon:focus-within .input-icon {
    color: #0B1F3A;
}

/* Custom Select Styling */
.custom-select-wrapper {
    position: relative;
    width: 100%;
}

.custom-form-select {
    width: 100%;
    height: 52px;
    border-radius: 14px;
    background-color: #F8FAFC;
    border: 1.5px solid #E2E8F0;
    padding: 10px 40px 10px 20px;
    font-size: 15px;
    color: #0B1F3A;
    font-family: var(--findox-font, "DM Sans", sans-serif);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: all 0.25s ease;
}

.custom-select-wrapper::after {
    content: "\f078";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    color: #98A2B3;
    pointer-events: none;
    font-size: 13px;
}

.custom-form-select:focus {
    background-color: #FFFFFF;
    border-color: #0B1F3A;
    box-shadow: 0 0 0 4px rgba(11, 31, 58, 0.08);
    outline: none;
}

/* Textarea Wrapper */
.textarea-wrapper textarea {
    width: 100%;
    border-radius: 14px;
    background-color: #F8FAFC !important;
    border: 1.5px solid #E2E8F0;
    padding: 16px 20px;
    font-size: 15px;
    color: #0B1F3A;
    font-family: var(--findox-font, "DM Sans", sans-serif);
    transition: all 0.25s ease;
    resize: vertical;
}

.textarea-wrapper textarea:focus {
    background-color: #FFFFFF !important;
    border-color: #0B1F3A !important;
    box-shadow: 0 0 0 4px rgba(11, 31, 58, 0.08);
    outline: none;
}

/* File Upload Zone */
.file-upload-box {
    width: 100%;
    background-color: #F8FAFC;
    border: 2px dashed #CBD5E1;
    border-radius: 16px;
    padding: 28px 20px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.file-upload-box:hover,
.file-upload-box.dragover {
    background-color: #F0FDF4;
    border-color: #4F7F3A;
}

.file-upload-icon i {
    color: #4F7F3A;
    transition: transform 0.3s ease;
}

.file-upload-box:hover .file-upload-icon i {
    transform: translateY(-4px);
}

.file-upload-prompt {
    font-size: 15px;
    color: #0B1F3A;
}

.file-selected-badge {
    background: #E8F5E9;
    color: #2E7D32;
    padding: 8px 16px;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    font-size: 13px;
    font-weight: 600;
}

.btn-remove-file {
    background: transparent;
    border: none;
    color: #D32F2F;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    padding: 0 4px;
}

/* Navigation Buttons */
.btn-prev-step {
    background: transparent;
    border: 1.5px solid #CBD5E1;
    color: #475569;
    padding: 12px 24px;
    border-radius: 100px;
    font-size: 14px;
    font-weight: 600;
    transition: all 0.25s ease;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}

.btn-prev-step:hover {
    background: #F1F5F9;
    color: #0B1F3A;
    border-color: #94A3B8;
}

.contact-multistep-container .findox-btn {
    padding: 13px 30px;
    border-radius: 100px;
    font-size: 14px;
    letter-spacing: 0.5px;
    display: inline-flex;
    align-items: center;
    border: none;
}

/* Error feedback indicator */
.field-error-feedback {
    color: #DC2626;
    font-size: 12px;
    margin-top: 5px;
    display: block;
    font-weight: 500;
}

.input-has-error {
    border-color: #DC2626 !important;
    background-color: #FEF2F2 !important;
}

/* Prompt description under labels */
.form-field-prompt {
    font-size: 13px;
    color: #64748B;
    margin-bottom: 8px;
    line-height: 1.4;
}

/* Checkbox Cards Grid */
.checkbox-options-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.custom-checkbox-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    background: #F8FAFC;
    border: 1.5px solid #E2E8F0;
    border-radius: 12px;
    padding: 14px 16px;
    cursor: pointer;
    transition: all 0.25s ease;
    margin-bottom: 0;
}

.custom-checkbox-card input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.custom-checkbox-card .checkbox-indicator {
    width: 20px;
    height: 20px;
    min-width: 20px;
    border: 2px solid #CBD5E1;
    border-radius: 6px;
    background: #FFFFFF;
    margin-top: 2px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.custom-checkbox-card input[type="checkbox"]:checked ~ .checkbox-indicator {
    background: #0B1F3A;
    border-color: #0B1F3A;
}

.custom-checkbox-card input[type="checkbox"]:checked ~ .checkbox-indicator::after {
    content: "✓";
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
}

.custom-checkbox-card:hover {
    background: #FFFFFF;
    border-color: #94A3B8;
}

.custom-checkbox-card.is-checked,
.custom-checkbox-card:has(input[type="checkbox"]:checked) {
    background: #F0FDF4;
    border-color: #4F7F3A;
}

.checkbox-label-text strong {
    font-size: 14px;
    color: #0B1F3A;
}

.checkbox-label-text small {
    font-size: 12px;
    color: #64748B;
}

.form-control-custom {
    width: 100%;
    height: 48px;
    border-radius: 12px;
    background-color: #FFFFFF;
    border: 1.5px solid #CBD5E1;
    padding: 10px 16px;
    font-size: 14px;
    color: #0B1F3A;
    outline: none;
    transition: all 0.2s ease;
}

.form-control-custom:focus {
    border-color: #0B1F3A;
    box-shadow: 0 0 0 3px rgba(11, 31, 58, 0.08);
}

/* Radio Pills Grid (Engagement Mode) */
.radio-pills-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

@media (max-width: 767px) {
    .radio-pills-grid {
        grid-template-columns: 1fr;
    }
}

.custom-radio-card {
    cursor: pointer;
    margin-bottom: 0;
}

.custom-radio-card input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.custom-radio-card .radio-card-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background: #F8FAFC;
    border: 1.5px solid #E2E8F0;
    border-radius: 12px;
    padding: 16px 12px;
    min-height: 85px;
    transition: all 0.25s ease;
}

.custom-radio-card .radio-icon {
    font-size: 20px;
    color: #64748B;
    margin-bottom: 8px;
    transition: color 0.2s ease;
}

.custom-radio-card .radio-title {
    font-size: 13px;
    font-weight: 700;
    color: #0B1F3A;
}

.custom-radio-card:hover .radio-card-content {
    background: #FFFFFF;
    border-color: #94A3B8;
}

.custom-radio-card input[type="radio"]:checked ~ .radio-card-content {
    background: #0B1F3A;
    border-color: #0B1F3A;
    box-shadow: 0 6px 16px rgba(11, 31, 58, 0.2);
}

.custom-radio-card input[type="radio"]:checked ~ .radio-card-content .radio-icon,
.custom-radio-card input[type="radio"]:checked ~ .radio-card-content .radio-title {
    color: #FFFFFF;
}

/* Investment Tier Grid */
.investment-tier-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

@media (max-width: 575px) {
    .investment-tier-grid {
        grid-template-columns: 1fr;
    }
}

.investment-tier-item {
    cursor: pointer;
    margin-bottom: 0;
}

.investment-tier-item input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.investment-tier-item .tier-box {
    display: block;
    background: #F8FAFC;
    border: 1.5px solid #E2E8F0;
    border-radius: 12px;
    padding: 12px 14px;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    color: #0B1F3A;
    transition: all 0.25s ease;
}

.investment-tier-item:hover .tier-box {
    background: #FFFFFF;
    border-color: #94A3B8;
}

.investment-tier-item input[type="radio"]:checked ~ .tier-box {
    background: #4F7F3A;
    border-color: #4F7F3A;
    color: #FFFFFF;
    box-shadow: 0 4px 12px rgba(79, 127, 58, 0.25);
}

/* ==========================================================================
   Executive Leadership & Founder Spotlight Styles
   ========================================================================== */
.founder-spotlight-section {
    background: linear-gradient(180deg, #F8FAFC 0%, #FFFFFF 100%);
    position: relative;
    overflow: hidden;
}

.founder-spotlight-wrapper {
    background: #FFFFFF;
    border-radius: 28px;
    padding: 60px 50px;
    box-shadow: 0 20px 60px rgba(11, 31, 58, 0.08);
    border: 1px solid rgba(228, 232, 239, 0.9);
}

@media (max-width: 991px) {
    .founder-spotlight-wrapper {
        padding: 40px 24px;
    }
}

.founder-image-card {
    position: relative;
    display: flex;
    justify-content: center;
}

.founder-image-wrapper {
    position: relative;
    width: 100%;
    max-width: 380px;
    border-radius: 24px;
    overflow: hidden;
    box-shadow: 0 15px 45px rgba(11, 31, 58, 0.15);
    background: #0B1F3A;
}

.founder-main-img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.founder-image-wrapper:hover .founder-main-img {
    transform: scale(1.03);
}

.founder-experience-badge {
    position: absolute;
    bottom: 20px;
    left: 20px;
    right: 20px;
    background: rgba(11, 31, 58, 0.92);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 16px;
    padding: 12px 18px;
    display: flex;
    align-items: center;
    gap: 14px;
    color: #FFFFFF;
}

.founder-experience-badge .badge-icon {
    width: 42px;
    height: 42px;
    min-width: 42px;
    background: #4F7F3A;
    color: #FFFFFF;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
}

.founder-experience-badge .badge-number {
    display: block;
    font-size: 20px;
    font-weight: 800;
    color: #FFFFFF;
    line-height: 1.1;
    font-family: var(--findox-heading-font, "Sora", sans-serif);
}

.founder-experience-badge .badge-label {
    display: block;
    font-size: 11px;
    color: #CBD5E1;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.founder-lead-quote {
    font-size: 18px;
    font-style: italic;
    color: #0B1F3A;
    line-height: 1.6;
    border-left: 4px solid #4F7F3A;
    padding-left: 20px;
    margin: 20px 0;
    font-weight: 500;
}

.founder-bio-text {
    font-size: 15px;
    color: #64748B;
    line-height: 1.7;
    margin-bottom: 25px;
}

.founder-stats-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    padding: 20px 0;
    border-top: 1px solid #E2E8F0;
    border-bottom: 1px solid #E2E8F0;
    margin-bottom: 25px;
}

@media (max-width: 575px) {
    .founder-stats-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

.founder-stat-item .stat-number {
    font-size: 26px;
    font-weight: 800;
    color: #0B1F3A;
    line-height: 1.2;
    font-family: var(--findox-heading-font, "Sora", sans-serif);
}

.founder-stat-item .stat-label {
    font-size: 13px;
    color: #64748B;
    font-weight: 500;
}

.founder-signature-box .founder-name {
    font-size: 16px;
    font-weight: 700;
    color: #0B1F3A;
}

.founder-signature-box .founder-title {
    font-size: 13px;
}

/* ==========================================================================
   Contact Page Layout & Footer Spacing Fix
   ========================================================================== */
.contact-one--page {
    position: relative;
    padding-bottom: 110px !important;
    margin-bottom: 0 !important;
    z-index: 2;
}

/* Contact background shape constraint to ensure it stays neatly within the section */
.contact-one--page .contact-one__bg {
    bottom: 0 !important;
    height: 100% !important;
}

/* Ensure form cards and list items don't collide or overflow into footer */
.contact-one--page .contact-one__info {
    margin-bottom: 40px;
}

.contact-footer-spacer {
    height: 40px;
    width: 100%;
    clear: both;
    position: relative;
    background: transparent;
}

/* Dedicated footer padding for contact page */
.page-wrapper > .main-footer .main-footer__top {
    padding-top: 100px;
    position: relative;
    z-index: 3;
}

@media (max-width: 991px) {
    .contact-one--page {
        padding-bottom: 70px !important;
    }
    .contact-footer-spacer {
        height: 20px;
    }
    .page-wrapper > .main-footer .main-footer__top {
        padding-top: 70px;
    }
}

