/* Subtle polish of the existing landing and login pages. */
.adlove-welcome .page-main {
    background-image: radial-gradient(ellipse at 14% 0, #692aaf, transparent 65%), linear-gradient(115deg, #351e53, #3044b7);
}
.welcome-card {
    border-color: rgba(255, 255, 255, .07);
    box-shadow: 0 20px 60px rgba(9, 7, 21, .22);
}
.welcome-tabs {
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .09);
    background: rgba(12, 12, 20, .22);
    margin-bottom: 28px;
}
.welcome-tabs > * {
    border-radius: 11px;
    padding: 13px 8px;
    font-weight: 500;
}
.welcome-tabs .active {
    background: rgba(167, 145, 214, .14);
    box-shadow: none;
    font-weight: 600;
}
.welcome-tabs a:hover { background: rgba(255, 255, 255, .035); }
.welcome-right h1 { font-weight: 600; line-height: 1.22; letter-spacing: -.7px; margin-bottom: 12px; }
.welcome-right h1 span { color: #cfb0f0; }
.welcome-intro { color: #b8b3c9; margin-bottom: 25px; }
.welcome-providers { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.welcome-provider {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 0;
    min-height: 44px;
    padding: 8px 6px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 12px;
    background: rgba(255, 255, 255, .018);
    color: #e8e4ef;
    font-size: 13px;
    font-weight: 400;
    line-height: 20px;
    cursor: default;
}
.welcome-providers .welcome-provider img {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    object-fit: contain;
    opacity: .9;
}
.welcome-provider span { white-space: nowrap; }
.welcome-divider { margin: 25px 0; gap: 14px; color: #a49cb6; }
.welcome-divider::before, .welcome-divider::after { background: rgba(255, 255, 255, .12); }
.welcome-sex { gap: 12px; margin-bottom: 22px; }
.welcome-sex button,
.welcome-dates select,
.welcome-login-form .form-control,
.welcome-right .step-2 .form-control {
    border: 1px solid rgba(255, 255, 255, .11);
    border-radius: 12px;
    background-color: rgba(255, 255, 255, .022);
    box-shadow: none;
    color: #ddd7e9;
}
.welcome-sex button { height: 48px; font-weight: 400; }
.welcome-sex button:hover { background-color: rgba(196, 162, 233, .065); border-color: rgba(196, 162, 233, .3); }
.welcome-sex button.active { border-color: #ad86d5; background-color: rgba(173, 134, 213, .12); box-shadow: none; }
.welcome-sex i { display: inline-flex; vertical-align: middle; color: #c5a1e9; margin-right: 8px; }
.welcome-sex .fa-male::before,
.welcome-sex .fa-female::before {
    content: '';
    width: 19px;
    height: 19px;
    background: currentColor;
    -webkit-mask: var(--welcome-sex-icon) center / contain no-repeat;
    mask: var(--welcome-sex-icon) center / contain no-repeat;
}
.welcome-sex .fa-male {
    --welcome-sex-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='15' r='6'/%3E%3Cpath d='m13.3 10.7 7.2-7.2M15 3.5h5.5V9'/%3E%3C/svg%3E");
}
.welcome-sex .fa-female {
    --welcome-sex-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M12 14v8M8.5 18.5h7'/%3E%3C/svg%3E");
}
.welcome-label, .welcome-login-form .form-label { font-weight: 500; }
.welcome-birth small { color: #a39bb5; }
.welcome-dates { gap: 12px; margin-bottom: 22px; }
.welcome-dates select {
    height: 48px;
    appearance: none;
    -webkit-appearance: none;
    padding-right: 28px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23b4abc9' stroke-width='1.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2 2 4 4 4-4'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: 12px 8px;
    background-position: right 11px center;
}
.welcome-dates select option { background: #292735; color: #eee9f7; }
.welcome-right .welcome-continue {
    height: 50px;
    border-radius: 12px;
    background: linear-gradient(100deg, #9064c4, #8259bd);
    box-shadow: none;
    font-weight: 600;
    gap: 16px;
}
.welcome-right .welcome-continue:hover:not(:disabled) { background: linear-gradient(100deg, #9a70ce, #8e65c7); }
.welcome-right .welcome-continue:disabled { opacity: .65; }
.welcome-continue span { font-size: 23px; line-height: 1; font-weight: 400; }
.welcome-terms { color: #aaa1ba; font-size: 12px; line-height: 1.7; margin-top: 18px; }
.welcome-terms a { color: #cbb9e1; text-decoration-color: rgba(203, 185, 225, .45); }
.welcome-privacy { color: #aaa1ba; }
.adlove-welcome .cookie-notification { border-top: 1px solid rgba(255, 255, 255, .1); border-top-color: rgba(255, 255, 255, .1) !important; background: #15151f; }
.adlove-welcome .cookie-notification__inner { padding: 10px 20px; gap: 12px; }
.adlove-welcome .cookie-notification__text { color: #bcb5cd; font-size: 12px; line-height: 1.6; }
.adlove-welcome .cookie-notification__text .btn { color: #cbb9e1; border-color: rgba(203, 185, 225, .25); border-radius: 8px; }
.adlove-welcome .cookie-notification__text .btn:hover { background: rgba(203, 185, 225, .08); }
.adlove-welcome .cookie-notification__close { padding: 10px; color: #a59bb7; }
@media (max-width: 1100px) {
    .welcome-provider { gap: 6px; font-size: 12px; }
}
@media (max-width: 900px) {
    .welcome-right { padding: 26px 22px; }
    .welcome-right h1 { font-size: 28px; }
    .welcome-provider { min-height: 46px; }
    .welcome-terms { margin-left: 0; margin-right: 0; }
}
@media (max-width: 380px) {
    .welcome-right { padding-left: 18px; padding-right: 18px; }
    .welcome-right h1 { font-size: 25px; letter-spacing: -.5px; }
    .welcome-provider { flex-direction: column; gap: 4px; min-height: 62px; padding: 7px 3px; }
    .welcome-providers { gap: 8px; }
    .welcome-dates { gap: 8px; }
    .welcome-dates select { padding-left: 9px; padding-right: 22px; font-size: 13px; background-position: right 7px center; }
    .welcome-birth { gap: 8px; }
    .welcome-birth small { max-width: 125px; text-align: right; }
}
