/* Onboarding specific styles */
.onboarding-container {
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    flex-direction: column;
    background: linear-gradient(to bottom, #FCE8E1, #D8D2E7);
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
}

.onboarding-img-placeholder {
    height: 60%;
    width: 100%;
    background: #E8D5D5; /* Placeholder for image */
    background: url('../images/onboarding-placeholder.jpg') center/cover no-repeat, linear-gradient(to bottom, #9B8FC7, #FCE8E1);
    border-bottom-left-radius: 40px;
    border-bottom-right-radius: 40px;
    position: relative;
}

.onboarding-top-bar {
    position: absolute;
    top: 20px;
    width: 100%;
    display: flex;
    justify-content: flex-end;
    padding: 0 20px;
    z-index: 10;
}

.skip-btn {
    color: var(--white);
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
}

.onboarding-content {
    flex: 1;
    background: var(--bg-color);
    padding: 40px 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    border-top-left-radius: 40px;
    border-top-right-radius: 40px;
    margin-top: -30px; /* Overlap image */
    position: relative;
    z-index: 5;
    box-shadow: 0 -5px 20px rgba(0,0,0,0.05);
}

.onboarding-content h2 {
    font-family: 'Playfair Display', serif;
    font-size: 32px;
    color: var(--text-dark);
    line-height: 1.2;
    margin-bottom: 15px;
}

.onboarding-content h2 span {
    color: #A26DF8; /* Brand accent */
}

.onboarding-content p {
    font-size: 14px;
    color: var(--text-light);
    line-height: 1.5;
    margin-bottom: auto;
    padding: 0 10px;
}

.dots {
    display: flex;
    gap: 8px;
    margin-bottom: 30px;
}

.dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #E0E0E0;
}

.dot.active {
    background: var(--btn-gradient);
    width: 20px;
    border-radius: 10px;
}

@media (max-height: 720px) {
    .onboarding-img-placeholder { height: 45%; }
    .onboarding-content { padding: 25px 20px; }
    .onboarding-content h2 { font-size: 26px; margin-bottom: 10px; }
    .dots { margin-bottom: 18px; }
}
@media (max-width: 480px) {
    .onboarding-content { padding-left: 16px; padding-right: 16px; }
}
