/* ============================================
   Profile & Interests UI Enhancements
   Non-breaking overlay styles
   ============================================ */

/* Interest category blocks - beautiful spacing */
.interest-category-block {
    animation: fadeInUp 0.3s ease-out;
    animation-fill-mode: both;
}

.interest-category-block:nth-child(3) { animation-delay: 0.05s; }
.interest-category-block:nth-child(4) { animation-delay: 0.1s; }
.interest-category-block:nth-child(5) { animation-delay: 0.15s; }
.interest-category-block:nth-child(6) { animation-delay: 0.2s; }
.interest-category-block:nth-child(7) { animation-delay: 0.25s; }
.interest-category-block:nth-child(8) { animation-delay: 0.3s; }
.interest-category-block:nth-child(9) { animation-delay: 0.35s; }
.interest-category-block:nth-child(10) { animation-delay: 0.4s; }
.interest-category-block:nth-child(11) { animation-delay: 0.45s; }
.interest-category-block:nth-child(12) { animation-delay: 0.5s; }
.interest-category-block:nth-child(13) { animation-delay: 0.55s; }

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

/* Prettier interest chips when used in our custom renderer */
.interest-category-block .interst-option {
    display: inline-flex !important;
    position: relative !important;
    padding: 8px 16px !important;
    border-radius: 25px !important;
    margin: 0 !important;
    font-size: 14px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.interest-category-block .interst-option:hover {
    transform: scale(1.05);
    box-shadow: 0 2px 8px rgba(255, 64, 129, 0.15);
}

.interest-category-block .interst-option:active {
    transform: scale(0.97);
}

/* Interest badges on swipe cards - more beautiful */
.btn-border {
    color: #ff4081 !important;
    border: 1px solid #ff4081 !important;
    border-radius: 20px !important;
    padding: 4px 14px !important;
    margin: 3px !important;
    font-size: 13px !important;
    transition: all 0.3s ease !important;
    background: rgba(255, 64, 129, 0.05) !important;
}

.btn-border:hover {
    background: rgba(255, 64, 129, 0.12) !important;
    transform: scale(1.05);
}

/* Interest counter animation */
#interest-counter {
    transition: all 0.3s ease;
}

/* Profile photo hover effect */
.profile_action_img img {
    transition: transform 0.3s ease, filter 0.3s ease !important;
}

.profile_action_img img:hover {
    transform: scale(1.03);
    filter: brightness(1.05);
}

/* Mobile-friendly touch feedback */
@media (max-width: 768px) {
    .interest-category-block .interst-option {
        padding: 10px 16px !important;
        font-size: 14px !important;
    }
    
    .interest-category-block h4 {
        font-size: 16px !important;
    }
}

/* ============================================
   Registration Modal Fixes (Signmatch)
   ============================================ */

/* Ensure the modal content is opaque and has a professional look */
.signInPage .modal-content,
.welcomePage .modal-content {
    background: #ffffff !important;
    border-radius: 15px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.2) !important;
    color: #333 !important;
    padding: 15px !important;
    z-index: 9999 !important;
}

/* Ensure all form groups have clear separation and no overlap */
.welcomePage .form-group {
    margin-bottom: 25px !important;
    position: relative !important;
    display: block !important;
    clear: both !important;
    background: #fff !important; /* Force solid background for field areas */
}

/* Fix radio button labels and spacing */
.welcomePage .radio-btn {
    display: block !important;
    margin-bottom: 10px !important;
    padding: 8px 15px !important;
    background: rgba(255, 64, 129, 0.05) !important;
    border: 1px solid #eee !important;
    border-radius: 8px !important;
    cursor: pointer !important;
}

.welcomePage .radio-btn input[type="radio"] {
    margin-right: 10px !important;
    width: 20px !important;
    height: 20px !important;
    vertical-align: middle !important;
}

/* Fix button row visibility and alignment */
.btn-row-reg {
    display: flex !important;
    justify-content: space-between !important;
    margin-top: 30px !important;
    gap: 15px !important;
}

.btn-common {
    flex: 1 !important;
}


.btn-common:hover {
    filter: brightness(1.1);
    transform: translateY(-1px);
}

/* Validation error message styling */
.errorMsg {
    background: rgba(255, 0, 0, 0.05);
    color: #d32f2f !important;
    padding: 8px;
    border-radius: 4px;
    font-size: 13px !important;
    margin-top: 5px;
    display: block;
    animation: shake 0.5s cubic-bezier(.36,.07,.19,.97) both;
}

@keyframes shake {
  10%, 90% { transform: translate3d(-1px, 0, 0); }
  20%, 80% { transform: translate3d(2px, 0, 0); }
  30%, 50%, 70% { transform: translate3d(-4px, 0, 0); }
  40%, 60% { transform: translate3d(4px, 0, 0); }
}

/* Ensure the interest selection modal is always top-aligned and doesn't overlap weirdly */
.welcomePage .modal-dialog {
    margin-top: 50px !important;
}

.welcomePage .modal-content {
    background: #ffffff !important;
    border-radius: 12px !important;
    border: none !important;
}

/* Fix for Back and Next buttons in registration modal */
.welcomePage .sidebarLastContent.d-flex {
    display: flex !important;
    gap: 15px !important;
    justify-content: space-between !important;
    margin-top: 25px !important;
}

.welcomePage .sidebarLastContent.d-flex .btn-common {
    flex: 1 !important;
    margin: 0 !important;
    border-radius: 8px !important;
    padding: 12px !important;
    font-weight: 600 !important;
}
