/* FanSite - Main Stylesheet */

:root {
    --primary: #dc2626;
    --primary-dark: #b91c1c;
    --primary-light: #ef4444;
    --gradient: linear-gradient(135deg, #dc2626 0%, #f97316 100%);
    --secondary: #64748b;
    --success: #10b981;
    --danger: #ef4444;
    --warning: #f59e0b;
    --dark: #1e293b;
    --light: #f8fafc;
    --white: #ffffff;
    --gray-100: #f1f5f9;
    --gray-200: #e2e8f0;
    --gray-300: #cbd5e1;
    --gray-400: #94a3b8;
    --gray-500: #64748b;
    --gray-600: #475569;
    --gray-700: #334155;
    --gray-800: #1e293b;
    --gray-900: #0f172a;
    --border-radius: 12px;
    --shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
    --shadow-lg: 0 10px 15px -3px rgba(0,0,0,0.1);
}

* { box-sizing: border-box; margin: 0; padding: 0; }

body {
    font-family: 'Inter', -apple-system, sans-serif;
    background: var(--gray-100);
    color: var(--gray-800);
    line-height: 1.6;
}

a { color: var(--primary); text-decoration: none; }
a:hover { text-decoration: underline; }

img { max-width: 100%; height: auto; }

.container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* Buttons */
.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    padding: 10px 20px; border-radius: 8px; font-weight: 600; font-size: 14px;
    border: none; cursor: pointer; transition: all 0.2s;
}
.btn:hover { text-decoration: none; transform: translateY(-1px); }
.btn-primary { background: var(--gradient); color: white; }
.btn-primary:hover { background: linear-gradient(135deg, #b91c1c 0%, #ea580c 100%); }
.btn-secondary { background: var(--gray-200); color: var(--gray-700); }
.btn-secondary:hover { background: var(--gray-300); }
.btn-lg { padding: 14px 28px; font-size: 16px; }
.btn-block { width: 100%; }
.btn:disabled { opacity: 0.6; cursor: not-allowed; }

/* Forms */
.form-group { margin-bottom: 16px; }
.form-group label { display: block; margin-bottom: 6px; font-weight: 500; font-size: 14px; }
.form-group input, .form-group textarea, .form-group select {
    width: 100%; padding: 12px 16px; border: 1px solid var(--gray-300);
    border-radius: 8px; font-size: 16px; transition: border-color 0.2s;
}
.form-group input:focus, .form-group textarea:focus {
    outline: none; border-color: var(--primary);
}
.form-group small { display: block; margin-top: 4px; color: var(--gray-500); font-size: 12px; }
.checkbox { display: flex; align-items: flex-start; gap: 8px; cursor: pointer; }
.checkbox input { width: auto; margin-top: 3px; }
.form-row { display: flex; justify-content: space-between; align-items: center; }

/* Alerts */
.alert { padding: 12px 16px; border-radius: 8px; margin-bottom: 16px; font-size: 14px; }
.alert-error { background: #fef2f2; color: var(--danger); border: 1px solid #fecaca; }
.alert-success { background: #ecfdf5; color: var(--success); border: 1px solid #a7f3d0; }

/* Header */
.header {
    background: var(--white); border-bottom: 1px solid var(--gray-200);
    position: sticky; top: 0; z-index: 100;
}
.header-inner { display: flex; align-items: center; justify-content: space-between; height: 64px; }
.logo { font-size: 24px; font-weight: 700; color: var(--primary); }
.logo:hover { text-decoration: none; }
.header-search { flex: 1; max-width: 400px; margin: 0 24px; }
.search-form { display: flex; background: var(--gray-100); border-radius: 8px; }
.search-input { flex: 1; border: none; background: none; padding: 10px 16px; }
.search-btn { border: none; background: none; padding: 10px 16px; color: var(--gray-500); cursor: pointer; }
.header-nav { display: flex; align-items: center; gap: 8px; }
.nav-link { padding: 8px 12px; color: var(--gray-600); border-radius: 8px; display: flex; align-items: center; gap: 6px; }
.nav-link:hover { background: var(--gray-100); text-decoration: none; }
.nav-text { display: none; }
@media (min-width: 768px) { .nav-text { display: inline; } }
.nav-link-badge { position: relative; }
.badge { position: absolute; top: -4px; right: -4px; background: var(--danger); color: white; font-size: 10px; padding: 2px 6px; border-radius: 10px; }
.btn-create { margin-left: 8px; }

/* User Menu */
.user-menu { position: relative; }
.user-menu-toggle { border: none; background: none; cursor: pointer; padding: 4px; }
.user-avatar { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.user-menu-dropdown {
    position: absolute; right: 0; top: 100%; margin-top: 8px;
    background: var(--white); border-radius: var(--border-radius); box-shadow: var(--shadow-lg);
    min-width: 220px; display: none; border: 1px solid var(--gray-200);
}
.user-menu-dropdown.active { display: block; }
.user-menu-header { padding: 16px; border-bottom: 1px solid var(--gray-200); }
.user-menu-header strong { display: block; }
.user-role { font-size: 12px; color: var(--gray-500); }
.user-menu-links a { display: flex; align-items: center; gap: 12px; padding: 12px 16px; color: var(--gray-700); }
.user-menu-links a:hover { background: var(--gray-100); text-decoration: none; }
.user-menu-footer { border-top: 1px solid var(--gray-200); }
.logout-link { color: var(--danger) !important; }

.mobile-menu-toggle { display: none; border: none; background: none; font-size: 24px; cursor: pointer; }
@media (max-width: 768px) { .mobile-menu-toggle { display: block; } .header-nav, .header-search { display: none; } }

/* Mobile Nav */
.mobile-nav {
    position: fixed; top: 0; left: -100%; width: 80%; max-width: 320px; height: 100%;
    background: var(--white); z-index: 1000; transition: left 0.3s;
    box-shadow: var(--shadow-lg);
}
.mobile-nav.active { left: 0; }
.mobile-nav-header { display: flex; justify-content: space-between; align-items: center; padding: 16px; border-bottom: 1px solid var(--gray-200); }
.mobile-nav-close { border: none; background: none; font-size: 24px; cursor: pointer; }
.mobile-nav-search { padding: 16px; }
.mobile-nav-search input { width: 100%; padding: 10px 16px; border: 1px solid var(--gray-300); border-radius: 8px; }
.mobile-nav-links a { display: flex; align-items: center; gap: 12px; padding: 14px 16px; color: var(--gray-700); border-bottom: 1px solid var(--gray-100); }

/* Main Content */
.main-content { min-height: calc(100vh - 200px); padding: 24px 0; }

/* Hero Section */
.hero { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); color: white; padding: 80px 0; text-align: center; }
.hero h1 { font-size: 48px; margin-bottom: 16px; }
.hero p { font-size: 20px; opacity: 0.9; margin-bottom: 32px; }
.hero-buttons { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.hero .btn-secondary { background: rgba(255,255,255,0.2); color: white; }
.hero .btn-secondary:hover { background: rgba(255,255,255,0.3); }

/* Sections */
.section { padding: 64px 0; }
.section h2 { font-size: 32px; margin-bottom: 32px; text-align: center; }

/* Creator Grid */
.creator-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 24px; }
.creator-card {
    background: var(--white); border-radius: var(--border-radius); overflow: hidden;
    box-shadow: var(--shadow); transition: transform 0.2s, box-shadow 0.2s;
}
.creator-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); text-decoration: none; }
.creator-banner { height: 100px; background-size: cover; background-position: center; }
.creator-card .creator-avatar { width: 80px; height: 80px; border-radius: 50%; border: 4px solid white; margin: -40px auto 0; display: block; object-fit: cover; }
.creator-info { padding: 16px; text-align: center; }
.creator-info h3 { color: var(--gray-800); font-size: 18px; margin-bottom: 4px; }
.creator-info p { color: var(--gray-500); font-size: 14px; margin-bottom: 8px; }
.creator-price { display: inline-block; background: var(--primary); color: white; padding: 6px 12px; border-radius: 20px; font-size: 14px; font-weight: 600; }
.verified { color: var(--primary); font-size: 14px; }

/* Features Grid */
.features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 32px; }
.feature { text-align: center; padding: 32px; background: var(--white); border-radius: var(--border-radius); }
.feature i { font-size: 48px; color: var(--primary); margin-bottom: 16px; }
.feature h3 { margin-bottom: 8px; }
.feature p { color: var(--gray-500); }

/* CTA Section */
.section-cta { background: var(--gray-800); color: white; text-align: center; }
.section-cta h2 { color: white; }
.section-cta p { color: var(--gray-300); margin-bottom: 24px; }

/* Auth Pages */
.auth-page { display: flex; align-items: center; justify-content: center; min-height: 80vh; padding: 40px 20px; }
.auth-container { width: 100%; max-width: 440px; }
.auth-card { background: var(--white); padding: 40px; border-radius: var(--border-radius); box-shadow: var(--shadow-lg); }
.auth-card h1 { font-size: 28px; margin-bottom: 8px; }
.auth-card > p { color: var(--gray-500); margin-bottom: 24px; }
.auth-form { margin-top: 24px; }
.auth-footer { margin-top: 24px; text-align: center; color: var(--gray-500); }
.forgot-link { font-size: 14px; }

/* Role Selector */
.role-selector { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 24px; }
.role-option { cursor: pointer; }
.role-option input { display: none; }
.role-content { padding: 16px; border: 2px solid var(--gray-200); border-radius: 8px; text-align: center; transition: all 0.2s; }
.role-option.active .role-content { border-color: var(--primary); background: #f5f3ff; }
.role-content i { font-size: 24px; color: var(--primary); display: block; margin-bottom: 8px; }
.role-content span { display: block; font-weight: 600; }
.role-content small { color: var(--gray-500); font-size: 12px; }

/* Profile Page */
.profile-banner { height: 200px; background-size: cover; background-position: center; }
@media (min-width: 768px) { .profile-banner { height: 300px; } }
.profile-header { display: flex; flex-direction: column; align-items: center; text-align: center; margin-top: -60px; padding-bottom: 32px; }
@media (min-width: 768px) { .profile-header { flex-direction: row; text-align: left; align-items: flex-start; margin-top: -80px; } }
.profile-avatar { width: 120px; height: 120px; border-radius: 50%; border: 4px solid white; object-fit: cover; box-shadow: var(--shadow); }
@media (min-width: 768px) { .profile-avatar { width: 160px; height: 160px; } }
.profile-info { flex: 1; padding: 16px 0; }
@media (min-width: 768px) { .profile-info { padding: 32px 24px; } }
.profile-info h1 { font-size: 28px; display: flex; align-items: center; gap: 8px; justify-content: center; }
@media (min-width: 768px) { .profile-info h1 { justify-content: flex-start; } }
.profile-username { color: var(--gray-500); margin-bottom: 12px; }
.profile-bio { max-width: 600px; margin-bottom: 16px; }
.profile-location { color: var(--gray-500); font-size: 14px; margin-bottom: 16px; }
.profile-stats { display: flex; gap: 24px; justify-content: center; margin-bottom: 16px; }
@media (min-width: 768px) { .profile-stats { justify-content: flex-start; } }
.profile-stats .stat { text-align: center; }
.profile-stats strong { display: block; font-size: 20px; }
.profile-stats span { font-size: 12px; color: var(--gray-500); }
.profile-social { display: flex; gap: 12px; justify-content: center; }
@media (min-width: 768px) { .profile-social { justify-content: flex-start; } }
.profile-social a { width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; background: var(--gray-100); border-radius: 50%; color: var(--gray-600); }
.profile-actions { display: flex; gap: 12px; margin-top: 16px; }
@media (min-width: 768px) { .profile-actions { margin-top: 40px; } }

/* Content Tabs */
.content-tabs { display: flex; border-bottom: 1px solid var(--gray-200); margin-bottom: 24px; }
.content-tabs .tab { padding: 12px 20px; border: none; background: none; cursor: pointer; font-weight: 500; color: var(--gray-500); border-bottom: 2px solid transparent; }
.content-tabs .tab.active { color: var(--primary); border-bottom-color: var(--primary); }
.content-tabs .tab:hover { color: var(--gray-700); }

/* Content Feed */
.content-feed { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.post-card { background: var(--white); border-radius: var(--border-radius); overflow: hidden; box-shadow: var(--shadow); position: relative; }
.post-card.locked { opacity: 0.9; }
.post-lock { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(0,0,0,0.7); color: white; padding: 16px; border-radius: 50%; z-index: 10; }
.post-media { aspect-ratio: 1; overflow: hidden; }
.post-media img { width: 100%; height: 100%; object-fit: cover; }
.post-info { padding: 16px; }
.post-info p { font-size: 14px; color: var(--gray-600); margin-bottom: 8px; }
.post-stats { display: flex; gap: 16px; color: var(--gray-500); font-size: 14px; }
.post-link { position: absolute; inset: 0; }

/* Utilities */
.text-center { text-align: center; }
.mt-4 { margin-top: 24px; }
.empty-state { text-align: center; padding: 64px 20px; color: var(--gray-500); }
.empty-state i { font-size: 48px; margin-bottom: 16px; }
.loading { text-align: center; padding: 40px; color: var(--gray-500); }

/* Footer */
.footer { background: var(--gray-800); color: var(--gray-300); padding: 64px 0 32px; }
.footer-content { display: grid; grid-template-columns: 1fr; gap: 40px; margin-bottom: 40px; }
@media (min-width: 768px) { .footer-content { grid-template-columns: 2fr 1fr 1fr; } }
.footer-brand .logo-text { color: white; font-size: 24px; font-weight: 700; display: block; margin-bottom: 12px; }
.footer-links { display: flex; gap: 40px; }
.footer-column h4 { color: white; margin-bottom: 16px; font-size: 14px; }
.footer-column a { display: block; color: var(--gray-400); padding: 4px 0; font-size: 14px; }
.footer-column a:hover { color: white; }
.footer-bottom { border-top: 1px solid var(--gray-700); padding-top: 24px; text-align: center; font-size: 14px; }

/* Modal */
.modal { position: fixed; inset: 0; background: rgba(0,0,0,0.6); z-index: 1000; display: none; align-items: center; justify-content: center; }
.modal.modal-open { display: flex; }
.modal-content { background: white; padding: 40px; border-radius: var(--border-radius); max-width: 500px; width: 90%; text-align: center; }
.modal-content.modal-lg { max-width: 600px; text-align: left; }
.modal-content h2 { margin-bottom: 16px; }
.modal-content p { color: var(--gray-600); margin-bottom: 24px; }
.modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.modal-close { border: none; background: none; font-size: 24px; cursor: pointer; color: var(--gray-500); }
.age-buttons { display: flex; flex-direction: column; gap: 12px; }
.form-actions { display: flex; gap: 12px; justify-content: flex-end; margin-top: 24px; }

/* Toast Notifications */
.toast { position: fixed; top: 20px; right: 20px; background: var(--gray-800); color: white; padding: 16px 24px; border-radius: 8px; z-index: 9999; transform: translateX(120%); transition: transform 0.3s; display: flex; align-items: center; gap: 12px; }
.toast.show { transform: translateX(0); }
.toast-success { background: var(--success); }
.toast-error { background: var(--danger); }
.toast-close { border: none; background: none; color: white; font-size: 18px; cursor: pointer; opacity: 0.7; }

/* Container variants */
.container-narrow { max-width: 800px; }

/* Page headers */
.page-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; }
.page-header h1 { margin: 0; }

/* Post Page */
.post-page { padding: 24px 0; }
.post-layout { display: grid; gap: 32px; }
@media (min-width: 992px) { .post-layout { grid-template-columns: 1fr 320px; } }
.post-main { background: var(--white); border-radius: var(--border-radius); overflow: hidden; }
.post-creator { display: flex; align-items: center; justify-content: space-between; padding: 16px; }
.creator-link { display: flex; align-items: center; gap: 12px; text-decoration: none; color: inherit; }
.creator-link .avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.creator-details strong { display: block; color: var(--gray-800); }
.creator-details .username { color: var(--gray-500); font-size: 14px; }
.post-time { color: var(--gray-500); font-size: 14px; }
.post-media-container { position: relative; }
.post-media-container.locked .media-gallery { filter: blur(20px); }
.locked-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.3); z-index: 10; }
.locked-content { text-align: center; color: white; }
.locked-content i { font-size: 48px; margin-bottom: 16px; }
.media-gallery { background: var(--gray-900); }
.media-gallery.single img, .media-gallery.single video { width: 100%; max-height: 80vh; object-fit: contain; }
.media-gallery.multi { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; }
.media-item img, .media-item video { width: 100%; aspect-ratio: 1; object-fit: cover; }
.blurred { filter: blur(20px); }
.video-indicator { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(0,0,0,0.6); color: white; width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; }
.post-body { padding: 20px; font-size: 16px; line-height: 1.7; }
.post-actions { display: flex; gap: 8px; padding: 12px 20px; border-top: 1px solid var(--gray-200); }
.action-btn { border: none; background: none; padding: 8px 12px; color: var(--gray-600); cursor: pointer; display: flex; align-items: center; gap: 6px; border-radius: 8px; transition: all 0.2s; }
.action-btn:hover { background: var(--gray-100); }
.action-btn.liked, .action-btn.bookmarked { color: var(--primary); }
.action-btn.liked i { color: var(--danger); }
.action-more { position: relative; margin-left: auto; }
.more-menu { position: absolute; right: 0; top: 100%; background: white; border-radius: 8px; box-shadow: var(--shadow-lg); min-width: 150px; display: none; z-index: 10; }
.more-menu.active { display: block; }
.more-menu a, .more-menu button { display: flex; align-items: center; gap: 8px; padding: 12px 16px; width: 100%; border: none; background: none; color: var(--gray-700); cursor: pointer; text-align: left; }
.more-menu a:hover, .more-menu button:hover { background: var(--gray-100); }
.post-stats { padding: 0 20px 16px; color: var(--gray-500); font-size: 14px; }
.comments-section { padding: 20px; border-top: 1px solid var(--gray-200); }
.comments-section h3 { margin-bottom: 20px; }
.comment-form { display: flex; gap: 12px; margin-bottom: 24px; }
.comment-form input { flex: 1; padding: 12px; border: 1px solid var(--gray-300); border-radius: 8px; }
.avatar-small { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.avatar-tiny { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; }
.comments-list { display: flex; flex-direction: column; gap: 16px; }
.comment { display: flex; gap: 12px; }
.comment-body { flex: 1; }
.comment-header { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.comment-author { font-weight: 600; color: var(--gray-800); }
.comment-header time { color: var(--gray-500); font-size: 12px; }
.comment p { font-size: 14px; color: var(--gray-700); }
.no-comments { color: var(--gray-500); text-align: center; padding: 20px; }
.login-prompt { color: var(--gray-500); }

/* Sidebar */
.post-sidebar { position: sticky; top: 88px; }
.sidebar-card { background: var(--white); border-radius: var(--border-radius); padding: 24px; text-align: center; }
.sidebar-card .creator-avatar-lg { width: 100px; height: 100px; border-radius: 50%; object-fit: cover; margin-bottom: 16px; }
.sidebar-card h3 { font-size: 18px; margin-bottom: 4px; }
.sidebar-card h3 a { color: var(--gray-800); }
.sidebar-card .username { color: var(--gray-500); margin-bottom: 12px; }
.sidebar-card .bio { font-size: 14px; color: var(--gray-600); margin-bottom: 16px; }
.creator-stats-mini { display: flex; justify-content: center; gap: 16px; font-size: 13px; color: var(--gray-500); margin-bottom: 20px; }

/* Become Creator Page */
.bc-hero { background: linear-gradient(135deg, var(--primary) 0%, #4c1d95 100%); color: white; padding: 80px 0; }
.bc-hero .container { display: grid; gap: 48px; align-items: center; }
@media (min-width: 992px) { .bc-hero .container { grid-template-columns: 1fr 1fr; } }
.bc-hero h1 { font-size: 48px; margin-bottom: 20px; line-height: 1.1; }
.bc-hero p { font-size: 20px; opacity: 0.9; margin-bottom: 32px; }
.bc-hero-cta { display: flex; gap: 16px; flex-wrap: wrap; }
.bc-hero .btn-secondary { background: rgba(255,255,255,0.2); color: white; }
.earnings-preview { background: white; border-radius: var(--border-radius); padding: 32px; color: var(--gray-800); box-shadow: var(--shadow-lg); }
.earnings-card { text-align: center; padding-bottom: 24px; border-bottom: 1px solid var(--gray-200); margin-bottom: 24px; }
.earnings-card .label { display: block; color: var(--gray-500); font-size: 14px; margin-bottom: 8px; }
.earnings-card .amount { display: block; font-size: 48px; font-weight: 700; color: var(--success); }
.earnings-card .growth { display: block; color: var(--success); font-size: 14px; margin-top: 8px; }
.stats-row { display: flex; justify-content: space-around; }
.stats-row .stat { text-align: center; }
.stats-row strong { display: block; font-size: 24px; margin-bottom: 4px; }
.stats-row span { color: var(--gray-500); font-size: 14px; }
.bc-stats-bar { background: var(--gray-800); color: white; padding: 32px 0; }
.bc-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; text-align: center; }
@media (min-width: 768px) { .bc-stats { grid-template-columns: repeat(4, 1fr); } }
.bc-stat strong { display: block; font-size: 32px; margin-bottom: 4px; }
.bc-stat span { opacity: 0.7; font-size: 14px; }
.bc-steps { display: grid; gap: 32px; }
@media (min-width: 768px) { .bc-steps { grid-template-columns: repeat(3, 1fr); } }
.bc-step { text-align: center; position: relative; }
.step-number { position: absolute; top: -10px; left: 50%; transform: translateX(-50%); background: var(--primary); color: white; width: 32px; height: 32px; border-radius: 50%; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.step-icon { background: var(--gray-100); width: 80px; height: 80px; border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; }
.step-icon i { font-size: 32px; color: var(--primary); }
.bc-features-grid { display: grid; gap: 24px; }
@media (min-width: 768px) { .bc-features-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .bc-features-grid { grid-template-columns: repeat(3, 1fr); } }
.bc-feature { background: var(--white); padding: 32px; border-radius: var(--border-radius); }
.bc-feature i { font-size: 32px; color: var(--primary); margin-bottom: 16px; }
.bc-feature h3 { margin-bottom: 8px; }
.bc-feature p { color: var(--gray-600); font-size: 14px; margin: 0; }
.calculator-card { background: var(--white); border-radius: var(--border-radius); padding: 40px; max-width: 600px; margin: 0 auto; }
.calc-inputs { margin-bottom: 32px; }
.calc-input { margin-bottom: 24px; }
.calc-input label { display: block; margin-bottom: 8px; font-weight: 500; }
.calc-input input[type="range"] { width: 100%; }
.calc-value { display: inline-block; background: var(--gray-100); padding: 4px 12px; border-radius: 4px; font-weight: 600; margin-top: 8px; }
.calc-result { text-align: center; padding: 24px; background: var(--gray-100); border-radius: 8px; }
.calc-result .label { display: block; color: var(--gray-600); margin-bottom: 8px; }
.calc-result .amount { display: block; font-size: 48px; font-weight: 700; color: var(--success); margin-bottom: 8px; }
.calc-result .note { color: var(--gray-500); font-size: 14px; }
.bc-faq .faq-list { max-width: 700px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid var(--gray-200); }
.faq-item summary { padding: 20px 0; cursor: pointer; font-weight: 500; list-style: none; display: flex; justify-content: space-between; align-items: center; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: '+'; font-size: 24px; color: var(--gray-400); }
.faq-item[open] summary::after { content: '-'; }
.faq-item p { padding: 0 0 20px; color: var(--gray-600); }
.bc-final-cta { background: linear-gradient(135deg, var(--primary) 0%, #4c1d95 100%); color: white; text-align: center; }
.bc-final-cta h2 { color: white; }
.bc-final-cta p { opacity: 0.9; margin-bottom: 24px; }

/* Search Page */
.search-page { padding: 40px 0; }
.search-header { text-align: center; margin-bottom: 40px; }
.search-header h1 { margin-bottom: 24px; }
.search-form-lg { display: flex; max-width: 600px; margin: 0 auto; }
.search-form-lg input { flex: 1; padding: 16px 20px; border: 2px solid var(--gray-200); border-right: none; border-radius: 8px 0 0 8px; font-size: 16px; }
.search-form-lg input:focus { outline: none; border-color: var(--primary); }
.search-form-lg button { border-radius: 0 8px 8px 0; }
.search-filters { display: flex; gap: 12px; margin-bottom: 24px; }
.filter-tab { padding: 8px 16px; background: var(--gray-100); border-radius: 20px; color: var(--gray-600); display: flex; align-items: center; gap: 6px; }
.filter-tab.active { background: var(--primary); color: white; }
.results-count { color: var(--gray-500); margin-bottom: 24px; }
.search-suggestions { max-width: 400px; margin: 40px auto; }
.search-suggestions h3 { margin-bottom: 16px; }
.suggestions-list { display: flex; flex-direction: column; gap: 8px; }
.suggestion { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: var(--white); border-radius: 8px; color: var(--gray-700); }
.suggestion:hover { background: var(--gray-100); text-decoration: none; }

/* Notifications Page */
.notifications-page { padding: 24px 0; }
.notifications-filters { display: flex; gap: 12px; margin-bottom: 24px; }
.filter-btn { padding: 8px 16px; border: 1px solid var(--gray-300); border-radius: 20px; background: white; cursor: pointer; }
.filter-btn.active { background: var(--primary); color: white; border-color: var(--primary); }
.notifications-list { display: flex; flex-direction: column; gap: 8px; }
.notification-item { display: flex; align-items: center; gap: 16px; padding: 16px; background: var(--white); border-radius: 8px; position: relative; }
.notification-item:hover { background: var(--gray-50); text-decoration: none; }
.notification-item.unread { background: #f5f3ff; }
.notification-icon { width: 48px; height: 48px; background: var(--gray-100); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--primary); }
.notification-content { flex: 1; }
.notification-content strong { display: block; color: var(--gray-800); margin-bottom: 4px; }
.notification-content p { color: var(--gray-600); font-size: 14px; margin: 0 0 4px; }
.notification-content time { color: var(--gray-500); font-size: 12px; }
.unread-dot { width: 10px; height: 10px; background: var(--primary); border-radius: 50%; }

/* Subscriptions & Fans Pages */
.subscriptions-page, .fans-page { padding: 24px 0; }
.subs-tabs, .fans-tabs { display: flex; gap: 8px; margin-bottom: 24px; }
.subs-tabs .tab, .fans-tabs .tab { padding: 8px 16px; border: 1px solid var(--gray-300); border-radius: 20px; background: white; cursor: pointer; }
.subs-tabs .tab.active, .fans-tabs .tab.active { background: var(--primary); color: white; border-color: var(--primary); }
.fans-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; flex-wrap: wrap; gap: 16px; }
.subscriptions-list, .fans-list { display: flex; flex-direction: column; gap: 12px; }
.subscription-card, .fan-card { display: flex; align-items: center; gap: 16px; padding: 20px; background: var(--white); border-radius: var(--border-radius); flex-wrap: wrap; }
.sub-creator, .fan-main { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 200px; }
.sub-creator .avatar, .fan-main .avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.sub-info, .fan-info { flex: 1; }
.sub-info strong, .fan-info strong { display: block; color: var(--gray-800); }
.sub-info .username, .fan-info .username { color: var(--gray-500); font-size: 14px; }
.sub-details, .fan-stats { display: flex; gap: 24px; }
.sub-details > div, .fan-stat { text-align: center; }
.fan-stat .label { display: block; font-size: 12px; color: var(--gray-500); }
.fan-stat .value { font-weight: 600; }
.sub-price { font-weight: 600; color: var(--gray-800); }
.sub-date { font-size: 14px; color: var(--gray-500); }
.sub-date .expiring { color: var(--warning); }
.sub-actions, .fan-actions { display: flex; gap: 8px; }
.btn-danger-outline { border: 1px solid var(--danger); color: var(--danger); background: white; }
.btn-danger-outline:hover { background: #fef2f2; }

/* Bookmarks Page */
.bookmarks-page { padding: 24px 0; }
.bookmarks-content .content-feed { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.post-card { position: relative; }
.post-creator-mini { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.post-creator-mini a { color: var(--gray-700); font-weight: 500; font-size: 14px; }
.remove-bookmark { position: absolute; top: 12px; right: 12px; background: white; border: none; width: 32px; height: 32px; border-radius: 50%; cursor: pointer; color: var(--primary); z-index: 5; box-shadow: var(--shadow); }

/* Legal Pages */
.legal-page { padding: 40px 0 80px; }
.legal-page h1 { margin-bottom: 8px; }
.last-updated { color: var(--gray-500); margin-bottom: 40px; }
.legal-content { background: var(--white); padding: 40px; border-radius: var(--border-radius); }
.legal-content section { margin-bottom: 32px; }
.legal-content h2 { font-size: 20px; margin-bottom: 16px; color: var(--gray-800); }
.legal-content h3 { font-size: 16px; margin: 16px 0 8px; }
.legal-content p { margin-bottom: 12px; color: var(--gray-600); }
.legal-content ul, .legal-content ol { margin-left: 24px; margin-bottom: 12px; color: var(--gray-600); }
.legal-content li { margin-bottom: 8px; }
.custodian-info { background: var(--gray-100); padding: 20px; border-radius: 8px; }

/* Help Page */
.help-page { padding: 40px 0; }
.help-header { text-align: center; margin-bottom: 48px; }
.help-header h1 { margin-bottom: 24px; }
.help-quick-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 48px; }
@media (min-width: 768px) { .help-quick-links { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 992px) { .help-quick-links { grid-template-columns: repeat(6, 1fr); } }
.quick-link { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 24px; background: var(--white); border-radius: var(--border-radius); text-align: center; color: var(--gray-700); }
.quick-link:hover { background: var(--gray-50); text-decoration: none; box-shadow: var(--shadow); }
.quick-link i { font-size: 32px; color: var(--primary); }
.help-faq section { margin-bottom: 40px; }
.help-faq h2 { margin-bottom: 16px; padding-bottom: 8px; border-bottom: 2px solid var(--primary); }
.help-contact { text-align: center; padding: 40px; background: var(--white); border-radius: var(--border-radius); margin-top: 48px; }
.help-contact h2 { margin-bottom: 12px; }
.help-contact p { margin-bottom: 20px; color: var(--gray-600); }

/* Load More */
.load-more-container { text-align: center; padding: 24px 0; }
.modal-lg { max-width: 600px; text-align: left; }
.modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.modal-close { background: none; border: none; font-size: 24px; cursor: pointer; color: var(--gray-500); }
.form-actions { display: flex; gap: 12px; justify-content: flex-end; margin-top: 24px; }

/* Post Page */
.post-page { padding: 24px 0; }
.post-layout { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 1024px) { .post-layout { grid-template-columns: 1fr 320px; } }
.post-main { background: var(--white); border-radius: var(--border-radius); overflow: hidden; }
.post-creator { display: flex; align-items: center; justify-content: space-between; padding: 16px; border-bottom: 1px solid var(--gray-200); }
.creator-link { display: flex; align-items: center; gap: 12px; color: inherit; }
.creator-link:hover { text-decoration: none; }
.creator-link .avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.creator-details strong { display: block; }
.creator-details .username { color: var(--gray-500); font-size: 14px; }
.post-time { color: var(--gray-500); font-size: 14px; }
.post-media-container { position: relative; background: var(--gray-900); }
.post-media-container.locked .media-gallery { filter: blur(20px); }
.locked-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.5); z-index: 10; }
.locked-content { text-align: center; color: white; }
.locked-content i { font-size: 48px; margin-bottom: 16px; }
.locked-content p { margin-bottom: 16px; }
.media-gallery.single img, .media-gallery.single video { width: 100%; max-height: 80vh; object-fit: contain; }
.media-gallery.multi { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2px; }
.media-item img, .media-item video { width: 100%; aspect-ratio: 1; object-fit: cover; }
.media-item img.blurred { filter: blur(15px); }
.video-indicator { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(0,0,0,0.6); color: white; width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; }
.media-counter { position: absolute; bottom: 12px; right: 12px; background: rgba(0,0,0,0.7); color: white; padding: 4px 12px; border-radius: 20px; font-size: 12px; }
.post-body { padding: 20px; line-height: 1.7; }
.post-actions { display: flex; gap: 8px; padding: 12px 20px; border-top: 1px solid var(--gray-200); }
.action-btn { background: none; border: none; padding: 8px 16px; color: var(--gray-600); cursor: pointer; display: flex; align-items: center; gap: 6px; border-radius: 8px; transition: all 0.2s; }
.action-btn:hover { background: var(--gray-100); color: var(--gray-800); }
.action-btn.liked, .action-btn.liked:hover { color: var(--danger); }
.action-btn.bookmarked { color: var(--primary); }
.action-more { position: relative; margin-left: auto; }
.more-menu { position: absolute; right: 0; top: 100%; background: white; border-radius: 8px; box-shadow: var(--shadow-lg); min-width: 150px; display: none; }
.more-menu.active { display: block; }
.more-menu a, .more-menu button { display: flex; align-items: center; gap: 8px; padding: 12px 16px; color: var(--gray-700); width: 100%; border: none; background: none; cursor: pointer; text-align: left; }
.more-menu a:hover, .more-menu button:hover { background: var(--gray-100); }
.post-stats { padding: 0 20px 12px; color: var(--gray-500); font-size: 14px; }
.comments-section { padding: 20px; border-top: 1px solid var(--gray-200); }
.comments-section h3 { margin-bottom: 16px; }
.comment-form { display: flex; gap: 12px; margin-bottom: 24px; }
.comment-form input { flex: 1; padding: 10px 16px; border: 1px solid var(--gray-300); border-radius: 8px; }
.login-prompt { color: var(--gray-500); margin-bottom: 24px; }
.comment { display: flex; gap: 12px; margin-bottom: 16px; }
.avatar-small { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.avatar-tiny { width: 24px; height: 24px; border-radius: 50%; object-fit: cover; }
.comment-body { flex: 1; }
.comment-header { display: flex; gap: 12px; align-items: center; margin-bottom: 4px; }
.comment-author { font-weight: 600; color: var(--gray-800); }
.comment-header time { color: var(--gray-500); font-size: 12px; }
.comment p { color: var(--gray-700); }
.no-comments { color: var(--gray-500); text-align: center; padding: 24px; }
.post-sidebar { position: sticky; top: 88px; height: fit-content; }
.sidebar-card { background: var(--white); border-radius: var(--border-radius); padding: 24px; text-align: center; }
.creator-avatar-lg { width: 80px; height: 80px; border-radius: 50%; object-fit: cover; margin-bottom: 12px; }
.sidebar-card h3 { margin-bottom: 4px; }
.sidebar-card h3 a { color: inherit; }
.sidebar-card .username { color: var(--gray-500); margin-bottom: 12px; display: block; }
.sidebar-card .bio { color: var(--gray-600); font-size: 14px; margin-bottom: 16px; }
.creator-stats-mini { display: flex; justify-content: center; gap: 16px; margin-bottom: 16px; color: var(--gray-500); font-size: 14px; }

/* Become Creator Page */
.bc-hero { background: linear-gradient(135deg, var(--primary) 0%, #4c1d95 100%); color: white; padding: 80px 0; }
.bc-hero .container { display: grid; grid-template-columns: 1fr; gap: 48px; align-items: center; }
@media (min-width: 768px) { .bc-hero .container { grid-template-columns: 1fr 1fr; } }
.bc-hero-content h1 { font-size: 48px; line-height: 1.1; margin-bottom: 24px; }
.bc-hero-content p { font-size: 20px; opacity: 0.9; margin-bottom: 32px; }
.bc-hero-cta { display: flex; gap: 16px; flex-wrap: wrap; }
.bc-hero .btn-secondary { background: rgba(255,255,255,0.2); color: white; }
.earnings-preview { background: rgba(255,255,255,0.1); backdrop-filter: blur(10px); border-radius: var(--border-radius); padding: 32px; border: 1px solid rgba(255,255,255,0.2); }
.earnings-card { text-align: center; margin-bottom: 24px; }
.earnings-card .label { display: block; font-size: 14px; opacity: 0.8; margin-bottom: 8px; }
.earnings-card .amount { display: block; font-size: 48px; font-weight: 700; }
.earnings-card .growth { display: block; color: #10b981; font-size: 14px; margin-top: 8px; }
.stats-row { display: flex; justify-content: center; gap: 48px; }
.stats-row .stat { text-align: center; }
.stats-row .stat strong { display: block; font-size: 24px; }
.stats-row .stat span { font-size: 14px; opacity: 0.8; }
.bc-stats-bar { background: var(--gray-800); color: white; padding: 32px 0; }
.bc-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; text-align: center; }
@media (min-width: 768px) { .bc-stats { grid-template-columns: repeat(4, 1fr); } }
.bc-stat strong { display: block; font-size: 32px; font-weight: 700; color: var(--primary); }
.bc-stat span { font-size: 14px; color: var(--gray-400); }
.bc-steps { display: grid; grid-template-columns: 1fr; gap: 32px; }
@media (min-width: 768px) { .bc-steps { grid-template-columns: repeat(3, 1fr); } }
.bc-step { text-align: center; position: relative; }
.step-number { position: absolute; top: -10px; left: 50%; transform: translateX(-50%); background: var(--primary); color: white; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }
.step-icon { width: 80px; height: 80px; background: var(--gray-100); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; font-size: 32px; color: var(--primary); }
.bc-step h3 { margin-bottom: 8px; }
.bc-step p { color: var(--gray-600); }
.bc-features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.bc-feature { background: var(--white); padding: 32px; border-radius: var(--border-radius); box-shadow: var(--shadow); }
.bc-feature i { font-size: 32px; color: var(--primary); margin-bottom: 16px; }
.bc-feature h3 { margin-bottom: 8px; }
.bc-feature p { color: var(--gray-600); font-size: 14px; }
.calculator-card { background: var(--white); padding: 48px; border-radius: var(--border-radius); box-shadow: var(--shadow-lg); max-width: 600px; margin: 0 auto; }
.calc-inputs { margin-bottom: 32px; }
.calc-input { margin-bottom: 24px; }
.calc-input label { display: block; margin-bottom: 8px; font-weight: 500; }
.calc-input input[type="range"] { width: 100%; margin-bottom: 8px; }
.calc-value { font-size: 24px; font-weight: 700; color: var(--primary); }
.calc-result { text-align: center; padding: 32px; background: var(--gray-100); border-radius: 8px; }
.calc-result .label { display: block; color: var(--gray-600); margin-bottom: 8px; }
.calc-result .amount { display: block; font-size: 48px; font-weight: 700; color: var(--primary); }
.calc-result .note { display: block; color: var(--gray-500); font-size: 14px; margin-top: 8px; }
.bc-final-cta { background: var(--primary); color: white; text-align: center; }
.bc-final-cta h2 { color: white; }
.bc-final-cta p { opacity: 0.9; margin-bottom: 24px; }
.bc-final-cta .btn { background: white; color: var(--primary); }

/* Search Page */
.search-page { padding: 48px 0; }
.search-header { text-align: center; margin-bottom: 48px; }
.search-header h1 { margin-bottom: 24px; }
.search-form-lg { display: flex; gap: 12px; max-width: 600px; margin: 0 auto; }
.search-form-lg input { flex: 1; padding: 16px 24px; border: 2px solid var(--gray-300); border-radius: 8px; font-size: 18px; }
.search-form-lg input:focus { border-color: var(--primary); outline: none; }
.search-filters { display: flex; gap: 12px; margin-bottom: 24px; }
.filter-tab { padding: 8px 16px; background: var(--gray-100); border-radius: 20px; color: var(--gray-600); }
.filter-tab:hover { text-decoration: none; background: var(--gray-200); }
.filter-tab.active { background: var(--primary); color: white; }
.results-count { color: var(--gray-500); margin-bottom: 24px; }
.creator-bio { color: var(--gray-600); font-size: 13px; margin: 8px 0; }
.search-suggestions { text-align: center; padding: 48px 0; }
.search-suggestions h3 { margin-bottom: 24px; }
.suggestions-list { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
.suggestion { display: flex; align-items: center; gap: 8px; padding: 12px 24px; background: var(--white); border-radius: 8px; box-shadow: var(--shadow); color: var(--gray-700); }
.suggestion:hover { text-decoration: none; box-shadow: var(--shadow-lg); }

/* Notifications Page */
.notifications-page { padding: 24px 0; }
.container-narrow { max-width: 700px; }
.page-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.page-header h1 { margin: 0; }
.notifications-filters { display: flex; gap: 8px; margin-bottom: 24px; }
.filter-btn { padding: 8px 16px; background: var(--gray-100); border: none; border-radius: 20px; cursor: pointer; color: var(--gray-600); }
.filter-btn:hover { background: var(--gray-200); }
.filter-btn.active { background: var(--primary); color: white; }
.notification-item { display: flex; gap: 16px; padding: 16px; background: var(--white); border-radius: 8px; margin-bottom: 8px; align-items: flex-start; color: inherit; position: relative; }
.notification-item:hover { text-decoration: none; background: var(--gray-50); }
.notification-item.unread { background: #f5f3ff; }
.notification-icon { width: 40px; height: 40px; background: var(--gray-100); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--primary); }
.notification-content { flex: 1; }
.notification-content strong { display: block; margin-bottom: 4px; }
.notification-content p { color: var(--gray-600); font-size: 14px; margin-bottom: 4px; }
.notification-content time { color: var(--gray-500); font-size: 12px; }
.unread-dot { width: 8px; height: 8px; background: var(--primary); border-radius: 50%; }

/* Subscriptions/Fans Pages */
.subscriptions-page, .fans-page, .bookmarks-page { padding: 24px 0; }
.subs-tabs, .fans-tabs { display: flex; gap: 8px; margin-bottom: 24px; }
.subs-tabs .tab, .fans-tabs .tab { padding: 8px 16px; background: var(--gray-100); border: none; border-radius: 8px; cursor: pointer; }
.subs-tabs .tab:hover, .fans-tabs .tab:hover { background: var(--gray-200); }
.subs-tabs .tab.active, .fans-tabs .tab.active { background: var(--primary); color: white; }
.fans-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; flex-wrap: wrap; gap: 16px; }
.header-stats { display: flex; gap: 24px; }
.header-stats .stat { color: var(--gray-600); }
.header-stats strong { color: var(--gray-800); }
.subscription-card, .fan-card { display: flex; align-items: center; gap: 16px; padding: 16px; background: var(--white); border-radius: var(--border-radius); margin-bottom: 12px; flex-wrap: wrap; }
.sub-creator, .fan-main { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 200px; color: inherit; }
.sub-creator:hover, .fan-main:hover { text-decoration: none; }
.sub-creator .avatar, .fan-main .avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.sub-info, .fan-info { flex: 1; }
.sub-info strong, .fan-info strong { display: block; }
.sub-info .username, .fan-info .username { color: var(--gray-500); font-size: 14px; }
.sub-details, .fan-stats { display: flex; gap: 24px; }
.sub-price { font-weight: 600; color: var(--primary); }
.sub-date { color: var(--gray-500); font-size: 14px; }
.sub-date .expiring { color: var(--warning); }
.fan-stat { text-align: center; }
.fan-stat .label { display: block; font-size: 12px; color: var(--gray-500); }
.fan-stat .value { font-weight: 600; }
.sub-actions, .fan-actions { display: flex; gap: 8px; }
.btn-danger-outline { background: transparent; border: 1px solid var(--danger); color: var(--danger); }
.btn-danger-outline:hover { background: var(--danger); color: white; }

/* Bookmarks */
.post-card { position: relative; }
.remove-bookmark { position: absolute; top: 12px; right: 12px; background: rgba(0,0,0,0.6); border: none; color: var(--primary); width: 32px; height: 32px; border-radius: 50%; cursor: pointer; z-index: 5; }
.post-creator-mini { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.post-creator-mini a { font-weight: 500; color: var(--gray-800); }

/* Legal Pages */
.legal-page { padding: 48px 0; }
.legal-page h1 { margin-bottom: 8px; }
.last-updated { color: var(--gray-500); margin-bottom: 32px; }
.legal-content section { margin-bottom: 32px; }
.legal-content h2 { font-size: 20px; margin-bottom: 16px; color: var(--gray-800); }
.legal-content h3 { font-size: 16px; margin: 16px 0 8px; }
.legal-content p { margin-bottom: 12px; color: var(--gray-700); }
.legal-content ul, .legal-content ol { margin: 12px 0 12px 24px; color: var(--gray-700); }
.legal-content li { margin-bottom: 8px; }
.custodian-info { background: var(--gray-100); padding: 24px; border-radius: 8px; margin: 16px 0; }

/* Help Page */
.help-page { padding: 48px 0; }
.help-header { text-align: center; margin-bottom: 48px; }
.help-header h1 { margin-bottom: 24px; }
.help-quick-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; margin-bottom: 48px; }
.quick-link { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 24px; background: var(--white); border-radius: var(--border-radius); box-shadow: var(--shadow); color: var(--gray-700); text-align: center; }
.quick-link:hover { text-decoration: none; box-shadow: var(--shadow-lg); color: var(--primary); }
.quick-link i { font-size: 32px; color: var(--primary); }
.help-faq section { margin-bottom: 32px; }
.help-faq h2 { margin-bottom: 16px; }
.faq-item { background: var(--white); border-radius: 8px; margin-bottom: 8px; }
.faq-item summary { padding: 16px; cursor: pointer; font-weight: 500; }
.faq-item summary:hover { color: var(--primary); }
.faq-item p { padding: 0 16px 16px; color: var(--gray-600); }
.help-contact { text-align: center; padding: 48px; background: var(--white); border-radius: var(--border-radius); margin-top: 48px; }
.help-contact h2 { margin-bottom: 12px; }
.help-contact p { color: var(--gray-600); margin-bottom: 24px; }

/* Load More */
.load-more-container { text-align: center; padding: 24px; }

/* Button sizes */
.btn-sm { padding: 6px 12px; font-size: 13px; }

/* Toast Notifications */
#toast-container { position: fixed; top: 20px; right: 20px; z-index: 9999; display: flex; flex-direction: column; gap: 8px; }
.toast { padding: 14px 20px; border-radius: 8px; background: var(--gray-800); color: white; box-shadow: var(--shadow-lg); transform: translateX(120%); transition: transform 0.3s ease; max-width: 350px; }
.toast.show { transform: translateX(0); }
.toast-success { background: var(--success); }
.toast-error { background: var(--danger); }
.toast-warning { background: var(--warning); }

/* Form Controls */
.form-control { width: 100%; padding: 12px 16px; border: 1px solid var(--gray-300); border-radius: 8px; font-size: 16px; }
.form-control:focus { outline: none; border-color: var(--primary); }
textarea.form-control { resize: vertical; min-height: 100px; }
select.form-control { cursor: pointer; }

/* Studio Page Styles */
.studio-page { padding: 24px 0; }
.studio-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; flex-wrap: wrap; gap: 16px; }
.upload-area { border: 2px dashed var(--gray-300); border-radius: var(--border-radius); padding: 48px; text-align: center; background: var(--white); cursor: pointer; transition: all 0.2s; }
.upload-area:hover, .upload-area.dragover { border-color: var(--primary); background: #f5f3ff; }
.upload-area i { font-size: 48px; color: var(--gray-400); margin-bottom: 16px; }
.upload-area p { color: var(--gray-600); margin-bottom: 8px; }
.upload-area small { color: var(--gray-500); }
.upload-preview-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 16px; margin-top: 24px; }
.upload-preview { position: relative; aspect-ratio: 1; border-radius: 8px; overflow: hidden; }
.upload-preview img, .upload-preview video { width: 100%; height: 100%; object-fit: cover; }
.remove-preview { position: absolute; top: 8px; right: 8px; width: 24px; height: 24px; border-radius: 50%; background: rgba(0,0,0,0.6); color: white; border: none; cursor: pointer; font-size: 16px; line-height: 1; }

/* Wallet Page */
.wallet-page { padding: 24px 0; }
.wallet-balance { background: linear-gradient(135deg, var(--primary) 0%, #4c1d95 100%); color: white; padding: 32px; border-radius: var(--border-radius); margin-bottom: 24px; }
.wallet-balance .label { font-size: 14px; opacity: 0.9; }
.wallet-balance .amount { font-size: 48px; font-weight: 700; margin: 8px 0; }
.wallet-balance .pending { font-size: 14px; opacity: 0.8; }
.wallet-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin-bottom: 24px; }
.wallet-stat { background: var(--white); padding: 24px; border-radius: var(--border-radius); }
.wallet-stat .label { color: var(--gray-500); font-size: 14px; margin-bottom: 8px; }
.wallet-stat .value { font-size: 24px; font-weight: 600; }
.payout-history { background: var(--white); border-radius: var(--border-radius); overflow: hidden; }
.payout-item { display: flex; justify-content: space-between; align-items: center; padding: 16px 24px; border-bottom: 1px solid var(--gray-200); }
.payout-item:last-child { border-bottom: none; }
.payout-info .method { font-weight: 500; }
.payout-info .date { color: var(--gray-500); font-size: 14px; }
.payout-amount { font-weight: 600; }
.payout-status { padding: 4px 12px; border-radius: 20px; font-size: 12px; }
.payout-status.pending { background: #fef3c7; color: #d97706; }
.payout-status.completed { background: #d1fae5; color: #059669; }
.payout-status.failed { background: #fee2e2; color: #dc2626; }

/* Messages Page */
.messages-page { height: calc(100vh - 64px); display: flex; }
.conversations-list { width: 320px; background: var(--white); border-right: 1px solid var(--gray-200); overflow-y: auto; flex-shrink: 0; }
.conversation-item { display: flex; gap: 12px; padding: 16px; border-bottom: 1px solid var(--gray-100); cursor: pointer; }
.conversation-item:hover, .conversation-item.active { background: var(--gray-50); }
.conversation-item.unread { background: #f5f3ff; }
.conversation-avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.conversation-info { flex: 1; min-width: 0; }
.conversation-name { font-weight: 500; display: flex; justify-content: space-between; }
.conversation-time { color: var(--gray-500); font-size: 12px; }
.conversation-preview { color: var(--gray-600); font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.chat-area { flex: 1; display: flex; flex-direction: column; }
.chat-header { padding: 16px 24px; border-bottom: 1px solid var(--gray-200); background: var(--white); display: flex; align-items: center; gap: 12px; }
.chat-messages { flex: 1; padding: 24px; overflow-y: auto; background: var(--gray-100); }
.message { max-width: 70%; margin-bottom: 16px; }
.message.sent { margin-left: auto; }
.message-bubble { padding: 12px 16px; border-radius: 16px; }
.message.received .message-bubble { background: var(--white); }
.message.sent .message-bubble { background: var(--primary); color: white; }
.message-time { font-size: 11px; color: var(--gray-500); margin-top: 4px; }
.chat-input { padding: 16px 24px; border-top: 1px solid var(--gray-200); background: var(--white); display: flex; gap: 12px; }
.chat-input input { flex: 1; padding: 12px 16px; border: 1px solid var(--gray-300); border-radius: 24px; }
.chat-input button { width: 48px; height: 48px; border-radius: 50%; background: var(--primary); color: white; border: none; cursor: pointer; }
@media (max-width: 768px) {
    .conversations-list { width: 100%; }
    .chat-area { display: none; }
    .messages-page.chat-open .conversations-list { display: none; }
    .messages-page.chat-open .chat-area { display: flex; }
}

/* Feed Page */
.feed-page { padding: 24px 0; }
.feed-layout { display: grid; grid-template-columns: 1fr; gap: 24px; max-width: 600px; margin: 0 auto; }
.feed-post { background: var(--white); border-radius: var(--border-radius); overflow: hidden; }
.feed-post-header { display: flex; align-items: center; justify-content: space-between; padding: 16px; }
.feed-post-header a { display: flex; align-items: center; gap: 12px; color: inherit; }
.feed-post-header a:hover { text-decoration: none; }
.feed-post-media { position: relative; }
.feed-post-media img, .feed-post-media video { width: 100%; display: block; }
.feed-post-body { padding: 16px; }
.feed-post-actions { display: flex; gap: 16px; margin-bottom: 12px; }
.feed-action { background: none; border: none; cursor: pointer; font-size: 20px; color: var(--gray-600); }
.feed-action:hover { color: var(--gray-800); }
.feed-action.liked { color: var(--danger); }
.feed-post-likes { font-weight: 600; margin-bottom: 8px; }
.feed-post-description { margin-bottom: 8px; }
.feed-post-comments { color: var(--gray-500); font-size: 14px; cursor: pointer; }
.feed-post-time { color: var(--gray-500); font-size: 12px; }

/* Discover Page */
.discover-page { padding: 24px 0; }
.discover-tabs { display: flex; gap: 8px; margin-bottom: 24px; overflow-x: auto; padding-bottom: 8px; }
.discover-tab { padding: 8px 20px; background: var(--gray-100); border-radius: 20px; white-space: nowrap; color: var(--gray-600); }
.discover-tab:hover { text-decoration: none; background: var(--gray-200); }
.discover-tab.active { background: var(--primary); color: white; }

/* ==========================================
   ADDITIONAL STYLES FOR NEW PAGES
   ========================================== */

/* Container variants */
.container-narrow { max-width: 800px; }

/* Page Headers */
.page-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 32px; }
.page-header h1 { font-size: 28px; margin: 0; }

/* Modal Enhancements */
.modal-content.modal-lg { max-width: 600px; text-align: left; }
.modal-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.modal-close { background: none; border: none; font-size: 28px; cursor: pointer; color: var(--gray-500); }
.form-actions { display: flex; gap: 12px; justify-content: flex-end; margin-top: 24px; }

/* Post Page Styles */
.post-page { padding-bottom: 40px; }
.post-layout { display: grid; grid-template-columns: 1fr; gap: 32px; }
@media (min-width: 992px) { .post-layout { grid-template-columns: 1fr 320px; } }
.post-main { background: var(--white); border-radius: var(--border-radius); overflow: hidden; box-shadow: var(--shadow); }
.post-creator { display: flex; align-items: center; justify-content: space-between; padding: 16px; border-bottom: 1px solid var(--gray-200); }
.post-creator .creator-link { display: flex; align-items: center; gap: 12px; color: inherit; }
.post-creator .creator-link:hover { text-decoration: none; }
.post-creator .avatar { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; }
.post-creator .creator-details strong { display: block; }
.post-creator .username { color: var(--gray-500); font-size: 14px; }
.post-time { color: var(--gray-500); font-size: 14px; }
.post-media-container { position: relative; background: var(--gray-900); }
.post-media-container.locked .media-gallery { filter: blur(20px); }
.locked-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.3); z-index: 10; }
.locked-content { text-align: center; color: white; padding: 32px; }
.locked-content i { font-size: 48px; margin-bottom: 16px; }
.locked-content p { margin-bottom: 16px; }
.media-gallery.single img, .media-gallery.single video { width: 100%; max-height: 80vh; object-fit: contain; }
.media-gallery.multi { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px; }
.media-gallery.multi .media-item img { width: 100%; aspect-ratio: 1; object-fit: cover; }
.media-gallery img.blurred { filter: blur(30px); }
.video-indicator { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); background: rgba(0,0,0,0.6); color: white; width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 20px; }
.media-counter { position: absolute; bottom: 12px; right: 12px; background: rgba(0,0,0,0.7); color: white; padding: 6px 12px; border-radius: 20px; font-size: 13px; }
.post-body { padding: 20px; line-height: 1.7; }
.post-actions { display: flex; align-items: center; gap: 8px; padding: 12px 20px; border-top: 1px solid var(--gray-200); border-bottom: 1px solid var(--gray-200); }
.action-btn { background: none; border: none; padding: 8px 12px; border-radius: 8px; cursor: pointer; display: flex; align-items: center; gap: 6px; color: var(--gray-600); font-size: 15px; transition: all 0.2s; }
.action-btn:hover { background: var(--gray-100); }
.action-btn.liked, .action-btn.bookmarked { color: var(--primary); }
.action-btn.liked i { color: #ef4444; }
.action-more { position: relative; margin-left: auto; }
.more-menu { position: absolute; right: 0; top: 100%; background: white; border-radius: 8px; box-shadow: var(--shadow-lg); min-width: 160px; display: none; border: 1px solid var(--gray-200); }
.action-more:hover .more-menu { display: block; }
.more-menu a, .more-menu button { display: flex; align-items: center; gap: 8px; padding: 10px 16px; color: var(--gray-700); width: 100%; text-align: left; border: none; background: none; cursor: pointer; }
.more-menu a:hover, .more-menu button:hover { background: var(--gray-100); text-decoration: none; }
.post-stats { padding: 8px 20px; color: var(--gray-500); font-size: 14px; }
.comments-section { padding: 20px; }
.comments-section h3 { margin-bottom: 20px; }
.comment-form { display: flex; gap: 12px; margin-bottom: 24px; }
.comment-form input { flex: 1; }
.avatar-small { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.comments-list { display: flex; flex-direction: column; gap: 16px; }
.comment { display: flex; gap: 12px; }
.comment-body { flex: 1; }
.comment-header { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
.comment-author { font-weight: 600; color: var(--gray-800); }
.comment-header time { color: var(--gray-500); font-size: 13px; }
.comment p { margin: 0; color: var(--gray-700); }
.no-comments, .login-prompt { text-align: center; color: var(--gray-500); padding: 20px; }
.post-sidebar .sidebar-card { background: var(--white); border-radius: var(--border-radius); padding: 24px; box-shadow: var(--shadow); text-align: center; }
.post-sidebar .creator-avatar-lg { width: 100px; height: 100px; border-radius: 50%; object-fit: cover; margin-bottom: 16px; }
.post-sidebar h3 { margin-bottom: 4px; }
.post-sidebar h3 a { color: inherit; }
.post-sidebar .username { color: var(--gray-500); margin-bottom: 12px; }
.post-sidebar .bio { color: var(--gray-600); font-size: 14px; margin-bottom: 16px; }
.creator-stats-mini { display: flex; justify-content: center; gap: 16px; margin-bottom: 16px; font-size: 14px; color: var(--gray-500); }

/* Become Creator Page */
.bc-hero { background: linear-gradient(135deg, var(--primary) 0%, #4c1d95 100%); color: white; padding: 80px 0; }
.bc-hero .container { display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center; }
@media (min-width: 992px) { .bc-hero .container { grid-template-columns: 1fr 1fr; } }
.bc-hero h1 { font-size: 48px; line-height: 1.1; margin-bottom: 20px; }
.bc-hero p { font-size: 20px; opacity: 0.9; margin-bottom: 32px; }
.bc-hero-cta { display: flex; gap: 16px; flex-wrap: wrap; }
.bc-hero .btn-secondary { background: rgba(255,255,255,0.2); color: white; }
.earnings-preview { background: white; border-radius: 16px; padding: 32px; color: var(--gray-800); box-shadow: 0 20px 40px rgba(0,0,0,0.2); }
.earnings-card { text-align: center; margin-bottom: 24px; padding-bottom: 24px; border-bottom: 1px solid var(--gray-200); }
.earnings-card .label { display: block; color: var(--gray-500); margin-bottom: 8px; }
.earnings-card .amount { display: block; font-size: 48px; font-weight: 700; color: var(--success); }
.earnings-card .growth { color: var(--success); font-size: 14px; }
.stats-row { display: flex; justify-content: space-around; }
.stats-row .stat { text-align: center; }
.stats-row strong { display: block; font-size: 24px; margin-bottom: 4px; }
.stats-row span { color: var(--gray-500); font-size: 14px; }
.bc-stats-bar { background: var(--gray-800); color: white; padding: 32px 0; }
.bc-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; text-align: center; }
@media (min-width: 768px) { .bc-stats { grid-template-columns: repeat(4, 1fr); } }
.bc-stat strong { display: block; font-size: 32px; margin-bottom: 4px; }
.bc-stat span { color: var(--gray-400); }
.bc-how, .bc-features, .bc-calculator, .bc-faq { background: white; }
.bc-steps { display: grid; grid-template-columns: 1fr; gap: 40px; }
@media (min-width: 768px) { .bc-steps { grid-template-columns: repeat(3, 1fr); } }
.bc-step { text-align: center; position: relative; }
.step-number { position: absolute; top: -10px; left: 50%; transform: translateX(-50%); background: var(--primary); color: white; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; }
.step-icon { width: 80px; height: 80px; background: var(--gray-100); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 20px; font-size: 32px; color: var(--primary); }
.bc-features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 32px; }
.bc-feature { text-align: center; padding: 32px; border-radius: var(--border-radius); border: 1px solid var(--gray-200); }
.bc-feature i { font-size: 40px; color: var(--primary); margin-bottom: 16px; }
.bc-feature h3 { margin-bottom: 8px; }
.bc-feature p { color: var(--gray-500); margin: 0; }
.calculator-card { background: var(--gray-100); border-radius: var(--border-radius); padding: 40px; max-width: 600px; margin: 0 auto; }
.calc-inputs { margin-bottom: 32px; }
.calc-input { margin-bottom: 24px; }
.calc-input label { display: block; margin-bottom: 8px; font-weight: 500; }
.calc-input input[type="range"] { width: 100%; }
.calc-value { display: inline-block; background: var(--primary); color: white; padding: 4px 12px; border-radius: 20px; margin-top: 8px; font-weight: 600; }
.calc-result { text-align: center; padding: 32px; background: white; border-radius: var(--border-radius); }
.calc-result .label { display: block; color: var(--gray-500); margin-bottom: 8px; }
.calc-result .amount { display: block; font-size: 48px; font-weight: 700; color: var(--success); margin-bottom: 8px; }
.calc-result .note { color: var(--gray-500); font-size: 14px; }
.faq-list { max-width: 800px; margin: 0 auto; }
.faq-item { border: 1px solid var(--gray-200); border-radius: 8px; margin-bottom: 12px; overflow: hidden; }
.faq-item summary { padding: 16px 20px; cursor: pointer; font-weight: 500; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item[open] summary { border-bottom: 1px solid var(--gray-200); }
.faq-item p { padding: 16px 20px; margin: 0; color: var(--gray-600); }
.bc-final-cta { background: var(--primary); color: white; text-align: center; }
.bc-final-cta h2, .bc-final-cta p { color: white; }

/* Search Page */
.search-page { padding-bottom: 40px; }
.search-header { text-align: center; margin-bottom: 40px; }
.search-header h1 { margin-bottom: 24px; }
.search-form-lg { display: flex; max-width: 600px; margin: 0 auto; gap: 12px; }
.search-form-lg input { flex: 1; padding: 14px 20px; border: 2px solid var(--gray-300); border-radius: 8px; font-size: 16px; }
.search-form-lg input:focus { outline: none; border-color: var(--primary); }
.search-filters { display: flex; gap: 12px; margin-bottom: 24px; }
.filter-tab { padding: 10px 20px; border-radius: 20px; border: 1px solid var(--gray-300); color: var(--gray-600); display: flex; align-items: center; gap: 8px; }
.filter-tab:hover { text-decoration: none; border-color: var(--gray-400); }
.filter-tab.active { background: var(--primary); color: white; border-color: var(--primary); }
.results-count { color: var(--gray-500); margin-bottom: 20px; }
.search-suggestions { text-align: center; padding: 40px; }
.search-suggestions h3 { margin-bottom: 20px; }
.suggestions-list { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.suggestion { padding: 12px 24px; background: var(--gray-100); border-radius: 20px; color: var(--gray-700); display: flex; align-items: center; gap: 8px; }
.suggestion:hover { background: var(--gray-200); text-decoration: none; }
.creator-bio { font-size: 13px; color: var(--gray-500); margin: 8px 0; }

/* Notifications Page */
.notifications-page { padding-bottom: 40px; }
.notifications-filters { display: flex; gap: 8px; margin-bottom: 24px; }
.filter-btn { padding: 8px 16px; border: 1px solid var(--gray-300); border-radius: 20px; background: white; cursor: pointer; }
.filter-btn.active { background: var(--primary); color: white; border-color: var(--primary); }
.notifications-list { background: white; border-radius: var(--border-radius); box-shadow: var(--shadow); overflow: hidden; }
.notification-item { display: flex; align-items: center; gap: 16px; padding: 16px 20px; border-bottom: 1px solid var(--gray-100); color: inherit; position: relative; }
.notification-item:hover { background: var(--gray-50); text-decoration: none; }
.notification-item.unread { background: #f5f3ff; }
.notification-icon { width: 44px; height: 44px; border-radius: 50%; background: var(--gray-100); display: flex; align-items: center; justify-content: center; color: var(--primary); }
.notification-content { flex: 1; }
.notification-content strong { display: block; margin-bottom: 2px; }
.notification-content p { margin: 0; color: var(--gray-600); font-size: 14px; }
.notification-content time { color: var(--gray-500); font-size: 13px; }
.unread-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--primary); }
.load-more-container { text-align: center; padding: 24px; }

/* Subscriptions & Fans Pages */
.subscriptions-page, .fans-page { padding-bottom: 40px; }
.subs-tabs, .fans-tabs { display: flex; gap: 8px; margin-bottom: 24px; }
.subs-tabs .tab, .fans-tabs .tab { padding: 10px 20px; border: none; background: var(--gray-100); border-radius: 8px; cursor: pointer; font-weight: 500; }
.subs-tabs .tab.active, .fans-tabs .tab.active { background: var(--primary); color: white; }
.subscriptions-list, .fans-list { display: flex; flex-direction: column; gap: 16px; }
.subscription-card, .fan-card { background: white; border-radius: var(--border-radius); padding: 20px; box-shadow: var(--shadow); display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.sub-creator, .fan-main { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 200px; color: inherit; }
.sub-creator:hover, .fan-main:hover { text-decoration: none; }
.sub-creator .avatar, .fan-main .avatar { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.sub-info, .fan-info { flex: 1; }
.sub-info strong, .fan-info strong { display: block; }
.sub-info .username, .fan-info .username { color: var(--gray-500); font-size: 14px; }
.sub-details { display: flex; gap: 24px; }
.sub-price { font-size: 18px; font-weight: 600; color: var(--primary); }
.sub-date { color: var(--gray-500); font-size: 14px; }
.sub-date .expiring { color: var(--warning); }
.sub-actions, .fan-actions { display: flex; gap: 8px; }
.btn-danger-outline { border: 1px solid var(--danger); color: var(--danger); background: white; }
.btn-danger-outline:hover { background: #fef2f2; }
.fans-toolbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; margin-bottom: 24px; }
.fan-stats { display: flex; gap: 24px; }
.fan-stat { text-align: center; }
.fan-stat .label { display: block; font-size: 12px; color: var(--gray-500); }
.fan-stat .value { font-weight: 600; }
.header-stats { display: flex; gap: 16px; }
.header-stats .stat { font-size: 14px; color: var(--gray-600); }

/* Bookmarks Page */
.bookmarks-page { padding-bottom: 40px; }
.bookmarks-page .content-feed { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }
.bookmarks-page .post-card { position: relative; }
.bookmarks-page .remove-bookmark { position: absolute; top: 12px; right: 12px; background: rgba(0,0,0,0.6); color: white; border: none; width: 32px; height: 32px; border-radius: 50%; cursor: pointer; z-index: 5; }
.bookmarks-page .remove-bookmark:hover { background: var(--primary); }
.post-creator-mini { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.avatar-tiny { width: 24px; height: 24px; border-radius: 50%; }
.post-creator-mini a { font-weight: 500; color: var(--gray-700); font-size: 14px; }

/* Legal Pages */
.legal-page { padding: 40px 0 80px; }
.legal-page h1 { margin-bottom: 8px; }
.last-updated { color: var(--gray-500); margin-bottom: 40px; }
.legal-content section { margin-bottom: 40px; }
.legal-content h2 { font-size: 22px; margin-bottom: 16px; color: var(--gray-800); }
.legal-content h3 { font-size: 18px; margin: 20px 0 12px; }
.legal-content p { margin-bottom: 16px; line-height: 1.7; }
.legal-content ul, .legal-content ol { margin-bottom: 16px; padding-left: 24px; }
.legal-content li { margin-bottom: 8px; line-height: 1.6; }
.custodian-info { background: var(--gray-100); padding: 20px; border-radius: 8px; margin: 16px 0; }

/* Help Page */
.help-page { padding-bottom: 60px; }
.help-header { text-align: center; padding: 40px 0; }
.help-header h1 { margin-bottom: 24px; }
.help-search { display: flex; max-width: 500px; margin: 0 auto; }
.help-search input { flex: 1; padding: 14px 20px; border: 2px solid var(--gray-300); border-radius: 8px 0 0 8px; font-size: 16px; }
.help-search button { padding: 0 24px; background: var(--primary); color: white; border: none; border-radius: 0 8px 8px 0; cursor: pointer; }
.help-quick-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 16px; margin-bottom: 48px; }
.quick-link { display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 24px 16px; background: white; border-radius: var(--border-radius); box-shadow: var(--shadow); color: var(--gray-700); transition: all 0.2s; }
.quick-link:hover { transform: translateY(-2px); box-shadow: var(--shadow-lg); text-decoration: none; }
.quick-link i { font-size: 28px; color: var(--primary); }
.help-faq section { margin-bottom: 48px; }
.help-faq h2 { margin-bottom: 20px; font-size: 24px; }
.help-contact { text-align: center; padding: 48px; background: var(--gray-100); border-radius: var(--border-radius); }
.help-contact h2 { margin-bottom: 8px; }
.help-contact p { color: var(--gray-600); margin-bottom: 24px; }

/* Form Controls */
.form-control { width: 100%; padding: 12px 16px; border: 1px solid var(--gray-300); border-radius: 8px; font-size: 16px; }
.form-control:focus { outline: none; border-color: var(--primary); }

/* Button sizes */
.btn-sm { padding: 6px 12px; font-size: 13px; }

/* Toast Notifications */
.toast-container { position: fixed; top: 20px; right: 20px; z-index: 9999; display: flex; flex-direction: column; gap: 8px; }
.toast { padding: 12px 20px; border-radius: 8px; background: var(--gray-800); color: white; box-shadow: var(--shadow-lg); transform: translateX(120%); transition: transform 0.3s ease; }
.toast.show { transform: translateX(0); }
.toast-success { background: var(--success); }
.toast-error { background: var(--danger); }
