/* Typography & Design */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Playfair+Display:wght@700&display=swap');
:root {
    --primary-color: #2D6A4F; --secondary-color: #40916C; --text-dark: #333;
    --text-light: #FFF; --border-color: #e0e0e0; --font-serif: 'Playfair Display', serif; 
    --font-sans: 'Inter', sans-serif; --space-2: 16px; --space-4: 32px; --space-5: 40px;
}
.ss-signup-container { font-family: var(--font-sans); color: var(--text-dark); padding: var(--space-4) 0; }
.auth-container { max-width: 900px; margin: 0 auto; }
.auth-view { display: none; }
.auth-view.active { display: block; }
.view-header { text-align: center; margin-bottom: var(--space-4); }
.view-header h1 { font-family: var(--font-serif); }
.card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: var(--space-4); }

/* == START: NEW BACKGROUND-IMAGE FIX FOR CARDS == */
.ss-signup-container .selection-card {
    position: relative;
    height: 400px;
    border-radius: 12px;
    overflow: hidden;
    color: var(--text-light);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: var(--space-4);
    cursor: pointer;
    background-size: cover;
    background-position: center;
    transition: transform 0.3s ease;
}
.ss-signup-container .selection-card:hover {
    transform: scale(1.03);
}
/* Applying the specific images via CSS */
#select-student {
    background-image: url('https://images.unsplash.com/photo-1524995997946-a1c2e315a42f?q=80&w=1080');
}
#select-educator {
    background-image: url('https://images.unsplash.com/photo-1517048676732-d65bc937f952?q=80&w=1080');
}
/* The gradient overlay */
.ss-signup-container .selection-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to top, rgba(0,0,0,0.8) 20%, rgba(0,0,0,0) 60%);
    transition: background-color 0.3s ease; /* For hover effect */
}
/* Darken overlay on hover instead of zooming image */
.ss-signup-container .selection-card:hover::before {
    background-color: rgba(0,0,0,0.15);
}
/* == END: NEW BACKGROUND-IMAGE FIX == */

.selection-card h2 { position: relative; font-family: var(--font-serif); font-size: 2rem; }
.selection-card p { position: relative; }

/* Tier Cards (Free/Pro/Monthly/Annual) */
.tier-card { border: 2px solid var(--border-color); border-radius: 8px; padding: var(--space-4); text-align: center; transition: all 0.2s ease; cursor: pointer; display: flex; flex-direction: column; }
.tier-card:hover { border-color: var(--primary-color); transform: translateY(-5px); }
.tier-card h3 { color: var(--primary-color); margin-top: 0; }
.tier-card .price { font-size: 2.5rem; font-family: var(--font-serif); margin-bottom: 1rem; }
.tier-card ul { list-style: '✓'; text-align: left; padding-left: 20px; margin-top: auto; }
.billing-cycle-desc { margin-top: auto; font-size: 0.9rem; color: #555; }
.tier-card .badge { display: inline-block; background-color: var(--secondary-color); color: var(--text-light); font-size: 0.8rem; padding: 4px 10px; border-radius: 12px; font-weight: bold; margin-left: 8px; vertical-align: middle; }

/* General Links */
.back-link { text-align: center; margin-top: var(--space-4); }
.back-link a { color: var(--primary-color); text-decoration: none; font-weight: 700; cursor: pointer; }

@media (max-width: 768px) { .card-grid { grid-template-columns: 1fr; } .selection-card { height: 250px; } }

div#select-student h2 {
    color: white;
}
div#select-educator h2 {
    color: white;
}

.tier-card {
    background: #ffffffa1;
}