:root { --primary-color: #FF66CC;
--primary-hover: #E659B5;
--sud-primary: #FF66CC;
--sud-primary-hover: #E659B5;
--sud-primary-dark: #D64CA6;
--sud-secondary: #FF99DD;
--sud-primary-light: rgba(255, 102, 204, 0.1);
--sud-primary-medium: rgba(255, 102, 204, 0.2); --text-color: #FFFFFF;
--sud-text-primary: #FFFFFF;
--sud-text-secondary: #CCCCCC;
--sud-text-muted: #AAAAAA;
--sud-text-disabled: #666666;
--sud-dark: #FFFFFF; --sud-dark-contrast: #000000;  --sud-bg-primary: #0A0A0A;
--sud-bg-secondary: #161616;
--sud-bg-tertiary: #262626;
--dark-bg: rgba(0, 0, 0, 0.9);
--sud-light: #FFFFFF;
--sud-gray: #393939;
--sud-bg-light: #0A0A0A;
--sud-white: #fff;
--sud-secondary-bg: #1A1A1A;
--sud-secondary-bg-hover: #2A2A2A;
--sud-card-bg: #161616;
--sud-surface: #1E1E1E; --sud-border: #404040;
--sud-border-light: #2A2A2A;
--sud-border-medium: #505050;
--input-border: rgba(255, 102, 204, 0.3);
--sud-secondary-border: #505050;
--sud-secondary-border-hover: #606060; --sud-anchor-color: var(--sud-primary);
--sud-anchor-hover-color: var(--sud-primary-dark);
--sud-secondary-text: #FFFFFF;
--sud-secondary-text-hover: #DDDDDD; --sud-success: #10B981;
--sud-success-light: rgba(16, 185, 129, 0.1);
--sud-danger: #EF4444;
--sud-danger-light: rgba(239, 68, 68, 0.1);
--sud-warning: #F59E0B;
--sud-warning-light: rgba(245, 158, 11, 0.1);
--sud-info: #3B82F6;
--sud-info-light: rgba(59, 130, 246, 0.1); --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
--shadow-glow: 0 0 20px rgba(255, 102, 204, 0.3); --button-border-radius: 12px;
--card-border-radius: 16px;
--input-border-radius: 8px;
--font-family: 'Inter', 'Lato', sans-serif;
--font-weight-normal: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700; --space-xs: 0.25rem;
--space-sm: 0.5rem;
--space-md: 1rem;
--space-lg: 1.5rem;
--space-xl: 2rem;
--space-2xl: 3rem; --transition-fast: 0.15s ease;
--transition-normal: 0.25s ease;
--transition-slow: 0.35s ease;
}
:root { --primary-color: #FF66CC;
--primary-hover: #E659B5;
--sud-primary: #FF66CC;
--sud-primary-hover: #E659B5;
--sud-primary-dark: #D64CA6;
--sud-secondary: #FF99DD;
--sud-primary-light: rgba(255, 102, 204, 0.1);
--sud-primary-medium: rgba(255, 102, 204, 0.2); --text-color: #FFFFFF;
--sud-text-primary: #FFFFFF;
--sud-text-secondary: #CCCCCC;
--sud-text-muted: #AAAAAA;
--sud-text-disabled: #666666;
--sud-dark: #FFFFFF; --sud-dark-contrast: #000000;  --sud-bg-primary: #0A0A0A;
--sud-bg-secondary: #161616;
--sud-bg-tertiary: #262626;
--dark-bg: rgba(0, 0, 0, 0.9);
--sud-light: #FFFFFF;
--sud-gray: #393939;
--sud-bg-light: #0A0A0A;
--sud-white: #fff;
--sud-secondary-bg: #1A1A1A;
--sud-secondary-bg-hover: #2A2A2A;
--sud-card-bg: #161616;
--sud-surface: #1E1E1E; --sud-border: #404040;
--sud-border-light: #2A2A2A;
--sud-border-medium: #505050;
--input-border: rgba(255, 102, 204, 0.3);
--sud-secondary-border: #505050;
--sud-secondary-border-hover: #606060; --sud-anchor-color: var(--sud-primary);
--sud-anchor-hover-color: var(--sud-primary-dark);
--sud-secondary-text: #FFFFFF;
--sud-secondary-text-hover: #DDDDDD; --sud-success: #10B981;
--sud-success-light: rgba(16, 185, 129, 0.1);
--sud-danger: #EF4444;
--sud-danger-light: rgba(239, 68, 68, 0.1);
--sud-warning: #F59E0B;
--sud-warning-light: rgba(245, 158, 11, 0.1);
--sud-info: #3B82F6;
--sud-info-light: rgba(59, 130, 246, 0.1); --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
--shadow-glow: 0 0 20px rgba(255, 102, 204, 0.3); --button-border-radius: 12px;
--card-border-radius: 16px;
--input-border-radius: 8px;
--font-family: 'Inter', 'Lato', sans-serif;
--font-weight-normal: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700; --space-xs: 0.25rem;
--space-sm: 0.5rem;
--space-md: 1rem;
--space-lg: 1.5rem;
--space-xl: 2rem;
--space-2xl: 3rem; --transition-fast: 0.15s ease;
--transition-normal: 0.25s ease;
--transition-slow: 0.35s ease;
}
:root { --primary-color: #FF66CC;
--primary-hover: #E659B5;
--sud-primary: #FF66CC;
--sud-primary-hover: #E659B5;
--sud-primary-dark: #D64CA6;
--sud-secondary: #FF99DD;
--sud-primary-light: rgba(255, 102, 204, 0.1);
--sud-primary-medium: rgba(255, 102, 204, 0.2); --text-color: #FFFFFF;
--sud-text-primary: #FFFFFF;
--sud-text-secondary: #CCCCCC;
--sud-text-muted: #AAAAAA;
--sud-text-disabled: #666666;
--sud-dark: #FFFFFF; --sud-dark-contrast: #000000;  --sud-bg-primary: #0A0A0A;
--sud-bg-secondary: #161616;
--sud-bg-tertiary: #262626;
--dark-bg: rgba(0, 0, 0, 0.9);
--sud-light: #FFFFFF;
--sud-gray: #393939;
--sud-bg-light: #0A0A0A;
--sud-white: #fff;
--sud-secondary-bg: #1A1A1A;
--sud-secondary-bg-hover: #2A2A2A;
--sud-card-bg: #161616;
--sud-surface: #1E1E1E; --sud-border: #404040;
--sud-border-light: #2A2A2A;
--sud-border-medium: #505050;
--input-border: rgba(255, 102, 204, 0.3);
--sud-secondary-border: #505050;
--sud-secondary-border-hover: #606060; --sud-anchor-color: var(--sud-primary);
--sud-anchor-hover-color: var(--sud-primary-dark);
--sud-secondary-text: #FFFFFF;
--sud-secondary-text-hover: #DDDDDD; --sud-success: #10B981;
--sud-success-light: rgba(16, 185, 129, 0.1);
--sud-danger: #EF4444;
--sud-danger-light: rgba(239, 68, 68, 0.1);
--sud-warning: #F59E0B;
--sud-warning-light: rgba(245, 158, 11, 0.1);
--sud-info: #3B82F6;
--sud-info-light: rgba(59, 130, 246, 0.1); --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
--shadow-glow: 0 0 20px rgba(255, 102, 204, 0.3); --button-border-radius: 12px;
--card-border-radius: 16px;
--input-border-radius: 8px;
--font-family: 'Inter', 'Lato', sans-serif;
--font-weight-normal: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700; --space-xs: 0.25rem;
--space-sm: 0.5rem;
--space-md: 1rem;
--space-lg: 1.5rem;
--space-xl: 2rem;
--space-2xl: 3rem; --transition-fast: 0.15s ease;
--transition-normal: 0.25s ease;
--transition-slow: 0.35s ease;
}  .sud-form-input.has-value {
border-bottom-color: var(--sud-primary) !important;
}
.sud-input-floating .sud-form-input.has-value {
border-bottom-color: var(--sud-primary) !important;
} input.sud-form-input.has-value,
textarea.sud-form-input.has-value {
border-bottom-color: var(--sud-primary) !important;
} input[type="text"].sud-form-input.has-value,
input[type="password"].sud-form-input.has-value,
input[type="email"].sud-form-input.has-value,
input[type="tel"].sud-form-input.has-value,
input[type="url"].sud-form-input.has-value,
input[type="date"].sud-form-input.has-value,
textarea.sud-form-input.has-value {
border-bottom-color: var(--sud-primary) !important;
}
:root { --primary-color: #FF66CC;
--primary-hover: #E659B5;
--sud-primary: #FF66CC;
--sud-primary-hover: #E659B5;
--sud-primary-dark: #D64CA6;
--sud-secondary: #FF99DD;
--sud-primary-light: rgba(255, 102, 204, 0.1);
--sud-primary-medium: rgba(255, 102, 204, 0.2); --text-color: #FFFFFF;
--sud-text-primary: #FFFFFF;
--sud-text-secondary: #CCCCCC;
--sud-text-muted: #AAAAAA;
--sud-text-disabled: #666666;
--sud-dark: #FFFFFF; --sud-dark-contrast: #000000;  --sud-bg-primary: #0A0A0A;
--sud-bg-secondary: #161616;
--sud-bg-tertiary: #262626;
--dark-bg: rgba(0, 0, 0, 0.9);
--sud-light: #FFFFFF;
--sud-gray: #393939;
--sud-bg-light: #0A0A0A;
--sud-white: #fff;
--sud-secondary-bg: #1A1A1A;
--sud-secondary-bg-hover: #2A2A2A;
--sud-card-bg: #161616;
--sud-surface: #1E1E1E; --sud-border: #404040;
--sud-border-light: #2A2A2A;
--sud-border-medium: #505050;
--input-border: rgba(255, 102, 204, 0.3);
--sud-secondary-border: #505050;
--sud-secondary-border-hover: #606060; --sud-anchor-color: var(--sud-primary);
--sud-anchor-hover-color: var(--sud-primary-dark);
--sud-secondary-text: #FFFFFF;
--sud-secondary-text-hover: #DDDDDD; --sud-success: #10B981;
--sud-success-light: rgba(16, 185, 129, 0.1);
--sud-danger: #EF4444;
--sud-danger-light: rgba(239, 68, 68, 0.1);
--sud-warning: #F59E0B;
--sud-warning-light: rgba(245, 158, 11, 0.1);
--sud-info: #3B82F6;
--sud-info-light: rgba(59, 130, 246, 0.1); --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
--shadow-glow: 0 0 20px rgba(255, 102, 204, 0.3); --button-border-radius: 12px;
--card-border-radius: 16px;
--input-border-radius: 8px;
--font-family: 'Inter', 'Lato', sans-serif;
--font-weight-normal: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700; --space-xs: 0.25rem;
--space-sm: 0.5rem;
--space-md: 1rem;
--space-lg: 1.5rem;
--space-xl: 2rem;
--space-2xl: 3rem; --transition-fast: 0.15s ease;
--transition-normal: 0.25s ease;
--transition-slow: 0.35s ease;
} .btn,
.sud-button {
display: inline-block;
font-weight: 600;
text-align: center;
white-space: nowrap;
vertical-align: middle;
border: 1px solid transparent;
padding: 0.5rem 1rem;
font-size: 1rem;
line-height: 1.5;
border-radius: var(--button-border-radius);
transition: all 0.3s ease;
cursor: pointer;
} .btn-primary,
.sud-button.sud-button-primary,
.sud-join-btn,
.sud-login-btn,
.sud-continue-btn,
.sud-next-btn.active,
.sud-modal-continue {
background-color: var(--sud-primary);
border-color: var(--sud-primary);
color: white;
}
.btn-primary:hover,
.sud-button.sud-button-primary:hover,
.sud-join-btn:hover,
.sud-login-btn:hover,
.sud-continue-btn:hover,
.sud-next-btn.active:hover,
.sud-modal-continue:hover {
background-color: var(--sud-primary-hover);
color: #fff !important;
border-color: var(--sud-primary-hover);
} .btn-secondary,
.sud-prev-btn,
.sud-join-free-btn,
.sud-back-button {
background-color: var(--sud-surface);
border-color: var(--sud-border);
color: var(--sud-text-primary);
}
.btn-secondary:hover,
.sud-prev-btn:hover,
.sud-join-free-btn:hover,
.sud-back-button:hover {
background-color: var(--sud-secondary-bg-hover);
border-color: var(--sud-border-medium);
color: var(--sud-text-primary);
} .btn-danger {
background-color: var(--sud-danger);
border-color: var(--sud-danger);
color: white;
}
.btn-danger:hover {
background-color: #c82333;
color: white;
border-color: #bd2130;
} .btn:disabled,
.sud-button:disabled,
.sud-next-btn:disabled {
opacity: 0.65;
cursor: not-allowed;
} .sud-button.sud-button-fullwidth,
.sud-login-btn,
.sud-join-btn {
width: 100%;
display: block;
} .btn i,
.sud-button i {
margin-right: 5px;
} .sud-button.sud-button-small {
padding: 0.25rem 0.5rem;
font-size: 0.875rem;
} .sud-option-button {
background-color: transparent;
border: 2px solid rgba(255, 255, 255, 0.5);
color: white;
padding: 12px 20px;
border-radius: 50px;
font-weight: 600;
transition: all 0.3s ease;
cursor: pointer;
}
.sud-option-button:hover {
border-color: white;
}
.sud-option-button.selected,
.sud-option-button:active {
background-color: var(--sud-surface);
color: var(--sud-primary);
border-color: var(--sud-primary);
} .sud-skip-link,
.sud-skip-all-link {
color: rgba(255, 255, 255, 0.7);
text-decoration: underline;
transition: color 0.2s;
}
.sud-skip-link:hover,
.sud-skip-all-link:hover {
color: white;
} .message-btn,
.view-profile-btn {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 8px 12px;
border-radius: 6px;
border: none;
font-size: 14px;
font-weight: 500;
cursor: pointer;
transition: all 0.2s ease;
text-align: center;
}
.message-btn {
background-color: var(--sud-primary);
color: white;
}
.message-btn:hover {
background-color: var(--sud-primary-hover);
color: white !important;
}
.view-profile-btn {
background-color: var(--sud-surface);
color: var(--sud-text-primary);
}
.view-profile-btn:hover {
background-color: var(--sud-secondary-bg-hover);
}
.message-btn i {
margin-right: 5px;
} .user-actions {
display: flex;
gap: 8px;
margin-top: 15px;
z-index: 2;
}
.user-actions .view-profile-btn,
.user-actions .message-btn {
flex: 1;
} .swipe-action-btn {
background-color: var(--sud-card-bg);
border: 1px solid var(--sud-border);
border-radius: 50%;
width: 60px;
height: 60px;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
box-shadow: var(--shadow-md);
transition: all 0.2s ease-in-out;
-webkit-tap-highlight-color: transparent;
color: var(--sud-text-primary);
}
.swipe-action-btn:hover {
transform: scale(1.1);
box-shadow: var(--shadow-lg);
}
.swipe-action-btn:active {
transform: scale(0.95);
box-shadow: var(--shadow-sm);
}
.swipe-action-btn i {
font-size: 28px;
}
.swipe-action-btn.pass i { color: #fd5068; }
.swipe-action-btn.like i { color: #2dbd7e; }
.swipe-action-btn.reverse i { color: #C0C0C0; }
.swipe-action-btn.pass:hover {
border-color: #fd5068;
box-shadow: 0 0 15px rgba(253, 80, 104, 0.4);
}
.swipe-action-btn.like:hover {
border-color: #2dbd7e;
box-shadow: 0 0 15px rgba(45, 189, 126, 0.4);
}
.swipe-action-btn.reverse:hover {
border-color: #C0C0C0;
box-shadow: 0 0 15px rgba(192, 192, 192, 0.5);
transform: scale(1.1);
}
.swipe-action-btn.reverse:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.swipe-action-btn.reverse:disabled:hover {
transform: none;
border-color: var(--sud-border);
box-shadow: var(--shadow-md);
} .swipe-action-btn.boost {
width: 70px;
height: 70px;
background: linear-gradient(135deg, #ff4081, #ff6b6b);
border: none;
position: relative;
box-shadow: 0 6px 15px rgba(255, 64, 129, 0.4);
animation: pulse-boost 2s infinite;
}
.swipe-action-btn.boost i {
color: white;
font-size: 30px;
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
.swipe-action-btn.boost:hover {
background: linear-gradient(135deg, #ff6b6b, #ff4081);
transform: translateY(-5px) scale(1.1);
box-shadow: 0 8px 20px rgba(255, 64, 129, 0.5);
}
.swipe-action-btn.boost:active {
transform: scale(0.95);
box-shadow: 0 2px 8px rgba(255, 64, 129, 0.5);
} .btn-premium-upgrade {
background-color: var(--sud-primary-light);
border-color: var(--sud-primary);
color: var(--sud-primary);
font-weight: 600;
}
.btn-premium-upgrade:hover {
background-color: var(--sud-primary-medium);
border-color: var(--sud-primary-hover);
}
.btn-sidebar {
display: block;
width: 100%;
padding: 12px 15px;
margin-bottom: 10px;
background-color: var(--sud-surface);
color: var(--sud-text-primary);
border: 1px solid var(--sud-border);
border-radius: 8px;
text-align: center;
font-weight: 500;
transition: all 0.2s ease;
text-decoration: none;
}
.btn-sidebar:hover {
background-color: var(--sud-secondary-bg-hover);
border-color: var(--sud-primary);
box-shadow: var(--shadow-sm);
} .btn-compact {
padding: 6px 12px;
font-size: 0.875rem;
border-radius: 6px;
}
.btn-icon-only {
padding: 8px;
width: auto;
min-width: 40px;
} .view-profile-btn-swipe {
display: inline-flex;
align-items: center;
justify-content: center;
background-color: rgba(255, 255, 255, 0.85);
color: #333;
padding: 6px 12px;
border-radius: 20px;
font-size: 0.85em;
font-weight: 600;
text-decoration: none;
margin-top: 8px;
transition: all 0.2s ease;
border: none;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
cursor: pointer;
}
.view-profile-btn-swipe i {
margin-right: 5px;
}
.view-profile-btn-swipe:hover {
background-color: #fff;
transform: translateY(-2px);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
}
.view-profile-btn-swipe:active {
transform: translateY(0);
box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
} @keyframes pulse-boost {
0% { box-shadow: 0 0 0 0 rgba(255, 64, 129, 0.6); }
70% { box-shadow: 0 0 0 10px rgba(255, 64, 129, 0); }
100% { box-shadow: 0 0 0 0 rgba(255, 64, 129, 0); }
} @media (max-width: 768px) {
.sud-mobile-navigation .sud-next-btn,
.sud-mobile-navigation .sud-prev-btn {
padding: 10px 20px;
font-size: 0.9rem;
}
.sud-option-button {
padding: 10px 15px;
font-size: 0.9rem;
}
.user-actions {
flex-direction: column;
}
.view-profile-btn,
.message-btn {
width: 100%;
padding: 8px;
font-size: 12px;
}
}
@media (max-width: 576px) {
.swipe-action-btn {
width: 50px;
height: 50px;
}
.swipe-action-btn.boost {
width: 60px;
height: 60px;
}
.swipe-action-btn i {
font-size: 22px;
}
.swipe-action-btn.boost i {
font-size: 24px;
}
.swipe-action-btn.reverse i {
font-size: 20px;
}
} * {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: var(--font-family);
color: var(--sud-text-primary);
background-color: var(--sud-bg-light);
margin: 0;
line-height: 1.6;
font-weight: var(--font-weight-normal);
} h1, h2, h3, h4, h5, p, a, strong, label {
font-family: var(--font-family);
} a {
color: var(--sud-anchor-color);
text-decoration: none;
transition: color 0.2s ease;
}
a:hover {
color: var(--sud-anchor-hover-color) !important;
}  .online-status {
display: inline-flex;
align-items: center;
color: #4CAF50;
font-size: 14px;
font-weight: 500;
}
.status-dot {
display: inline-block;
width: 10px;
height: 10px;
background-color: #4CAF50;
border-radius: 50%;
margin-right: 5px;
} .sud-hidden {
display: none !important;
} @keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes fadeInDown {
from {
opacity: 0;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes slideInLeft {
from {
transform: translateX(-50px);
opacity: 0;
}
to {
transform: translateX(-20px);
opacity: 1;
}
}
@keyframes slideInRight {
from {
transform: translateX(50px);
opacity: 0;
}
to {
transform: translateX(20px);
opacity: 1;
}
}
@keyframes pulse {
0% {
transform: scale(1);
}
50% {
transform: scale(1.1);
}
100% {
transform: scale(1);
}
}
@keyframes pulse-boost {
0% {
box-shadow: 0 0 0 0 rgba(255, 102, 204, 0.7);
}
70% {
box-shadow: 0 0 0 10px rgba(255, 102, 204, 0);
}
100% {
box-shadow: 0 0 0 0 rgba(255, 102, 204, 0);
}
}
@keyframes pulse-glow {
0% {
box-shadow: 0 0 0 0 rgba(255, 102, 204, 0.4);
background-color: rgba(255, 102, 204, 0.6);
}
50% {
box-shadow: 0 0 20px 5px rgba(255, 102, 204, 0.2);
background-color: rgba(255, 102, 204, 0.8);
}
100% {
box-shadow: 0 0 0 0 rgba(255, 102, 204, 0.4);
background-color: rgba(255, 102, 204, 0.6);
}
}
@keyframes matchHeartBeat {
0% {
transform: scale(1);
}
14% {
transform: scale(1.3);
}
28% {
transform: scale(1);
}
42% {
transform: scale(1.3);
}
70% {
transform: scale(1);
}
}
@keyframes matchHeartAnimation {
0% {
opacity: 0;
transform: scale(0.5);
}
50% {
opacity: 1;
transform: scale(1.2);
}
100% {
opacity: 1;
transform: scale(1);
}
}
@keyframes shimmer {
0% {
background-position: -200% 0;
}
100% {
background-position: 200% 0;
}
}
@keyframes shine-boost {
0% {
background-position: -100% 0;
}
100% {
background-position: 200% 0;
}
}
@keyframes heart-beat {
0% {
transform: scale(1);
}
25% {
transform: scale(1.2);
}
50% {
transform: scale(1);
}
75% {
transform: scale(1.2);
}
100% {
transform: scale(1);
}
}
@keyframes confetti {
0% {
transform: translateY(0) rotate(0deg);
}
100% {
transform: translateY(100vh) rotate(360deg);
}
}
:root { --primary-color: #FF66CC;
--primary-hover: #E659B5;
--sud-primary: #FF66CC;
--sud-primary-hover: #E659B5;
--sud-primary-dark: #D64CA6;
--sud-secondary: #FF99DD;
--sud-primary-light: rgba(255, 102, 204, 0.1);
--sud-primary-medium: rgba(255, 102, 204, 0.2); --text-color: #FFFFFF;
--sud-text-primary: #FFFFFF;
--sud-text-secondary: #CCCCCC;
--sud-text-muted: #AAAAAA;
--sud-text-disabled: #666666;
--sud-dark: #FFFFFF; --sud-dark-contrast: #000000;  --sud-bg-primary: #0A0A0A;
--sud-bg-secondary: #161616;
--sud-bg-tertiary: #262626;
--dark-bg: rgba(0, 0, 0, 0.9);
--sud-light: #FFFFFF;
--sud-gray: #393939;
--sud-bg-light: #0A0A0A;
--sud-white: #fff;
--sud-secondary-bg: #1A1A1A;
--sud-secondary-bg-hover: #2A2A2A;
--sud-card-bg: #161616;
--sud-surface: #1E1E1E; --sud-border: #404040;
--sud-border-light: #2A2A2A;
--sud-border-medium: #505050;
--input-border: rgba(255, 102, 204, 0.3);
--sud-secondary-border: #505050;
--sud-secondary-border-hover: #606060; --sud-anchor-color: var(--sud-primary);
--sud-anchor-hover-color: var(--sud-primary-dark);
--sud-secondary-text: #FFFFFF;
--sud-secondary-text-hover: #DDDDDD; --sud-success: #10B981;
--sud-success-light: rgba(16, 185, 129, 0.1);
--sud-danger: #EF4444;
--sud-danger-light: rgba(239, 68, 68, 0.1);
--sud-warning: #F59E0B;
--sud-warning-light: rgba(245, 158, 11, 0.1);
--sud-info: #3B82F6;
--sud-info-light: rgba(59, 130, 246, 0.1); --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
--shadow-glow: 0 0 20px rgba(255, 102, 204, 0.3); --button-border-radius: 12px;
--card-border-radius: 16px;
--input-border-radius: 8px;
--font-family: 'Inter', 'Lato', sans-serif;
--font-weight-normal: 400;
--font-weight-medium: 500;
--font-weight-semibold: 600;
--font-weight-bold: 700; --space-xs: 0.25rem;
--space-sm: 0.5rem;
--space-md: 1rem;
--space-lg: 1.5rem;
--space-xl: 2rem;
--space-2xl: 3rem; --transition-fast: 0.15s ease;
--transition-normal: 0.25s ease;
--transition-slow: 0.35s ease;
} .modal,
.sud-modal,
.payment-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.7);
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px);
display: flex;
justify-content: center;
align-items: center;
z-index: 1050;
opacity: 0;
visibility: hidden;
transition: opacity var(--transition-normal), visibility var(--transition-normal);
backdrop-filter: blur(5px);
}
.modal.show,
.sud-modal.show,
.payment-modal.show {
opacity: 1;
visibility: visible;
}
.sud-modal-content,
.modal-content {
background-color: var(--sud-card-bg);
border: 1px solid var(--sud-border);
border-radius: 12px;
box-shadow: var(--shadow-xl);
width: 90%;
max-width: 500px;
padding: 30px;
transform: translateY(20px);
opacity: 0;
text-align: center;
transition: transform 0.3s, opacity 0.3s;
position: relative;
color: var(--sud-text-primary);
}
.modal.show .sud-modal-content,
.sud-modal.show .sud-modal-content,
.payment-modal.show .sud-modal-content,
.modal.show .modal-content {
transform: translateY(0);
opacity: 1;
}
.premium-modal-actions {
display: flex;
justify-content: center;
align-items: center;
gap: 15px;
} .modal-close,
.sud-modal-close {
position: absolute;
top: 15px;
right: 15px;
background: none;
border: none;
color: var(--sud-text-secondary);
font-size: 24px;
cursor: pointer;
padding: 0;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
transition: color 0.2s ease;
}
.modal-close:hover,
.sud-modal-close:hover {
color: var(--sud-text-primary);
} .modal-header {
text-align: center;
margin-bottom: 20px;
}
.modal-icon {
font-size: 3em;
margin-bottom: 20px;
animation: fadeInDown 0.6s ease-out 0.1s both;
}
.modal h2,
.modal h3 {
margin: 0 0 15px;
font-weight: 700;
animation: fadeInUp 0.6s ease-out 0.2s both;
}
.modal p {
margin-bottom: 20px;
line-height: 1.6;
animation: fadeInUp 0.6s ease-out 0.3s both;
} .modal-actions {
display: flex;
gap: 12px;
margin-top: 25px;
animation: fadeInUp 0.6s ease-out 0.6s both;
}
.modal-actions .btn {
border-radius: 50px;
padding: 14px 24px;
font-weight: 600;
transition: all 0.3s ease;
width: 100%;
border: none;
cursor: pointer;
}
.modal-actions .btn:hover {
transform: translateY(-3px);
} .premium-modal-actions {
display: flex;
justify-content: center;
align-items: center;
gap: 15px;
} .sud-modal-content.large {
max-width: 700px;
}
.sud-modal-content.medium {
max-width: 600px;
}
.sud-modal-content.small {
max-width: 400px;
} .modal-text-center {
text-align: center;
}
.modal-text-left {
text-align: left;
} .upgrade-benefits-list,
.modal-list {
list-style: none;
padding: 0;
margin: 20px 0;
text-align: left;
animation: fadeInUp 0.6s ease-out 0.4s both;
}
.upgrade-benefits-list li,
.modal-list li {
padding: 12px 15px;
margin: 10px 0;
background: var(--sud-surface);
border-radius: 10px;
display: flex;
align-items: center;
gap: 12px;
color: var(--sud-text-primary);
font-size: 1em;
box-shadow: var(--shadow-sm);
border-left: 3px solid var(--sud-primary);
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.upgrade-benefits-list li:hover,
.modal-list li:hover {
transform: translateY(-3px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}
.upgrade-benefits-list li i,
.modal-list li i {
color: var(--sud-primary);
font-size: 1.2em;
width: 24px;
text-align: center;
filter: drop-shadow(0 1px 2px rgba(255, 102, 204, 0.3));
} @keyframes fadeInDown {
from {
opacity: 0;
transform: translateY(-20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
} .match-modal .modal-content {
text-align: center;
padding-top: 40px;
}
.match-animation-container {
display: flex;
justify-content: center;
align-items: center;
margin-bottom: 20px;
position: relative;
height: 120px;
}
.match-animation-container img {
width: 90px;
height: 90px;
border-radius: 50%;
object-fit: cover;
border: 4px solid var(--sud-white);
box-shadow: var(--shadow-lg);
position: absolute;
}
#match-user1-img {
transform: translateX(-30px) rotate(-10deg);
}
#match-user2-img {
transform: translateX(30px) rotate(10deg);
}
.match-heart-icon {
font-size: 2.5em;
color: #ff4081;
position: relative;
z-index: 10;
animation: matchHeartBeat 0.8s ease-in-out infinite;
}
@keyframes matchHeartBeat {
0%, 100% { transform: scale(1); }
50% { transform: scale(1.2); }
} .claim-modal-no-dismiss {
pointer-events: auto !important;
}
.claim-modal-no-dismiss .sud-modal-content {
pointer-events: auto !important;
} @media (max-width: 768px) {
.sud-modal-content,
.modal-content {
width: 95%;
padding: 25px;
}
.premium-modal-actions {
display: grid;
}
.modal-icon {
font-size: 2.5em;
margin-bottom: 15px;
}
.modal h2,
.modal h3 {
font-size: 1.8em;
}
.modal p {
font-size: 0.9em;
}
.upgrade-benefits-list li,
.modal-list li {
padding: 10px 12px;
font-size: 0.9em;
gap: 8px;
}
.upgrade-benefits-list li i,
.modal-list li i {
font-size: 1.1em;
width: 20px;
}
.modal-actions .btn {
padding: 12px 20px;
}
}
@media (max-width: 576px) {
.sud-modal-content,
.modal-content {
width: 100%;
padding: 20px;
border-radius: 10px;
max-height: 85vh;
overflow-y: auto;
}
.match-animation-container {
height: 100px;
margin-bottom: 20px;
}
.match-animation-container img {
width: 70px;
height: 70px;
border-width: 3px;
}
#match-user1-img {
transform: translateX(-45px) rotate(-15deg);
}
#match-user2-img {
transform: translateX(45px) rotate(15deg);
}
.match-heart-icon i {
font-size: 1.8em;
}
} #trial-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
z-index: 9999;
overflow-y: auto;
display: none;
opacity: 0;
visibility: hidden;
transition: opacity var(--transition-normal), visibility var(--transition-normal);
}
#trial-modal.show {
display: block;
opacity: 1;
visibility: visible;
}
.trial-info {
text-align: center;
margin-bottom: 25px;
}
.trial-info h3 {
margin: 0 0 10px 0;
color: var(--sud-primary);
}
.trial-info h4 {
margin: 0 0 15px 0;
color: var(--sud-text-primary);
}
.trial-price-highlight {
background: var(--sud-surface);
padding: 15px;
border-radius: 8px;
margin: 15px 0;
border: 1px solid var(--sud-border);
}
.trial-price-highlight p:first-child {
margin: 0;
font-size: 16px;
font-weight: 600;
color: var(--sud-primary);
}
.trial-price-highlight p:last-child {
margin: 5px 0 0 0;
font-size: 14px;
color: var(--sud-text-secondary);
}
.trial-policy-text {
margin: 0;
font-size: 14px;
color: var(--sud-text-secondary);
}
.trial-policy-text a {
color: var(--sud-primary);
text-decoration: none;
}
.trial-policy-text a:hover {
text-decoration: underline;
}
#trial-form {
margin-top: 20px;
}
#trial-form .payment-tabs {
display: flex;
border-bottom: 1px solid var(--sud-border);
margin-bottom: 20px;
}
#trial-form .payment-tab {
flex: 1;
padding: 12px;
text-align: center;
cursor: pointer;
border-bottom: 2px solid transparent;
transition: all 0.3s ease;
}
#trial-form .payment-tab.active {
border-bottom-color: var(--sud-primary);
color: var(--sud-primary);
font-weight: 600;
}
#trial-form .payment-section {
display: none;
}
#trial-form .payment-section.active {
display: block;
}
#trial-form .form-group {
margin-bottom: 15px;
text-align: left;
}
#trial-form .form-group label {
display: block;
margin-bottom: 5px;
font-weight: 600;
color: var(--sud-text-primary);
}
#trial-form .form-group label::after {
content: " *";
color: var(--sud-primary);
}
#trial-form .form-group input,
#trial-form .form-group select {
width: 100%;
padding: 10px 12px;
border: 1px solid var(--sud-border);
border-radius: 6px;
font-size: 1em;
background-color: var(--sud-surface);
color: var(--sud-text-primary);
transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
box-sizing: border-box;
}
#trial-form .form-group input:focus,
#trial-form .form-group select:focus {
outline: none;
border-color: var(--sud-primary);
box-shadow: 0 0 0 0.2rem var(--sud-primary-light);
}
.card-details {
display: flex;
gap: 15px;
}
.card-details .form-group {
flex: 1;
}
.choice-buttons {
display: flex;
gap: 10px;
align-items: center;
justify-content: center;
margin-top: 30px;
}
#start-trial-btn {
width: 100%;
padding: 14px;
background-color: var(--sud-primary);
color: white;
border: none;
border-radius: 6px;
font-size: 16px;
font-weight: 600;
cursor: pointer;
margin-top: 20px;
transition: all 0.3s ease;
}
#start-trial-btn:hover {
background-color: var(--sud-primary-hover);
transform: translateY(-1px);
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
#start-trial-btn:disabled {
background-color: var(--sud-disabled, #ccc);
cursor: not-allowed;
transform: none;
box-shadow: none;
}
.trial-form-error {
color: #dc3545;
font-size: 14px;
margin-top: 10px;
display: none;
}
.trial-form-success {
color: #28a745;
font-size: 14px;
margin-top: 10px;
display: none;
}
.trial-footer-text {
margin: 15px 0 0 0;
font-size: 12px;
color: var(--sud-text-secondary);
text-align: center;
}
.trial-footer-text a {
color: var(--sud-primary);
text-decoration: none;
}
.trial-footer-text a:hover {
text-decoration: underline;
}
body.profile-details-page {
height: 100%;
margin: 0;
padding: 0;
}
body.profile-details-page .join-container {
min-height: 100%;
height: 100vh;
display: flex;
flex-direction: column;
}
body.profile-details-page .sud-join-content {
flex: 1;
display: flex;
flex-direction: column;
height: 100vh;
}
body.profile-details-page .sud-multi-step-container {
flex: 1;
display: flex;
flex-direction: column;
height: 100%;
}
body.profile-details-page .sud-steps-content {
flex: 1;
overflow-y: auto;
padding: 10px 20px 25px;
}
body.profile-details-page .sud-step-indicators {
padding: 50px 20px 20px;
margin-top: 10px;
}
body.profile-details-page .sud-step-navigation {
flex-direction: column;
align-items: center;
}
body.profile-details-page .sud-mobile-navigation {
padding: 20px 15px;
}
body.profile-details-page .sud-step-dots {
gap: 8px;
margin-bottom: 15px;
}
body.profile-details-page .sud-step-dot {
width: 38px;
height: 38px;
}
body.profile-details-page .sud-next-btn,
body.profile-details-page .sud-prev-btn {
padding: 12px 28px;
border-radius: 50px;
margin: 0;
font-weight: 600;
line-height: inherit;
} .access-email-text,
.verified-success-text,
.verify-code-text,
.sud-resend-code .in-codedown,
.sud-resend-code #countdown {
color: #fff !important;
}
.sud-resend-link,
.sud-restart-reg-link {
font: 600 1em Lato;
text-decoration: underline;
} .sud-join-content h1,
.sud-join-content h2,
.sud-join-content h3,
.sud-join-content h4,
.sud-join-content h5,
.sud-join-content p,
.sud-join-content strong,
.sud-join-content label {
color: var(--text-color);
font-family: Lato !important;
margin-bottom:10px;
}
.sud-welcome-content {
font: 600 1.7em Lato;
} .welcome-input-verify-check {
margin: 50px 0;
}
.sent-code-text {
font: 500 .95em Lato;
}
.email-label {
font: 600 .95em Lato;
}
.sud-intro-content h3 {
font: 600 2em Lato;
}
.sud-intro-content p {
font: 500 1em Lato;
}
h1 {
font-size: 1.5rem;
margin-bottom: 20px;
}
h2 {
font-size: 1.5rem;
margin-bottom: 30px;
}
p {
margin-bottom: 15px;
}
.join-container {
width: 100%;
margin: 0 auto;
}
.join-header {
background-color: var(--sud-bg-primary);
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
display: flex;
justify-content: space-between;
align-items: center;
padding: 15px 40px;
position: sticky;
top: 0;
z-index: 1000;
transition: padding 0.3s ease;
}
.logo img {
height: 40px;
transition: transform 0.3s ease, height 0.3s ease;
}
.logo img:hover {
transform: scale(1.05);
}
.join-header .nav-links {
display: flex;
align-items: center;
gap: 15px;
}
.nav-links a {
text-decoration: none;
color: #fff !important;
font-weight: 600;
position: relative;
padding: 5px 0;
transition: color 0.2s, transform 0.2s;
}
.nav-links .edit-profile-link,
.nav-links .settings-link,
.nav-links .logout-link {
display: none;
}
.nav-links a:not(.join-link):after {
content: '';
position: absolute;
width: 0;
height: 2px;
bottom: 0;
left: 0;
background-color: var(--primary-color);
transition: width 0.3s ease;
}
.nav-links a:not(.join-link):hover:after {
width: 100%;
}
a.join-link {
background-color: var(--primary-color);
color: white !important;
padding: 8px 20px;
border-radius: 5px;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
transition: background-color 0.3s, transform 0.2s, box-shadow 0.3s;
}
a.join-link:hover {
background-color: var(--primary-hover) !important;
color: white !important;
transform: translateY(-2px);
box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}
a.join-link i, .login-link i {
margin-right: 5px;
}
.auth-buttons {
display: flex;
flex-direction: row;
align-items: center;
width: 100%;
gap: 20px;
margin-top: 10px;
}
.dashboard-link,
.messages-link {
color: white !important;
text-decoration: none;
font-weight: 500;
transition: color 0.2s;
display: flex;
align-items: center;
gap: 5px;
}
.dashboard-link:hover,
.messages-link:hover {
color: var(--sud-primary-hover) !important;
}
.user-dropdown {
position: relative;
display: flex;
order: 1;
align-items: center;
}
.user-profile-link {
display: flex;
align-items: center;
text-decoration: none;
color: inherit;
padding: 5px;
border-radius: 25px;
transition: background-color 0.3s;
}
.profile-mini {
width: 35px;
height: 35px;
border-radius: 50%;
margin-right: 8px;
object-fit: cover;
border: 2px solid transparent;
transition: border-color 0.3s;
}
.user-profile-link:hover .profile-mini {
border-color: var(--primary-color);
}
.dropdown-toggle {
cursor: pointer;
padding: 0 8px;
padding-top: 0;
border-radius: 50%;
transition: transform 0.3s, background-color 0.3s;
}
.dropdown-toggle:hover {
background-color: rgba(255,255,255,0.1);
}
.user-dropdown.active .dropdown-toggle {
transform: rotate(180deg);
padding-bottom: 0;
}
.user-dropdown-menu {
position: absolute;
top: calc(100% + 10px);
right: 0;
background-color: var(--sud-card-bg);
border: 1px solid var(--sud-border);
border-radius: 12px;
z-index: 1000;
min-width: 200px;
opacity: 0;
visibility: hidden;
transform: translateY(10px);
transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
}
.user-dropdown.active .user-dropdown-menu {
opacity: 1;
visibility: visible;
transform: translateY(0);
}
.dropdown-content {
background-color: var(--sud-card-bg);
border-radius: 12px;
overflow: hidden;
box-shadow: var(--shadow-xl);
}
.user-dropdown-menu a {
display: block;
padding: 15px 20px;
text-decoration: none;
color: var(--sud-text-primary) !important;
transition: background-color 0.2s, color 0.2s;
position: relative;
font-weight: 500;
margin: 0;
}
.user-dropdown-menu a:hover {
background-color: var(--sud-primary-light);
color: var(--sud-primary) !important;
}
.user-dropdown-menu a:first-child {
border-radius: 12px 12px 0 0;
}
.user-dropdown-menu a:last-child {
border-radius: 0 0 12px 12px;
}
.mobile-menu-toggle {
display: none;
background: none;
border: none;
color: white;
cursor: pointer;
padding: 8px;
font-size: 20px;
border-radius: 4px;
transition: background-color 0.2s;
}
.mobile-menu-toggle:hover {
background-color: rgba(255, 255, 255, 0.1);
}
.mobile-menu-close {
display: none;
position: absolute;
top: 15px;
right: 15px;
background: none;
border: none;
color: white;
font-size: 20px;
cursor: pointer;
padding: 8px;
border-radius: 50%;
transition: background-color 0.2s;
z-index: 1001;
}
.mobile-menu-close:hover {
background-color: rgba(255, 255, 255, 0.1);
}
.menu-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.7);
z-index: 997;
opacity: 0;
visibility: hidden;
transition: opacity 0.3s ease, visibility 0.3s ease;
}
.menu-overlay.active {
opacity: 1;
visibility: visible;
}
.sud-join-content {
display: flex;
height: calc(100vh - 70px);
width: 100%;
position: relative;
}
.sud-join-image {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url(//swipeupdaddy.com/sud/assets/img/bg.jpg);
background-size: cover;
background-repeat: no-repeat;
background-position: center;
z-index: -2;
}
.sud-join-image::after {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: var(--dark-bg);
opacity: 0.5;
z-index: -1;
}
.sud-join-form-container {
position: relative;
width: 100%;
max-width: 530px;
margin: 0 auto;
padding: 40px 20px;
display: flex;
flex-direction: column;
justify-content: center;
margin-top: -200px;
overflow: auto;
z-index: 1;
}
.sud-background-banner {
position: relative;
text-align: center;
margin: 80px 0 10px;
padding: 5px 0 10px;
border-radius: 5px;
}
.sud-loader-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.8); 
backdrop-filter: blur(4px);
-webkit-backdrop-filter: blur(4px); 
display: flex;
justify-content: center;
align-items: center;
z-index: 9999; 
color: #333; 
font-size: 1.5em; 
font-weight: bold;
text-shadow: 0 0 5px rgba(255, 255, 255, 0.5); 
opacity: 0; 
visibility: hidden; 
transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out; 
}
.sud-loader-overlay.active {
opacity: 1;
visibility: visible;
}
.sud-form-description #show-manual-location, .sud-manual-toggle #hide-manual-location{
color: #fff;
font-weight: 600;
}
.sud-join-form {
display: flex;
width: 100%;
margin-top: 10px;
flex-direction: column;
justify-content: space-between;
}
.sud-login-form-container {
max-width: 400px !important;
}
.sud-form-group {
margin-bottom: 20px;
}
.sud-form-group.sud-gender-option {
display: flex;
gap: 10px;
align-items: center;
}
.sud-form-label {
display: block;
line-height: 1.5;
font-weight: 700;
margin-bottom: 5px;
}
.sud-form-input {
width: 100% !important;
height: 34px !important;
padding: 5px 0 !important;
border: none !important;
border-radius: 0 !important;
border-bottom: 1px solid var(--input-border) !important;
background-color: transparent !important;
color: var(--text-color) !important;
font-family: var(--font-family) !important;
font-size: 16px !important;
}
.sud-form-input::placeholder {
color: rgba(255, 255, 255, 0.7) !important;
}
.sud-form-input:focus {
outline: none !important;
background-color: transparent !important;
border-bottom-color: var(--primary-color) !important;
}
.sud-form-input.sud-verification-code {
border: 2px solid #d0d0d0 !important;
border-radius: 10px !important;
font: 600 2em Lato !important;
height: 2.8rem !important;
letter-spacing: 5px !important;
margin: 0 .3rem !important;
outline: none;
padding: 5px !important;
text-align: center !important;
max-width: 200px !important;
}
.sud-option-buttons {
display: flex;
gap: 10px;
margin-top: 15px;
}
.sud-option-button {
width: 200px;
padding: 10px 18px !important;
font-size: 0.85em;
background-color: rgba(255, 255, 255, 0.2) !important;
font-weight: 600;
color: var(--sud-text-primary) !important;
border: 2px solid rgba(255, 255, 255, 0.3) !important;
border-radius: var(--button-border-radius) !important;
cursor: pointer !important;
text-align: center !important;
transition: all 0.3s ease;
}
.sud-option-button:hover {
background-color: rgba(255, 255, 255, 0.6) !important;
transform: translateY(-1px);
}
.sud-option-button.selected,
.sud-option-button.sud-active {
background-color: var(--sud-white) !important;
color: var(--sud-primary) !important;
border-color: var(--sud-white) !important;
}
.sud-join-btn {
display: inline-block;
background-color: var(--primary-color) !important;
color: white !important;
padding: 13px 30px !important;
margin: 10px 0 !important;
border: none !important;
border-radius: 4px !important;
cursor: pointer;
font-size: 1rem !important;
width: 100% !important;
text-align: center;
transition: background-color 0.3s ease;
}
#account-signup-form .sud-join-btn,
.sud-join-form #continue-btn,
.sud-intro-btn,
.sud-verify-check-btn,
.sud-welcome-actions .sud-join-btn {
border-radius: var(--button-border-radius) !important;
max-width: 227px !important;
line-height: inherit;
}
.sud-join-btn:hover {
color: #fff !important;
background-color: var(--primary-hover);
}
.sud-input-floating {
position: relative;
margin-bottom: 20px;
}
.sud-input-floating .sud-form-input {
height: 45px !important;
padding: 20px 0 8px !important;
font-size: 16px !important;
}
.sud-floating-label {
position: absolute;
top: 14px;
left: 0;
font-size: 16px;
color: rgba(255, 255, 255, 0.7);
pointer-events: none;
transition: all 0.2s ease;
margin-bottom: 0;
}
.sud-form-input:focus~.sud-floating-label,
.sud-form-input.has-value~.sud-floating-label {
top: 0;
font-size: 12px;
color: var(--primary-color);
}
.sud-required {
color: var(--primary-color);
}
.sud-login-logo {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.sud-login-logo img {
max-width: 250px;
margin-bottom: 30px;
}
.sud-tagline {
color: #fff !important;
margin: 0 auto;
font-size: 35px;
font-weight: 700;
letter-spacing: 1px;
}
.sud-tagline .pink-side {
color: #FF66CC;
}
.sud-tagline-where {
font-weight: 300;
}
.sud-tagline-romance {
font-weight: 300;
}
.sud-tagline-meets {
font-weight: 700;
}
.sud-forgot-password {
text-align: right;
margin: 5px 0 20px;
}
.sud-forgot-password a {
color: var(--text-color);
font-size: 14px;
text-decoration: none;
}
.sud-login-btn {
display: inline-block;
background-color: #888 !important;
color: white !important;
padding: 13px 30px !important;
margin: 10px 0 !important;
border: none !important;
border-radius: 30px !important;
cursor: pointer;
font-size: 1rem !important;
width: 100% !important;
text-align: center;
transition: background-color 0.3s ease;
}
.sud-login-btn:hover {
background-color: #666 !important;
}
.sud-login-divider {
position: relative;
text-align: center;
margin: 25px 0 5px;
}
.sud-login-divider:before,
.sud-login-divider:after {
content: "";
position: absolute;
top: 50%;
width: 30%;
height: 1px;
background-color: var(--sud-light) !important;
}
.sud-login-divider:before {
left: 0;
}
.sud-login-divider:after {
right: 0;
}
.sud-login-divider span {
display: inline-block;
color: #fff !important;
padding: 0 10px;
position: relative;
z-index: 1;
}
.sud-social-login-buttons {
display: flex;
justify-content: center;
margin-bottom: 10px;
}
.sud-no-account {
text-align: center;
color: #fff !important;
cursor: pointer;
font-style: italic;
margin-bottom: 15px;
font-size: 17px;
}
.sud-join-free-btn {
display: inline-block;
background-color: var(--primary-color) !important;
color: white !important;
padding: 13px 30px !important;
margin: 10px 0 !important;
border: none !important;
border-radius: 30px !important;
cursor: pointer;
font-size: 1rem !important;
width: 100% !important;
text-align: center;
text-decoration: none;
transition: background-color 0.3s ease;
}
.sud-join-free-btn:hover {
background-color: var(--primary-hover) !important;
color: var(--sud-text-primary) !important;
}
.sud-input-floating .sud-password-toggle {
position: absolute !important;
right: 0 !important;
transform: none !important;
}
.sud-error-message {
color: #ff6b6b !important;
font-size: 0.75rem;
margin-top: 5px;
display: none;
}
.sud-error-alert {
background-color: rgba(248, 215, 218, 0.8);
color: #721c24;
padding: 10px;
border-radius: 4px;
margin-bottom: 20px;
text-align: center;
width: fit-content;
position: relative;
left: 50%;
transform: translateX(-50%);
}
.success-alert {
background-color: rgba(212, 237, 218, 0.8);
color: #155724;
padding: 10px;
border-radius: 4px;
margin-bottom: 20px;
}
.sud-modal {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1000;
display: flex;
align-items: center;
justify-content: center;
}
.sud-modal-backdrop {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.7);
}
.sud-modal-content {
position: relative;
background: var(--sud-card-bg);
border: 1px solid var(--sud-border);
width: calc(100% - 64px);
max-width: 444px;
padding: 30px;
border-radius: var(--card-border-radius);
z-index: 1001;
color: var(--sud-text-primary);
box-shadow: var(--shadow-xl);
}
.sud-role-content-container {
padding: 0 10px;
}
.sud-modal-close {
position: absolute;
top: 15px;
right: 20px;
width: 36px !important;
height: 36px !important;
font-size: 20px;
padding: 0 !important;
margin: 0 !important;
background: none;
border: none;
box-shadow: none;
cursor: pointer;
color: var(--sud-text-muted);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
transition: all var(--transition-fast);
}
.sud-modal-close:hover {
background: var(--sud-surface);
color: var(--sud-text-primary);
transform: scale(1.1);
}
.sud-modal-content h3 {
font: 700 1.5em Lato;
margin-bottom: 20px;
font-size: 22px;
}
.sud-role-options {
margin: 20px 0;
}
.sud-role-option {
margin-bottom: 20px;
position: relative;
cursor: pointer;
}
.sud-role-option input[type="radio"] {
position: absolute;
opacity: 0;
}
.sud-role-option label {
display: flex;
flex-direction: column;
gap: 4px;
padding: 15px;
border-radius: 5px;
cursor: pointer;
color: var(--sud-text-primary) !important;
position: relative;
padding-right: 50px;
background-color: var(--sud-surface);
border: 1px solid var(--sud-border);
}
.sud-role-option label:before {
content: '';
position: absolute;
right: 15px;
top: 50%;
transform: translateY(-50%);
width: 20px;
height: 20px;
border: 2px solid var(--primary-color);
border-radius: 50%;
}
.sud-role-option input[type="radio"]:checked+label {
background-color: var(--sud-primary-light);
border-color: var(--sud-primary);
}
.sud-role-option input[type="radio"]:checked+label:after {
content: '';
position: absolute;
right: 19px;
top: 50%;
transform: translateY(-50%);
width: 12px;
height: 12px;
background-color: var(--primary-color);
border-radius: 50%;
}
.sud-role-title {
font: 700 1.2em Lato;
}
.sud-role-subtitle {
font: 700 .9em Lato;
color: var(--sud-text-primary) !important;
margin-bottom: 5px;
}
.sud-role-description {
color: var(--sud-text-secondary) !important;
font: 500 .88em Lato;
}
.sud-modal-continue {
display: block;
margin: 0 auto !important;
border-radius: 30px !important;
padding: 13px 80px !important;
position: relative;
z-index: 1005;
}
.sud-verification-code {
width: 100%;
height: 40px;
padding: 5px 0;
text-align: center;
letter-spacing: 5px;
font-size: 1.2rem;
border: none;
border-bottom: 1px solid var(--input-border);
background-color: transparent;
color: var(--text-color);
}
.sud-verification-code::placeholder {
color: rgba(255, 255, 255, 0.7);
letter-spacing: normal;
}
.sud-verification-code:focus {
outline: none;
border-bottom-color: var(--primary-color);
}
.sud-back-button {
margin-bottom: 20px;
font-size: large;
color: var(--text-color);
text-decoration: none;
}
.sud-gender-selection,
.sud-role-selection,
.sud-looking-for-selection {
color: var(--text-color) !important;
text-decoration: underline;
font-size: 19px;
font-weight: bolder !important;
transition: color 0.3s ease;
}
.sud-gender-selection:hover,
.sud-role-selection:hover,
.sud-looking-for-selection:hover {
color: var(--primary-color) !important;
}
.sud-switch-link {
text-decoration: none;
font-size: 0.85rem;
margin-left: 5px;
color: var(--primary-color) !important;
cursor: pointer;
}
.sud-resend-code .sud-resend-link,
.sud-restart-link a {
color: var(--primary-color) !important;
}
.sud-role-separator {
margin-right: 5px;
}
.sud-checkbox {
display: flex;
align-items: flex-start;
margin: 20px 0;
position: relative;
}
.sud-checkbox-input {
position: absolute;
opacity: 0;
}
.sud-checkbox-label {
position: relative;
padding-left: 30px;
cursor: pointer;
color: var(--text-color) !important;
font: 400 .9em/1.4 'Lato', sans-serif !important;
}
.sud-checkbox-label:before {
content: '';
position: absolute;
left: 0;
top: 0;
width: 18px;
height: 18px;
border: 1px solid var(--primary-color);
background-color: transparent !important;
border-radius: 3px;
}
.sud-checkbox-input:checked+.sud-checkbox-label:before {
background-color: transparent !important;
border-color: var(--primary-color) !important;
border: 2px solid;
}
.sud-checkbox-input:checked+.sud-checkbox-label:after {
content: '\f00c';
font-family: 'Font Awesome 5 Free';
font-weight: 900;
position: absolute;
left: 3px;
top: 1px;
font-size: 12px;
color: var(--primary-color);
}
.sud-terms-text {
font: 500 .9em/1.5 'Lato';
color: rgba(255, 255, 255, 0.7);
margin-top: 20px;
}
.sud-terms-text a {
color: var(--primary-color) !important;
text-decoration: underline !important;
}
.sud-password-field {
position: relative !important;
}
.sud-password-toggle {
position: absolute !important;
right: 0 !important;
top: 40% !important;
transform: translateY(-50%);
cursor: pointer;
color: rgba(255, 255, 255, 0.7);
}
.sud-info-icon {
color: rgba(255, 255, 255, 0.7);
margin-left: 5px;
font-size: 0.9rem;
cursor: pointer;
}
.sud-info-icon:hover {
color: var(--primary-color);
}
.inactive-info-icon {
opacity: 0.5;
color: #bbb; 
cursor: default; 
pointer-events: none; 
}
.inactive-info-icon:hover {
color: #bbb; 
}
.sud-definition {
margin-bottom: 15px;
}
div.sud-definition h4 {
margin: 15px 0 5px;
color: white !important;
font-weight: 700;
text-align: left !important;
}
div.sud-definition p {
margin: 5px 0 10px;
color: white !important;
font-weight: normal;
text-align: left !important;
}
.sud-success-popup {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.7);
display: flex;
align-items: center;
justify-content: center;
z-index: 9999;
opacity: 0;
visibility: hidden;
transition: all 0.3s ease;
}
.sud-success-popup.show {
opacity: 1;
visibility: visible;
}
.sud-success-popup-content {
background-color: var(--sud-card-bg);
border-radius: 15px;
padding: 30px;
text-align: center;
max-width: 400px;
width: 90%;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
transform: scale(0.8);
transition: transform 0.3s ease;
}
.sud-success-popup.show .sud-success-popup-content {
transform: scale(1);
}
.sud-success-icon {
margin-bottom: 15px;
}
#lottie-container {
width: 120px;
height: 120px;
margin: 0 auto;
}
.sud-success-popup-content h3 {
color: var(--sud-text-primary) !important;
font-size: 24px;
margin-bottom: 10px;
font-weight: 600;
}
.sud-success-popup-content p {
color: var(--sud-text-secondary) !important;
margin-bottom: 0;
font-weight: 500;
}
.sud-let-get-profile {
font: 600 2em Lato;
}
.sud-subtitle {
color: var(--text-color) !important;
margin-bottom: 30px;
font: 500 1em Lato;
}
input[type="date"] {
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
color: var(--text-color) !important;
background-color: transparent !important;
}
input[type="date"]::-webkit-calendar-picker-indicator {
background: transparent;
color: var(--text-color);
cursor: pointer;
filter: invert(1);
}
.sud-continue-btn {
border-radius: var(--button-border-radius) !important;
max-width: 227px !important;
margin-top: 30px !important;
}
.sud-date-icon {
position: absolute;
right: 0;
top: 10px;
color: var(--text-color);
cursor: pointer;
}
.ui-datepicker {
background-color: var(--sud-white);
border: none;
border-radius: 12px;
padding: 15px;
box-shadow: 0 5px 25px rgba(0, 0, 0, 0.2);
font-family: var(--font-family);
font-size: 14px;
width: 300px !important;
z-index: 9999 !important;
}
.ui-datepicker .ui-datepicker-header {
background-color: transparent;
border: none;
padding: 5px 0 15px 0;
position: relative;
}
.ui-datepicker .ui-datepicker-title {
color: #333;
font-weight: 600;
font-size: 16px;
margin: 0 30px;
text-align: center;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
position: absolute;
top: 5px;
width: 30px;
height: 30px;
cursor: pointer;
color: #333;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
transition: background-color 0.2s;
}
.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover {
background-color: #f0f0f0;
border: none;
top: 5px;
}
.ui-datepicker .ui-datepicker-prev {
left: 2px;
}
.ui-datepicker .ui-datepicker-next {
right: 2px;
}
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
display: block;
width: 0;
height: 0;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
margin-top: -5px;
position: absolute;
top: 50%;
margin-left: -5px !important;
margin-top: -5px !important;
}
.ui-datepicker .ui-datepicker-prev span {
border-right: 8px solid #333;
border-left: 0;
left: 50%;
margin-left: -3px;
}
.ui-datepicker .ui-datepicker-next span {
border-left: 8px solid #333;
border-right: 0;
right: 50%;
margin-right: -3px;
}
.ui-datepicker table {
width: 100%;
border-collapse: collapse;
margin-top: 5px;
}
.ui-datepicker th {
padding: 7px 0;
text-align: center;
font-weight: 600;
color: #333;
font-size: 13px;
text-transform: uppercase;
}
.ui-datepicker td {
padding: 1px;
}
.ui-datepicker td a,
.ui-datepicker td span {
display: block;
text-align: center;
padding: 8px 0;
text-decoration: none;
color: #333;
border-radius: 50%;
width: 36px;
height: 36px;
line-height: 20px;
margin: 0 auto;
transition: all 0.2s;
}
.ui-datepicker td a:hover {
background-color: #f5f5f5;
}
.ui-datepicker td a.ui-state-active {
background-color: var(--primary-color);
color: white;
font-weight: 600;
}
.ui-datepicker td a.ui-state-highlight {
background-color: #f0f0f0;
font-weight: 600;
}
.ui-datepicker td.ui-datepicker-unselectable span {
color: #ddd;
}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
width: 35% !important;
padding: 5px;
border: 1px solid #ddd;
border-radius: 4px;
background-color: var(--sud-white);
color: #333;
margin: 0 4px;
font-size: 14px;
}
input#date_of_birth.has-value+.sud-floating-label,
input#date_of_birth:focus+.sud-floating-label {
top: 0;
font-size: 12px;
color: var(--primary-color);
}
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
color: #ccc !important;
text-align: center;
}
.sud-welcome-container {
max-width: 550px;
display: flex;
flex-direction: column;
justify-content: center;
}
.sud-welcome-heading {
font-size: 2rem;
margin-bottom: 1.5rem;
font-weight: 700;
color: var(--text-color) !important;
}
.sud-welcome-text {
font-size: 1rem;
margin-bottom: 1rem;
color: var(--text-color) !important;
}
.sud-welcome-description {
font-size: .95rem;
margin-bottom: 2.5rem;
line-height: 1.6;
color: var(--text-color) !important;
}
.sud-welcome-actions {
margin-top: 1rem;
}
.sud-multi-step-container {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
justify-content: center;
}
.sud-step-indicators {
padding: 20px 20px 10px;
text-align: center;
position: relative;
z-index: 10;
}
.sud-step-dots {
display: flex;
justify-content: center;
align-items: center;
gap: 5px;
margin-bottom: 10px;
overflow-x: auto;
padding-bottom: 10px;
}
.sud-step-dot {
width: 36px;
height: 36px;
border-radius: 50%;
background-color: rgba(255, 255, 255, 0.2);
display: flex;
align-items: center;
justify-content: center;
color: rgba(255, 255, 255, 0.7);
font-size: 16px;
transition: all 0.3s ease;
flex-shrink: 0;
}
.sud-step-dot i {
display: inline-block;
transition: all 0.3s ease;
}
.sud-step-dot.completed {
background-color: var(--primary-color);
color: #fff;
}
.sud-step-dot.active {
background-color: var(--sud-white);
color: var(--primary-color);
}
.sud-step-label {
color: #fff;
font: 500 .8em Lato;
font-weight: 600;
}
.sud-steps-content {
max-height: calc(100vh - 180px);
overflow-y: auto;
padding: 0 20px;
}
.sud-step-content {
padding: 0;
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
}
.sud-step-content-inner {
padding: 10px 0 15px;
max-width: 860px;
margin: 0 auto;
}
#occupation-form .sud-step-content-inner,
#about-me-form .sud-step-content-inner {
max-width: 560px;
}
.sud-dating-styles-grid {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin: 30px 0;
justify-content: center;
}
.sud-dating-style-tag {
background-color: rgba(255, 255, 255, 0.2);
border: 2px solid rgba(255, 255, 255, 0.3);
color: #fff;
padding: 7px 15px;
border-radius: 50px;
cursor: pointer;
transition: all 0.3s ease;
font: 500 .9em Lato;
display: flex;
align-items: center;
gap: 5px;
}
.sud-dating-style-tag i {
font-size: 1rem;
}
.sud-dating-style-tag:hover {
background-color: rgba(255, 255, 255, 0.3);
}
.sud-dating-style-tag.selected {
background-color: var(--sud-light);
color: var(--primary-color);
}
.sud-selection-counter {
text-align: center;
margin-bottom: 20px;
font-size: 1rem;
color: rgba(255, 255, 255, 0.8);
}
.sud-step-heading {
font-size: 2rem;
font-weight: 700;
margin-bottom: 20px;
text-align: center;
color: var(--text-color) !important;
}
.sud-step-description {
font-size: 1rem;
margin-bottom: 10px;
text-align: center;
color: var(--text-color) !important;
}
.sud-step-description {
text-align: center;
margin: 15px auto 30px;
max-width: 600px;
color: rgba(255, 255, 255, 0.8);
}
.sud-looking-for-grid {
display: flex;
flex-wrap: wrap;
gap: 20px;
justify-content: center;
margin: 30px 0;
}
.sud-looking-for-card {
background-color: rgba(255, 255, 255, 0.1);
border-radius: 15px;
border: 2px solid rgba(255, 255, 255, 0.3);
display: flex;
flex-direction: column;
justify-content: space-between;
max-width: 292px;
min-height: 180px;
padding: 20px;
width: 100%;
}
.sud-card-title {
font: 600 1.8em Lato;
margin-bottom: 20px;
text-align: center;
color: #fff;
}
.sud-age-slider-container {
position: relative;
left: -9px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: calc(100% - 50px);
width: 100%;
padding: 15px;
}
.sud-age-slider {
width: 100%;
height: 5px;
background: rgba(255, 255, 255, 0.3);
border-radius: 5px;
position: relative;
margin-bottom: 20px;
}
.sud-slider-handle {
width: 20px;
height: 20px;
margin-left: -4px;
background: var(--sud-primary-hover) !important;
border-radius: 50%;
position: absolute;
top: -7.5px;
cursor: pointer;
z-index: 2;
}
.sud-slider-connect {
position: absolute;
height: 5px;
background: var(--sud-primary-hover) !important;
top: 0;
z-index: 1;
border-radius: 5px;
}
.sud-age-display {
font-size: 1.3rem;
font-weight: 600;
color: #fff;
margin-top: 5px;
}
.sud-ethnicity-container {
display: flex;
flex-direction: column;
}
.sud-dropdown-container {
position: relative;
margin-bottom: 10px;
}
.sud-dropdown-container.sud-input-floating {
margin-bottom: 25px;
}
.sud-custom-select {
position: relative;
width: 100%;
}
.sud-select-trigger {
display: flex;
justify-content: space-between;
align-items: center;
padding: 8px 0 !important;
background: transparent !important;
border: none !important;
border-bottom: 1px solid var(--input-border) !important;
border-radius: 0 !important;
color: #fff;
cursor: pointer;
transition: all 0.3s ease;
height: 45px !important;
}
.sud-select-trigger:focus,
.sud-select-trigger.has-value {
border-bottom-color: var(--primary-color) !important;
}
.sud-select-value {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
padding-right: 10px;
}
.sud-options {
position: absolute;
top: 100%;
left: 0;
right: 0;
background: var(--text-color);
color: var(--primary-hover);
border: 1px solid rgba(255, 255, 255, 0.2);
border-radius: 5px;
margin-top: 5px;
max-height: 200px;
overflow-y: auto;
z-index: 100;
display: none;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.sud-option {
padding: 10px 15px;
cursor: pointer;
transition: all 0.2s;
}
.sud-option:hover,
.sud-option.selected {
background-color: rgba(179, 170, 70, 0.3);
}
.sud-option.disabled {
opacity: 0.5;
cursor: not-allowed;
}
.sud-custom-select.open .sud-options {
display: block;
}
.sud-dropdown-hint {
color: rgba(255, 255, 255, 0.6) !important;
font-size: .95rem;
font-style: italic;
text-align: center;
margin-top: 5px;
line-height: normal;
}
.sud-selected-tags {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin: 10px 0;
min-height: 32px;
}
.sud-tag {
background-color: var(--sud-card-bg);
color: var(--sud-primary-hover) !important;
padding: 5px 10px;
border-radius: 30px;
display: flex;
align-items: center;
gap: 8px;
font-size: 0.9rem;
font-weight: 600;
}
.sud-tag-remove {
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
width: 16px;
height: 16px;
border-radius: 50%;
background-color: rgba(179, 170, 70, 0.2);
color: var(--sud-primary-hover) !important;
font-size: 0.7rem;
}
.sud-step-instruction {
font-size: 0.95rem;
opacity: 0.7;
margin-bottom: 15px;
text-align: center;
color: var(--text-color) !important;
}
.sud-instruction-box {
background-color: rgba(255, 255, 255, 0.1);
width: 730px;
height: 70px;
font-size: 13px;
padding: 10px 20px;
border-radius: 8px;
margin: 0 auto 25px;
z-index: 3;
color: var(--text-color) !important;
}
.sud-instruction-box b {
color: #fff !important;
}
.sud-mobile-navigation {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
padding: 15px;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
z-index: 100;
}
.sud-mobile-navigation button,
.sud-mobile-navigation a {
padding: 12px 15px;
border-radius: var(--button-border-radius);
text-align: center;
font-size: 1rem;
font-weight: 600;
border: none;
cursor: pointer;
transition: all 0.3s ease;
text-decoration: none;
display: inline-block;
}
.sud-terms-container {
margin: 5% 20px;
}
.sud-terms-grid {
display: flex;
flex-wrap: wrap;
gap: 10px;
justify-content: center;
}
.sud-term-tag {
background-color: rgba(255, 255, 255, 0.1);
border: 2px solid rgba(255, 255, 255, 0.3);
border-radius: 50px;
padding: 7px 13px;
font: 500 .9em Lato;
cursor: pointer;
transition: all 0.3s ease;
color: var(--text-color) !important;
}
.sud-term-tag:hover {
background-color: rgba(255, 255, 255, 0.2);
}
.sud-term-tag.selected {
background-color: var(--sud-white);
color: var(--primary-color) !important;
}
.sud-step-navigation {
display: flex;
justify-content: center;
padding: 15px;
padding-bottom: 30px;
margin-top: 5px;
}
.sud-mobile-main-nav {
display: flex;
justify-content: space-between;
align-items: center;
gap: 12px;
width: 100%;
}
.sud-nav-buttons {
display: flex;
gap: 15px;
}
.sud-prev-btn,
.sud-next-btn {
padding: 12px 25px;
border-radius: 50px;
text-align: center;
border: none;
font-size: 1rem;
cursor: pointer;
transition: all 0.3s ease;
}
.sud-mobile-main-nav .sud-prev-btn,
.sud-mobile-main-nav .sud-next-btn {
text-decoration: none;
flex-grow: 1;
flex-basis: 0;
}
.sud-prev-btn {
background-color: rgba(255, 255, 255, 0.2);
color: white;
}
.sud-next-btn {
background-color: rgba(255, 255, 255, 0.3);
color: white;
min-width: 170px;
}
.sud-mobile-main-nav .sud-prev-btn {
max-width: 35%;
}
.sud-mobile-main-nav .sud-next-btn {
max-width: 60%;
}
.sud-next-btn:disabled {
opacity: 0.6;
background-color: rgba(255, 255, 255, 0.2) !important;
color: rgba(255, 255, 255, 0.7) !important;
cursor: not-allowed;
}
.sud-next-btn.active {
background-color: var(--primary-color) !important;
color: white !important;
opacity: 1 !important;
}
.sud-next-btn:not(.active) {
background-color: rgba(255, 255, 255, 0.3);
color: white;
}
.sud-prev-btn:hover {
background-color: rgba(255, 255, 255, 0.3);
}
.sud-next-btn.active:hover {
background-color: var(--primary-hover);
}
.sud-mobile-navigation .sud-next-btn {
background-color: rgba(255, 255, 255, 0.3);
color: white;
flex: 2;
order: 2;
}
.sud-mobile-navigation .sud-next-btn.active {
background-color: var(--primary-color) !important;
color: white !important;
}
.sud-mobile-navigation .sud-prev-btn {
background-color: rgba(255, 255, 255, 0.2);
color: white;
flex: 1;
order: 1;
}
.sud-mobile-navigation .sud-skip-link {
background-color: transparent;
color: rgba(255, 255, 255, 0.9);
text-decoration: none;
font-size: 0.9rem;
text-align: center;
flex: 1;
order: 3;
}
.sud-mobile-navigation .sud-skip-link:hover {
background-color: rgba(255, 255, 255, 0.1);
color: white;
}
.sud-mobile-main-nav > div:empty {
flex-grow: 1;
flex-basis: 0;
max-width: 35%;
}
.sud-mobile-skip-nav {
display: flex;
justify-content: space-around;
align-items: center;
width: 100%;
gap: 15px;
}
.sud-mobile-skip-nav .sud-skip-link,
.sud-mobile-skip-nav .sud-skip-all-link {
color: rgba(255, 255, 255, 0.8);
text-decoration: none;
font-size: 0.85rem;
padding: 5px 0;
text-align: center;
flex-grow: 1;
flex-basis: 0;
}
.sud-mobile-skip-nav .sud-skip-link:hover,
.sud-mobile-skip-nav .sud-skip-all-link:hover {
color: #fff;
text-decoration: underline;
}
.sud-income-selector {
display: flex;
justify-content: center;
align-items: center;
margin: 50px auto;
position: relative;
max-width: 400px;
}
.sud-income-options {
width: 100%;
position: relative;
overflow: hidden;
height: 60px;
display: flex;
flex-direction: column;
align-items: center;
}
.sud-income-option {
width: 100%;
height: 60px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.8rem;
font-weight: 600;
color: rgba(255, 255, 255, 0.6);
transition: all 0.3s ease;
cursor: pointer;
position: absolute;
top: 0;
opacity: 0;
pointer-events: none;
}
.sud-income-option.visible {
opacity: 1 !important;
pointer-events: auto !important;
position: static !important;
}
.sud-income-option.selected {
color: white;
font-size: 2.2rem;
}
.sud-income-arrows {
position: absolute;
right: -50px;
top: 50%;
transform: translateY(-50%);
display: flex;
flex-direction: column;
gap: 15px;
}
.sud-income-arrow {
width: 36px;
height: 36px;
border-radius: 50%;
background-color: rgba(255, 255, 255, 0.2);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: all 0.2s ease;
}
.sud-income-arrow:hover {
background-color: rgba(255, 255, 255, 0.3);
}
.sud-step-dot[data-step="1"] i {
font-size: 12px;
}
.sud-net-worth-options,
.sud-dating-budget-options,
.sud-relationship-status-options {
display: flex;
flex-direction: column;
gap: 15px;
max-width: 500px;
margin: 40px auto;
}
.sud-option-button.net-worth-option,
.sud-option-button.dating-budget-option,
.sud-option-button.relationship-status-option {
width: 100%;
padding: 10px 20px;
font-size: 18px;
text-align: center;
background-color: var(--sud-secondary-bg);
color: var(--sud-text-primary);
border-radius: 30px;
cursor: pointer;
transition: all 0.3s ease;
}
.sud-photos-upload-container {
display: flex;
justify-content: center;
margin: 30px auto;
}
.sud-photo-upload-box {
width: 150px;
height: 150px;
border: 2px dashed rgba(255, 255, 255, 0.5);
border-radius: 10px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
position: relative;
overflow: visible;
transition: border-color 0.3s;
}
.sud-photo-upload-box:hover {
border-color: var(--primary-color);
cursor: pointer;
}
.sud-photo-input {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
cursor: pointer !important;
z-index: 20;
}
.sud-photo-label {
pointer-events: none;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
color: rgba(255, 255, 255, 0.8);
font-size: 14px;
z-index: 1;
transition: opacity 0.3s ease;
}
.sud-photo-label i {
font-size: 24px;
margin-bottom: 8px;
}
.sud-photo-stack {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
pointer-events: none;
}
.sud-photo-preview {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
transition: all 0.3s ease;
pointer-events: none;
}
.sud-photo-preview img {
width: 100%;
height: 100%;
object-fit: cover;
}
.sud-photo-count {
position: absolute;
top: -10px;
right: -10px;
background: var(--primary-color);
color: white;
border-radius: 50%;
width: 24px;
height: 24px;
display: flex;
align-items: center;
justify-content: center;
font-size: 12px;
font-weight: bold;
z-index: 6;
pointer-events: none;
}
.has-photos .sud-photo-label {
opacity: 0;
}
.sud-photo-clear {
position: absolute !important;
top: -15px;
left: -15px;
padding: 0;
background: rgba(0, 0, 0, 0.5);
color: white;
border-radius: 50%;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
cursor: pointer;
z-index: 25;
border: none;
transition: background-color 0.3s ease;
}
.sud-photo-clear:hover {
background: rgba(255, 0, 0, 0.7);
}
.sud-photo-add {
position: absolute !important;
bottom: -15px;
right: -15px;
padding: 0;
background: var(--primary-color);
color: white;
border-radius: 50%;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
cursor: pointer;
z-index: 25;
border: none;
transition: background-color 0.3s ease;
}
.sud-photo-add:hover {
background: var(--primary-hover);
}
.sud-hidden-inputs {
position: absolute;
width: 0;
height: 0;
overflow: hidden;
opacity: 0;
}
.sud-step-dot .dot {
width: 8px;
height: 8px;
background-color: rgba(255, 255, 255, 0.5);
border-radius: 50%;
display: inline-block;
}
.sud-step-dot.completed,
.sud-step-dot.active {
cursor: pointer;
}
.sud-annual-income-options,
.sud-net-worth-options,
.sud-dating-budget-options,
.sud-relationship-status-options,
.sud-dating-style-options,
.sud-ethnicity-options,
.sud-race-options,
.sud-smoke-options,
.sud-drink-options,
.sud-looking-for-options {
display: flex;
flex-direction: column;
gap: 15px;
max-width: 500px;
margin: 30px auto;
}
.sud-option-button.annual-income-option,
.sud-option-button.net-worth-option,
.sud-option-button.dating-budget-option,
.sud-option-button.relationship-status-option,
.sud-option-button.dating-style-option,
.sud-option-button.ethnicity-option,
.sud-option-button.race-option,
.sud-option-button.smoke-option,
.sud-option-button.drink-option,
.sud-option-button.looking-for-option {
width: 100%;
padding: 15px 20px;
font: 600 1em Lato;
text-align: center;
background-color: rgba(255, 255, 255, 0.2);
color: var(--sud-text-primary);
border: 2px solid rgba(255, 255, 255, 0.3);
border-radius: 30px;
cursor: pointer;
transition: all 0.3s ease;
}
.sud-race-options {
flex-wrap: wrap;
flex-direction: row;
max-width: 100%;
gap: 10px;
justify-content: center;
margin: 30px 0;
}
.sud-race-tag {
background-color: rgba(255, 255, 255, 0.2);
color: var(--sud-text-primary);
border: 2px solid rgba(255, 255, 255, 0.3);
padding: 7px 15px;
border-radius: 50px;
cursor: pointer;
transition: all 0.3s ease;
font: 500 .9em Lato;
}
.sud-race-tag:hover {
background-color: rgba(255, 255, 255, 0.3);
}
.sud-race-tag.selected {
background-color: var(--sud-light);
color: var(--sud-primary);
}
.sud-form-textarea {
width: 100%;
padding: 15px;
background-color: rgba(255, 255, 255, 0.1);
border: 2px solid rgba(255, 255, 255, 0.3);
border-radius: 8px;
color: #fff;
font-family: 'Lato', sans-serif;
font-size: 16px;
resize: vertical;
min-height: 150px;
}
.sud-form-textarea:focus {
outline: none;
border-color: var(--sud-primary-hover) !important;
color: white;
background-color: rgba(255, 255, 255, 0.15);
}
.sud-form-textarea::placeholder {
color: rgba(255, 255, 255, 0.5);
}
.sud-skip-option {
display: flex;
align-items: center;
justify-content: center;
text-align: center;
margin-top: 15px;
gap: 20px;
}
.sud-skip-link, .sud-skip-all-link {
color: rgba(255, 255, 255, 0.6);
text-decoration: none;
font-size: 14px;
transition: color 0.3s ease;
}
.sud-skip-link:hover, .sud-skip-all-link:hover {
color: #fff;
text-decoration: underline;
}
.sud-success-alert {
background-color: var(--sud-primary-hover) !important;
color: #fff;
padding: 15px;
border-radius: 4px;
margin-bottom: 20px;
font-size: 0.95rem;
line-height: 1.5;
}
.sud-success-alert a {
color: #fff;
text-decoration: underline;
font-weight: 600;
}
.sud-success-alert a:hover {
color: #0f3e19;
}
.toast-container {
position: fixed;
bottom: 20px;
right: 20px;
z-index: 9999999999;
width: 350px;
display: flex;
flex-direction: column;
gap: 15px;
pointer-events: none;
}
.toast-notification {
background-color: var(--sud-card-bg);
color: var(--sud-text-primary);
border: 1px solid var(--sud-border);
border-radius: 10px;
box-shadow: var(--shadow-xl);
display: flex;
align-items: flex-start;
padding: 15px;
width: 100%;
max-width: 350px;
transform: translateX(100%);
opacity: 0;
transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.3s ease-out;
pointer-events: auto;
overflow: hidden;
}
.toast-notification.show {
transform: translateX(0);
opacity: 1;
}
.message-toast-notification {
display: flex;
flex-direction: column;
padding: 0;
cursor: pointer;
transition: background-color 0.2s ease, transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), opacity 0.3s ease-out;
}
.message-toast-notification:hover {
background-color: var(--sud-secondary-bg-hover);
}
.message-toast-notification .toast-header {
display: flex;
background-color: var(--primary-color-light);
align-items: center;
padding: 12px 15px;
width: 100%;
position: relative;
}
.message-toast-notification .toast-header img {
width: 40px;
height: 40px;
border-radius: 50%;
margin-right: 12px;
object-fit: cover;
flex-shrink: 0;
}
.message-toast-notification .toast-title {
font-weight: 600;
font-size: 0.95em;
color: var(--sud-text-primary) !important;
margin: 0;
flex-grow: 1;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
line-height: 1.3;
}
.toast-notification .toast-close {
position: absolute;
top: 8px;
right: 10px;
background: none;
border: none;
font-size: 22px;
font-weight: bold;
color: var(--sud-text-muted);
cursor: pointer;
padding: 0 5px;
line-height: 1;
opacity: 0.7;
transition: opacity 0.2s, color 0.2s;
z-index: 2;
}
.toast-notification .toast-close:hover {
opacity: 1;
color: var(--sud-text-secondary);
}
.message-toast-notification .toast-close {
top: 10px;
right: 12px;
}
.message-toast-notification .toast-body {
padding: 0px 15px 15px 15px;
width: 100%;
}
.message-toast-notification .toast-message {
font-size: 0.9em;
font-weight: 500;
color: var(--sud-text-secondary) !important;
line-height: 1.5;
margin-bottom: 12px;
white-space: normal;
word-wrap: break-word;
}
.message-toast-notification .toast-actions {
text-align: right;
}
.message-toast-notification .toast-btn {
background-color: var(--primary-color);
color: white;
border: none;
padding: 6px 15px;
font-size: 0.85em;
font-weight: 600;
border-radius: 20px;
cursor: pointer;
transition: background-color 0.2s;
}
.message-toast-notification .toast-btn:hover {
background-color: var(--primary-hover);
}
.toast-notification:not(.message-toast-notification) .toast-icon {
font-size: 1.8em;
margin-right: 15px;
line-height: 1;
flex-shrink: 0;
width: 30px;
text-align: center;
}
.toast-notification.info:not(.message-toast-notification) .toast-icon {
color: var(--sud-info);
}
.toast-notification.success:not(.message-toast-notification) .toast-icon {
color: var(--sud-success);
}
.toast-notification.error:not(.message-toast-notification) .toast-icon {
color: var(--sud-danger);
}
.toast-notification.warning:not(.message-toast-notification) .toast-icon {
color: var(--sud-warning);
}
.toast-notification:not(.message-toast-notification) .toast-content {
flex-grow: 1;
}
.toast-notification:not(.message-toast-notification) .toast-title {
font-weight: bold;
margin-bottom: 5px;
color: var(--sud-text-primary) !important;
}
.toast-notification:not(.message-toast-notification) .toast-message {
font-size: 0.9em;
color: var(--sud-text-secondary) !important;
line-height: 1.4;
}
[title] {
position: relative;
}
.sud-dynamic-tooltip {
position: fixed;
z-index: 10000;
background-color: rgba(0, 0, 0, 0.85);
color: #fff;
padding: 6px 12px;
border-radius: 5px;
font-size: 13px;
font-family: var(--font-family);
line-height: 1.4;
white-space: nowrap;
opacity: 0;
transition: opacity 0.2s ease-in-out;
pointer-events: none;
}
.loading-spinner {
text-align: center;
padding: 20px;
color: #999 !important;
font-size: 24px;
}
.empty-notifications {
padding: 30px 15px;
text-align: center;
}
.empty-notifications .empty-icon {
font-size: 40px;
color: #ddd !important;
margin-bottom: 10px;
}
.empty-notifications p,
.notification-footer a {
color: #888 !important;
margin: 0;
}
.notification-footer a:hover {
color: var(--sud-primary) !important;
text-decoration: underline;
}
.sud-forgot-password-text {
color: var(--text-color);
font-size: 0.95rem;
margin-bottom: 20px;
text-align: center;
line-height: 1.5;
}
.sud-back-to-login {
text-align: center;
margin: 15px 0;
}
.sud-back-login-link {
color: var(--text-color);
text-decoration: none;
font-size: 1rem;
transition: color 0.3s ease;
}
.sud-back-login-link:hover {
color: var(--primary-color);
text-decoration: underline;
}
.sud-password-requirements {
background-color: rgba(255, 255, 255, 0.1);
border-radius: 8px;
padding: 15px;
margin: 15px 0 20px;
font-size: 0.9rem;
}
.sud-password-requirements p {
margin-bottom: 8px;
color: var(--text-color);
font-weight: 600;
}
.sud-password-requirements ul {
margin: 0;
padding-left: 20px;
}
.sud-password-requirements li {
margin-bottom: 5px;
color: rgba(255, 255, 255, 0.8);
}
.sud-logout-message {
text-align: center;
margin: 20px 0;
color: var(--text-color);
line-height: 1.6;
}
.sud-login-options {
display: flex;
flex-direction: column;
gap: 15px;
margin-top: 15px;
}
.sud-home-btn {
display: inline-block;
background-color: rgba(255, 255, 255, 0.2);
color: white !important;
padding: 13px 30px !important;
border: none !important;
border-radius: 30px !important;
text-align: center;
text-decoration: none;
font-size: 1rem !important;
transition: background-color 0.3s ease;
}
.sud-home-btn:hover {
background-color: rgba(255, 255, 255, 0.3);
}
.sud-location-prompt {
display: none;
position: sticky;
top: 0;
left: 0;
width: 100%;
background-color: var(--primary-color-dark);
color: #fff;
padding: 8px 15px;
z-index: 1050;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
align-items: center;
justify-content: center;
text-align: center;
font-size: 0.9em;
}
.sud-location-prompt-content {
display: flex;
align-items: center;
gap: 15px;
}
.sud-location-prompt-text i {
margin-right: 8px;
color: var(--secondary-color);
}
.sud-button.sud-button-small {
padding: 5px 10px;
font-size: 0.85em;
}
.sud-location-prompt-close {
background: none;
border: none;
color: #fff;
font-size: 1.5em;
line-height: 1;
opacity: 0.7;
cursor: pointer;
padding: 0 5px;
margin-left: auto;
}
.sud-location-prompt-close:hover {
opacity: 1;
}
.sud-location-status {
margin-bottom: 15px;
padding: 10px;
border-radius: 4px;
background-color: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.2);
}
.sud-location-status p {
margin: 0 0 5px 0;
font-size: 0.9em;
color: rgba(255, 255, 255, 0.85);
}
.sud-location-status p:last-child {
margin-bottom: 0;
}
.sud-location-status strong {
color: var(--primary-color);
font-weight: 600;
}
.sud-location-status small {
color: rgba(255, 255, 255, 0.6);
font-size: 0.85em;
}
#location-message {
font-weight: 600;
margin-top: 5px;
font-size: 0.9em;
min-height: 1.2em;
display: block;
}
.sud-location-message-info {
color: var(--sud-primary-hover) !important;
}
.sud-location-message-success {
color: #a3d9a5;
}
.sud-location-message-error {
color: #ff8a8a;
display: block !important;
}
.sud-form-divider {
text-align: center;
margin: 25px 0;
color: rgba(255, 255, 255, 0.5);
font-weight: bold;
font-size: 0.8em;
text-transform: uppercase;
position: relative;
width: 100%;
}
.sud-form-divider::before,
.sud-form-divider::after {
content: '';
position: absolute;
top: 50%;
width: calc(50% - 70px);
height: 1px;
background-color: rgba(255, 255, 255, 0.3);
}
.sud-form-divider::before {
left: 0;
}
.sud-form-divider::after {
right: 0;
}
.sud-form-divider span {
background-color: transparent;
padding: 0 10px;
position: relative;
z-index: 1;
}
.sud-form-section-title {
margin-top: 25px;
margin-bottom: 15px;
font-size: 1.1em;
color: rgba(255, 255, 255, 0.9);
font-weight: 600;
padding-bottom: 5px;
text-align: center;
}
.sud-step-subheading {
margin-top: 15px;
margin-bottom: 10px;
font-size: 1.1em;
color: var(--sud-text-secondary);
}
.sud-button {
display: inline-block;
padding: 10px 15px;
border: none;
border-radius: var(--button-border-radius);
cursor: pointer;
font-family: var(--font-family);
font-size: 1rem;
font-weight: 600;
text-align: center;
transition: background-color 0.3s ease, opacity 0.3s ease;
text-decoration: none;
}
.sud-button.sud-button-primary {
background-color: var(--primary-color);
border-color: var(--primary-color);
color: white !important;
}
.sud-button.sud-button-primary:hover {
background-color: var(--primary-hover);
border-color: var(--primary-hover);
}
.sud-button:disabled {
background-color: rgba(255, 255, 255, 0.3);
border-color: rgba(255, 255, 255, 0.3);
color: rgba(255, 255, 255, 0.6) !important;
cursor: not-allowed;
opacity: 0.7;
}
.sud-button.sud-button-fullwidth {
display: block;
width: 100%;
margin-bottom: 15px;
}
.sud-button i {
margin-right: 8px;
}
.sud-location-layout-container {
display: flex;
flex-wrap: wrap;
gap: 30px;
margin-top: 15px;
margin-bottom: 20px;
align-items: flex-start;
}
.sud-location-column {
flex: 1;
min-width: 250px;
}
.sud-location-manual-entry .sud-form-divider {
margin-top: 0;
margin-bottom: 25px;
}
.sud-location-layout-container .sud-button.sud-button-fullwidth {
width: auto;
display: inline-flex;
align-items: center;
justify-content: center;
padding-left: 20px;
padding-right: 20px;
margin-bottom: 0;
}
.sud-hidden {
display: none !important;
}
#specific-ethnicity-ui.sud-hidden .sud-dropdown-container,
#specific-ethnicity-ui.sud-hidden .sud-selected-tags,
#specific-ethnicity-ui.sud-hidden .sud-dropdown-hint {
opacity: 0.5;
pointer-events: none;
}
.btn-danger {
display: inline-block;
padding: 13px 30px !important;
margin: 10px 0;
border: none !important;
border-radius: 30px !important;
cursor: pointer;
font-size: 1rem !important;
text-align: center;
text-decoration: none;
transition: background-color 0.3s ease, border-color 0.3s ease, opacity 0.3s ease;
}
.premium-plan.highlighted-plan {
border: 3px solid var(--sud-primary-hover) !important;	 
box-shadow: 0 0 15px rgba(179, 170, 70, 0.5);
transform: scale(1.02);
}
.premium-container {
max-width: 1200px;
margin: 20px auto;
padding: 20px;
}
.btn {
display: inline-block;
padding: 12px 24px;
border-radius: var(--button-border-radius, 8px);
font-weight: 600;
text-align: center;
cursor: pointer;
transition: all 0.2s ease-in-out;
border: 1px solid transparent;
font-size: 1rem;
line-height: 1.5;
text-decoration: none;
}
.btn-primary {
background-color: var(--sud-primary);
color: var(--sud-white, #fff);
border-color: var(--sud-primary);
}
.btn-primary:hover {
background-color: var(--sud-primary-hover);
border-color: var(--sud-primary-hover);
color: var(--sud-white, #fff) !important;
transform: translateY(-2px);
box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}
.btn-secondary {
background-color: var(--sud-secondary-bg, #f0f0f0);
color: var(--sud-secondary-text, #333);
border-color: var(--sud-secondary-border, #ccc);
}
.btn-secondary:hover {
background-color: var(--sud-secondary-bg-hover, #e0e0e0);
color: var(--sud-secondary-text-hover, #111);
border-color: var(--sud-secondary-border-hover, #bbb);
transform: translateY(-2px);
box-shadow: 0 4px 8px rgba(0,0,0,0.05);
}
a.btn-secondary:hover {
color: var(--sud-secondary-text-hover, #111);
text-decoration: none;
}
.btn-outline-secondary {
background-color: transparent;
color: var(--sud-secondary-text, #555);
border-color: var(--sud-secondary-border, #ccc);
}
.btn-outline-secondary:hover {
background-color: var(--sud-secondary-bg, #f0f0f0); color: var(--sud-secondary-text-hover, #333);
border-color: var(--sud-secondary-border-hover, #bbb);
}
.alert.alert-danger {
color: #721c24;
background-color: rgba(248, 215, 218, 0.9);
border-color: #f5c6cb;
padding: 15px;
margin-bottom: 20px;
border: 1px solid transparent;
border-radius: 4px;
font-size: 0.95em;
text-align: left;
}
.alert.alert-danger strong {
font-weight: bold;
color: #ff8d98;
}
.btn-danger {
background-color: #dc3545 !important;
border-color: #dc3545 !important;
color: white !important;
}
.btn-danger:hover {
background-color: #c82333 !important;
color: white !important;
border-color: #bd2130 !important;
}
.sud-back-to-login a.sud-back-login-link {
display: inline-block;
margin-top: 15px;
}
.sud-back-to-login a.sud-back-login-link:hover {
text-decoration: underline;
}
.sud-location-status-message { font-size: 0.85em; margin-top: 8px; min-height: 1.2em; font-weight: 600; text-align: left; display: block; color: rgba(255, 255, 255, 0.7); }
.sud-location-message-info { color: var(--sud-info); }
.sud-location-message-success { color: var(--sud-success); }
.sud-location-message-error { color: var(--sud-danger); display: block !important; }
.sud-support-note { font-size: 0.8em; opacity: 0.7; margin-top: 15px; text-align: center;}
.sud-support-note a { color: inherit !important; text-decoration: underline !important; }
.google-location-error { display: none; }
.sud-location-error-general { display: none; }
.sud-location-error-general[style*="block"] { display: block !important; }
.pac-container {
background-color: var(--sud-surface) !important;
border-radius: 8px !important;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
border: none !important;
font-family: var(--font-family) !important;
z-index: 1050 !important;
margin-top: 4px;
}
.pac-item {
padding: 10px 15px !important;
font-size: 15px !important;
color: #FFFFFF !important;
background-color: var(--sud-surface) !important;
border: none !important;
cursor: pointer;
transition: background-color 0.2s ease;
}
.pac-item:hover {
background-color: var(--sud-primary-light) !important;
color: #FFFFFF !important;
}
.pac-item-selected {
background-color: var(--sud-primary-medium) !important;
color: #FFFFFF !important;
}
.pac-item-query {
font-size: 15px !important;
color: #FFFFFF !important;
font-weight: 600;
}
.pac-matched {
font-weight: 700 !important;
color: #FF66CC !important;
}
.pac-item span {
font-size: 14px !important;
color: #CCCCCC !important;
}
.pac-icon {
background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%236c757d" width="18px" height="18px"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"/></svg>') !important;
background-size: contain;
background-repeat: no-repeat;
background-position: center;
width: 18px !important;
height: 18px !important;
margin-top: 3px !important;
margin-right: 10px !important;
}
.pac-logo {
padding: 8px 15px !important;
background-color: #f8f9fa;
border-top: 1px solid var(--sud-border) !important;
border-bottom-left-radius: 8px;
border-bottom-right-radius: 8px;
}
.hdpi.pac-logo::after, .pac-logo::after {
margin: 0 auto !important;
right: auto !important;
} .ui-datepicker {
background-color: var(--sud-surface) !important;
border: 1px solid var(--sud-border) !important;
border-radius: 12px !important;
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3) !important;
font-family: var(--font-family) !important;
font-size: 14px !important;
padding: 15px !important;
width: 280px !important;
z-index: 1100 !important;
}
.ui-datepicker .ui-datepicker-header {
background: transparent !important;
border: none !important;
color: #FFFFFF !important;
font-weight: 600 !important;
padding: 8px 0 15px !important;
text-align: center !important;
position: relative;
}
.ui-datepicker .ui-datepicker-title {
color: #FFFFFF !important;
font-size: 16px !important;
font-weight: 600 !important;
margin: 0 !important;
}
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
background: var(--sud-primary) !important;
border: none !important;
border-radius: 6px !important;
color: #FFFFFF !important;
cursor: pointer !important;
height: 28px !important;
width: 28px !important;
top: 45% !important;
transform: translateY(-50%);
text-align: center !important;
line-height: 26px !important;
transition: background-color 0.2s ease !important;
}
.ui-datepicker .ui-datepicker-prev:hover,
.ui-datepicker .ui-datepicker-next:hover {
background: var(--sud-primary-hover) !important;
}
.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
display: block !important;
font-size: 12px !important;
color: #FFFFFF !important;
text-indent: 0 !important;
}
.ui-datepicker .ui-datepicker-prev span::before {
content: "‹" !important;
}
.ui-datepicker .ui-datepicker-next span::before {
content: "›" !important;
}
.ui-datepicker table {
background: transparent !important;
border: none !important;
width: 100% !important;
margin: 0 !important;
}
.ui-datepicker th {
background: transparent !important;
border: none !important;
color: var(--sud-text-secondary) !important;
font-size: 12px !important;
font-weight: 500 !important;
padding: 8px 4px !important;
text-align: center !important;
text-transform: uppercase !important;
letter-spacing: 0.5px !important;
}
.ui-datepicker td {
background: transparent !important;
border: none !important;
padding: 2px !important;
text-align: center !important;
}
.ui-datepicker td a,
.ui-datepicker td span {
background: transparent !important;
border: 1px solid transparent !important;
border-radius: 6px !important;
color: #FFFFFF !important;
cursor: pointer !important;
display: block !important;
font-size: 13px !important;
font-weight: 400 !important;
line-height: 30px !important;
text-align: center !important;
text-decoration: none !important;
transition: all 0.2s ease !important;
width: 32px !important;
margin: 0 auto !important;
}
.ui-datepicker td a:hover {
background: var(--sud-primary-light) !important;
border-color: var(--sud-primary) !important;
color: #FFFFFF !important;
}
.ui-datepicker td.ui-datepicker-today a {
background: var(--sud-primary-medium) !important;
border-color: var(--sud-primary) !important;
color: #FFFFFF !important;
font-weight: 600 !important;
}
.ui-datepicker td.ui-datepicker-current-day a,
.ui-datepicker td a.ui-state-active {
background: var(--sud-primary) !important;
border-color: var(--sud-primary) !important;
color: #FFFFFF !important;
font-weight: 600 !important;
}
.ui-datepicker td.ui-datepicker-other-month a {
color: var(--sud-text-disabled) !important;
opacity: 0.5 !important;
}
.ui-datepicker td.ui-datepicker-unselectable span {
color: var(--sud-text-disabled) !important;
cursor: default !important;
opacity: 0.3 !important;
}
.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
background: var(--sud-bg-tertiary) !important;
border: 1px solid var(--sud-border) !important;
border-radius: 6px !important;
color: #FFFFFF !important;
font-size: 13px !important;
margin: 0 2px !important;
padding: 4px 6px !important;
}
.ui-datepicker select.ui-datepicker-month:focus,
.ui-datepicker select.ui-datepicker-year:focus {
border-color: var(--sud-primary) !important;
outline: none !important;
} .ui-datepicker {
z-index: 1100 !important;
} .ui-datepicker .ui-icon {
background-image: none !important;
text-indent: 0 !important;
} .ui-datepicker .ui-datepicker-buttonpane {
background: transparent !important;
border: none !important;
margin: 10px 0 0 !important;
padding: 8px 0 0 !important;
border-top: 1px solid var(--sud-border) !important;
}
.ui-datepicker .ui-datepicker-buttonpane button {
background: var(--sud-primary) !important;
border: none !important;
border-radius: 6px !important;
color: #FFFFFF !important;
cursor: pointer !important;
font-size: 12px !important;
margin: 0 5px !important;
padding: 6px 12px !important;
transition: background-color 0.2s ease !important;
}
.ui-datepicker .ui-datepicker-buttonpane button:hover {
background: var(--sud-primary-hover) !important;
}
@keyframes fadeInDown {
from {
opacity: 0;
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@media (max-width: 860px) {
.sud-instruction-box {
width: 100%;
height: auto;
min-height: 60px;
position: sticky;
top: -5px;
background: rgba(0, 0, 0, 0.8);
}
}
@media (min-width: 769px) {
.mobile-menu-toggle, 
.mobile-menu-close {
display: none !important;
}
.sud-mobile-navigation {
display: none;
}
.sud-mobile-nav-container {
display: none !important;
}
.sud-step-navigation {
display: flex !important;
flex-direction: column;
align-items: center;
padding: 15px;
padding-bottom: 30px;
margin-top: 5px;
}
.sud-skip-options {
display: flex;
gap: 15px;
align-items: center;
}
}
@media (max-width: 768px) {
body.profile-details-page .sud-join-content {
min-height: calc(100vh - 80px);
}
body.profile-details-page .sud-steps-content {
max-height: calc(100vh - 220px);
padding: 5px 20px 20px;
}
body.profile-details-page .sud-step-indicators {
padding: 30px 20px 15px;
}
body.profile-details-page .sud-step-dot {
width: 34px;
height: 34px;
}
body.profile-details-page .sud-mobile-navigation {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px;
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
}
.sud-join-image {
background-image: url(//swipeupdaddy.com/sud/assets/img/bg2.jpg);
}
.sud-tagline {
font-size: 20px;
}
.sud-steps-content {
padding-bottom: 120px !important;
}
.sud-step-navigation:not(.sud-mobile-navigation) {
display: none;
}
.desktop-btn,
button.desktop-btn {
display: none !important;
}
.sud-mobile-navigation {
display: flex !important;
}
.sud-mobile-nav-container {
display: flex;
flex-direction: column;
gap: 10px;
position: fixed;
bottom: 0;
left: 0;
width: 100%;
background-color: rgba(0, 0, 0, 0.7);
padding: 10px 15px;
z-index: 100;
backdrop-filter: blur(5px);
-webkit-backdrop-filter: blur(5px);
}
.sud-multi-step-container {
justify-content: normal;
}
.sud-mobile-navigation .sud-next-btn[disabled] {
opacity: 0.6;
background-color: rgba(255, 255, 255, 0.2) !important;
color: rgba(255, 255, 255, 0.7) !important;
}
.sud-join-content {
min-height: calc(100vh - 64px);
height: auto;
}
.sud-join-form-container {
width: 100%;
padding: 10px 30px;
}
.sud-looking-for-card {
width: 100%;
}
.sud-option-buttons{
flex-direction: column;
}
.sud-option-button {
width: auto;
}
.sud-location-layout-container {
flex-direction: column;
gap: 20px;
}
.sud-location-column {
min-width: 100%;
}
.sud-location-layout-container .sud-button.sud-button-fullwidth {
width: 100%;
margin-bottom: 15px;
}
.sud-location-manual-entry .sud-form-divider {
margin-top: 10px;
}
.sud-step-heading {
font-size: 1.7rem;
}
.sud-term-tag {
font-size: 0.8rem;
padding: 8px 12px;
}
.sud-step-description {
font-size: 0.9rem;
}
.sud-option-button.annual-income-option,
.sud-option-button.net-worth-option,
.sud-option-button.dating-budget-option,
.sud-option-button.relationship-status-option,
.sud-option-button.dating-style-option,
.sud-option-button.ethnicity-option,
.sud-option-button.race-option,
.sud-option-button.smoke-option,
.sud-option-button.drink-option,
.sud-option-button.looking-for-option {
font-size: 15px;
padding: 12px 15px;
}
.sud-mobile-navigation {
display: block;
}
.desktop-btn {
display: none;
}
.sud-instruction-box {
margin-bottom: 10px;
}
.sud-step-content {
max-height: 90%;
}
.sud-terms-grid {
justify-content: flex-start !important;
}
.sud-steps-content {
height: 80vh !important;
}
.sud-step-dots {
justify-content: flex-start;
}
.sud-step-dot {
width: 30px;
height: 30px;
font-size: 14px;
}
.sud-skip-option {
margin-top: 0;
margin-bottom: 0;
}
.join-header {
padding: 10px 20px;
}
.logo img {
height: 30px;
}
.mobile-menu-toggle {
display: block;
}
.nav-links {
display: flex;
flex-direction: column;
padding: 60px 20px 20px;
background-color: #111;
position: fixed;
top: 0;
right: -100%;
width: 100%;
height: 100vh;
z-index: 998;
transition: right 0.3s ease;
}
.auth-buttons .login-link,
.auth-buttons .join-link {
flex: 1;
text-align: center;
justify-content: center;
padding: 10px !important;
border-radius: 8px;
margin: 0;
}
.auth-buttons a i {
margin-right: 8px;
}
.auth-buttons a span {
display: inline-block !important;
}
.auth-buttons .login-link {
background-color: rgba(255, 255, 255, 0.15);
color: white !important;
}
.auth-buttons .login-link:hover {
background-color: rgba(255, 255, 255, 0.25);
}
.auth-buttons .join-link {
background-color: var(--primary-color);
}
.auth-buttons .join-link:hover {
background-color: var(--primary-hover);
}
.nav-links.active {
right: 0;
}
.nav-links a {
width: 100%;
padding: 10px 0;
}
.nav-links a:not(.user-profile-link) span {
display: inline;
}
.mobile-menu-close {
position: absolute;
top: 20px;
right: 20px;
background: none;
border: none;
color: white;
font-size: 24px;
cursor: pointer;
}
.user-dropdown {
padding-bottom: 20px;
width: 100%;
order: 0;
}
.user-profile-link {
display: flex;
align-items: center;
width: 100%;
padding: 0 !important;
}
.profile-mini {
width: 50px;
height: 50px;
margin-right: 15px;
}
.user-dropdown .dropdown-toggle {
display: none !important;
}
.user-dropdown-menu {
position: static !important;
width: 100%;
margin: 5px 0 0 0 !important;
padding: 0 !important;
box-shadow: none !important;
opacity: 1 !important;
visibility: visible !important;
transform: none !important;
display: block !important;
background-color: transparent !important;
}
.user-dropdown.active .user-dropdown-menu {
display: block;
}
.nav-links.active .mobile-menu-close {
display: block;
}
.user-dropdown-menu,
.user-dropdown.active .user-dropdown-menu,
.dropdown-content {
display: none !important;
}
.nav-links .edit-profile-link,
.nav-links .settings-link,
.nav-links .logout-link {
display: flex;
align-items: center;
padding: 15px 0;
color: white;
text-decoration: none;
font-weight: 500;
width: 100%;
}
.nav-links a i {
width: 24px;
margin-right: 15px;
text-align: center;
}
.nav-links a:hover {
color: var(--primary-color) !important;
}
.user-dropdown-menu,
.user-dropdown.active .user-dropdown-menu {
transition: none !important;
}
.nav-links a,
.user-dropdown-menu a {
width: 100%;
padding: 12px 0 15px;
border-radius: 6px;
font-size: 16px;
transition: background-color 0.2s;
}
.nav-links a:hover,
.user-dropdown-menu a:hover {
background-color: rgba(255, 255, 255, 0.1);
}
.nav-links a span {
display: inline-block !important;
}
a.join-link {
width: auto;
}
.sud-income-selector {
margin: 30px auto;
}
.sud-income-arrows {
right: -40px;
}
.dashboard-link,
.messages-link {
font-size: 0.9rem;
}
.sud-net-worth-options,
.sud-dating-budget-options,
.sud-relationship-status-options {
margin: 20px auto;
}
.sud-option-button.net-worth-option,
.sud-option-button.dating-budget-option,
.sud-option-button.relationship-status-option {
font-size: 16px;
padding: 10px 15px;
}
.sud-login-divider::before,
.sud-login-divider::after {
width: 25%;
}
}
@media (max-width: 576px) {
.sud-success-popup-content {
padding: 20px;
}
#lottie-container {
width: 100px;
height: 100px;
}
.sud-success-popup-content h3 {
font-size: 20px;
}
.nav-links {
margin-top: 10px;
width: 100%;
}
.nav-links a {
margin-left: 15px;
font-size: 0.9rem;
}
.ui-datepicker {
width: 280px !important;
left: 50% !important;
transform: translateX(-50%) !important;
}
.ui-datepicker td a,
.ui-datepicker td span {
width: 32px;
height: 32px;
padding: 6px 0;
}
.sud-welcome-heading {
font-size: 2rem;
}
.sud-welcome-text,
.sud-welcome-description {
font-size: 1rem;
}
}
@media (max-width: 480px) {
.join-header {
padding: 8px 15px;
}
.nav-links {
padding-top: 60px;
}
.sud-join-content {
min-height: calc(100vh - 50px);
height: auto;
}
}
@media (max-width: 360px) {
.auth-buttons .login-link span,
.auth-buttons .join-link span {
font-size: 14px;
}
} #message-modal .sud-modal-content {
max-width: 450px;
text-align: center; animation: fadeInUp 0.4s ease-out both;
}
#message-modal #message-modal-title {
font-size: 1.6em;
font-weight: 700;
color: var(--sud-text-primary, #333);
margin-bottom: 15px;
}
#message-modal #message-modal-body p {
font-size: 1em;
color: var(--sud-text-secondary);
line-height: 1.6;
margin-bottom: 20px;
}
#message-modal .modal-actions {
display: flex;
justify-content: center;
gap: 10px;
}
#message-modal .modal-actions .btn {
min-width: 100px;
}   #role-modal .sud-modal-content {
max-width: 520px;
padding: 30px;
}
#role-modal h3 {
font-size: 1.8em;
font-weight: 700;
color: var(--sud-text-primary, #333);
margin-top: 0;
margin-bottom: 25px;
}
#role-modal .sud-role-option {
margin-bottom: 20px;
border: 1px solid var(--sud-border);
border-radius: 8px;
transition: border-color 0.2s ease, box-shadow 0.2s ease;
background-color: var(--sud-surface);
position: relative;
overflow: hidden;
min-height: 110px;
}
#role-modal .sud-role-option:hover {
border-color: var(--sud-primary);
box-shadow: var(--shadow-md);
}
#role-modal .sud-role-option input[type="radio"] {
display: none !important;
position: absolute !important;
left: -9999px !important;
width: 0 !important;
height: 0 !important;
margin: 0 !important;
padding: 0 !important;
opacity: 0 !important;
}
#role-modal .sud-role-option label {
display: block;
padding: 0;
cursor: pointer;
text-align: left;
color: white !important;
background-color: transparent;
border: none;
width: 100%;
box-sizing: border-box;
position: relative;
}
#role-modal .sud-role-content {
padding: 20px;
}
#role-modal .sud-role-option input[type="radio"]:checked + label {
background-color: var(--sud-primary-light);
}
#role-modal .sud-role-option input[type="radio"]:checked + label .sud-role-content {
border-left: 4px solid var(--sud-primary);
padding-left: 16px;
}
#role-modal .sud-role-title {
font-size: 1.2em;
font-weight: 600;
color: white !important;
margin-bottom: 10px;
margin-top: 0;
line-height: 1.3;
word-wrap: break-word;
overflow-wrap: break-word;
}
#role-modal .sud-role-subtitle {
font-size: 0.9em;
color: white !important;
font-weight: 500;
margin-bottom: 12px;
margin-top: 0;
line-height: 1.2;
word-wrap: break-word;
overflow-wrap: break-word;
}
#role-modal .sud-role-description {
font-size: 0.95em;
color: white !important;
line-height: 1.5;
margin-top: 0;
margin-bottom: 0;
word-wrap: break-word;
overflow-wrap: break-word;
flex-grow: 1;
}
#role-modal .sud-modal-error-message {
color: var(--sud-danger, #dc3545);
font-size: 0.9em;
margin: 15px 0;
text-align: center;
}
#role-modal .sud-role-content-container {
margin-bottom: 20px;
}
#role-modal .sud-role-content-container h3 {
margin-top: 0;
margin-bottom: 20px;
color: white !important;
text-align: center;
}
#role-modal .sud-modal-continue {
width: 100%;
padding: 12px;
font-size: 1.1em;
margin-top: 15px;
} #looking-for-modal .sud-modal-content {
max-width: 520px;
padding: 30px;
text-align: left;
}
#looking-for-modal h3 {
font-size: 1.8em;
font-weight: 700;
color: white !important;
margin-top: 0;
margin-bottom: 20px;
text-align: center;
}
#looking-for-modal .sud-looking-for-option {
margin-bottom: 20px;
border: 1px solid var(--sud-border);
border-radius: 8px;
transition: border-color 0.2s ease, box-shadow 0.2s ease;
background-color: var(--sud-surface);
position: relative;
overflow: hidden;
min-height: 110px;
}
#looking-for-modal .sud-looking-for-option:hover {
border-color: var(--sud-primary);
box-shadow: var(--shadow-md);
}
#looking-for-modal .sud-looking-for-option input[type="radio"] {
display: none !important;
position: absolute !important;
left: -9999px !important;
width: 0 !important;
height: 0 !important;
margin: 0 !important;
padding: 0 !important;
opacity: 0 !important;
}
#looking-for-modal .sud-looking-for-option label {
display: block;
padding: 0;
cursor: pointer;
text-align: left;
color: white !important;
background-color: transparent;
border: none;
width: 100%;
box-sizing: border-box;
position: relative;
}
#looking-for-modal .sud-looking-for-content {
padding: 20px;
}
#looking-for-modal .sud-looking-for-option input[type="radio"]:checked + label {
background-color: var(--sud-primary-light);
}
#looking-for-modal .sud-looking-for-option input[type="radio"]:checked + label .sud-looking-for-content {
border-left: 4px solid var(--sud-primary);
padding-left: 16px;
}
#looking-for-modal .sud-looking-for-title {
font-size: 1.2em;
font-weight: 600;
color: white !important;
margin-bottom: 10px;
margin-top: 0;
line-height: 1.3;
word-wrap: break-word;
overflow-wrap: break-word;
}
#looking-for-modal .sud-looking-for-subtitle {
font-size: 0.9em;
color: white !important;
font-weight: 500;
margin-bottom: 12px;
margin-top: 0;
line-height: 1.2;
word-wrap: break-word;
overflow-wrap: break-word;
}
#looking-for-modal .sud-looking-for-description {
font-size: 0.95em;
color: white !important;
line-height: 1.5;
margin-top: 0;
margin-bottom: 0;
word-wrap: break-word;
overflow-wrap: break-word;
}
#looking-for-modal .sud-modal-continue {
width: 100%;
padding: 12px;
font-size: 1.1em;
margin-top: 10px;
} .sud-modal-options-container {
margin-bottom: 20px;
}
.sud-modal-options-container h3 {
font-size: 1.8em;
font-weight: 700;
color: white !important;
margin-top: 0;
margin-bottom: 25px;
text-align: center;
}
.sud-modal-option {
margin-bottom: 20px;
border: 1px solid var(--sud-border);
border-radius: 8px;
transition: border-color 0.2s ease, box-shadow 0.2s ease;
background-color: var(--sud-surface);
position: relative;
overflow: hidden;
min-height: 110px;
cursor: pointer;
}
.sud-modal-option:hover {
border-color: var(--sud-primary);
box-shadow: var(--shadow-md);
}
.sud-modal-option.sud-active {
background-color: var(--sud-primary-light);
}
.sud-modal-option-content {
padding: 20px;
text-align: left;
}
.sud-modal-option.sud-active .sud-modal-option-content {
border-left: 4px solid var(--sud-primary);
padding-left: 16px;
}
.sud-modal-option-title {
font-size: 1.2em;
font-weight: 600;
color: white !important;
margin-bottom: 10px;
margin-top: 0;
line-height: 1.3;
word-wrap: break-word;
overflow-wrap: break-word;
}
.sud-modal-option-subtitle {
font-size: 0.9em;
color: white !important;
font-weight: 500;
margin-bottom: 12px;
margin-top: 0;
line-height: 1.2;
word-wrap: break-word;
overflow-wrap: break-word;
}
.sud-modal-option-description {
font-size: 0.95em;
color: white !important;
line-height: 1.5;
margin-top: 0;
margin-bottom: 0;
word-wrap: break-word;
overflow-wrap: break-word;
} #role-modal .sud-modal-option-content,
#looking-for-modal .sud-modal-option-content {
text-align: left !important;
} #definition-modal .sud-modal-content {
max-width: 480px;
padding: 30px;
text-align: left;
}
#definition-modal .sud-definition {
margin-bottom: 15px;
padding-bottom: 15px;
}
#definition-modal .sud-definition:last-child {
margin-bottom: 0;
padding-bottom: 0;
border-bottom: none;
}
#definition-modal .sud-definition h4 {
font-size: 1.3em;
font-weight: 600;
color: var(--sud-primary);
margin-top: 0;
margin-bottom: 8px;
}
#definition-modal .sud-definition p {
font-size: 1em;
color: var(--sud-text-secondary);
line-height: 1.6;
margin: 0;
}
.premium-plan.highlighted-plan {
border: 3px solid var(--sud-primary);
box-shadow: 0 0 15px rgba(179, 170, 70, 0.5);
transform: scale(1.02);
} .sud-location-status-message {
font-size: 12px;
margin-top: 5px;
padding: 5px 10px;
border-radius: 4px;
display: block;
transition: all 0.3s ease;
}
.sud-location-message-success {
background: rgba(34, 197, 94, 0.1);
color: #059669;
border: 1px solid rgba(34, 197, 94, 0.2);
}
.sud-location-message-error {
background: rgba(239, 68, 68, 0.1);
color: #dc2626;
border: 1px solid rgba(239, 68, 68, 0.2);
}
.sud-location-message-info {
background: rgba(59, 130, 246, 0.1);
color: #2563eb;
border: 1px solid rgba(59, 130, 246, 0.2);
} .pac-container {
background-color: #1E1E1E !important;
border: 1px solid #404040 !important;
border-radius: 12px !important;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 102, 204, 0.1) !important;
backdrop-filter: blur(10px) !important;
margin-top: 4px !important;
overflow: hidden !important;
z-index: 9999 !important;
}
.pac-container:after {
background-image: none !important;
height: 0px !important;
}
.pac-item {
background-color: #1E1E1E !important;
color: #FFFFFF !important;
border-top: none !important;
padding: 12px 16px !important;
font-size: 14px !important;
line-height: 1.4 !important;
cursor: pointer !important;
transition: all 0.2s ease !important;
border-bottom: 1px solid #2A2A2A !important;
}
.pac-item:hover,
.pac-item-selected {
background-color: #2A2A2A !important;
color: #FFFFFF !important;
border-left: 3px solid #FF66CC !important;
padding-left: 13px !important;
transform: translateX(2px) !important;
box-shadow: inset 3px 0 0 #FF66CC !important;
}
.pac-item:last-child {
border-bottom: none !important;
}
.pac-item-query {
color: #FFFFFF !important;
font-weight: 500 !important;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}
.pac-matched {
color: #FF66CC !important;
font-weight: 600 !important;
background-color: rgba(255, 102, 204, 0.15) !important;
padding: 2px 4px !important;
border-radius: 4px !important;
text-shadow: 0 0 8px rgba(255, 102, 204, 0.3) !important;
}
.pac-item .pac-icon {
background-image: none !important;
background-color: var(--sud-primary) !important;
mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='currentColor'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/%3E%3C/svg%3E") !important;
mask-size: 16px 16px !important;
mask-repeat: no-repeat !important;
mask-position: center !important;
width: 20px !important;
height: 20px !important;
margin-top: 2px !important;
margin-right: 12px !important;
border-radius: 50% !important;
opacity: 0.8 !important;
}
.pac-item:hover .pac-icon,
.pac-item-selected .pac-icon {
opacity: 1 !important;
transform: scale(1.1) !important;
} .pac-container::-webkit-scrollbar {
width: 6px !important;
}
.pac-container::-webkit-scrollbar-track {
background: var(--sud-bg-secondary) !important;
border-radius: 3px !important;
}
.pac-container::-webkit-scrollbar-thumb {
background: var(--sud-border-medium) !important;
border-radius: 3px !important;
}
.pac-container::-webkit-scrollbar-thumb:hover {
background: var(--sud-primary) !important;
} .pac-container {
animation: fadeInScale 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
@keyframes fadeInScale {
from {
opacity: 0;
transform: translateY(-10px) scale(0.95);
}
to {
opacity: 1;
transform: translateY(0) scale(1);
}
} .pac-item:focus,
.pac-item[aria-selected="true"] {
outline: 2px solid var(--sud-primary) !important;
outline-offset: -2px !important;
} @media (max-width: 480px) {
.pac-container {
margin-left: 0 !important;
margin-right: 0 !important;
left: 10px !important;
right: 10px !important;
width: auto !important;
border-radius: 8px !important;
}
.pac-item {
padding: 14px 16px !important;
font-size: 15px !important;
}
.pac-icon {
margin-right: 14px !important;
}
}
.btn-trial {
display: inline-block;
padding: 0.9rem 2.5rem;
border-radius: 9999px;
width: 100%;
font-weight: 600;
font-size: 14px;
cursor: pointer;
text-align: center;
text-decoration: none;
border: none;
transition: background 0.2s, transform 0.15s, border-color 0.2s, color 0.2s;
margin-bottom: 8px;
} .btn-trial-solid {
background: white;
color: black;
border: none;
}
.btn-trial-solid:hover {
color: var(--sud-primary-hover);
transform: translateY(-2px);
}
.btn-trial-solid:active {
background: var(--sud-primary-dark);
transform: translateY(0);
} .btn-trial-outline {
background: transparent;
color: var(--sud-primary);
border: 2px solid rgba(255, 102, 204, 0.6);
padding: 0.85rem 2.5rem;
border-radius: 24px;
margin-top: 1rem;
transition: .3s;
cursor: pointer;
}
.btn-trial-outline:hover {
border-color: var(--sud-primary-hover);
color: white;
background-color: var(--sud-primary);
transform: translateY(-1px);
}
.btn-trial-outline:active {
transform: translateY(0);
}
.btn-trial:disabled {
background: var(--sud-disabled, #ccc);
border-color: var(--sud-disabled, #ccc);
color: #666;
cursor: not-allowed;
transform: none;
opacity: 0.6;
} .sud-age-gate-modal {
position: fixed;
inset: 0;
display: none;
align-items: center;
justify-content: center;
background: rgba(0,0,0,0.88);
z-index: 99999;
}
.sud-age-gate-content {
width: 92%;
max-width: 460px;
background: #111;
color: #fff;
border: 1px solid #2a2a2a;
border-radius: 14px;
box-shadow: 0 10px 30px rgba(0,0,0,0.5);
padding: 26px;
text-align: center;
font-family: Lato, Inter, Arial, sans-serif;
}
.sud-age-gate-content h3 {
margin: 0 0 8px 0;
font-size: 22px;
font-weight: 800;
letter-spacing: 0.2px;
color: #fff;
}
.sud-age-gate-content p {
margin: 6px 0 18px 0;
font-size: 14px;
color: #ddd;
line-height: 1.5;
}
.sud-age-gate-actions { display: flex; gap: 10px; justify-content: center; }
.sud-age-btn { cursor: pointer; appearance: none; border: none; border-radius: 999px; padding: 12px 18px; font-weight: 700; font-size: 14px; letter-spacing: 0.2px; }
.sud-age-btn-yes { background: #FF66CC; color: #0b0b0b; }
.sud-age-btn-yes:hover { background: #e659b5; }
.sud-age-btn-no { background: #232323; color: #fff; border: 1px solid #333; }
.sud-age-btn-no:hover { background: #2a2a2a; }
@media (prefers-color-scheme: light) {
.sud-age-gate-content { background: #fff; color: #111; border-color: #e6e6e6; }
.sud-age-gate-content p { color: #333; }
.sud-age-btn-no { color: #111; border-color: #e6e6e6; }
}
.trial-current-plan {
background: linear-gradient(135deg, #10B981, #059669);
color: white;
padding: 12px;
text-align: center;
font-weight: 600;
margin-bottom: 8px;
border-radius: 24px;
}
.trial-current-plan:hover {
color: #fff !important;
}
.trial-status-banner {
background: linear-gradient(135deg, #10B981, #059669);
color: white;
padding: 15px;
border-radius: 8px;
margin: 20px 0;
text-align: center;
}
.current-plan-indicator {
background: var(--sud-primary);
color: white;
padding: 12px;
border-radius: 24px;
text-align: center;
font-weight: 600;
margin-bottom: 8px;
}