:root {
--primary: #667eea;
            --secondary: #764ba2;
            --primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            --success-gradient: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
            --warning-gradient: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
            --info-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
            --danger-gradient: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
            --dark-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
            --purple-gradient: linear-gradient(135deg, #a855f7 0%, #ec4899 100%);
            --text-dark: #1e293b;
            --text-muted: #64748b;
            --text-light: #94a3b8;
            --bg-light: #f8fafc;
            --sidebar-width: 270px;
            --topbar-height: 70px;
            --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

* {
margin: 0; padding: 0; box-sizing: border-box;
}

body {
font-family: 'Vazirmatn', 'Tahoma', sans-serif;
            background: var(--bg-light);
            color: var(--text-dark);
            line-height: 1.6;
            overflow-x: hidden;
}

a {
text-decoration: none; transition: var(--transition);
}

::-webkit-scrollbar {
width: 8px; height: 8px;
}

::-webkit-scrollbar-track {
background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
background: var(--primary-gradient); border-radius: 4px;
}

.admin-sidebar {
position: fixed;
            top: 0;
            right: 0;
            width: var(--sidebar-width);
            height: 100vh;
            background: var(--dark-gradient);
            color: #fff;
            z-index: 1000;
            overflow-y: auto;
            transition: var(--transition);
            box-shadow: -5px 0 25px rgba(0, 0, 0, 0.1);
}

[dir="ltr"] .admin-sidebar {
right: auto;
            left: 0;
            box-shadow: 5px 0 25px rgba(0, 0, 0, 0.1);
}

.sidebar-header {
padding: 1.5rem;
            border-bottom: 1px solid rgba(255, 255, 255, 0.08);
            display: flex;
            align-items: center;
            gap: 0.75rem;
}

.sidebar-brand-icon {
width: 44px;
            height: 44px;
            background: var(--primary-gradient);
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.25rem;
            flex-shrink: 0;
            box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
}

.sidebar-brand-text {
flex: 1;
}

.sidebar-brand-text h5 {
font-size: 1.1rem;
            font-weight: 800;
            margin: 0;
            color: #fff;
}

.sidebar-brand-text small {
font-size: 0.7rem;
            color: rgba(255, 255, 255, 0.5);
}

.sidebar-section {
padding: 1rem 1rem 0.5rem;
}

.sidebar-section-title {
font-size: 0.7rem;
            font-weight: 700;
            color: rgba(255, 255, 255, 0.4);
            text-transform: uppercase;
            letter-spacing: 1px;
            padding: 0 0.75rem;
            margin-bottom: 0.5rem;
}

.sidebar-nav {
padding: 0 0.75rem;
}

.sidebar-link {
display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.75rem 0.85rem;
            color: rgba(255, 255, 255, 0.7);
            border-radius: 0.65rem;
            margin-bottom: 0.25rem;
            font-size: 0.9rem;
            font-weight: 500;
            transition: var(--transition);
            position: relative;
}

.sidebar-link:hover {
background: rgba(255, 255, 255, 0.08);
            color: #fff;
            transform: translateX(-3px);
}

[dir="ltr"] .sidebar-link:hover {
transform: translateX(3px);
}

.sidebar-link.active {
background: var(--primary-gradient);
            color: #fff;
            box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
}

.sidebar-link i {
font-size: 1.15rem;
            width: 22px;
            text-align: center;
}

.sidebar-link .link-text {
flex: 1;
}

.sidebar-badge {
background: var(--danger-gradient);
            color: #fff;
            padding: 0.15rem 0.5rem;
            border-radius: 1rem;
            font-size: 0.7rem;
            font-weight: 700;
}

.sidebar-link.active .sidebar-badge {
background: rgba(255, 255, 255, 0.25);
}

.sidebar-footer {
padding: 1rem;
            margin-top: auto;
            border-top: 1px solid rgba(255, 255, 255, 0.08);
            position: absolute;
            bottom: 0;
            width: 100%;
            background: var(--dark-gradient);
}

.admin-profile-mini {
display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.75rem;
            border-radius: 0.65rem;
            background: rgba(255, 255, 255, 0.05);
}

.admin-profile-mini img {
width: 40px;
            height: 40px;
            border-radius: 50%;
            border: 2px solid var(--primary);
            object-fit: cover;
}

.admin-profile-mini-info {
flex: 1;
            min-width: 0;
}

.admin-profile-mini-info strong {
display: block;
            color: #fff;
            font-size: 0.85rem;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
}

.admin-profile-mini-info span {
font-size: 0.7rem;
            color: rgba(255, 255, 255, 0.5);
}

.admin-main {
margin-right: var(--sidebar-width);
            min-height: 100vh;
            transition: var(--transition);
}

[dir="ltr"] .admin-main {
margin-right: 0;
            margin-left: var(--sidebar-width);
}

/* Topbar styles are defined in extra.css — only legacy helpers remain here */

.btn-sidebar-toggle {
background: transparent;
            border: none;
            color: var(--text-dark);
            font-size: 1.35rem;
            cursor: pointer;
            padding: 0.5rem;
            border-radius: 0.5rem;
            display: none;
            transition: var(--transition);
}

.btn-sidebar-toggle:hover {
background: var(--bg-light);
            color: var(--primary);
}

/* Topbar search styled in extra.css */

/* Topbar icon-btn + profile styled in extra.css */
.topbar-icon-btn .notif-badge {
    position: absolute;
    top: 4px; right: 4px;
    min-width: 18px; height: 18px;
    background: #ef4444; color: #fff;
    border-radius: 1rem; font-size: .65rem; font-weight: 700;
    display: flex; align-items: center; justify-content: center;
    padding: 0 4px; border: 2px solid #fff;
    line-height: 1;
}
[dir="ltr"] .topbar-icon-btn .notif-badge { right: auto; left: 4px; }

.lang-switcher {
position: relative;
}

.lang-btn {
background: var(--bg-light);
            border: none;
            color: var(--text-dark);
            padding: 0.5rem 0.85rem;
            border-radius: 0.65rem;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.85rem;
            font-family: inherit;
            cursor: pointer;
            transition: var(--transition);
}

.lang-btn:hover {
background: rgba(102, 126, 234, 0.1);
            color: var(--primary);
}

.lang-dropdown {
position: absolute;
            top: calc(100% + 10px);
            left: 0;
            background: #fff;
            border-radius: 0.75rem;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
            min-width: 160px;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-10px);
            transition: var(--transition);
            z-index: 1001;
}

[dir="ltr"] .lang-dropdown {
left: auto; right: 0;
}

.lang-dropdown.show {
opacity: 1;
            visibility: visible;
            transform: translateY(0);
}

.lang-option {
display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.75rem 1rem;
            cursor: pointer;
            transition: var(--transition);
            border: none;
            background: none;
            width: 100%;
            text-align: start;
            font-weight: 500;
            font-family: inherit;
            font-size: 0.9rem;
}

.lang-option:hover {
background: var(--bg-light);
}

.lang-option.active {
background: rgba(102, 126, 234, 0.1);
            color: var(--primary);
}

.lang-flag {
font-size: 1.25rem;
}

.admin-content {
padding: 1.5rem;
}

.page-header {
display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 1.5rem;
            flex-wrap: wrap;
            gap: 1rem;
}

.page-title {
font-size: 1.5rem;
            font-weight: 800;
            color: var(--text-dark);
            margin: 0;
}

.page-subtitle {
color: var(--text-muted);
            font-size: 0.9rem;
            margin-top: 0.25rem;
}

.breadcrumb-custom {
display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.85rem;
            color: var(--text-muted);
}

.breadcrumb-custom a {
color: var(--primary);
            font-weight: 600;
}

.stats-grid {
display: grid;
            grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
            gap: 1.25rem;
            margin-bottom: 1.5rem;
}

.stat-card {
background: #fff;
            border-radius: 1rem;
            padding: 1.5rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
            transition: var(--transition);
            position: relative;
            overflow: hidden;
}

.stat-card::before {
content: '';
            position: absolute;
            top: 0;
            right: 0;
            width: 100px;
            height: 100px;
            border-radius: 50%;
            opacity: 0.1;
            transform: translate(30%, -30%);
}

[dir="ltr"] .stat-card::before {
right: auto;
            left: 0;
            transform: translate(-30%, -30%);
}

.stat-card.primary::before {
background: var(--primary);
}

.stat-card.success::before {
background: var(--success-gradient);
}

.stat-card.warning::before {
background: var(--warning-gradient);
}

.stat-card.info::before {
background: var(--info-gradient);
}

.stat-card:hover {
transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.08);
}

.stat-card-header {
display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 1rem;
}

.stat-icon {
width: 50px;
            height: 50px;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            color: #fff;
}

.stat-icon.primary {
background: var(--primary-gradient);
}

.stat-icon.success {
background: var(--success-gradient);
}

.stat-icon.warning {
background: var(--warning-gradient);
}

.stat-icon.info {
background: var(--info-gradient);
}

.stat-trend {
display: flex;
            align-items: center;
            gap: 0.25rem;
            font-size: 0.8rem;
            font-weight: 700;
            padding: 0.25rem 0.6rem;
            border-radius: 2rem;
}

.stat-trend.up {
background: rgba(16, 185, 129, 0.1);
            color: #10b981;
}

.stat-trend.down {
background: rgba(239, 68, 68, 0.1);
            color: #ef4444;
}

.stat-label {
color: var(--text-muted);
            font-size: 0.85rem;
            font-weight: 500;
            margin-bottom: 0.35rem;
}

.stat-value {
font-size: 2rem;
            font-weight: 800;
            color: var(--text-dark);
            line-height: 1;
            margin-bottom: 0.5rem;
}

.stat-footer {
display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.8rem;
            color: var(--text-muted);
            padding-top: 0.75rem;
            border-top: 1px solid #f0f0f0;
}

.stat-footer i {
color: var(--primary);
}

.content-grid {
display: grid;
            grid-template-columns: 2fr 1fr;
            gap: 1.25rem;
            margin-bottom: 1.5rem;
}

.card {
background: #fff;
            border-radius: 1rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
            overflow: hidden;
}

.card-header {
padding: 1.25rem 1.5rem;
            border-bottom: 1px solid #f0f0f0;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 0.75rem;
}

.card-title {
font-size: 1.05rem;
            font-weight: 700;
            color: var(--text-dark);
            margin: 0;
            display: flex;
            align-items: center;
            gap: 0.5rem;
}

.card-title i {
color: var(--primary);
            font-size: 1.15rem;
}

.card-body {
padding: 1.5rem;
}

.card-body.p-0 {
padding: 0;
}

.btn-card-action {
background: var(--bg-light);
            border: none;
            color: var(--text-muted);
            padding: 0.4rem 0.85rem;
            border-radius: 0.5rem;
            font-size: 0.8rem;
            font-weight: 600;
            font-family: inherit;
            cursor: pointer;
            transition: var(--transition);
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
}

.btn-card-action:hover {
background: var(--primary);
            color: #fff;
}

.chart-container {
height: 320px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
}

.chart-bars {
display: flex;
            align-items: flex-end;
            justify-content: space-around;
            height: 240px;
            gap: 0.75rem;
            padding: 0 1rem;
}

.chart-bar-item {
flex: 1;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.5rem;
}

.chart-bar {
width: 100%;
            max-width: 40px;
            background: var(--primary-gradient);
            border-radius: 6px 6px 0 0;
            position: relative;
            transition: var(--transition);
            cursor: pointer;
            min-height: 20px;
}

.chart-bar:hover {
opacity: 0.85;
            transform: scaleY(1.05);
            transform-origin: bottom;
}

.chart-bar.secondary {
background: var(--info-gradient);
}

.chart-bar-label {
font-size: 0.75rem;
            color: var(--text-muted);
            font-weight: 600;
}

.chart-bar-value {
position: absolute;
            top: -25px;
            left: 50%;
            transform: translateX(-50%);
            font-size: 0.75rem;
            font-weight: 700;
            color: var(--text-dark);
            opacity: 0;
            transition: var(--transition);
}

.chart-bar:hover .chart-bar-value {
opacity: 1;
            top: -30px;
}

.chart-legend {
display: flex;
            justify-content: center;
            gap: 1.5rem;
            padding-top: 1rem;
            border-top: 1px solid #f0f0f0;
}

.legend-item {
display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.85rem;
            color: var(--text-muted);
            font-weight: 600;
}

.legend-dot {
width: 12px;
            height: 12px;
            border-radius: 3px;
}

.legend-dot.primary {
background: var(--primary-gradient);
}

.legend-dot.info {
background: var(--info-gradient);
}

.activity-list {
max-height: 400px;
            overflow-y: auto;
}

.activity-item {
display: flex;
            gap: 0.85rem;
            padding: 1rem 0;
            border-bottom: 1px solid #f0f0f0;
            transition: var(--transition);
}

.activity-item:last-child {
border-bottom: none;
}

.activity-item:hover {
background: var(--bg-light);
            margin: 0 -1.5rem;
            padding: 1rem 1.5rem;
            border-radius: 0.5rem;
}

.activity-icon {
width: 40px;
            height: 40px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1rem;
            flex-shrink: 0;
}

.activity-icon.success {
background: rgba(16, 185, 129, 0.1);
            color: #10b981;
}

.activity-icon.warning {
background: rgba(245, 158, 11, 0.1);
            color: #f59e0b;
}

.activity-icon.info {
background: rgba(79, 172, 254, 0.1);
            color: #4facfe;
}

.activity-icon.danger {
background: rgba(239, 68, 68, 0.1);
            color: #ef4444;
}

.activity-icon.purple {
background: rgba(168, 85, 247, 0.1);
            color: #a855f7;
}

.activity-content {
flex: 1;
            min-width: 0;
}

.activity-title {
font-size: 0.9rem;
            font-weight: 600;
            color: var(--text-dark);
            margin-bottom: 0.15rem;
}

.activity-desc {
font-size: 0.8rem;
            color: var(--text-muted);
}

.activity-time {
font-size: 0.75rem;
            color: var(--text-light);
            white-space: nowrap;
}

.table-responsive {
overflow-x: auto;
}

.admin-table {
width: 100%;
            border-collapse: collapse;
}

.admin-table thead {
background: var(--bg-light);
}

.admin-table th {
padding: 1rem 1.5rem;
            text-align: right;
            font-size: 0.8rem;
            font-weight: 700;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            border-bottom: 1px solid #f0f0f0;
            white-space: nowrap;
}

[dir="ltr"] .admin-table th {
text-align: left;
}

.admin-table td {
padding: 1rem 1.5rem;
            border-bottom: 1px solid #f0f0f0;
            font-size: 0.9rem;
            color: var(--text-dark);
}

.admin-table tbody tr {
transition: var(--transition);
}

.admin-table tbody tr:hover {
background: var(--bg-light);
}

.admin-table tbody tr:last-child td {
border-bottom: none;
}

.user-cell {
display: flex;
            align-items: center;
            gap: 0.75rem;
}

.user-avatar {
width: 42px;
            height: 42px;
            border-radius: 50%;
            object-fit: cover;
            border: 2px solid var(--bg-light);
}

.user-info strong {
display: block;
            font-size: 0.9rem;
            color: var(--text-dark);
            margin-bottom: 0.1rem;
}

.user-info span {
font-size: 0.75rem;
            color: var(--text-muted);
}

.status-badge {
display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            padding: 0.3rem 0.75rem;
            border-radius: 2rem;
            font-size: 0.75rem;
            font-weight: 700;
}

.status-badge.pending {
background: rgba(245, 158, 11, 0.1);
            color: #f59e0b;
}

.status-badge.approved {
background: rgba(16, 185, 129, 0.1);
            color: #10b981;
}

.status-badge.rejected {
background: rgba(239, 68, 68, 0.1);
            color: #ef4444;
}

.status-badge.active {
background: rgba(79, 172, 254, 0.1);
            color: #4facfe;
}

.action-buttons {
display: flex;
            gap: 0.35rem;
}

.btn-action-sm {
width: 34px;
            height: 34px;
            border: none;
            border-radius: 0.5rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.9rem;
            transition: var(--transition);
}

.btn-action-sm.approve {
background: rgba(16, 185, 129, 0.1);
            color: #10b981;
}

.btn-action-sm.approve:hover {
background: #10b981;
            color: #fff;
}

.btn-action-sm.reject {
background: rgba(239, 68, 68, 0.1);
            color: #ef4444;
}

.btn-action-sm.reject:hover {
background: #ef4444;
            color: #fff;
}

.btn-action-sm.view {
background: rgba(79, 172, 254, 0.1);
            color: #4facfe;
}

.btn-action-sm.view:hover {
background: #4facfe;
            color: #fff;
}

.quick-actions {
display: grid;
            grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
            gap: 0.75rem;
            margin-bottom: 1.5rem;
}

.quick-action-card {
background: #fff;
            border-radius: 0.85rem;
            padding: 1.25rem;
            text-align: center;
            transition: var(--transition);
            cursor: pointer;
            border: 2px solid transparent;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
}

.quick-action-card:hover {
transform: translateY(-3px);
            border-color: var(--primary);
            box-shadow: 0 10px 30px rgba(102, 126, 234, 0.15);
}

.quick-action-icon {
width: 48px;
            height: 48px;
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.35rem;
            color: #fff;
            margin: 0 auto 0.75rem;
}

.quick-action-title {
font-size: 0.85rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 0.15rem;
}

.quick-action-desc {
font-size: 0.7rem;
            color: var(--text-muted);
}

.sidebar-overlay {
display: none;
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.5);
            z-index: 999;
}

.sidebar-overlay.show {
display: block;
}

@media (max-width: 1199.98px) {
            .content-grid {
                grid-template-columns: 1fr;
            }
        }

@media (max-width: 991.98px) {
            .admin-sidebar {
                transform: translateX(100%);
            }

            [dir="ltr"] .admin-sidebar {
                transform: translateX(-100%);
            }

            .admin-sidebar.show {
                transform: translateX(0);
            }

            .admin-main {
                margin-right: 0;
            }

            [dir="ltr"] .admin-main {
                margin-left: 0;
            }

            .btn-sidebar-toggle {
                display: flex;
            }

            .topbar-search {
                display: none;
            }
        }

@media (max-width: 575.98px) {
            .admin-content {
                padding: 1rem;
            }

            .admin-topbar {
                padding: 0 1rem;
            }

            .stat-value {
                font-size: 1.5rem;
            }

            .page-title {
                font-size: 1.25rem;
            }

            .lang-btn .lang-name {
                display: none;
            }
        }

@keyframes fadeInUp {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

.stat-card, .card, .quick-action-card {
animation: fadeInUp 0.5s ease-out backwards;
}

.stat-card:nth-child(1) {
animation-delay: 0.05s;
}

.stat-card:nth-child(2) {
animation-delay: 0.1s;
}

.stat-card:nth-child(3) {
animation-delay: 0.15s;
}

.stat-card:nth-child(4) {
animation-delay: 0.2s;
}

:root {
--primary: #667eea;
            --secondary: #764ba2;
            --primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            --success-gradient: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
            --warning-gradient: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
            --info-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
            --danger-gradient: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
            --dark-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
            --purple-gradient: linear-gradient(135deg, #a855f7 0%, #ec4899 100%);
            --gold-gradient: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
            --text-dark: #1e293b;
            --text-muted: #64748b;
            --text-light: #94a3b8;
            --bg-light: #f8fafc;
            --sidebar-width: 270px;
            --topbar-height: 70px;
            --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.sidebar-link {
display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.75rem 0.85rem;
            color: rgba(255, 255, 255, 0.7);
            border-radius: 0.65rem;
            margin-bottom: 0.25rem;
            font-size: 0.9rem;
            font-weight: 500;
            transition: var(--transition);
}

.sidebar-badge.warning {
background: var(--warning-gradient);
}

.admin-profile-mini-info {
flex: 1; min-width: 0;
}

.page-title {
font-size: 1.5rem;
            font-weight: 800;
            color: var(--text-dark);
            margin: 0;
            display: flex;
            align-items: center;
            gap: 0.5rem;
}

.page-title i {
color: var(--primary);
}

.page-actions {
display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
}

.btn-primary-custom {
background: var(--primary-gradient);
            color: #fff;
            border: none;
            padding: 0.65rem 1.25rem;
            border-radius: 0.65rem;
            font-weight: 600;
            font-size: 0.9rem;
            font-family: inherit;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            transition: var(--transition);
            box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.btn-primary-custom:hover {
transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
            color: #fff;
}

.btn-outline-custom {
background: #fff;
            color: var(--text-dark);
            border: 2px solid #e2e8f0;
            padding: 0.55rem 1.15rem;
            border-radius: 0.65rem;
            font-weight: 600;
            font-size: 0.9rem;
            font-family: inherit;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            transition: var(--transition);
}

.btn-outline-custom:hover {
border-color: var(--primary);
            color: var(--primary);
}

.stats-grid {
display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            gap: 1rem;
            margin-bottom: 1.5rem;
}

.stat-card {
background: #fff;
            border-radius: 1rem;
            padding: 1.25rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
            transition: var(--transition);
            position: relative;
            overflow: hidden;
            cursor: pointer;
}

.stat-card.danger::before {
background: var(--danger-gradient);
}

.stat-card:hover {
transform: translateY(-3px);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
}

.stat-card.active {
border: 2px solid var(--primary);
}

.stat-card-header {
display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 0.75rem;
}

.stat-icon {
width: 44px;
            height: 44px;
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.3rem;
            color: #fff;
}

.stat-icon.danger {
background: var(--danger-gradient);
}

.stat-trend {
display: flex;
            align-items: center;
            gap: 0.2rem;
            font-size: 0.75rem;
            font-weight: 700;
            padding: 0.2rem 0.5rem;
            border-radius: 2rem;
}

.stat-label {
color: var(--text-muted);
            font-size: 0.8rem;
            font-weight: 500;
            margin-bottom: 0.25rem;
}

.stat-value {
font-size: 1.65rem;
            font-weight: 800;
            color: var(--text-dark);
            line-height: 1;
}

.filter-bar {
background: #fff;
            border-radius: 1rem;
            padding: 1.25rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
            margin-bottom: 1.25rem;
}

.filter-row {
display: grid;
            grid-template-columns: 2fr 1fr 1fr 1fr 1fr auto;
            gap: 0.75rem;
            align-items: center;
}

.filter-input {
position: relative;
}

.filter-input input,
        .filter-input select {
width: 100%;
            padding: 0.65rem 1rem 0.65rem 2.5rem;
            border: 2px solid #e2e8f0;
            border-radius: 0.65rem;
            font-family: inherit;
            font-size: 0.9rem;
            background: #fff;
            transition: var(--transition);
}

[dir="ltr"] .filter-input input,
        [dir="ltr"] .filter-input select {
padding: 0.65rem 2.5rem 0.65rem 1rem;
}

.filter-input input:focus,
        .filter-input select:focus {
outline: none;
            border-color: var(--primary);
            box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1);
}

.filter-input i {
position: absolute;
            top: 50%;
            left: 1rem;
            transform: translateY(-50%);
            color: var(--text-muted);
            pointer-events: none;
}

[dir="ltr"] .filter-input i {
left: auto;
            right: 1rem;
}

.btn-filter-reset {
background: var(--bg-light);
            border: none;
            color: var(--text-muted);
            padding: 0.65rem 1rem;
            border-radius: 0.65rem;
            font-weight: 600;
            font-size: 0.85rem;
            font-family: inherit;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            transition: var(--transition);
            white-space: nowrap;
}

.btn-filter-reset:hover {
background: var(--danger-gradient);
            color: #fff;
}

.bulk-actions {
background: var(--primary-gradient);
            color: #fff;
            padding: 0.85rem 1.25rem;
            border-radius: 0.75rem;
            margin-bottom: 1rem;
            display: none;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            flex-wrap: wrap;
            animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
            from { opacity: 0; transform: translateY(-10px); }
            to { opacity: 1; transform: translateY(0); }
        }

.bulk-actions.show {
display: flex;
}

.bulk-actions-info {
display: flex;
            align-items: center;
            gap: 0.5rem;
            font-weight: 600;
}

.bulk-actions-buttons {
display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
}

.btn-bulk {
background: rgba(255, 255, 255, 0.2);
            color: #fff;
            border: 1px solid rgba(255, 255, 255, 0.3);
            padding: 0.4rem 0.85rem;
            border-radius: 0.5rem;
            font-weight: 600;
            font-size: 0.8rem;
            font-family: inherit;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            transition: var(--transition);
}

.btn-bulk:hover {
background: #fff;
            color: var(--primary);
}

.btn-bulk.danger:hover {
background: var(--danger-gradient);
            border-color: transparent;
            color: #fff;
}

.btn-bulk.success:hover {
background: var(--success-gradient);
            border-color: transparent;
            color: #fff;
}

.admin-table th {
padding: 1rem 1.25rem;
            text-align: right;
            font-size: 0.75rem;
            font-weight: 700;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            border-bottom: 1px solid #f0f0f0;
            white-space: nowrap;
}

.admin-table td {
padding: 1rem 1.25rem;
            border-bottom: 1px solid #f0f0f0;
            font-size: 0.9rem;
            color: var(--text-dark);
            vertical-align: middle;
}

.admin-table tbody tr.selected {
background: rgba(102, 126, 234, 0.05);
}

.custom-checkbox {
width: 20px;
            height: 20px;
            accent-color: var(--primary);
            cursor: pointer;
}

.lawyer-cell {
display: flex;
            align-items: center;
            gap: 0.75rem;
}

.lawyer-avatar-wrapper {
position: relative;
            flex-shrink: 0;
}

.lawyer-avatar {
width: 48px;
            height: 48px;
            border-radius: 50%;
            object-fit: cover;
            border: 2px solid var(--bg-light);
}

.verified-mini {
position: absolute;
            bottom: -2px;
            right: -2px;
            width: 18px;
            height: 18px;
            background: var(--success-gradient);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 0.65rem;
            border: 2px solid #fff;
}

[dir="ltr"] .verified-mini {
right: auto;
            left: -2px;
}

.lawyer-info strong {
display: flex;
            align-items: center;
            gap: 0.35rem;
            font-size: 0.9rem;
            color: var(--text-dark);
            margin-bottom: 0.1rem;
}

.lawyer-info strong i {
color: var(--primary);
            font-size: 0.8rem;
}

.lawyer-info span {
font-size: 0.75rem;
            color: var(--text-muted);
}

.specialty-badges {
display: flex;
            gap: 0.25rem;
            flex-wrap: wrap;
}

.specialty-badge {
background: rgba(102, 126, 234, 0.1);
            color: var(--primary);
            padding: 0.2rem 0.6rem;
            border-radius: 1rem;
            font-size: 0.7rem;
            font-weight: 600;
            white-space: nowrap;
}

.license-cell {
display: flex;
            flex-direction: column;
            gap: 0.15rem;
}

.license-number {
font-weight: 700;
            color: var(--text-dark);
            font-size: 0.9rem;
}

.license-bar {
font-size: 0.75rem;
            color: var(--text-muted);
}

.rating-cell {
display: flex;
            align-items: center;
            gap: 0.5rem;
}

.rating-stars {
display: flex;
            gap: 0.1rem;
            color: #fbbf24;
            font-size: 0.85rem;
}

.rating-value {
font-weight: 700;
            color: var(--text-dark);
            font-size: 0.9rem;
}

.rating-count {
font-size: 0.75rem;
            color: var(--text-muted);
}

.stats-cell {
display: flex;
            gap: 0.75rem;
}

.stat-mini-item {
display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.15rem;
}

.stat-mini-value {
font-weight: 700;
            color: var(--text-dark);
            font-size: 0.9rem;
}

.stat-mini-label {
font-size: 0.7rem;
            color: var(--text-muted);
            display: flex;
            align-items: center;
            gap: 0.2rem;
}

.stat-mini-label i {
color: var(--primary);
            font-size: 0.75rem;
}

.status-badge {
display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            padding: 0.3rem 0.75rem;
            border-radius: 2rem;
            font-size: 0.75rem;
            font-weight: 700;
            white-space: nowrap;
}

.status-badge.verified {
background: rgba(16, 185, 129, 0.1);
            color: #10b981;
}

.status-badge.suspended {
background: rgba(148, 163, 184, 0.15);
            color: #64748b;
}

.status-dot {
width: 8px;
            height: 8px;
            border-radius: 50%;
            background: currentColor;
}

.btn-action-sm.suspend {
background: rgba(245, 158, 11, 0.1);
            color: #f59e0b;
}

.btn-action-sm.suspend:hover {
background: #f59e0b;
            color: #fff;
}

.btn-action-sm.delete {
background: rgba(239, 68, 68, 0.1);
            color: #ef4444;
}

.btn-action-sm.delete:hover {
background: #ef4444;
            color: #fff;
}

.table-footer {
padding: 1rem 1.5rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 1rem;
            border-top: 1px solid #f0f0f0;
}

.table-info {
font-size: 0.85rem;
            color: var(--text-muted);
}

.table-info strong {
color: var(--text-dark);
}

.pagination-custom {
display: flex;
            gap: 0.35rem;
            list-style: none;
            padding: 0;
            margin: 0;
}

.pagination-custom .page-item .page-link {
display: flex;
            align-items: center;
            justify-content: center;
            min-width: 36px;
            height: 36px;
            padding: 0 0.6rem;
            border: 2px solid #e2e8f0;
            border-radius: 0.5rem;
            color: var(--text-dark);
            font-weight: 600;
            font-size: 0.85rem;
            transition: var(--transition);
            background: #fff;
            cursor: pointer;
}

.pagination-custom .page-item .page-link:hover {
border-color: var(--primary);
            color: var(--primary);
}

.pagination-custom .page-item.active .page-link {
background: var(--primary-gradient);
            border-color: transparent;
            color: #fff;
}

.pagination-custom .page-item.disabled .page-link {
opacity: 0.5;
            cursor: not-allowed;
}

.modal-custom {
display: none;
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.5);
            z-index: 2000;
            align-items: center;
            justify-content: center;
            padding: 1rem;
            animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

.modal-custom.show {
display: flex;
}

.modal-content-custom {
background: #fff;
            border-radius: 1.25rem;
            width: 100%;
            max-width: 800px;
            max-height: 90vh;
            overflow-y: auto;
            animation: slideUp 0.3s ease-out;
}

@keyframes slideUp {
            from { transform: translateY(30px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }

.modal-header-custom {
padding: 1.5rem;
            border-bottom: 1px solid #f0f0f0;
            display: flex;
            justify-content: space-between;
            align-items: center;
}

.modal-title-custom {
font-size: 1.15rem;
            font-weight: 700;
            color: var(--text-dark);
            display: flex;
            align-items: center;
            gap: 0.5rem;
}

.modal-title-custom i {
color: var(--primary);
}

.btn-close-custom {
background: var(--bg-light);
            border: none;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            color: var(--text-muted);
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.1rem;
            transition: var(--transition);
}

.btn-close-custom:hover {
background: var(--danger-gradient);
            color: #fff;
}

.modal-body-custom {
padding: 1.5rem;
}

.lawyer-profile-header {
background: var(--primary-gradient);
            border-radius: 1rem;
            padding: 1.5rem;
            color: #fff;
            margin-bottom: 1.5rem;
            position: relative;
            overflow: hidden;
}

.lawyer-profile-header::before {
content: '';
            position: absolute;
            top: -50%;
            right: -20%;
            width: 200px;
            height: 200px;
            background: rgba(255, 255, 255, 0.1);
            border-radius: 50%;
}

.lawyer-profile-content {
display: flex;
            gap: 1.25rem;
            align-items: center;
            position: relative;
            z-index: 1;
            flex-wrap: wrap;
}

.lawyer-profile-avatar-wrapper {
position: relative;
            flex-shrink: 0;
}

.lawyer-profile-avatar {
width: 100px;
            height: 100px;
            border-radius: 50%;
            border: 4px solid rgba(255, 255, 255, 0.3);
            object-fit: cover;
            background: #fff;
}

.verified-large {
position: absolute;
            bottom: 5px;
            right: 5px;
            width: 28px;
            height: 28px;
            background: var(--success-gradient);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 0.9rem;
            border: 3px solid #fff;
}

[dir="ltr"] .verified-large {
right: auto;
            left: 5px;
}

.lawyer-profile-info {
flex: 1;
            min-width: 200px;
}

.lawyer-profile-info h3 {
font-size: 1.35rem;
            font-weight: 800;
            margin-bottom: 0.25rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
}

.lawyer-profile-info p {
opacity: 0.9;
            font-size: 0.9rem;
            margin-bottom: 0.5rem;
}

.lawyer-profile-badges {
display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
}

.lawyer-profile-badges .badge-custom {
background: rgba(255, 255, 255, 0.2);
            backdrop-filter: blur(10px);
            color: #fff;
            padding: 0.3rem 0.75rem;
            border-radius: 2rem;
            font-size: 0.75rem;
            font-weight: 600;
            border: 1px solid rgba(255, 255, 255, 0.3);
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
}

.modal-stats-grid {
display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 0.75rem;
            margin-bottom: 1.5rem;
}

.modal-stat-item {
text-align: center;
            padding: 1rem;
            background: var(--bg-light);
            border-radius: 0.75rem;
            transition: var(--transition);
}

.modal-stat-item:hover {
transform: translateY(-3px);
            background: rgba(102, 126, 234, 0.05);
}

.modal-stat-icon {
width: 40px;
            height: 40px;
            background: var(--primary-gradient);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 1.1rem;
            margin: 0 auto 0.5rem;
}

.modal-stat-value {
font-size: 1.35rem;
            font-weight: 800;
            color: var(--text-dark);
            display: block;
            line-height: 1;
            margin-bottom: 0.25rem;
}

.modal-stat-label {
font-size: 0.75rem;
            color: var(--text-muted);
}

.info-grid {
display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1rem;
            margin-bottom: 1.5rem;
}

.info-item {
padding: 1rem;
            background: var(--bg-light);
            border-radius: 0.75rem;
}

.info-item-label {
font-size: 0.75rem;
            color: var(--text-muted);
            margin-bottom: 0.35rem;
            display: flex;
            align-items: center;
            gap: 0.35rem;
}

.info-item-label i {
color: var(--primary);
}

.info-item-value {
font-size: 0.95rem;
            font-weight: 600;
            color: var(--text-dark);
}

.specialties-section {
margin-bottom: 1.5rem;
}

.specialties-section h6 {
font-size: 0.9rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 0.75rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
}

.specialties-section h6 i {
color: var(--primary);
}

.specialties-list {
display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
}

.specialty-tag-modal {
background: rgba(102, 126, 234, 0.1);
            color: var(--primary);
            padding: 0.4rem 0.85rem;
            border-radius: 2rem;
            font-size: 0.85rem;
            font-weight: 600;
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
}

.recent-activity {
margin-bottom: 1.5rem;
}

.recent-activity h6 {
font-size: 0.9rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 0.75rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
}

.recent-activity h6 i {
color: var(--primary);
}

.activity-item-modal {
display: flex;
            gap: 0.75rem;
            padding: 0.75rem 0;
            border-bottom: 1px solid #f0f0f0;
            align-items: center;
}

.activity-item-modal:last-child {
border-bottom: none;
}

.activity-icon-mini {
width: 36px;
            height: 36px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.9rem;
            flex-shrink: 0;
}

.activity-icon-mini.success {
background: rgba(16, 185, 129, 0.1);
            color: #10b981;
}

.activity-icon-mini.info {
background: rgba(79, 172, 254, 0.1);
            color: #4facfe;
}

.activity-icon-mini.warning {
background: rgba(245, 158, 11, 0.1);
            color: #f59e0b;
}

.activity-content-mini {
flex: 1;
            min-width: 0;
}

.activity-title-mini {
font-size: 0.85rem;
            font-weight: 600;
            color: var(--text-dark);
            margin-bottom: 0.1rem;
}

.activity-desc-mini {
font-size: 0.75rem;
            color: var(--text-muted);
}

.activity-time-mini {
font-size: 0.7rem;
            color: var(--text-light);
            white-space: nowrap;
}

.modal-footer-custom {
padding: 1rem 1.5rem;
            border-top: 1px solid #f0f0f0;
            display: flex;
            justify-content: flex-end;
            gap: 0.5rem;
            flex-wrap: wrap;
}

.btn-modal {
padding: 0.55rem 1rem;
            border-radius: 0.65rem;
            font-weight: 600;
            font-size: 0.85rem;
            font-family: inherit;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            transition: var(--transition);
            border: none;
}

.btn-modal.primary {
background: var(--primary-gradient);
            color: #fff;
            box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.btn-modal.primary:hover {
transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
            color: #fff;
}

.btn-modal.success {
background: var(--success-gradient);
            color: #fff;
}

.btn-modal.success:hover {
transform: translateY(-2px);
            color: #fff;
}

.btn-modal.warning {
background: var(--warning-gradient);
            color: #fff;
}

.btn-modal.warning:hover {
transform: translateY(-2px);
            color: #fff;
}

.btn-modal.danger {
background: var(--danger-gradient);
            color: #fff;
}

.btn-modal.danger:hover {
transform: translateY(-2px);
            color: #fff;
}

.btn-modal.outline {
background: #fff;
            color: var(--text-dark);
            border: 2px solid #e2e8f0;
}

.btn-modal.outline:hover {
border-color: var(--primary);
            color: var(--primary);
}

@media (max-width: 1399.98px) {
            .filter-row {
                grid-template-columns: 1fr 1fr 1fr;
            }
        }

@media (max-width: 1199.98px) {
            .filter-row {
                grid-template-columns: 1fr 1fr;
            }

            .modal-stats-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

@media (max-width: 991.98px) {
            .admin-sidebar {
                transform: translateX(100%);
            }

            [dir="ltr"] .admin-sidebar {
                transform: translateX(-100%);
            }

            .admin-sidebar.show {
                transform: translateX(0);
            }

            .admin-main {
                margin-right: 0;
            }

            [dir="ltr"] .admin-main {
                margin-left: 0;
            }

            .btn-sidebar-toggle {
                display: flex;
            }

            .topbar-search {
                display: none;
            }

            .filter-row {
                grid-template-columns: 1fr;
            }

            .info-grid {
                grid-template-columns: 1fr;
            }

            .lawyer-profile-content {
                flex-direction: column;
                text-align: center;
            }

            .lawyer-profile-badges {
                justify-content: center;
            }
        }

@media (max-width: 575.98px) {
            .admin-content {
                padding: 1rem;
            }

            .admin-topbar {
                padding: 0 1rem;
            }

            .page-title {
                font-size: 1.25rem;
            }

            .lang-btn .lang-name {
                display: none;
            }

            .modal-stats-grid {
                grid-template-columns: 1fr 1fr;
            }

            .modal-stat-value {
                font-size: 1.1rem;
            }
        }

@keyframes fadeInUp {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

.stat-card, .card {
animation: fadeInUp 0.5s ease-out backwards;
}

:root {
--primary: #667eea;
            --secondary: #764ba2;
            --primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            --success-gradient: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
            --warning-gradient: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
            --info-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
            --danger-gradient: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
            --dark-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
            --purple-gradient: linear-gradient(135deg, #a855f7 0%, #ec4899 100%);
            --teal-gradient: linear-gradient(135deg, #14b8a6 0%, #0891b2 100%);
            --text-dark: #1e293b;
            --text-muted: #64748b;
            --text-light: #94a3b8;
            --bg-light: #f8fafc;
            --sidebar-width: 270px;
            --topbar-height: 70px;
            --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.sidebar-badge.info {
background: var(--info-gradient);
}

.sidebar-footer {
padding: 1rem;
            border-top: 1px solid rgba(255, 255, 255, 0.08);
            position: absolute;
            bottom: 0;
            width: 100%;
            background: var(--dark-gradient);
}

.btn-sidebar-toggle {
background: transparent;
            border: none;
            color: var(--text-dark);
            font-size: 1.35rem;
            cursor: pointer;
            padding: 0.5rem;
            border-radius: 0.5rem;
            display: none;
}

/* LTR topbar overrides moved to extra.css */

.lang-btn {
background: var(--bg-light);
            border: none;
            color: var(--text-dark);
            padding: 0.5rem 0.85rem;
            border-radius: 0.65rem;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.85rem;
            font-family: inherit;
            cursor: pointer;
}

.lang-option {
display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.75rem 1rem;
            cursor: pointer;
            border: none;
            background: none;
            width: 100%;
            text-align: start;
            font-weight: 500;
            font-family: inherit;
            font-size: 0.9rem;
}

.btn-primary-custom {
background: var(--primary-gradient);
            color: #fff;
            border: none;
            padding: 0.65rem 1.25rem;
            border-radius: 0.65rem;
            font-weight: 600;
            font-size: 0.9rem;
            font-family: inherit;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
            transition: var(--transition);
}

.btn-success-custom {
background: var(--success-gradient);
            color: #fff;
            border: none;
            padding: 0.65rem 1.25rem;
            border-radius: 0.65rem;
            font-weight: 600;
            font-size: 0.9rem;
            font-family: inherit;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            transition: var(--transition);
}

.btn-success-custom:hover {
transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(17, 153, 142, 0.3);
            color: #fff;
}

.stat-card.teal::before {
background: var(--teal-gradient);
}

.stat-icon.teal {
background: var(--teal-gradient);
}

.filter-row {
display: grid;
            grid-template-columns: 2fr 1fr 1fr 1fr auto;
            gap: 0.75rem;
            align-items: center;
}

[dir="ltr"] .filter-input i {
left: auto; right: 1rem;
}

.btn-filter-reset {
background: var(--bg-light);
            border: none;
            color: var(--text-muted);
            padding: 0.65rem 1rem;
            border-radius: 0.65rem;
            font-weight: 600;
            font-size: 0.85rem;
            font-family: inherit;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            white-space: nowrap;
            transition: var(--transition);
}

.posts-tabs {
background: #fff;
            border-radius: 1rem;
            padding: 0.5rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
            margin-bottom: 1.25rem;
            display: flex;
            gap: 0.25rem;
            overflow-x: auto;
            scrollbar-width: none;
}

.posts-tabs::-webkit-scrollbar {
display: none;
}

.posts-tab {
background: transparent;
            border: none;
            color: var(--text-muted);
            padding: 0.65rem 1.25rem;
            border-radius: 0.65rem;
            font-weight: 600;
            font-size: 0.9rem;
            font-family: inherit;
            cursor: pointer;
            white-space: nowrap;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            transition: var(--transition);
}

.posts-tab:hover {
background: var(--bg-light);
            color: var(--primary);
}

.posts-tab.active {
background: var(--primary-gradient);
            color: #fff;
            box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.posts-tab .tab-count {
background: rgba(255, 255, 255, 0.25);
            padding: 0.15rem 0.5rem;
            border-radius: 1rem;
            font-size: 0.75rem;
            font-weight: 700;
}

.posts-tab:not(.active) .tab-count {
background: var(--bg-light);
            color: var(--text-muted);
}

@keyframes slideDown {
            from { opacity: 0; transform: translateY(-10px); }
            to { opacity: 1; transform: translateY(0); }
        }

.post-cell {
display: flex;
            gap: 0.85rem;
            align-items: center;
            min-width: 280px;
}

.post-thumbnail {
width: 70px;
            height: 70px;
            border-radius: 0.65rem;
            object-fit: cover;
            flex-shrink: 0;
            border: 2px solid var(--bg-light);
}

.post-info {
flex: 1;
            min-width: 0;
}

.post-title {
font-weight: 700;
            font-size: 0.9rem;
            color: var(--text-dark);
            margin-bottom: 0.25rem;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            line-height: 1.4;
}

.post-meta {
font-size: 0.75rem;
            color: var(--text-muted);
            display: flex;
            gap: 0.75rem;
            flex-wrap: wrap;
}

.post-meta span {
display: flex;
            align-items: center;
            gap: 0.2rem;
}

.post-type-badge {
display: inline-flex;
            align-items: center;
            gap: 0.25rem;
            padding: 0.2rem 0.6rem;
            border-radius: 1rem;
            font-size: 0.7rem;
            font-weight: 700;
}

.post-type-badge.site {
background: rgba(168, 85, 247, 0.1);
            color: #a855f7;
}

.post-type-badge.vip {
background: rgba(245, 158, 11, 0.1);
            color: #f59e0b;
}

.post-type-badge.news {
background: rgba(239, 68, 68, 0.1);
            color: #ef4444;
}

.post-type-badge.article {
background: rgba(79, 172, 254, 0.1);
            color: #4facfe;
}

.author-cell {
display: flex;
            align-items: center;
            gap: 0.65rem;
}

.author-avatar {
width: 36px;
            height: 36px;
            border-radius: 50%;
            object-fit: cover;
            border: 2px solid var(--bg-light);
            flex-shrink: 0;
}

.author-info strong {
display: flex;
            align-items: center;
            gap: 0.25rem;
            font-size: 0.85rem;
            color: var(--text-dark);
}

.author-info strong i {
color: var(--primary);
            font-size: 0.75rem;
}

.author-info span {
font-size: 0.7rem;
            color: var(--text-muted);
}

.category-badge {
background: rgba(102, 126, 234, 0.1);
            color: var(--primary);
            padding: 0.25rem 0.75rem;
            border-radius: 1rem;
            font-size: 0.75rem;
            font-weight: 600;
            white-space: nowrap;
            display: inline-flex;
            align-items: center;
            gap: 0.25rem;
}

.stat-mini-item {
display: flex;
            flex-direction: column;
            align-items: center;
            gap: 0.1rem;
}

.status-badge.published {
background: rgba(16, 185, 129, 0.1);
            color: #10b981;
}

.status-badge.draft {
background: rgba(148, 163, 184, 0.15);
            color: #64748b;
}

.status-badge.featured {
background: rgba(245, 158, 11, 0.15);
            color: #f59e0b;
}

.featured-star {
color: #f59e0b;
            font-size: 0.85rem;
}

.btn-action-sm.edit {
background: rgba(102, 126, 234, 0.1);
            color: var(--primary);
}

.btn-action-sm.edit:hover {
background: var(--primary);
            color: #fff;
}

.btn-action-sm.feature {
background: rgba(245, 158, 11, 0.1);
            color: #f59e0b;
}

.btn-action-sm.feature:hover {
background: #f59e0b;
            color: #fff;
}

.pagination-custom .page-item .page-link {
display: flex;
            align-items: center;
            justify-content: center;
            min-width: 36px;
            height: 36px;
            padding: 0 0.6rem;
            border: 2px solid #e2e8f0;
            border-radius: 0.5rem;
            color: var(--text-dark);
            font-weight: 600;
            font-size: 0.85rem;
            background: #fff;
            cursor: pointer;
            transition: var(--transition);
}

.modal-custom {
display: none;
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.6);
            z-index: 2000;
            align-items: center;
            justify-content: center;
            padding: 1rem;
            animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

.modal-content-custom {
background: #fff;
            border-radius: 1.25rem;
            width: 100%;
            max-width: 900px;
            max-height: 90vh;
            overflow-y: auto;
            animation: slideUp 0.3s ease-out;
}

@keyframes slideUp {
            from { transform: translateY(30px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }

.modal-header-custom {
padding: 1.5rem;
            border-bottom: 1px solid #f0f0f0;
            display: flex;
            justify-content: space-between;
            align-items: center;
            background: var(--primary-gradient);
            color: #fff;
}

.modal-title-custom {
font-size: 1.15rem;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 0.5rem;
}

.btn-close-custom {
background: rgba(255, 255, 255, 0.2);
            border: none;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            color: #fff;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.1rem;
}

.btn-close-custom:hover {
background: rgba(255, 255, 255, 0.3);
}

.post-preview {
border-radius: 1rem;
            overflow: hidden;
            margin-bottom: 1.5rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.post-preview-image {
height: 280px;
            background-size: cover;
            background-position: center;
            position: relative;
}

.post-preview-overlay {
position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            padding: 1.5rem;
            background: linear-gradient(to top, rgba(0,0,0,0.8) 0%, transparent 100%);
            color: #fff;
}

.post-preview-category {
display: inline-block;
            background: rgba(255, 255, 255, 0.2);
            backdrop-filter: blur(10px);
            color: #fff;
            padding: 0.3rem 0.85rem;
            border-radius: 2rem;
            font-size: 0.75rem;
            font-weight: 700;
            margin-bottom: 0.75rem;
            border: 1px solid rgba(255, 255, 255, 0.3);
}

.post-preview-title {
font-size: 1.35rem;
            font-weight: 800;
            line-height: 1.4;
            margin-bottom: 0.5rem;
}

.post-preview-meta {
display: flex;
            gap: 1rem;
            font-size: 0.85rem;
            opacity: 0.9;
            flex-wrap: wrap;
}

.post-preview-meta span {
display: flex;
            align-items: center;
            gap: 0.25rem;
}

.post-preview-content {
padding: 1.5rem;
            background: var(--bg-light);
}

.post-preview-excerpt {
color: var(--text-muted);
            font-size: 0.95rem;
            line-height: 1.9;
            margin-bottom: 1rem;
}

.section-title-modal {
font-size: 1rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 1rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding-bottom: 0.5rem;
            border-bottom: 2px solid #f0f0f0;
}

.section-title-modal i {
color: var(--primary);
}

.author-card-modal {
display: flex;
            gap: 1rem;
            align-items: center;
            padding: 1rem;
            background: var(--bg-light);
            border-radius: 0.75rem;
            margin-bottom: 1.5rem;
}

.author-avatar-large {
width: 60px;
            height: 60px;
            border-radius: 50%;
            object-fit: cover;
            border: 3px solid var(--primary);
}

.author-card-info {
flex: 1;
}

.author-card-info h6 {
font-size: 1rem;
            font-weight: 700;
            margin-bottom: 0.15rem;
            display: flex;
            align-items: center;
            gap: 0.35rem;
}

.author-card-info h6 i {
color: var(--primary);
}

.author-card-info p {
font-size: 0.8rem;
            color: var(--text-muted);
            margin-bottom: 0.25rem;
}

.author-card-badges {
display: flex;
            gap: 0.35rem;
            flex-wrap: wrap;
}

.modal-footer-custom {
padding: 1rem 1.5rem;
            border-top: 1px solid #f0f0f0;
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 0.5rem;
            flex-wrap: wrap;
            background: var(--bg-light);
}

.modal-footer-left,
        .modal-footer-right {
display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
}

.btn-modal {
padding: 0.55rem 1.15rem;
            border-radius: 0.65rem;
            font-weight: 600;
            font-size: 0.85rem;
            font-family: inherit;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            border: none;
            transition: var(--transition);
}

@media (max-width: 1399.98px) {
            .filter-row {
                grid-template-columns: 1fr 1fr 1fr;
            }
        }

@media (max-width: 1199.98px) {
            .filter-row {
                grid-template-columns: 1fr 1fr;
            }

            .info-grid,
            .modal-stats-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

@media (max-width: 991.98px) {
            .admin-sidebar {
                transform: translateX(100%);
            }

            [dir="ltr"] .admin-sidebar {
                transform: translateX(-100%);
            }

            .admin-sidebar.show {
                transform: translateX(0);
            }

            .admin-main {
                margin-right: 0;
            }

            [dir="ltr"] .admin-main {
                margin-left: 0;
            }

            .btn-sidebar-toggle {
                display: flex;
                align-items: center;
                justify-content: center;
            }

            .topbar-search {
                display: none;
            }

            .filter-row {
                grid-template-columns: 1fr;
            }

            .info-grid {
                grid-template-columns: 1fr;
            }

            .modal-footer-custom {
                flex-direction: column;
            }

            .modal-footer-left,
            .modal-footer-right {
                width: 100%;
                justify-content: center;
            }
        }

@media (max-width: 575.98px) {
            .admin-content { padding: 1rem; }
            .admin-topbar { padding: 0 1rem; }
            .page-title { font-size: 1.25rem; }
            .lang-btn .lang-name { display: none; }
            .modal-stats-grid { grid-template-columns: 1fr 1fr; }
            .modal-stat-value { font-size: 1.1rem; }
            .post-preview-image { height: 200px; }
            .post-preview-title { font-size: 1.1rem; }
        }

@keyframes fadeInUp {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

.stat-card:nth-child(5) {
animation-delay: 0.25s;
}

.filter-input i {
position: absolute;
            top: 50%;
            left: 1rem;
            transform: translateY(-50%);
            color: var(--text-muted);
}

.btn-filter-reset {
background: var(--bg-light);
            border: none;
            color: var(--text-muted);
            padding: 0.65rem 1rem;
            border-radius: 0.65rem;
            font-weight: 600;
            font-size: 0.85rem;
            font-family: inherit;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            transition: var(--transition);
}

@keyframes slideDown {
            from { opacity: 0; transform: translateY(-10px); }
            to { opacity: 1; transform: translateY(0); }
        }

.user-avatar {
width: 44px;
            height: 44px;
            border-radius: 50%;
            object-fit: cover;
            border: 2px solid var(--bg-light);
            flex-shrink: 0;
}

.user-info strong {
display: flex;
            align-items: center;
            gap: 0.35rem;
            font-size: 0.9rem;
            color: var(--text-dark);
            margin-bottom: 0.1rem;
}

.user-info strong i {
color: var(--primary);
            font-size: 0.8rem;
}

.role-badge {
display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            padding: 0.3rem 0.75rem;
            border-radius: 2rem;
            font-size: 0.75rem;
            font-weight: 700;
}

.role-badge.admin {
background: rgba(168, 85, 247, 0.1);
            color: #a855f7;
}

.role-badge.lawyer {
background: rgba(79, 172, 254, 0.1);
            color: #4facfe;
}

.role-badge.client {
background: rgba(16, 185, 129, 0.1);
            color: #10b981;
}

.status-badge.active {
background: rgba(16, 185, 129, 0.1);
            color: #10b981;
}

.status-badge.inactive {
background: rgba(148, 163, 184, 0.15);
            color: #64748b;
}

.status-badge.banned {
background: rgba(239, 68, 68, 0.1);
            color: #ef4444;
}

.status-dot.active {
background: #10b981;
}

.status-dot.inactive {
background: #64748b;
}

.status-dot.pending {
background: #f59e0b;
}

.status-dot.banned {
background: #ef4444;
}

.activity-cell {
display: flex;
            gap: 1rem;
            font-size: 0.8rem;
}

.activity-item-mini {
display: flex;
            align-items: center;
            gap: 0.25rem;
            color: var(--text-muted);
}

.activity-item-mini i {
color: var(--primary);
            font-size: 0.85rem;
}

.activity-item-mini strong {
color: var(--text-dark);
}

.btn-action-sm.ban {
background: rgba(245, 158, 11, 0.1);
            color: #f59e0b;
}

.btn-action-sm.ban:hover {
background: #f59e0b;
            color: #fff;
}

@keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

.modal-content-custom {
background: #fff;
            border-radius: 1.25rem;
            width: 100%;
            max-width: 700px;
            max-height: 90vh;
            overflow-y: auto;
            animation: slideUp 0.3s ease-out;
}

@keyframes slideUp {
            from { transform: translateY(30px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }

.user-profile-header {
display: flex;
            gap: 1.25rem;
            align-items: center;
            padding: 1.25rem;
            background: var(--bg-light);
            border-radius: 1rem;
            margin-bottom: 1.5rem;
}

.user-profile-avatar {
width: 80px;
            height: 80px;
            border-radius: 50%;
            border: 4px solid #fff;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            object-fit: cover;
}

.user-profile-info h4 {
font-size: 1.2rem;
            font-weight: 700;
            margin-bottom: 0.25rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
}

.user-profile-info h4 i {
color: var(--primary);
}

.user-profile-info p {
color: var(--text-muted);
            font-size: 0.85rem;
            margin-bottom: 0.5rem;
}

.user-profile-badges {
display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
}

.stats-row {
display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 0.75rem;
            margin-bottom: 1.5rem;
}

.stat-mini {
text-align: center;
            padding: 1rem;
            background: var(--bg-light);
            border-radius: 0.75rem;
}

.stat-mini-value {
font-size: 1.5rem;
            font-weight: 800;
            color: var(--primary);
            display: block;
            line-height: 1;
            margin-bottom: 0.25rem;
}

.stat-mini-label {
font-size: 0.75rem;
            color: var(--text-muted);
}

@media (max-width: 1199.98px) {
            .filter-row {
                grid-template-columns: 1fr 1fr;
            }
        }

@media (max-width: 991.98px) {
            .admin-sidebar {
                transform: translateX(100%);
            }

            [dir="ltr"] .admin-sidebar {
                transform: translateX(-100%);
            }

            .admin-sidebar.show {
                transform: translateX(0);
            }

            .admin-main {
                margin-right: 0;
            }

            [dir="ltr"] .admin-main {
                margin-left: 0;
            }

            .btn-sidebar-toggle {
                display: flex;
            }

            .topbar-search {
                display: none;
            }

            .filter-row {
                grid-template-columns: 1fr;
            }

            .info-grid {
                grid-template-columns: 1fr;
            }
        }

@media (max-width: 575.98px) {
            .admin-content {
                padding: 1rem;
            }

            .admin-topbar {
                padding: 0 1rem;
            }

            .page-title {
                font-size: 1.25rem;
            }

            .lang-btn .lang-name {
                display: none;
            }

            .stats-row {
                grid-template-columns: 1fr;
            }

            .user-profile-header {
                flex-direction: column;
                text-align: center;
            }
        }

@keyframes fadeInUp {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

.btn-primary-custom {
background: var(--primary-gradient);
            color: #fff;
            border: none;
            padding: 0.65rem 1.25rem;
            border-radius: 0.65rem;
            font-weight: 600;
            font-size: 0.9rem;
            font-family: inherit;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.btn-outline-custom {
background: #fff;
            color: var(--text-dark);
            border: 2px solid #e2e8f0;
            padding: 0.55rem 1.15rem;
            border-radius: 0.65rem;
            font-weight: 600;
            font-size: 0.9rem;
            font-family: inherit;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
}

.alert-banner {
background: linear-gradient(135deg, rgba(245, 158, 11, 0.1) 0%, rgba(239, 68, 68, 0.1) 100%);
            border: 1px solid rgba(245, 158, 11, 0.3);
            border-radius: 1rem;
            padding: 1rem 1.5rem;
            margin-bottom: 1.5rem;
            display: flex;
            align-items: center;
            gap: 1rem;
            flex-wrap: wrap;
}

.alert-banner-icon {
width: 48px;
            height: 48px;
            background: var(--warning-gradient);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 1.35rem;
            flex-shrink: 0;
            animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.05); }
        }

.alert-banner-content {
flex: 1;
            min-width: 200px;
}

.alert-banner-title {
font-size: 1rem;
            font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 0.15rem;
}

.alert-banner-text {
font-size: 0.85rem;
            color: var(--text-muted);
}

.alert-banner-action {
background: var(--warning-gradient);
            color: #fff;
            border: none;
            padding: 0.5rem 1.25rem;
            border-radius: 0.5rem;
            font-weight: 600;
            font-size: 0.85rem;
            font-family: inherit;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
}

.alert-banner-action:hover {
transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(245, 158, 11, 0.4);
}

.btn-filter-reset {
background: var(--bg-light);
            border: none;
            color: var(--text-muted);
            padding: 0.65rem 1rem;
            border-radius: 0.65rem;
            font-weight: 600;
            font-size: 0.85rem;
            font-family: inherit;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            white-space: nowrap;
}

.verification-tabs {
background: #fff;
            border-radius: 1rem;
            padding: 0.5rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
            margin-bottom: 1.25rem;
            display: flex;
            gap: 0.25rem;
            overflow-x: auto;
            scrollbar-width: none;
}

.verification-tabs::-webkit-scrollbar {
display: none;
}

.verification-tab {
background: transparent;
            border: none;
            color: var(--text-muted);
            padding: 0.65rem 1.25rem;
            border-radius: 0.65rem;
            font-weight: 600;
            font-size: 0.9rem;
            font-family: inherit;
            cursor: pointer;
            white-space: nowrap;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            transition: var(--transition);
}

.verification-tab:hover {
background: var(--bg-light);
            color: var(--primary);
}

.verification-tab.active {
background: var(--primary-gradient);
            color: #fff;
            box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.verification-tab .tab-count {
background: rgba(255, 255, 255, 0.25);
            padding: 0.15rem 0.5rem;
            border-radius: 1rem;
            font-size: 0.75rem;
            font-weight: 700;
}

.verification-tab:not(.active) .tab-count {
background: var(--bg-light);
            color: var(--text-muted);
}

.lawyer-avatar-wrapper {
position: relative; flex-shrink: 0;
}

.priority-indicator {
position: absolute;
            top: -2px;
            right: -2px;
            width: 16px;
            height: 16px;
            border-radius: 50%;
            border: 2px solid #fff;
}

.priority-indicator.high {
background: var(--danger-gradient);
}

.priority-indicator.medium {
background: var(--warning-gradient);
}

.priority-indicator.low {
background: var(--success-gradient);
}

[dir="ltr"] .priority-indicator {
right: auto; left: -2px;
}

.documents-cell {
display: flex;
            gap: 0.35rem;
            align-items: center;
}

.document-thumb {
width: 40px;
            height: 40px;
            border-radius: 0.4rem;
            object-fit: cover;
            border: 2px solid var(--bg-light);
            cursor: pointer;
            transition: var(--transition);
}

.document-thumb:hover {
transform: scale(1.1);
            border-color: var(--primary);
}

.document-more {
width: 40px;
            height: 40px;
            border-radius: 0.4rem;
            background: var(--bg-light);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.75rem;
            font-weight: 700;
            color: var(--text-muted);
            cursor: pointer;
}

.date-cell {
display: flex;
            flex-direction: column;
            gap: 0.15rem;
}

.date-main {
font-weight: 600;
            color: var(--text-dark);
            font-size: 0.9rem;
}

.date-sub {
font-size: 0.75rem;
            color: var(--text-muted);
            display: flex;
            align-items: center;
            gap: 0.25rem;
}

.status-badge.review {
background: rgba(79, 172, 254, 0.1);
            color: #4facfe;
}

.btn-action-sm.review {
background: rgba(102, 126, 234, 0.1);
            color: var(--primary);
}

.btn-action-sm.review:hover {
background: var(--primary);
            color: #fff;
}

.pagination-custom .page-item .page-link {
display: flex;
            align-items: center;
            justify-content: center;
            min-width: 36px;
            height: 36px;
            padding: 0 0.6rem;
            border: 2px solid #e2e8f0;
            border-radius: 0.5rem;
            color: var(--text-dark);
            font-weight: 600;
            font-size: 0.85rem;
            background: #fff;
            cursor: pointer;
}

@keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

@keyframes slideUp {
            from { transform: translateY(30px); opacity: 0; }
            to { transform: translateY(0); opacity: 1; }
        }

.lawyer-profile-header {
display: flex;
            gap: 1.5rem;
            align-items: center;
            padding: 1.5rem;
            background: var(--bg-light);
            border-radius: 1rem;
            margin-bottom: 1.5rem;
            flex-wrap: wrap;
}

.lawyer-profile-avatar-wrapper {
position: relative; flex-shrink: 0;
}

.lawyer-profile-avatar {
width: 100px;
            height: 100px;
            border-radius: 50%;
            border: 4px solid #fff;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            object-fit: cover;
}

.lawyer-profile-info h3 {
font-size: 1.35rem;
            font-weight: 800;
            margin-bottom: 0.25rem;
            color: var(--text-dark);
}

.lawyer-profile-info p {
color: var(--text-muted);
            font-size: 0.9rem;
            margin-bottom: 0.5rem;
}

.badge-custom {
background: rgba(102, 126, 234, 0.1);
            color: var(--primary);
            padding: 0.3rem 0.75rem;
            border-radius: 2rem;
            font-size: 0.75rem;
            font-weight: 600;
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
}

.badge-custom.warning {
background: rgba(245, 158, 11, 0.1);
            color: #f59e0b;
}

.documents-section {
margin-bottom: 1.5rem;
}

.documents-grid {
display: grid;
            grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
            gap: 1rem;
}

.document-card {
background: var(--bg-light);
            border-radius: 0.75rem;
            overflow: hidden;
            cursor: pointer;
            transition: var(--transition);
            border: 2px solid transparent;
}

.document-card:hover {
transform: translateY(-3px);
            border-color: var(--primary);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.document-preview {
height: 140px;
            background: #e2e8f0;
            position: relative;
            overflow: hidden;
}

.document-preview img {
width: 100%;
            height: 100%;
            object-fit: cover;
}

.document-preview-overlay {
position: absolute;
            inset: 0;
            background: rgba(0, 0, 0, 0.4);
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 2rem;
            opacity: 0;
            transition: var(--transition);
}

.document-card:hover .document-preview-overlay {
opacity: 1;
}

.document-info {
padding: 0.75rem;
}

.document-name {
font-size: 0.85rem;
            font-weight: 600;
            color: var(--text-dark);
            margin-bottom: 0.15rem;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
}

.document-meta {
font-size: 0.7rem;
            color: var(--text-muted);
            display: flex;
            align-items: center;
            gap: 0.25rem;
}

.timeline-section {
margin-bottom: 1.5rem;
}

.timeline {
position: relative;
            padding-right: 2rem;
}

[dir="ltr"] .timeline {
padding-right: 0;
            padding-left: 2rem;
}

.timeline::before {
content: '';
            position: absolute;
            top: 0;
            right: 10px;
            bottom: 0;
            width: 2px;
            background: #e2e8f0;
}

[dir="ltr"] .timeline::before {
right: auto;
            left: 10px;
}

.timeline-item {
position: relative;
            padding-bottom: 1.25rem;
}

.timeline-item:last-child {
padding-bottom: 0;
}

.timeline-dot {
position: absolute;
            right: -2rem;
            top: 0;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            background: #fff;
            border: 3px solid var(--primary);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.7rem;
            color: var(--primary);
            z-index: 1;
}

[dir="ltr"] .timeline-dot {
right: auto;
            left: -2rem;
}

.timeline-dot.success {
border-color: #10b981;
            color: #10b981;
}

.timeline-dot.warning {
border-color: #f59e0b;
            color: #f59e0b;
}

.timeline-dot.danger {
border-color: #ef4444;
            color: #ef4444;
}

.timeline-content {
background: var(--bg-light);
            padding: 0.85rem 1rem;
            border-radius: 0.65rem;
}

.timeline-title {
font-size: 0.85rem;
            font-weight: 600;
            color: var(--text-dark);
            margin-bottom: 0.15rem;
}

.timeline-desc {
font-size: 0.8rem;
            color: var(--text-muted);
            margin-bottom: 0.25rem;
}

.timeline-time {
font-size: 0.7rem;
            color: var(--text-light);
            display: flex;
            align-items: center;
            gap: 0.25rem;
}

.notes-section {
margin-bottom: 1.5rem;
}

.notes-textarea {
width: 100%;
            min-height: 100px;
            padding: 0.85rem 1rem;
            border: 2px solid #e2e8f0;
            border-radius: 0.75rem;
            font-family: inherit;
            font-size: 0.9rem;
            resize: vertical;
            transition: var(--transition);
}

.notes-textarea:focus {
outline: none;
            border-color: var(--primary);
            box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1);
}

.modal-footer-left {
display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
}

.modal-footer-right {
display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
}

.image-viewer {
display: none;
            position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.9);
            z-index: 3000;
            align-items: center;
            justify-content: center;
            padding: 2rem;
}

.image-viewer.show {
display: flex;
}

.image-viewer img {
max-width: 100%;
            max-height: 100%;
            border-radius: 0.5rem;
}

.image-viewer-close {
position: absolute;
            top: 2rem;
            right: 2rem;
            background: rgba(255, 255, 255, 0.2);
            border: none;
            width: 48px;
            height: 48px;
            border-radius: 50%;
            color: #fff;
            font-size: 1.5rem;
            cursor: pointer;
            display: flex;
            align-items: center;
            justify-content: center;
}

[dir="ltr"] .image-viewer-close {
right: auto; left: 2rem;
}

@media (max-width: 1399.98px) {
            .filter-row {
                grid-template-columns: 1fr 1fr 1fr;
            }
        }

@media (max-width: 1199.98px) {
            .filter-row {
                grid-template-columns: 1fr 1fr;
            }

            .info-grid {
                grid-template-columns: 1fr;
            }
        }

@media (max-width: 991.98px) {
            .admin-sidebar {
                transform: translateX(100%);
            }

            [dir="ltr"] .admin-sidebar {
                transform: translateX(-100%);
            }

            .admin-sidebar.show {
                transform: translateX(0);
            }

            .admin-main {
                margin-right: 0;
            }

            [dir="ltr"] .admin-main {
                margin-left: 0;
            }

            .btn-sidebar-toggle {
                display: flex;
                align-items: center;
                justify-content: center;
            }

            .topbar-search {
                display: none;
            }

            .filter-row {
                grid-template-columns: 1fr;
            }

            .lawyer-profile-header {
                flex-direction: column;
                text-align: center;
            }

            .lawyer-profile-badges {
                justify-content: center;
            }

            .modal-footer-custom {
                flex-direction: column;
            }

            .modal-footer-left,
            .modal-footer-right {
                width: 100%;
                justify-content: center;
            }
        }

@media (max-width: 575.98px) {
            .admin-content { padding: 1rem; }
            .admin-topbar { padding: 0 1rem; }
            .page-title { font-size: 1.25rem; }
            .lang-btn .lang-name { display: none; }
            .documents-grid { grid-template-columns: 1fr 1fr; }
            .alert-banner { flex-direction: column; text-align: center; }
        }

@keyframes fadeInUp {
            from { opacity: 0; transform: translateY(20px); }
            to { opacity: 1; transform: translateY(0); }
        }

:root {
--primary: #667eea;
            --secondary: #764ba2;
            --primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            --success-gradient: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
            --warning-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
            --info-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
            --dark-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
            --text-dark: #1e293b;
            --text-muted: #64748b;
            --bg-light: #f8fafc;
            --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

body {
font-family: 'Vazirmatn', 'Tahoma', sans-serif;
            background: var(--bg-light);
            color: var(--text-dark);
            line-height: 1.7;
            overflow-x: hidden;
            min-height: 100vh;
}

::-webkit-scrollbar {
width: 8px;
}

.auth-wrapper {
min-height: 100vh;
            display: flex;
}

.auth-hero {
flex: 1;
            background: var(--primary-gradient);
            color: #fff;
            padding: 3rem;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            position: relative;
            overflow: hidden;
            min-height: 100vh;
}

.auth-hero::before {
content: '';
            position: absolute;
            inset: 0;
            background: 
                radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 80%, rgba(255,255,255,0.1) 0%, transparent 50%);
}

.auth-hero::after {
content: '';
            position: absolute;
            bottom: -100px;
            left: -100px;
            width: 400px;
            height: 400px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.05);
            animation: float 8s ease-in-out infinite;
}

@keyframes float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-30px); }
        }

.auth-hero-content {
position: relative;
            z-index: 2;
}

.auth-brand {
display: flex;
            align-items: center;
            gap: 0.75rem;
            font-size: 1.75rem;
            font-weight: 800;
            margin-bottom: 3rem;
}

.auth-brand-icon {
width: 50px;
            height: 50px;
            background: rgba(255, 255, 255, 0.2);
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            backdrop-filter: blur(10px);
}

.auth-hero-title {
font-size: 2.5rem;
            font-weight: 800;
            line-height: 1.3;
            margin-bottom: 1.25rem;
            animation: fadeInUp 0.8s ease-out;
}

.auth-hero-subtitle {
font-size: 1.1rem;
            opacity: 0.9;
            margin-bottom: 2.5rem;
            animation: fadeInUp 0.8s ease-out 0.2s backwards;
}

.auth-features {
list-style: none;
            padding: 0;
            animation: fadeInUp 0.8s ease-out 0.4s backwards;
}

.auth-features li {
display: flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 1rem;
            font-size: 1rem;
}

.auth-features li i {
width: 32px;
            height: 32px;
            background: rgba(255, 255, 255, 0.2);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.9rem;
            flex-shrink: 0;
}

.auth-hero-image {
position: relative;
            z-index: 2;
            margin-top: 2rem;
            text-align: center;
            animation: fadeIn 1s ease-out 0.6s backwards;
}

.auth-hero-image img {
max-width: 100%;
            border-radius: 1rem;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}

.auth-form-side {
flex: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 2rem;
            background: #fff;
            position: relative;
            min-height: 100vh;
}

.auth-form-container {
width: 100%;
            max-width: 440px;
            animation: fadeInUp 0.6s ease-out;
}

.auth-topbar {
position: absolute;
            top: 1.5rem;
            left: 1.5rem;
            right: 1.5rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
            z-index: 10;
}

[dir="rtl"] .auth-topbar {
flex-direction: row-reverse;
}

.btn-back {
display: flex;
            align-items: center;
            gap: 0.5rem;
            color: var(--text-muted);
            font-weight: 500;
            padding: 0.5rem 1rem;
            border-radius: 0.5rem;
            transition: var(--transition);
}

.btn-back:hover {
background: var(--bg-light);
            color: var(--primary);
}

[dir="ltr"] .btn-back i {
transform: rotate(180deg);
}

.lang-btn {
background: rgba(102, 126, 234, 0.1);
            border: none;
            color: var(--primary);
            padding: 0.4rem 0.75rem;
            border-radius: 0.5rem;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-family: inherit;
}

.lang-btn:hover {
background: rgba(102, 126, 234, 0.2);
}

.lang-dropdown {
position: absolute;
            top: calc(100% + 10px);
            left: 0;
            background: #fff;
            border-radius: 0.75rem;            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
            min-width: 160px;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-10px);
            transition: var(--transition);
            z-index: 1001;
}


.lang-option {
display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.75rem 1rem;
            cursor: pointer;
            transition: var(--transition);
            border: none;
            background: none;
            width: 100%;
            text-align: start;
            font-weight: 500;
            font-family: inherit;
}

.form-header {
text-align: center;
            margin-bottom: 2rem;
}

.form-header-icon {
width: 70px;
            height: 70px;
            background: var(--primary-gradient);
            border-radius: 1rem;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1.25rem;
            font-size: 2rem;
            color: #fff;
            box-shadow: 0 10px 30px rgba(102, 126, 234, 0.3);
            animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.05); }
        }

.form-title {
font-size: 1.75rem;
            font-weight: 800;
            margin-bottom: 0.5rem;
            color: var(--text-dark);
}

.form-subtitle {
color: var(--text-muted);
            font-size: 0.95rem;
}

.auth-form {
margin-top: 1.5rem;
}

.form-group {
margin-bottom: 1.25rem;
            position: relative;
}

.form-label {
display: block;
            font-weight: 600;
            margin-bottom: 0.5rem;
            color: var(--text-dark);
            font-size: 0.9rem;
}

.input-wrapper {
position: relative;
}

.input-wrapper i {
position: absolute;
            top: 50%;
            right: 1rem;
            transform: translateY(-50%);
            color: var(--text-muted);
            font-size: 1.1rem;
            transition: var(--transition);
            pointer-events: none;
}

[dir="ltr"] .input-wrapper i {
right: auto;
            left: 1rem;
}

.form-control-custom {
width: 100%;
            padding: 0.85rem 2.75rem 0.85rem 2.75rem;
            border: 2px solid #e2e8f0;
            border-radius: 0.75rem;
            font-size: 0.95rem;
            font-family: inherit;
            transition: var(--transition);
            background: #fff;
            color: var(--text-dark);
}

[dir="ltr"] .form-control-custom {
padding: 0.85rem 2.75rem 0.85rem 2.75rem;
}

.form-control-custom:focus {
outline: none;
            border-color: var(--primary);
            box-shadow: 0 0 0 4px rgba(102, 126, 234, 0.1);
}

.form-control-custom:focus + i,
        .input-wrapper:focus-within i {
color: var(--primary);
}

.form-control-custom::placeholder {
color: #cbd5e1;
}

.password-toggle {
position: absolute;
            top: 50%;
            left: 1rem;
            transform: translateY(-50%);
            background: none;
            border: none;
            color: var(--text-muted);
            cursor: pointer;
            padding: 0;
            font-size: 1.1rem;
            transition: var(--transition);
}

[dir="ltr"] .password-toggle {
left: auto;
            right: 1rem;
}

.password-toggle:hover {
color: var(--primary);
}

.password-toggle i {
position: static !important;
            pointer-events: auto !important;
            display: inline-block !important;
            font-size: 1.1rem;
}

.form-options {
display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 1.5rem;
            flex-wrap: wrap;
            gap: 0.75rem;
}

.custom-checkbox {
display: flex;
            align-items: center;
            gap: 0.5rem;
            cursor: pointer;
            user-select: none;
            font-size: 0.9rem;
            color: var(--text-muted);
}

.custom-checkbox input {
width: 18px;
            height: 18px;
            accent-color: var(--primary);
            cursor: pointer;
}

.forgot-link {
color: var(--primary);
            font-weight: 600;
            font-size: 0.9rem;
}

.forgot-link:hover {
color: var(--secondary);
}

.btn-submit {
width: 100%;
            background: var(--primary-gradient);
            color: #fff;
            border: none;
            padding: 0.95rem;
            border-radius: 0.75rem;
            font-weight: 700;
            font-size: 1rem;
            font-family: inherit;
            cursor: pointer;
            transition: var(--transition);
            box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
}

.btn-submit:hover {
transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
}

.btn-submit:active {
transform: translateY(0);
}

.btn-submit .spinner {
display: none;
            width: 20px;
            height: 20px;
            border: 2px solid rgba(255, 255, 255, 0.3);
            border-top-color: #fff;
            border-radius: 50%;
            animation: spin 0.8s linear infinite;
}

.btn-submit.loading .spinner {
display: block;
}

.btn-submit.loading .btn-text {
display: none;
}

@keyframes spin { to { transform: rotate(360deg); } }

.divider {
display: flex;
            align-items: center;
            gap: 1rem;
            margin: 1.75rem 0;
            color: var(--text-muted);
            font-size: 0.85rem;
}

.divider::before,
        .divider::after {
content: '';
            flex: 1;
            height: 1px;
            background: #e2e8f0;
}

.social-login {
display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 0.75rem;
            margin-bottom: 1.5rem;
}

.social-btn {
background: #fff;
            border: 2px solid #e2e8f0;
            border-radius: 0.75rem;
            padding: 0.75rem;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.25rem;
            cursor: pointer;
            transition: var(--transition);
}

.social-btn:hover {
border-color: var(--primary);
            transform: translateY(-2px);
            box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.social-btn.google {
color: #ea4335;
}

.social-btn.apple {
color: #000;
}

.social-btn.github {
color: #333;
}

.register-link {
text-align: center;
            color: var(--text-muted);
            font-size: 0.95rem;
}

.register-link a {
color: var(--primary);
            font-weight: 700;
}

.register-link a:hover {
color: var(--secondary);
}

.auth-alert {
padding: 0.85rem 1rem;
            border-radius: 0.75rem;
            margin-bottom: 1.25rem;
            display: none;
            align-items: center;
            gap: 0.75rem;
            font-size: 0.9rem;
            animation: slideDown 0.3s ease-out;
}

.auth-alert.show {
display: flex;
}

.auth-alert.error {
background: #fee2e2;
            color: #991b1b;
            border: 1px solid #fecaca;
}

.auth-alert.success {
background: #d1fae5;
            color: #065f46;
            border: 1px solid #a7f3d0;
}

@keyframes slideDown {
            from { opacity: 0; transform: translateY(-10px); }
            to { opacity: 1; transform: translateY(0); }
        }

@keyframes fadeInUp {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }

@keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

@media (max-width: 991.98px) {
            .auth-hero { display: none; }
            .auth-form-side { min-height: 100vh; }
        }

@media (max-width: 575.98px) {
            .auth-form-side { padding: 1.5rem; padding-top: 5rem; }
            .form-title { font-size: 1.5rem; }
            .social-login { grid-template-columns: repeat(3, 1fr); }
            .auth-topbar { top: 1rem; left: 1rem; right: 1rem; }
        }

.form-control-custom.error {
border-color: #ef4444;
            background: #fef2f2;
}

.error-message {
color: #ef4444;
            font-size: 0.8rem;
            margin-top: 0.35rem;
            display: none;
}

.error-message.show {
display: block;
}

@keyframes float {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-30px); }
        }

.auth-hero-content {
position: relative; z-index: 2;
}

.auth-form-side {
flex: 1.2;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 2rem;
            background: #fff;
            position: relative;
            min-height: 100vh;
}

.auth-form-container {
width: 100%;
            max-width: 480px;
            animation: fadeInUp 0.6s ease-out;
}

.form-header {
text-align: center;
            margin-bottom: 1.5rem;
}

@keyframes pulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.05); }
        }

.form-row {
display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1rem;
}

.form-group {
margin-bottom: 1.1rem;
            position: relative;
}

.form-label {
display: block;
            font-weight: 600;
            margin-bottom: 0.5rem;
            color: var(--text-dark);
            font-size: 0.85rem;
}

.form-label .required {
color: #ef4444;
            margin-inline-start: 2px;
}

.input-wrapper i.input-icon {
position: absolute;
            top: 50%;
            right: 1rem;
            transform: translateY(-50%);
            color: var(--text-muted);
            font-size: 1.1rem;
            transition: var(--transition);
            pointer-events: none;
}

[dir="ltr"] .input-wrapper i.input-icon {
right: auto;
            left: 1rem;
}

.form-control-custom {
width: 100%;
            padding: 0.75rem 2.75rem 0.75rem 2.75rem;
            border: 2px solid #e2e8f0;
            border-radius: 0.75rem;
            font-size: 0.9rem;
            font-family: inherit;
            transition: var(--transition);
            background: #fff;
            color: var(--text-dark);
}

[dir="ltr"] .form-control-custom {
padding: 0.75rem 2.75rem 0.75rem 2.75rem;
}

.form-control-custom:focus ~ i.input-icon,
        .input-wrapper:focus-within i.input-icon {
color: var(--primary);
}

.password-strength {
margin-top: 0.5rem;
            display: none;
}

.password-strength.show {
display: block;
}

.strength-bars {
display: flex;
            gap: 4px;
            margin-bottom: 0.35rem;
}

.strength-bar {
flex: 1;
            height: 4px;
            background: #e2e8f0;
            border-radius: 2px;
            transition: var(--transition);
}

.strength-text {
font-size: 0.75rem;
            font-weight: 600;
}

.strength-weak .strength-bar:nth-child(1) {
background: #ef4444;
}

.strength-weak .strength-text {
color: #ef4444;
}

.strength-medium .strength-bar:nth-child(1),
        .strength-medium .strength-bar:nth-child(2) {
background: #f59e0b;
}

.strength-medium .strength-text {
color: #f59e0b;
}

.strength-strong .strength-bar:nth-child(1),
        .strength-strong .strength-bar:nth-child(2),
        .strength-strong .strength-bar:nth-child(3) {
background: #10b981;
}

.strength-strong .strength-text {
color: #10b981;
}

.strength-very-strong .strength-bar {
background: #059669;
}

.strength-very-strong .strength-text {
color: #059669;
}

.password-requirements {
margin-top: 0.5rem;
            padding: 0.75rem;
            background: var(--bg-light);
            border-radius: 0.5rem;
            font-size: 0.75rem;
            display: none;
}

.password-requirements.show {
display: block;
}

.requirement {
display: flex;
            align-items: center;
            gap: 0.5rem;
            margin-bottom: 0.25rem;
            color: var(--text-muted);
            transition: var(--transition);
}

.requirement.met {
color: #10b981;
}

.requirement i {
font-size: 0.85rem;
}

.custom-checkbox {
display: flex;
            align-items: flex-start;
            gap: 0.5rem;
            cursor: pointer;
            user-select: none;
            font-size: 0.85rem;
            color: var(--text-muted);
            margin-bottom: 0.75rem;
}

.custom-checkbox input {
width: 18px;
            height: 18px;
            accent-color: var(--primary);
            cursor: pointer;
            margin-top: 2px;
            flex-shrink: 0;
}

.custom-checkbox a {
color: var(--primary);
            font-weight: 600;
}

.custom-checkbox a:hover {
color: var(--secondary);
}

.lawyer-toggle {
background: linear-gradient(135deg, rgba(102,126,234,0.05) 0%, rgba(118,75,162,0.05) 100%);
            border: 2px dashed rgba(102, 126, 234, 0.3);
            border-radius: 0.75rem;
            padding: 1rem;
            margin-bottom: 1.1rem;
            transition: var(--transition);
}

.lawyer-toggle:hover {
border-color: var(--primary);
            background: linear-gradient(135deg, rgba(102,126,234,0.08) 0%, rgba(118,75,162,0.08) 100%);
}

.lawyer-toggle-header {
display: flex;
            align-items: center;
            gap: 0.75rem;
            cursor: pointer;
}

.lawyer-toggle-icon {
width: 40px;
            height: 40px;
            background: var(--primary-gradient);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 1.2rem;
            flex-shrink: 0;
}

.lawyer-toggle-text {
flex: 1;
}

.lawyer-toggle-title {
font-weight: 700;
            color: var(--text-dark);
            font-size: 0.9rem;
            margin-bottom: 0.15rem;
}

.lawyer-toggle-desc {
font-size: 0.75rem;
            color: var(--text-muted);
}

.lawyer-toggle-switch {
width: 44px;
            height: 24px;
            background: #cbd5e1;
            border-radius: 12px;
            position: relative;
            transition: var(--transition);
            flex-shrink: 0;
}

.lawyer-toggle-switch::after {
content: '';
            position: absolute;
            top: 2px;
            right: 2px;
            width: 20px;
            height: 20px;
            background: #fff;
            border-radius: 50%;
            transition: var(--transition);
            box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

[dir="ltr"] .lawyer-toggle-switch::after {
right: auto;
            left: 2px;
}

.lawyer-toggle.active .lawyer-toggle-switch {
background: var(--primary-gradient);
}

.lawyer-toggle.active .lawyer-toggle-switch::after {
right: calc(100% - 22px);
}

[dir="ltr"] .lawyer-toggle.active .lawyer-toggle-switch::after {
right: auto;
            left: calc(100% - 22px);
}

.lawyer-extra-fields {
margin-top: 1rem;
            padding-top: 1rem;
            border-top: 1px solid rgba(102, 126, 234, 0.15);
            display: none;
            animation: slideDown 0.3s ease-out;
}

.lawyer-extra-fields.show {
display: block;
}

@keyframes slideDown {
            from { opacity: 0; transform: translateY(-10px); }
            to { opacity: 1; transform: translateY(0); }
        }

.btn-submit {
width: 100%;
            background: var(--primary-gradient);
            color: #fff;
            border: none;
            padding: 0.9rem;
            border-radius: 0.75rem;
            font-weight: 700;
            font-size: 1rem;
            font-family: inherit;
            cursor: pointer;
            transition: var(--transition);
            box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            margin-top: 0.5rem;
}

.btn-submit:disabled {
opacity: 0.7;
            cursor: not-allowed;
}

@keyframes spin { to { transform: rotate(360deg); } }

.divider {
display: flex;
            align-items: center;
            gap: 1rem;
            margin: 1.5rem 0;
            color: var(--text-muted);
            font-size: 0.85rem;
}

.social-login {
display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 0.75rem;
            margin-bottom: 1.25rem;
}

.social-btn {
background: #fff;
            border: 2px solid #e2e8f0;
            border-radius: 0.75rem;
            padding: 0.7rem;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.2rem;
            cursor: pointer;
            transition: var(--transition);
}

.login-link {
text-align: center;
            color: var(--text-muted);
            font-size: 0.9rem;
}

.login-link a {
color: var(--primary);
            font-weight: 700;
}

.login-link a:hover {
color: var(--secondary);
}

.auth-alert {
padding: 0.85rem 1rem;
            border-radius: 0.75rem;
            margin-bottom: 1rem;
            display: none;
            align-items: center;
            gap: 0.75rem;
            font-size: 0.85rem;
            animation: slideDown 0.3s ease-out;
}

@keyframes fadeInUp {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }

@keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

.form-control-custom.success {
border-color: #10b981;
}

.error-message {
color: #ef4444;
            font-size: 0.75rem;
            margin-top: 0.3rem;
            display: none;
}

@media (max-width: 991.98px) {
            .auth-hero { display: none; }
            .auth-form-side { min-height: 100vh; }
        }

@media (max-width: 575.98px) {
            .auth-form-side { padding: 1.5rem; padding-top: 5rem; }
            .form-title { font-size: 1.5rem; }
            .form-row { grid-template-columns: 1fr; gap: 0; }
            .auth-topbar { top: 1rem; left: 1rem; right: 1rem; }
        }

:root {
--primary: #667eea;
            --secondary: #764ba2;
            --primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            --success-gradient: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
            --warning-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
            --info-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
            --dark-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
            --gold-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
            --sunset-gradient: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
            --ocean-gradient: linear-gradient(135deg, #667eea 0%, #00f2fe 100%);
            --text-dark: #1e293b;
            --text-muted: #64748b;
            --bg-light: #f8fafc;
            --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

body {
font-family: 'Vazirmatn', 'Tahoma', sans-serif;
            background: var(--bg-light);
            color: var(--text-dark);
            line-height: 1.7;
            overflow-x: hidden;
            padding-bottom: 80px;
}

.main-navbar {
background: rgba(255, 255, 255, 0.98);
            backdrop-filter: blur(10px);
            box-shadow: 0 2px 20px rgba(0, 0, 0, 0.05);
            padding: 0.75rem 0;
            position: sticky;
            top: 0;
            z-index: 1000;
}

.navbar-brand {
font-weight: 800;
            font-size: 1.5rem;
            background: var(--primary-gradient);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
}

.navbar-brand i {
-webkit-text-fill-color: var(--primary);
}

.nav-link-main {
color: var(--text-dark) !important;
            font-weight: 500;
            padding: 0.5rem 1rem !important;
            border-radius: 0.5rem;
            position: relative;
}

.nav-link-main:hover {
background: rgba(102, 126, 234, 0.1);
            color: var(--primary) !important;
}

.nav-link-main.active {
color: var(--primary) !important;
}

.nav-link-main.active::after {
content: '';
            position: absolute;
            bottom: -5px;
            left: 50%;
            transform: translateX(-50%);
            width: 20px;
            height: 3px;
            background: var(--primary-gradient);
            border-radius: 3px;
}

/* ---- Navbar hover dropdown (اخبار سایت / محتوای وکلای VIP) ---- */
.nav-dropdown {
position: relative;
}

.nav-dropdown-toggle {
display: inline-flex;
            align-items: center;
}

.nav-dropdown-menu {
position: absolute;
            top: calc(100% + 8px);
            right: 0;
            background: #fff;
            border-radius: 0.75rem;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.12);
            min-width: 230px;
            padding: 0.5rem;
            opacity: 0;
            visibility: hidden;
            transform: translateY(8px);
            transition: opacity .2s ease, transform .2s ease, visibility .2s;
            z-index: 1050;
}

[dir="ltr"] .nav-dropdown-menu {
right: auto;
            left: 0;
}

.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu,
.nav-dropdown-menu.show {
opacity: 1;
            visibility: visible;
            transform: translateY(0);
}

.nav-dropdown-menu a {
display: flex;
            align-items: center;
            gap: 0.6rem;
            padding: 0.6rem 0.85rem;
            border-radius: 0.5rem;
            color: var(--text-dark);
            font-weight: 500;
            font-size: 0.92rem;
            white-space: nowrap;
            transition: background .15s ease, color .15s ease;
}

.nav-dropdown-menu a:hover {
background: rgba(102, 126, 234, 0.1);
            color: var(--primary);
}

.nav-dropdown-menu a i {
color: var(--primary);
}

/* invisible bridge so the menu stays open while moving the cursor */
.nav-dropdown-menu::before {
content: '';
            position: absolute;
            top: -8px;
            left: 0;
            right: 0;
            height: 8px;
}

.btn-login {
border: 2px solid var(--primary);
            color: var(--primary);
            font-weight: 600;
            padding: 0.4rem 1.25rem;
            border-radius: 0.5rem;
}

.btn-login:hover {
background: var(--primary); color: #fff;
}

.btn-register {
background: var(--primary-gradient);
            color: #fff;
            font-weight: 600;
            padding: 0.4rem 1.25rem;
            border-radius: 0.5rem;
            border: none;
            box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.btn-register:hover {
transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
            color: #fff;
}

.lang-btn {
background: rgba(102, 126, 234, 0.1);
            border: none;
            color: var(--primary);
            padding: 0.4rem 0.75rem;
            border-radius: 0.5rem;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 0.5rem;
}

.lang-option {
display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.75rem 1rem;
            cursor: pointer;
            transition: var(--transition);
            border: none;
            background: none;
            width: 100%;
            text-align: start;
            font-weight: 500;
}

.page-hero {
background: var(--primary-gradient);
            color: #fff;
            padding: 4rem 0 6rem;
            position: relative;
            overflow: hidden;
}

.page-hero::before {
content: '';
            position: absolute;
            inset: 0;
            background: 
                radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 80%, rgba(255,255,255,0.1) 0%, transparent 50%);
}

.page-hero-content {
position: relative;
            z-index: 1;
            text-align: center;
}

.page-hero-badge {
display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: rgba(255, 255, 255, 0.15);
            backdrop-filter: blur(10px);
            padding: 0.5rem 1.25rem;
            border-radius: 2rem;
            font-size: 0.85rem;
            font-weight: 600;
            margin-bottom: 1.25rem;
            border: 1px solid rgba(255, 255, 255, 0.2);
}

.page-hero-title {
font-size: 2.75rem;
            font-weight: 800;
            margin-bottom: 1rem;
            line-height: 1.3;
}

.page-hero-subtitle {
font-size: 1.15rem;
            opacity: 0.9;
            max-width: 600px;
            margin: 0 auto 2rem;
}

.hero-search {
background: #fff;
            border-radius: 1rem;
            padding: 0.5rem;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
            display: flex;
            gap: 0.5rem;
            max-width: 700px;
            margin: 0 auto;
}

.hero-search input {
flex: 1;
            border: none;
            background: transparent;
            padding: 0.75rem 1rem;
            font-family: inherit;
            font-size: 0.95rem;
            outline: none;
            color: var(--text-dark);
}

.hero-search button {
background: var(--primary-gradient);
            color: #fff;
            border: none;
            padding: 0.75rem 2rem;
            border-radius: 0.75rem;
            font-weight: 600;
            font-family: inherit;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 0.5rem;
}

.filter-tabs-wrapper {
background: #fff;
            padding: 1rem 0;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            position: sticky;
            top: 70px;
            z-index: 99;
            margin-top: -2rem;
            border-radius: 1rem 1rem 0 0;
}

.filter-tabs {
display: flex;
            gap: 0.5rem;
            overflow-x: auto;
            padding: 0.25rem;
            scrollbar-width: none;
}

.filter-tabs::-webkit-scrollbar {
display: none;
}

.filter-tab {
background: transparent;
            border: 2px solid transparent;
            color: var(--text-muted);
            padding: 0.6rem 1.25rem;
            border-radius: 2rem;
            font-weight: 600;
            font-size: 0.9rem;
            font-family: inherit;
            cursor: pointer;
            white-space: nowrap;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            transition: var(--transition);
}

.filter-tab:hover {
background: var(--bg-light);
            color: var(--primary);
}

.filter-tab.active {
background: var(--primary-gradient);
            color: #fff;
            box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.filter-tab .count {
background: rgba(255, 255, 255, 0.25);
            padding: 0.1rem 0.5rem;
            border-radius: 1rem;
            font-size: 0.75rem;
}

.filter-tab:not(.active) .count {
background: var(--bg-light);
            color: var(--text-muted);
}

.section-header {
display: flex;
            justify-content: space-between;
            align-items: center;
            margin: 3rem 0 2rem;
            flex-wrap: wrap;
            gap: 1rem;
}

.section-title {
font-size: 1.75rem;
            font-weight: 800;
            color: var(--text-dark);
            margin: 0;
            display: flex;
            align-items: center;
            gap: 0.75rem;
}

.section-title-icon {
width: 48px;
            height: 48px;
            border-radius: 12px;
            background: var(--primary-gradient);
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
}

.section-subtitle {
color: var(--text-muted);
            margin: 0.5rem 0 0;
            font-size: 0.95rem;
}

.view-all-link {
color: var(--primary);
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 0.25rem;
}

.view-all-link:hover {
gap: 0.5rem; color: var(--secondary);
}

.news-section {
padding: 2rem 0;
}

.news-card-site {
background: #fff;
            border-radius: 1rem;
            overflow: hidden;
            transition: var(--transition);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            height: 100%;
            display: flex;
            flex-direction: column;
}

.news-card-site:hover {
transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.news-image-site {
height: 200px;
            position: relative;
            overflow: hidden;
}

.news-image-site img {
width: 100%;
            height: 100%;
            object-fit: cover;
            transition: var(--transition);
}

.news-card-site:hover .news-image-site img {
transform: scale(1.05);
}

.news-badge-site {
position: absolute;
            top: 1rem;
            right: 1rem;
            background: #ef4444;
            color: #fff;
            padding: 0.3rem 0.75rem;
            border-radius: 2rem;
            font-size: 0.7rem;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 0.25rem;
}

[dir="ltr"] .news-badge-site {
right: auto; left: 1rem;
}

.news-body-site {
padding: 1.5rem;
            flex: 1;
            display: flex;
            flex-direction: column;
}

.news-meta-site {
display: flex;
            gap: 1rem;
            font-size: 0.8rem;
            color: var(--text-muted);
            margin-bottom: 0.75rem;
}

.news-meta-site span {
display: flex;
            align-items: center;
            gap: 0.25rem;
}

.news-title-site {
font-size: 1.1rem;
            font-weight: 700;
            margin-bottom: 0.75rem;
            line-height: 1.5;
            color: var(--text-dark);
}

.news-excerpt-site {
color: var(--text-muted);
            font-size: 0.9rem;
            line-height: 1.8;
            margin-bottom: 1rem;
            flex: 1;
}

.news-footer-site {
display: flex;
            justify-content: space-between;
            align-items: center;
            padding-top: 1rem;
            border-top: 1px solid #f0f0f0;
}

.news-author-site {
display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.85rem;
}

.news-author-site img {
width: 32px;
            height: 32px;
            border-radius: 50%;
            object-fit: cover;
}

.news-author-site strong {
color: var(--text-dark);
}

.read-more-link {
color: var(--primary);
            font-weight: 600;
            font-size: 0.85rem;
            display: flex;
            align-items: center;
            gap: 0.25rem;
}

.read-more-link:hover {
gap: 0.5rem;
}

.vip-section {
padding: 2rem 0 4rem;
}

.card-featured {
background: #fff;
            border-radius: 1.5rem;
            overflow: hidden;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
            transition: var(--transition);
            display: flex;
            flex-direction: row;
            min-height: 380px;
            position: relative;
}

.card-featured:hover {
transform: translateY(-8px);
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}

.card-featured-image {
flex: 0 0 50%;
            position: relative;
            overflow: hidden;
}

.card-featured-image img {
width: 100%;
            height: 100%;
            object-fit: cover;
            transition: var(--transition);
}

.card-featured:hover .card-featured-image img {
transform: scale(1.05);
}

.featured-overlay {
position: absolute;
            inset: 0;
            background: linear-gradient(135deg, rgba(102,126,234,0.3) 0%, rgba(118,75,162,0.3) 100%);
}

.card-featured-content {
flex: 1;
            padding: 2.5rem;
            display: flex;
            flex-direction: column;
            justify-content: center;
}

.vip-badge-large {
display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            background: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
            color: #fff;
            padding: 0.4rem 1rem;
            border-radius: 2rem;
            font-size: 0.75rem;
            font-weight: 700;
            margin-bottom: 1rem;
            box-shadow: 0 4px 15px rgba(245, 158, 11, 0.3);
}

.featured-title {
font-size: 1.75rem;
            font-weight: 800;
            margin-bottom: 1rem;
            line-height: 1.4;
            color: var(--text-dark);
}

.featured-excerpt {
color: var(--text-muted);
            font-size: 0.95rem;
            line-height: 1.8;
            margin-bottom: 1.5rem;
}

.featured-author {
display: flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 1.5rem;
}

.featured-author img {
width: 48px;
            height: 48px;
            border-radius: 50%;
            border: 3px solid var(--primary);
            object-fit: cover;
}

.featured-author-info strong {
display: block;
            color: var(--text-dark);
            font-size: 0.95rem;
}

.featured-author-info span {
color: var(--text-muted);
            font-size: 0.8rem;
}

.featured-stats {
display: flex;
            gap: 1.5rem;
            padding-top: 1.5rem;
            border-top: 1px solid #f0f0f0;
}

.featured-stat {
display: flex;
            align-items: center;
            gap: 0.4rem;
            color: var(--text-muted);
            font-size: 0.85rem;
}

.featured-stat i {
color: var(--primary);
}

.card-image-top {
background: #fff;
            border-radius: 1.25rem;
            overflow: hidden;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            transition: var(--transition);
            height: 100%;
            display: flex;
            flex-direction: column;
            position: relative;
}

.card-image-top:hover {
transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.card-image-top .post-image {
height: 200px;
            position: relative;
            overflow: hidden;
}

.card-image-top .post-image img {
width: 100%;
            height: 100%;
            object-fit: cover;
            transition: var(--transition);
}

.card-image-top:hover .post-image img {
transform: scale(1.08);
}

.new-badge-card {
position: absolute;
            top: 1rem;
            right: 1rem;
            background: var(--success-gradient);
            color: #fff;
            padding: 0.3rem 0.75rem;
            border-radius: 2rem;
            font-size: 0.7rem;
            font-weight: 700;
}

[dir="ltr"] .new-badge-card {
right: auto; left: 1rem;
}

.vip-badge-small {
position: absolute;
            top: 1rem;
            left: 1rem;
            background: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
            color: #fff;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.9rem;
            box-shadow: 0 4px 15px rgba(245, 158, 11, 0.4);
}

[dir="ltr"] .vip-badge-small {
left: auto; right: 1rem;
}

.card-image-top .post-body {
padding: 1.25rem;
            flex: 1;
            display: flex;
            flex-direction: column;
}

.post-category {
display: inline-block;
            background: rgba(102, 126, 234, 0.1);
            color: var(--primary);
            padding: 0.25rem 0.75rem;
            border-radius: 1rem;
            font-size: 0.7rem;
            font-weight: 700;
            margin-bottom: 0.75rem;
            width: fit-content;
}

.post-title {
font-size: 1.05rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
            line-height: 1.5;
            color: var(--text-dark);
}

.post-excerpt {
color: var(--text-muted);
            font-size: 0.85rem;
            line-height: 1.7;
            margin-bottom: 1rem;
            flex: 1;
}

.post-footer {
display: flex;
            justify-content: space-between;
            align-items: center;
            padding-top: 0.75rem;
            border-top: 1px solid #f0f0f0;
            font-size: 0.8rem;
            color: var(--text-muted);
}

.post-author-mini {
display: flex;
            align-items: center;
            gap: 0.5rem;
}

.post-author-mini img {
width: 28px;
            height: 28px;
            border-radius: 50%;
            object-fit: cover;
}

.card-gradient-overlay {
border-radius: 1.25rem;
            overflow: hidden;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
            transition: var(--transition);
            height: 100%;
            min-height: 320px;
            position: relative;
            cursor: pointer;
            display: flex;
            align-items: flex-end;
}

.card-gradient-overlay:hover {
transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
}

.card-gradient-overlay .bg-image {
position: absolute;
            inset: 0;
            background-size: cover;
            background-position: center;
            transition: var(--transition);
}

.card-gradient-overlay:hover .bg-image {
transform: scale(1.08);
}

.card-gradient-overlay::before {
content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(15, 23, 42, 0.95) 0%, rgba(15, 23, 42, 0.5) 50%, rgba(15, 23, 42, 0.1) 100%);
            z-index: 1;
}

.card-gradient-overlay .content {
position: relative;
            z-index: 2;
            padding: 1.5rem;
            color: #fff;
            width: 100%;
}

.card-gradient-overlay .post-category {
background: rgba(255, 255, 255, 0.2);
            color: #fff;
            backdrop-filter: blur(10px);
}

.card-gradient-overlay .post-title {
color: #fff;
            font-size: 1.15rem;
            margin-bottom: 0.75rem;
}

.card-gradient-overlay .post-footer {
border-top-color: rgba(255, 255, 255, 0.2);
            color: rgba(255, 255, 255, 0.8);
}

.card-gradient-overlay .post-author-mini img {
border: 2px solid #fff;
}

.card-quote {
background: var(--primary-gradient);
            border-radius: 1.25rem;
            padding: 2rem;
            color: #fff;
            height: 100%;
            position: relative;
            overflow: hidden;
            transition: var(--transition);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            min-height: 320px;
}

.card-quote:hover {
transform: translateY(-5px) rotate(-1deg);
            box-shadow: 0 20px 50px rgba(102, 126, 234, 0.4);
}

.card-quote::before {
content: '"';
            position: absolute;
            top: -20px;
            right: 20px;
            font-size: 10rem;
            font-family: Georgia, serif;
            opacity: 0.15;
            line-height: 1;
}

[dir="ltr"] .card-quote::before {
right: auto; left: 20px;
}

.quote-icon {
width: 50px;
            height: 50px;
            background: rgba(255, 255, 255, 0.2);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            margin-bottom: 1rem;
            backdrop-filter: blur(10px);
}

.quote-text {
font-size: 1.15rem;
            font-weight: 600;
            line-height: 1.7;
            margin-bottom: 1.5rem;
            position: relative;
            z-index: 1;
}

.quote-author {
display: flex;
            align-items: center;
            gap: 0.75rem;
            padding-top: 1rem;
            border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.quote-author img {
width: 44px;
            height: 44px;
            border-radius: 50%;
            border: 2px solid rgba(255, 255, 255, 0.5);
            object-fit: cover;
}

.quote-author-info strong {
display: block;
            font-size: 0.9rem;
}

.quote-author-info span {
font-size: 0.8rem;
            opacity: 0.8;
}

.card-video {
border-radius: 1.25rem;
            overflow: hidden;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
            transition: var(--transition);
            height: 100%;
            position: relative;
            cursor: pointer;
            min-height: 320px;
}

.card-video:hover {
transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

.card-video .video-thumbnail {
position: absolute;
            inset: 0;
            background-size: cover;
            background-position: center;
            transition: var(--transition);
}

.card-video:hover .video-thumbnail {
transform: scale(1.05);
}

.card-video::before {
content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(to top, rgba(0,0,0,0.9) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.1) 100%);
            z-index: 1;
}

.play-button {
position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            width: 80px;
            height: 80px;
            background: rgba(255, 255, 255, 0.95);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 2rem;
            color: var(--primary);
            z-index: 2;
            transition: var(--transition);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.card-video:hover .play-button {
transform: translate(-50%, -50%) scale(1.1);
            background: var(--primary);
            color: #fff;
}

.video-duration {
position: absolute;
            bottom: 1rem;
            right: 1rem;
            background: rgba(0, 0, 0, 0.7);
            color: #fff;
            padding: 0.25rem 0.6rem;
            border-radius: 0.4rem;
            font-size: 0.75rem;
            font-weight: 600;
            z-index: 2;
            backdrop-filter: blur(10px);
}

[dir="ltr"] .video-duration {
right: auto; left: 1rem;
}

.video-content {
position: absolute;
            bottom: 0;
            left: 0;
            right: 0;
            padding: 1.5rem;
            color: #fff;
            z-index: 2;
}

.video-title {
font-size: 1.1rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
}

.video-meta {
display: flex;
            gap: 1rem;
            font-size: 0.8rem;
            opacity: 0.9;
}

.video-meta span {
display: flex;
            align-items: center;
            gap: 0.25rem;
}

.card-split {
background: #fff;
            border-radius: 1.25rem;
            overflow: hidden;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            transition: var(--transition);
            height: 100%;
            display: flex;
            flex-direction: row;
            min-height: 200px;
}

.card-split:hover {
transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.card-split .split-image {
flex: 0 0 40%;
            position: relative;
            overflow: hidden;
}

.card-split .split-image img {
width: 100%;
            height: 100%;
            object-fit: cover;
            transition: var(--transition);
}

.card-split:hover .split-image img {
transform: scale(1.08);
}

.card-split .split-content {
flex: 1;
            padding: 1.25rem;
            display: flex;
            flex-direction: column;
            justify-content: center;
}

.card-split .post-title {
font-size: 1rem;
            margin-bottom: 0.5rem;
}

.card-split .post-excerpt {
font-size: 0.8rem;
            margin-bottom: 0.75rem;
}

.card-dark {
background: var(--dark-gradient);
            border-radius: 1.25rem;
            padding: 2rem;
            color: #fff;
            height: 100%;
            position: relative;
            overflow: hidden;
            transition: var(--transition);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            min-height: 320px;
}

.card-dark:hover {
transform: translateY(-5px);
            box-shadow: 0 20px 50px rgba(15, 23, 42, 0.4);
}

.card-dark::before {
content: '';
            position: absolute;
            top: -50%;
            right: -50%;
            width: 200%;
            height: 200%;
            background: radial-gradient(circle, rgba(102, 126, 234, 0.3) 0%, transparent 50%);
            animation: rotate 20s linear infinite;
}

@keyframes rotate {
            from { transform: rotate(0deg); }
            to { transform: rotate(360deg); }
        }

.card-dark .content {
position: relative;
            z-index: 1;
}

.premium-badge {
display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            background: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
            color: #fff;
            padding: 0.4rem 1rem;
            border-radius: 2rem;
            font-size: 0.75rem;
            font-weight: 700;
            margin-bottom: 1rem;
}

.card-dark .post-title {
color: #fff;
            font-size: 1.25rem;
            margin-bottom: 0.75rem;
}

.card-dark .post-excerpt {
color: rgba(255, 255, 255, 0.8);
            font-size: 0.9rem;
            margin-bottom: 1.5rem;
}

.card-dark .post-footer {
border-top-color: rgba(255, 255, 255, 0.1);
            color: rgba(255, 255, 255, 0.7);
            padding-top: 1rem;
}

.card-dark .post-author-mini img {
border: 2px solid rgba(255, 255, 255, 0.3);
}

.card-minimal {
background: #fff;
            border-radius: 1.25rem;
            padding: 2rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            transition: var(--transition);
            height: 100%;
            position: relative;
            border: 2px solid transparent;
            display: flex;
            flex-direction: column;
            min-height: 320px;
}

.card-minimal:hover {
border-color: var(--primary);
            transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(102, 126, 234, 0.15);
}

.card-minimal .number {
font-size: 5rem;
            font-weight: 900;
            background: var(--primary-gradient);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            line-height: 1;
            margin-bottom: 1rem;
            opacity: 0.3;
}

.card-minimal .post-title {
font-size: 1.35rem;
            font-weight: 800;
            margin-bottom: 1rem;
            line-height: 1.4;
}

.card-minimal .post-excerpt {
font-size: 0.9rem;
            margin-bottom: 1.5rem;
            flex: 1;
}

.card-minimal .read-more {
display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            color: var(--primary);
            font-weight: 700;
            font-size: 0.9rem;
}

.card-minimal .read-more:hover {
gap: 0.75rem;
}

.card-stats {
background: #fff;
            border-radius: 1.25rem;
            overflow: hidden;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            transition: var(--transition);
            display: flex;
            flex-direction: row;
            min-height: 200px;
}

.card-stats:hover {
transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.card-stats .stats-image {
flex: 0 0 35%;
            position: relative;
            overflow: hidden;
}

.card-stats .stats-image img {
width: 100%;
            height: 100%;
            object-fit: cover;
            transition: var(--transition);
}

.card-stats:hover .stats-image img {
transform: scale(1.08);
}

.card-stats .stats-content {
flex: 1;
            padding: 1.5rem;
            display: flex;
            flex-direction: column;
            justify-content: center;
}

.card-stats .post-title {
font-size: 1.1rem;
            margin-bottom: 0.75rem;
}

.stats-grid {
display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 0.75rem;
            margin-top: 1rem;
            padding-top: 1rem;
            border-top: 1px solid #f0f0f0;
}

.stat-item {
text-align: center;
}

.stat-item .value {
font-size: 1.1rem;
            font-weight: 800;
            color: var(--primary);
            display: block;
}

.stat-item .label {
font-size: 0.7rem;
            color: var(--text-muted);
}

.pagination-wrapper {
display: flex;
            justify-content: center;
            margin: 3rem 0;
}

.pagination {
display: flex;
            gap: 0.5rem;
            list-style: none;
            padding: 0;
}

.page-item {
display: inline-block;
}

.page-link {
display: flex;
            align-items: center;
            justify-content: center;
            min-width: 40px;
            height: 40px;
            padding: 0 0.75rem;
            border: 2px solid #e2e8f0;
            border-radius: 0.5rem;
            color: var(--text-dark);
            font-weight: 600;
            transition: var(--transition);
            background: #fff;
}

.page-link:hover {
border-color: var(--primary);
            color: var(--primary);
}

.page-item.active .page-link {
background: var(--primary-gradient);
            border-color: transparent;
            color: #fff;
}

.mobile-bottom-nav {
position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background: #fff;
            box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.1);
            padding: 0.5rem 0;
            z-index: 1000;
            border-top: 1px solid rgba(0, 0, 0, 0.05);
}

.mobile-bottom-nav .nav-item {
display: flex;
            flex-direction: column;
            align-items: center;
            padding: 0.5rem;
            color: var(--text-muted);
            position: relative;
}

.mobile-bottom-nav .nav-item.active {
color: var(--primary);
}

.mobile-bottom-nav .nav-item.active::before {
content: '';
            position: absolute;
            top: -0.5rem;
            left: 50%;
            transform: translateX(-50%);
            width: 40px;
            height: 3px;
            background: var(--primary-gradient);
            border-radius: 0 0 3px 3px;
}

.mobile-bottom-nav .nav-item i {
font-size: 1.4rem; margin-bottom: 0.25rem;
}

.mobile-bottom-nav .nav-item span {
font-size: 0.7rem; font-weight: 600;
}

@keyframes fadeInUp {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }

.animate-on-scroll {
opacity: 0;
            transform: translateY(30px);
            transition: all 0.6s ease-out;
}

.animate-on-scroll.visible {
opacity: 1;
            transform: translateY(0);
}

@media (max-width: 991.98px) {
            .card-featured { flex-direction: column; }
            .card-featured-image { flex: 0 0 auto; height: 250px; }
            .card-split { flex-direction: column; }
            .card-split .split-image { flex: 0 0 auto; height: 180px; }
            .card-stats { flex-direction: column; }
            .card-stats .stats-image { flex: 0 0 auto; height: 180px; }
            .page-hero-title { font-size: 2rem; }
        }

@media (max-width: 767.98px) {
            .page-hero { padding: 3rem 0 4rem; }
            .page-hero-title { font-size: 1.6rem; }
            .page-hero-subtitle { font-size: 1rem; }
            .hero-search { flex-direction: column; }
            .section-title { font-size: 1.35rem; }
            .featured-title { font-size: 1.35rem; }
            .card-featured-content { padding: 1.5rem; }
            .filter-tabs-wrapper { top: 65px; }
        }

@media (min-width: 768px) {
            .mobile-bottom-nav { display: none; }
            body { padding-bottom: 0; }
        }

:root {
--primary: #667eea;
            --secondary: #764ba2;
            --primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            --success-gradient: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
            --warning-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
            --info-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
            --dark-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
            --gold-gradient: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
            --danger-gradient: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
            --text-dark: #1e293b;
            --text-muted: #64748b;
            --bg-light: #f8fafc;
            --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.page-hero {
background: var(--danger-gradient);
            color: #fff;
            padding: 4rem 0 6rem;
            position: relative;
            overflow: hidden;
}

.page-hero-badge {
display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: rgba(255, 255, 255, 0.15);
            backdrop-filter: blur(10px);
            padding: 0.5rem 1.25rem;
            border-radius: 2rem;
            font-size: 0.85rem;
            font-weight: 600;
            margin-bottom: 1.25rem;
            border: 1px solid rgba(255, 255, 255, 0.2);
            animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
            0%, 100% { transform: scale(1); }
            50% { transform: scale(1.05); }
        }

.hero-search button {
background: var(--danger-gradient);
            color: #fff;
            border: none;
            padding: 0.75rem 2rem;
            border-radius: 0.75rem;
            font-weight: 600;
            font-family: inherit;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 0.5rem;
}

.breaking-ticker {
background: var(--dark-gradient);
            color: #fff;
            padding: 0.75rem 0;
            overflow: hidden;
            position: relative;
}

.ticker-label {
position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            background: var(--danger-gradient);
            padding: 0.75rem 1.5rem;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            z-index: 2;
            box-shadow: -5px 0 15px rgba(0,0,0,0.2);
}

[dir="ltr"] .ticker-label {
right: auto;
            left: 0;
            box-shadow: 5px 0 15px rgba(0,0,0,0.2);
}

.ticker-label::before {
content: '';
            width: 8px;
            height: 8px;
            background: #fff;
            border-radius: 50%;
            animation: blink 1s infinite;
}

@keyframes blink {
            0%, 100% { opacity: 1; }
            50% { opacity: 0.3; }
        }

.ticker-content {
display: flex;
            animation: scroll 30s linear infinite;
            padding-right: 200px;
}

[dir="ltr"] .ticker-content {
padding-right: 0;
            padding-left: 200px;
            animation: scroll-ltr 30s linear infinite;
}

@keyframes scroll {
            0% { transform: translateX(100%); }
            100% { transform: translateX(-100%); }
        }

@keyframes scroll-ltr {
            0% { transform: translateX(-100%); }
            100% { transform: translateX(100%); }
        }

.ticker-item {
white-space: nowrap;
            padding: 0 2rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
}

.ticker-item::before {
content: '•';
            color: var(--primary);
            font-size: 1.5rem;
}

.filter-tab.active {
background: var(--danger-gradient);
            color: #fff;
            box-shadow: 0 4px 15px rgba(239, 68, 68, 0.3);
}

.featured-news {
margin: 3rem 0;
}

.featured-news-card {
background: #fff;
            border-radius: 1.5rem;
            overflow: hidden;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
            transition: var(--transition);
            display: flex;
            min-height: 400px;
}

.featured-news-card:hover {
transform: translateY(-5px);
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}

.featured-news-image {
flex: 0 0 55%;
            position: relative;
            overflow: hidden;
}

.featured-news-image img {
width: 100%;
            height: 100%;
            object-fit: cover;
            transition: var(--transition);
}

.featured-news-card:hover .featured-news-image img {
transform: scale(1.05);
}

.featured-news-badge {
position: absolute;
            top: 1.5rem;
            right: 1.5rem;
            background: var(--danger-gradient);
            color: #fff;
            padding: 0.5rem 1.25rem;
            border-radius: 2rem;
            font-size: 0.85rem;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            box-shadow: 0 4px 15px rgba(239, 68, 68, 0.4);
}

[dir="ltr"] .featured-news-badge {
right: auto;
            left: 1.5rem;
}

.featured-news-content {
flex: 1;
            padding: 2.5rem;
            display: flex;
            flex-direction: column;
            justify-content: center;
}

.featured-news-meta {
display: flex;
            gap: 1rem;
            font-size: 0.85rem;
            color: var(--text-muted);
            margin-bottom: 1rem;
}

.featured-news-meta span {
display: flex;
            align-items: center;
            gap: 0.25rem;
}

.featured-news-title {
font-size: 1.75rem;
            font-weight: 800;
            margin-bottom: 1rem;
            line-height: 1.4;
            color: var(--text-dark);
}

.featured-news-excerpt {
color: var(--text-muted);
            font-size: 1rem;
            line-height: 1.9;
            margin-bottom: 1.5rem;
}

.featured-news-footer {
display: flex;
            justify-content: space-between;
            align-items: center;
            padding-top: 1.5rem;
            border-top: 1px solid #f0f0f0;
}

.featured-news-author {
display: flex;
            align-items: center;
            gap: 0.75rem;
}

.featured-news-author img {
width: 44px;
            height: 44px;
            border-radius: 50%;
            object-fit: cover;
}

.featured-news-author-info strong {
display: block;
            color: var(--text-dark);
            font-size: 0.9rem;
}

.featured-news-author-info span {
color: var(--text-muted);
            font-size: 0.8rem;
}

.btn-read-more {
background: var(--danger-gradient);
            color: #fff;
            padding: 0.65rem 1.5rem;
            border-radius: 0.5rem;
            font-weight: 600;
            font-size: 0.9rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            transition: var(--transition);
}

.btn-read-more:hover {
transform: translateX(-5px);
            box-shadow: 0 8px 25px rgba(239, 68, 68, 0.3);
            color: #fff;
}

[dir="ltr"] .btn-read-more:hover {
transform: translateX(5px);
}

.section-header {
display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 2rem;
            flex-wrap: wrap;
            gap: 1rem;
}

.section-title-icon {
width: 48px;
            height: 48px;
            border-radius: 12px;
            background: var(--danger-gradient);
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
}

.news-card {
background: #fff;
            border-radius: 1rem;
            overflow: hidden;
            transition: var(--transition);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            height: 100%;
            display: flex;
            flex-direction: column;
}

.news-card:hover {
transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.news-image {
height: 200px;
            position: relative;
            overflow: hidden;
}

.news-image img {
width: 100%;
            height: 100%;
            object-fit: cover;
            transition: var(--transition);
}

.news-card:hover .news-image img {
transform: scale(1.08);
}

.news-badge {
position: absolute;
            top: 1rem;
            right: 1rem;
            padding: 0.35rem 0.85rem;
            border-radius: 2rem;
            font-size: 0.75rem;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 0.25rem;
            color: #fff;
}

[dir="ltr"] .news-badge {
right: auto;
            left: 1rem;
}

.badge-breaking {
background: var(--danger-gradient);
}

.badge-law {
background: var(--primary-gradient);
}

.badge-ruling {
background: var(--success-gradient);
}

.badge-announcement {
background: var(--warning-gradient);
}

.badge-event {
background: var(--info-gradient);
}

.news-body {
padding: 1.5rem;
            flex: 1;
            display: flex;
            flex-direction: column;
}

.news-meta {
display: flex;
            gap: 1rem;
            font-size: 0.8rem;
            color: var(--text-muted);
            margin-bottom: 0.75rem;
}

.news-meta span {
display: flex;
            align-items: center;
            gap: 0.25rem;
}

.news-title {
font-size: 1.1rem;
            font-weight: 700;
            margin-bottom: 0.75rem;
            line-height: 1.5;
            color: var(--text-dark);
}

.news-excerpt {
color: var(--text-muted);
            font-size: 0.9rem;
            line-height: 1.8;
            margin-bottom: 1rem;
            flex: 1;
}

.news-footer {
display: flex;
            justify-content: space-between;
            align-items: center;
            padding-top: 1rem;
            border-top: 1px solid #f0f0f0;
}

.news-author {
display: flex;
            align-items: center;
            gap: 0.5rem;
            font-size: 0.85rem;
}

.news-author img {
width: 32px;
            height: 32px;
            border-radius: 50%;
            object-fit: cover;
}

.news-author strong {
color: var(--text-dark);
}

.sidebar-card {
background: #fff;
            border-radius: 1rem;
            padding: 1.5rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            margin-bottom: 1.5rem;
}

.sidebar-title {
font-size: 1.1rem;
            font-weight: 700;
            margin-bottom: 1.25rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            color: var(--text-dark);
            padding-bottom: 0.75rem;
            border-bottom: 2px solid #f0f0f0;
}

.sidebar-title i {
color: var(--primary);
}

.popular-news-item {
display: flex;
            gap: 1rem;
            padding: 1rem 0;
            border-bottom: 1px solid #f0f0f0;
            transition: var(--transition);
}

.popular-news-item:last-child {
border-bottom: none;
            padding-bottom: 0;
}

.popular-news-item:hover {
transform: translateX(-5px);
}

[dir="ltr"] .popular-news-item:hover {
transform: translateX(5px);
}

.popular-news-rank {
width: 36px;
            height: 36px;
            background: var(--bg-light);
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 800;
            color: var(--primary);
            flex-shrink: 0;
            font-size: 0.9rem;
}

.popular-news-rank.top-1 {
background: var(--gold-gradient); color: #fff;
}

.popular-news-rank.top-2 {
background: linear-gradient(135deg, #bdc3c7 0%, #2c3e50 100%); color: #fff;
}

.popular-news-rank.top-3 {
background: linear-gradient(135deg, #f2994a 0%, #f2c94c 100%); color: #fff;
}

.popular-news-content {
flex: 1;
}

.popular-news-title {
font-size: 0.9rem;
            font-weight: 600;
            line-height: 1.5;
            margin-bottom: 0.35rem;
            color: var(--text-dark);
}

.popular-news-meta {
font-size: 0.75rem;
            color: var(--text-muted);
            display: flex;
            gap: 0.75rem;
}

.popular-news-meta span {
display: flex;
            align-items: center;
            gap: 0.25rem;
}

.category-item {
display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0.75rem;
            border-radius: 0.5rem;
            margin-bottom: 0.5rem;
            transition: var(--transition);
            cursor: pointer;
}

.category-item:hover {
background: var(--bg-light);
}

.category-name {
display: flex;
            align-items: center;
            gap: 0.5rem;
            font-weight: 600;
            font-size: 0.9rem;
            color: var(--text-dark);
}

.category-name i {
color: var(--primary);
}

.category-count {
background: var(--bg-light);
            padding: 0.2rem 0.6rem;
            border-radius: 1rem;
            font-size: 0.75rem;
            color: var(--text-muted);
            font-weight: 600;
}

.newsletter-card {
background: var(--primary-gradient);
            color: #fff;
            border-radius: 1rem;
            padding: 2rem 1.5rem;
            text-align: center;
            margin-bottom: 1.5rem;
}

.newsletter-icon {
width: 60px;
            height: 60px;
            background: rgba(255, 255, 255, 0.2);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1rem;
            font-size: 1.75rem;
}

.newsletter-title {
font-size: 1.15rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
}

.newsletter-text {
font-size: 0.85rem;
            opacity: 0.9;
            margin-bottom: 1.25rem;
}

.newsletter-form {
display: flex;
            flex-direction: column;
            gap: 0.75rem;
}

.newsletter-input {
background: rgba(255, 255, 255, 0.2);
            border: 1px solid rgba(255, 255, 255, 0.3);
            color: #fff;
            padding: 0.75rem 1rem;
            border-radius: 0.5rem;
            font-family: inherit;
            font-size: 0.9rem;
}

.newsletter-input::placeholder {
color: rgba(255, 255, 255, 0.7);
}

.newsletter-input:focus {
outline: none;
            background: rgba(255, 255, 255, 0.3);
}

.newsletter-btn {
background: #fff;
            color: var(--primary);
            border: none;
            padding: 0.75rem;
            border-radius: 0.5rem;
            font-weight: 700;
            font-family: inherit;
            cursor: pointer;
            transition: var(--transition);
}

.newsletter-btn:hover {
transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.page-item.active .page-link {
background: var(--danger-gradient);
            border-color: transparent;
            color: #fff;
}

@media (max-width: 991.98px) {
            .featured-news-card { flex-direction: column; }
            .featured-news-image { flex: 0 0 auto; height: 280px; }
            .featured-news-content { padding: 1.5rem; }
            .featured-news-title { font-size: 1.35rem; }
        }

@media (max-width: 767.98px) {
            .page-hero { padding: 3rem 0 4rem; }
            .page-hero-title { font-size: 1.6rem; }
            .page-hero-subtitle { font-size: 1rem; }
            .hero-search { flex-direction: column; }
            .section-title { font-size: 1.35rem; }
            .filter-tabs-wrapper { top: 65px; }
            .ticker-label { padding: 0.75rem 1rem; font-size: 0.85rem; }
            .ticker-content { padding-right: 150px; }
            [dir="ltr"] .ticker-content { padding-left: 150px; }
        }

@media (min-width: 768px) {
            .mobile-bottom-nav { display: none; }
            body { padding-bottom: 0; }
        }

:root {
--primary: #667eea;
            --secondary: #764ba2;
            --primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            --vip-gradient: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
            --gold-gradient: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
            --premium-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f59e0b 100%);
            --success-gradient: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
            --warning-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
            --info-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
            --dark-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
            --text-dark: #1e293b;
            --text-muted: #64748b;
            --bg-light: #f8fafc;
            --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

::-webkit-scrollbar-thumb {
background: var(--vip-gradient); border-radius: 4px;
}

.page-hero {
background: var(--premium-gradient);
            color: #fff;
            padding: 4rem 0 6rem;
            position: relative;
            overflow: hidden;
}

.page-hero::before {
content: '';
            position: absolute;
            inset: 0;
            background: 
                radial-gradient(circle at 20% 50%, rgba(255,255,255,0.15) 0%, transparent 50%),
                radial-gradient(circle at 80% 80%, rgba(255,255,255,0.15) 0%, transparent 50%);
}

.page-hero::after {
content: '⭐';
            position: absolute;
            top: 10%;
            right: 10%;
            font-size: 8rem;
            opacity: 0.1;
            animation: float 6s ease-in-out infinite;
}

[dir="ltr"] .page-hero::after {
right: auto;
            left: 10%;
            animation: float-ltr 6s ease-in-out infinite;
}

@keyframes float {
            0%, 100% { transform: translateY(0) rotate(0deg); }
            50% { transform: translateY(-20px) rotate(10deg); }
        }

@keyframes float-ltr {
            0%, 100% { transform: translateY(0) rotate(0deg); }
            50% { transform: translateY(-20px) rotate(-10deg); }
        }

.page-hero-badge {
display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: rgba(255, 255, 255, 0.2);
            backdrop-filter: blur(10px);
            padding: 0.5rem 1.25rem;
            border-radius: 2rem;
            font-size: 0.85rem;
            font-weight: 700;
            margin-bottom: 1.25rem;
            border: 1px solid rgba(255, 255, 255, 0.3);
            animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
            0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4); }
            50% { transform: scale(1.05); box-shadow: 0 0 0 10px rgba(255, 255, 255, 0); }
        }

.page-hero-title {
font-size: 2.75rem;
            font-weight: 800;
            margin-bottom: 1rem;
            line-height: 1.3;
            text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
}

.page-hero-subtitle {
font-size: 1.15rem;
            opacity: 0.95;
            max-width: 600px;
            margin: 0 auto 2rem;
}

.hero-stats {
display: flex;
            justify-content: center;
            gap: 3rem;
            margin-top: 2rem;
            flex-wrap: wrap;
}

.hero-stat {
text-align: center;
}

.hero-stat-value {
font-size: 2rem;
            font-weight: 800;
            display: block;
            line-height: 1;
}

.hero-stat-label {
font-size: 0.85rem;
            opacity: 0.9;
}

.hero-search {
background: #fff;
            border-radius: 1rem;
            padding: 0.5rem;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
            display: flex;
            gap: 0.5rem;
            max-width: 700px;
            margin: 0 auto;
}

.hero-search button {
background: var(--vip-gradient);
            color: #fff;
            border: none;
            padding: 0.75rem 2rem;
            border-radius: 0.75rem;
            font-weight: 600;
            font-family: inherit;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 0.5rem;
}

.filter-tab.active {
background: var(--vip-gradient);
            color: #fff;
            box-shadow: 0 4px 15px rgba(245, 158, 11, 0.3);
}

.featured-vip {
margin: 3rem 0;
}

.featured-vip-card {
background: #fff;
            border-radius: 1.5rem;
            overflow: hidden;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
            transition: var(--transition);
            display: flex;
            min-height: 420px;
            position: relative;
}

.featured-vip-card:hover {
transform: translateY(-5px);
            box-shadow: 0 20px 60px rgba(245, 158, 11, 0.2);
}

.featured-vip-image {
flex: 0 0 55%;
            position: relative;
            overflow: hidden;
}

.featured-vip-image img {
width: 100%;
            height: 100%;
            object-fit: cover;
            transition: var(--transition);
}

.featured-vip-card:hover .featured-vip-image img {
transform: scale(1.05);
}

.featured-vip-badge {
position: absolute;
            top: 1.5rem;
            right: 1.5rem;
            background: var(--vip-gradient);
            color: #fff;
            padding: 0.5rem 1.25rem;
            border-radius: 2rem;
            font-size: 0.85rem;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            box-shadow: 0 4px 15px rgba(245, 158, 11, 0.4);
            z-index: 2;
}

[dir="ltr"] .featured-vip-badge {
right: auto;
            left: 1.5rem;
}

.featured-vip-content {
flex: 1;
            padding: 2.5rem;
            display: flex;
            flex-direction: column;
            justify-content: center;
}

.featured-vip-meta {
display: flex;
            gap: 1rem;
            font-size: 0.85rem;
            color: var(--text-muted);
            margin-bottom: 1rem;
            flex-wrap: wrap;
}

.featured-vip-meta span {
display: flex;
            align-items: center;
            gap: 0.25rem;
}

.featured-vip-title {
font-size: 1.75rem;
            font-weight: 800;
            margin-bottom: 1rem;
            line-height: 1.4;
            color: var(--text-dark);
}

.featured-vip-excerpt {
color: var(--text-muted);
            font-size: 1rem;
            line-height: 1.9;
            margin-bottom: 1.5rem;
}

.featured-vip-author {
display: flex;
            align-items: center;
            gap: 1rem;
            padding: 1rem;
            background: var(--bg-light);
            border-radius: 1rem;
            margin-bottom: 1.5rem;
            flex-wrap: wrap;
}

.featured-vip-author img {
width: 56px;
            height: 56px;
            border-radius: 50%;
            border: 3px solid var(--vip-gradient);
            object-fit: cover;
}

.featured-vip-author-info {
flex: 1;
            min-width: 150px;
}

.featured-vip-author-info strong {
display: flex;
            align-items: center;
            gap: 0.5rem;
            color: var(--text-dark);
            font-size: 1rem;
            margin-bottom: 0.15rem;
}

.featured-vip-author-info strong i {
color: #f59e0b;
}

.featured-vip-author-info span {
color: var(--text-muted);
            font-size: 0.85rem;
}

.btn-follow-lawyer {
background: var(--vip-gradient);
            color: #fff;
            border: none;
            padding: 0.5rem 1.25rem;
            border-radius: 2rem;
            font-weight: 600;
            font-size: 0.85rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            transition: var(--transition);
            font-family: inherit;
            cursor: pointer;
}

.btn-follow-lawyer:hover {
transform: scale(1.05);
            box-shadow: 0 4px 15px rgba(245, 158, 11, 0.4);
}

.featured-vip-footer {
display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 1rem;
}

.featured-vip-stats {
display: flex;
            gap: 1.5rem;
}

.featured-vip-stats span {
display: flex;
            align-items: center;
            gap: 0.35rem;
            color: var(--text-muted);
            font-size: 0.9rem;
}

.featured-vip-stats i {
color: #f59e0b;
}

.btn-read-more {
background: var(--vip-gradient);
            color: #fff;
            padding: 0.65rem 1.5rem;
            border-radius: 0.5rem;
            font-weight: 600;
            font-size: 0.9rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            transition: var(--transition);
}

.btn-read-more:hover {
transform: translateX(-5px);
            box-shadow: 0 8px 25px rgba(245, 158, 11, 0.3);
            color: #fff;
}

.vip-section {
padding: 2rem 0;
}

.section-title-icon {
width: 48px;
            height: 48px;
            border-radius: 12px;
            background: var(--vip-gradient);
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
}

.vip-post-card {
background: #fff;
            border-radius: 1rem;
            overflow: hidden;
            transition: var(--transition);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            height: 100%;
            display: flex;
            flex-direction: column;
            position: relative;
}

.vip-post-card:hover {
transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(245, 158, 11, 0.15);
}

.vip-post-image {
height: 200px;
            position: relative;
            overflow: hidden;
}

.vip-post-image img {
width: 100%;
            height: 100%;
            object-fit: cover;
            transition: var(--transition);
}

.vip-post-card:hover .vip-post-image img {
transform: scale(1.08);
}

.vip-badge {
position: absolute;
            top: 1rem;
            right: 1rem;
            background: var(--vip-gradient);
            color: #fff;
            padding: 0.35rem 0.85rem;
            border-radius: 2rem;
            font-size: 0.75rem;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 0.25rem;
            box-shadow: 0 4px 15px rgba(245, 158, 11, 0.3);
}

[dir="ltr"] .vip-badge {
right: auto;
            left: 1rem;
}

.vip-post-body {
padding: 1.5rem;
            flex: 1;
            display: flex;
            flex-direction: column;
}

.vip-post-category {
display: inline-block;
            background: rgba(245, 158, 11, 0.1);
            color: #f59e0b;
            padding: 0.25rem 0.75rem;
            border-radius: 1rem;
            font-size: 0.7rem;
            font-weight: 700;
            margin-bottom: 0.75rem;
            width: fit-content;
}

.vip-post-title {
font-size: 1.05rem;
            font-weight: 700;
            margin-bottom: 0.75rem;
            line-height: 1.5;
            color: var(--text-dark);
}

.vip-post-excerpt {
color: var(--text-muted);
            font-size: 0.85rem;
            line-height: 1.8;
            margin-bottom: 1rem;
            flex: 1;
}

.vip-post-author {
display: flex;
            align-items: center;
            gap: 0.75rem;
            padding: 0.75rem;
            background: var(--bg-light);
            border-radius: 0.75rem;
            margin-bottom: 1rem;
}

.vip-post-author img {
width: 40px;
            height: 40px;
            border-radius: 50%;
            border: 2px solid var(--vip-gradient);
            object-fit: cover;
}

.vip-post-author-info {
flex: 1;
            min-width: 0;
}

.vip-post-author-info strong {
display: flex;
            align-items: center;
            gap: 0.35rem;
            color: var(--text-dark);
            font-size: 0.85rem;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
}

.vip-post-author-info strong i {
color: #f59e0b;
            font-size: 0.75rem;
            flex-shrink: 0;
}

.vip-post-author-info span {
color: var(--text-muted);
            font-size: 0.75rem;
}

.vip-post-footer {
display: flex;
            justify-content: space-between;
            align-items: center;
            padding-top: 0.75rem;
            border-top: 1px solid #f0f0f0;
            font-size: 0.8rem;
            color: var(--text-muted);
}

.vip-post-stats {
display: flex;
            gap: 1rem;
}

.vip-post-stats span {
display: flex;
            align-items: center;
            gap: 0.25rem;
}

.read-more-link {
color: #f59e0b;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 0.25rem;
}

.sidebar-title i {
color: #f59e0b;
}

.vip-lawyer-item {
display: flex;
            gap: 0.75rem;
            padding: 0.85rem 0;
            border-bottom: 1px solid #f0f0f0;
            transition: var(--transition);
            align-items: center;
}

.vip-lawyer-item:last-child {
border-bottom: none;
            padding-bottom: 0;
}

.vip-lawyer-item:hover {
transform: translateX(-5px);
}

[dir="ltr"] .vip-lawyer-item:hover {
transform: translateX(5px);
}

.vip-lawyer-rank {
width: 32px;
            height: 32px;
            background: var(--bg-light);
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 800;
            color: #f59e0b;
            flex-shrink: 0;
            font-size: 0.85rem;
}

.vip-lawyer-rank.top-1 {
background: var(--vip-gradient); color: #fff;
}

.vip-lawyer-rank.top-2 {
background: linear-gradient(135deg, #bdc3c7 0%, #2c3e50 100%); color: #fff;
}

.vip-lawyer-rank.top-3 {
background: linear-gradient(135deg, #f2994a 0%, #f2c94c 100%); color: #fff;
}

.vip-lawyer-avatar {
width: 44px;
            height: 44px;
            border-radius: 50%;
            border: 2px solid var(--vip-gradient);
            object-fit: cover;
            flex-shrink: 0;
}

.vip-lawyer-info {
flex: 1;
            min-width: 0;
}

.vip-lawyer-name {
font-size: 0.85rem;
            font-weight: 700;
            margin-bottom: 0.15rem;
            color: var(--text-dark);
            display: flex;
            align-items: center;
            gap: 0.35rem;
}

.vip-lawyer-name i {
color: #f59e0b;
            font-size: 0.7rem;
}

.vip-lawyer-meta {
font-size: 0.7rem;
            color: var(--text-muted);
            display: flex;
            gap: 0.75rem;
            flex-wrap: wrap;
}

.vip-lawyer-meta span {
display: flex;
            align-items: center;
            gap: 0.2rem;
}

.category-name i {
color: #f59e0b;
}

.cta-sidebar {
background: var(--premium-gradient);
            color: #fff;
            border-radius: 1rem;
            padding: 2rem 1.5rem;
            text-align: center;
            margin-bottom: 1.5rem;
            position: relative;
            overflow: hidden;
}

.cta-sidebar::before {
content: '⭐';
            position: absolute;
            top: -20px;
            right: -20px;
            font-size: 6rem;
            opacity: 0.1;
}

[dir="ltr"] .cta-sidebar::before {
right: auto;
            left: -20px;
}

.cta-sidebar-icon {
width: 60px;
            height: 60px;
            background: rgba(255, 255, 255, 0.2);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1rem;
            font-size: 1.75rem;
}

.cta-sidebar-title {
font-size: 1.15rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
}

.cta-sidebar-text {
font-size: 0.85rem;
            opacity: 0.9;
            margin-bottom: 1.25rem;
}

.cta-sidebar-btn {
background: #fff;
            color: #f59e0b;
            border: none;
            padding: 0.75rem 1.5rem;
            border-radius: 0.5rem;
            font-weight: 700;
            font-family: inherit;
            cursor: pointer;
            transition: var(--transition);
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
}

.cta-sidebar-btn:hover {
transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.2);
}

.page-link:hover {
border-color: #f59e0b;
            color: #f59e0b;
}

.page-item.active .page-link {
background: var(--vip-gradient);
            border-color: transparent;
            color: #fff;
}

@media (max-width: 991.98px) {
            .featured-vip-card { flex-direction: column; }
            .featured-vip-image { flex: 0 0 auto; height: 280px; }
            .featured-vip-content { padding: 1.5rem; }
            .featured-vip-title { font-size: 1.35rem; }
        }

@media (max-width: 767.98px) {
            .page-hero { padding: 3rem 0 4rem; }
            .page-hero-title { font-size: 1.6rem; }
            .page-hero-subtitle { font-size: 1rem; }
            .hero-search { flex-direction: column; }
            .section-title { font-size: 1.35rem; }
            .filter-tabs-wrapper { top: 65px; }
            .hero-stats { gap: 1.5rem; }
            .hero-stat-value { font-size: 1.5rem; }
        }

@media (min-width: 768px) {
            .mobile-bottom-nav { display: none; }
            body { padding-bottom: 0; }
        }

:root {
--primary: #667eea;
            --secondary: #764ba2;
            --primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            --success-gradient: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
            --warning-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
            --info-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
            --dark-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
            --gold-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
            --text-dark: #1e293b;
            --text-muted: #64748b;
            --bg-light: #f8fafc;
            --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.lang-flag {
width: 24px;
            height: 24px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.25rem;
}

.hero-section {
background: var(--primary-gradient);
            color: #fff;
            padding: 4rem 0 6rem;
            position: relative;
            /* overflow visible so the city-autocomplete dropdown can open
               below the search box; the decorative gradient is contained
               on its own pseudo-element instead. */
            overflow: visible;
}

.hero-section::before {
content: '';
            position: absolute;
            inset: 0;
            border-radius: inherit;
            overflow: hidden;
            background: radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),
                        radial-gradient(circle at 80% 80%, rgba(255,255,255,0.1) 0%, transparent 50%);
}

.hero-content {
position: relative; z-index: 1;
}

.hero-title {
font-size: 2.75rem;
            font-weight: 800;
            line-height: 1.3;
            margin-bottom: 1.25rem;
}

.hero-subtitle {
font-size: 1.15rem;
            opacity: 0.95;
            margin-bottom: 2rem;
}

.hero-search {
background: #fff;
            border-radius: 1rem;
            padding: 0.5rem;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
            display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
}

.search-input-group {
flex: 1;
            min-width: 200px;
            display: flex;
            align-items: center;
            padding: 0.5rem 1rem;
            border-radius: 0.75rem;
            background: var(--bg-light);
}

.search-input-group i {
color: var(--text-muted); margin-inline-end: 0.5rem;
}

.search-input-group input,
        .search-input-group select {
border: none;
            background: transparent;
            outline: none;
            width: 100%;
            font-family: inherit;
            font-size: 0.95rem;
}

.btn-search {
background: var(--primary-gradient);
            color: #fff;
            border: none;
            padding: 0.75rem 2rem;
            border-radius: 0.75rem;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 0.5rem;
}

.btn-search:hover {
transform: translateY(-2px); color: #fff;
}

.categories-section {
padding: 4rem 0 2rem;
}

.category-card {
background: #fff;
            border-radius: 1rem;
            padding: 1.5rem 1rem;
            text-align: center;
            transition: var(--transition);
            cursor: pointer;
            border: 2px solid transparent;
            height: 100%;
}

.category-card:hover {
transform: translateY(-5px);
            border-color: var(--primary);
            box-shadow: 0 10px 30px rgba(102, 126, 234, 0.15);
}

.category-icon {
width: 70px;
            height: 70px;
            border-radius: 1rem;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1rem;
            font-size: 2rem;
            color: #fff;
            transition: var(--transition);
}

.category-card:hover .category-icon {
transform: scale(1.1) rotate(5deg);
}

/* ---- Category card with image ---- */
.category-card-img {
padding: 0;
            overflow: hidden;
            border: 2px solid transparent;
}

.category-card-img .category-name {
padding: 0.75rem 1rem 0.25rem;
}

.category-card-img .category-count {
padding: 0 1rem 0.75rem;
}

.category-img-wrap {
position: relative;
            width: 100%;
            aspect-ratio: 16/10;
            overflow: hidden;
            border-radius: 1rem 1rem 0 0;
}

.category-img {
width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.4s ease, opacity 0.3s ease;
        }
        .category-img[loading] {
            background: linear-gradient(110deg, #e9ecef 8%, #f8f9fa 18%, #e9ecef 33%);
            background-size: 200% 100%;
            animation: shimmer 1.5s ease-in-out infinite;
        }
        @keyframes shimmer {
            0% { background-position: 200% 0; }
            100% { background-position: -200% 0; }
        }

.category-card:hover .category-img {
transform: scale(1.08);
}

.category-img-overlay {
position: absolute;
            inset: 0;
            background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0.55) 100%);
}

.category-img-icon {
position: absolute;
            bottom: 0.5rem;
            left: 0.75rem;
            width: 36px;
            height: 36px;
            border-radius: 0.5rem;
            background: rgba(255,255,255,0.92);
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.1rem;
            color: var(--primary);
            box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.cat-family {
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}

.cat-criminal {
background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}

.cat-property {
background: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);
}

.cat-commercial {
background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
}

.cat-labor {
background: linear-gradient(135deg, #30cfd0 0%, #330867 100%);
}

.cat-immigration {
background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%); color: #333;
}

.cat-cyber {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}.cat-registration {
  background: linear-gradient(135deg, #ff9a9e 0%, #fad0c4 100%);
}

.cat-admin {
  background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
}

.cat-constitutional {
  background: linear-gradient(135deg, #6366f1 0%, #4338ca 100%);
}

.cat-international {
  background: linear-gradient(135deg, #0ea5e9 0%, #0369a1 100%);
}

.category-name {
font-weight: 700; margin-bottom: 0.25rem;
}

.category-count {
font-size: 0.85rem; color: var(--text-muted);
}

.lawyers-section {
padding: 3rem 0;
}

.lawyer-card {
background: #fff;
            border-radius: 1rem;
            overflow: hidden;
            transition: var(--transition);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            height: 100%;
            position: relative;
}

.lawyer-card:hover {
transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.lawyer-card-header {
padding: 1.5rem 1.5rem 1rem;
            text-align: center;
            position: relative;
            background: linear-gradient(135deg, rgba(102,126,234,0.05) 0%, rgba(118,75,162,0.05) 100%);
}

.lawyer-avatar-wrapper {
position: relative;
            display: inline-block;
            margin-bottom: 1rem;
}

.lawyer-avatar {
width: 100px;
            height: 100px;
            border-radius: 50%;
            border: 4px solid #fff;
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
            object-fit: cover;
}

.verified-badge {
position: absolute;
            bottom: 5px;
            right: 5px;
            width: 28px;
            height: 28px;
            background: var(--primary-gradient);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            border: 3px solid #fff;
            font-size: 0.85rem;
}

[dir="ltr"] .verified-badge {
right: auto; left: 5px;
}

.rank-badge {
position: absolute;
            top: 1rem;
            left: 1rem;
            background: var(--gold-gradient);
            color: #fff;
            padding: 0.25rem 0.75rem;
            border-radius: 2rem;
            font-size: 0.8rem;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 0.25rem;
}

[dir="ltr"] .rank-badge {
left: auto; right: 1rem;
}

.new-badge {
position: absolute;
            top: 1rem;
            left: 1rem;
            background: var(--success-gradient);
            color: #fff;
            padding: 0.25rem 0.75rem;
            border-radius: 2rem;
            font-size: 0.75rem;
            font-weight: 700;
}

[dir="ltr"] .new-badge {
left: auto; right: 1rem;
}

.lawyer-name {
font-size: 1.1rem; font-weight: 700; margin-bottom: 0.25rem;
}

.lawyer-title {
color: var(--text-muted); font-size: 0.85rem; margin-bottom: 0.75rem;
}

.lawyer-specialties {
display: flex;
            gap: 0.25rem;
            flex-wrap: wrap;
            justify-content: center;
            margin-bottom: 0.75rem;
}

.specialty-tag {
background: rgba(102, 126, 234, 0.1);
            color: var(--primary);
            padding: 0.2rem 0.6rem;
            border-radius: 1rem;
            font-size: 0.75rem;
            font-weight: 600;
}

.lawyer-stats {
display: flex;
            justify-content: space-around;
            padding: 0.75rem 0;
            border-top: 1px solid #f0f0f0;
            border-bottom: 1px solid #f0f0f0;
            margin: 0 1rem;
}

.lawyer-stat {
text-align: center;
}

.lawyer-stat-value {
font-weight: 700; font-size: 1rem;
}

.lawyer-stat-label {
font-size: 0.7rem; color: var(--text-muted);
}

.lawyer-card-footer {
padding: 1rem 1.5rem;
            display: flex;
            gap: 0.5rem;
}

.btn-view-profile {
flex: 1;
            background: var(--primary-gradient);
            color: #fff;
            border: none;
            padding: 0.5rem;
            border-radius: 0.5rem;
            font-weight: 600;
            font-size: 0.85rem;
            text-align: center;
}

.btn-view-profile:hover {
color: #fff; transform: translateY(-2px);
}

.btn-follow {
background: rgba(102, 126, 234, 0.1);
            color: var(--primary);
            border: none;
            padding: 0.5rem 1rem;
            border-radius: 0.5rem;
            font-weight: 600;
            font-size: 0.85rem;
}

.btn-follow:hover {
background: var(--primary); color: #fff;
}

.popular-lawyer-card {
background: #fff;
            border-radius: 1rem;
            padding: 1.25rem;
            display: flex;
            align-items: center;
            gap: 1rem;
            transition: var(--transition);
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
            margin-bottom: 1rem;
}

.popular-lawyer-card:hover {
transform: translateX(-5px);
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

[dir="ltr"] .popular-lawyer-card:hover {
transform: translateX(5px);
}

.popular-rank {
width: 40px;
            height: 40px;
            border-radius: 50%;
            background: var(--primary-gradient);
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 800;
            font-size: 1.1rem;
            flex-shrink: 0;
}

.popular-rank.gold {
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}

.popular-rank.silver {
background: linear-gradient(135deg, #bdc3c7 0%, #2c3e50 100%);
}

.popular-rank.bronze {
background: linear-gradient(135deg, #f2994a 0%, #f2c94c 100%);
}

.popular-avatar {
width: 60px;
            height: 60px;
            border-radius: 50%;
            object-fit: cover;
            flex-shrink: 0;
}

.popular-info {
flex: 1; min-width: 0;
}

.popular-name {
font-weight: 700;
            margin-bottom: 0.25rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
}

.popular-meta {
font-size: 0.85rem;
            color: var(--text-muted);
            display: flex;
            align-items: center;
            gap: 0.75rem;
            flex-wrap: wrap;
}

.popular-meta span {
display: flex; align-items: center; gap: 0.25rem;
}

.qa-section {
padding: 3rem 0; background: #fff;
}

.qa-card {
background: var(--bg-light);
            border-radius: 1rem;
            padding: 1.5rem;
            margin-bottom: 1rem;
            transition: var(--transition);
            border-right: 4px solid var(--primary);
            cursor: pointer;
}

[dir="ltr"] .qa-card {
border-right: none; border-left: 4px solid var(--primary);
}

.qa-card:hover {
background: #fff;
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.08);
}

.qa-question {
font-weight: 700;
            font-size: 1.05rem;
            margin-bottom: 0.75rem;
            color: var(--text-dark);
}

.qa-question a {
color: inherit;
            text-decoration: none;
            transition: var(--transition);
}

.qa-question a:hover {
color: var(--primary);
}

.qa-lawyer a {
color: inherit;
}

.qa-lawyer a:hover .qa-lawyer-name {
color: var(--primary);
}

.qa-answer {
color: var(--text-muted);
            font-size: 0.9rem;
            margin-bottom: 1rem;
            line-height: 1.8;
}

.qa-footer {
display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 0.5rem;
}

.qa-lawyer {
display: flex;
            align-items: center;
            gap: 0.5rem;
}

.qa-lawyer img {
width: 36px;
            height: 36px;
            border-radius: 50%;
            object-fit: cover;
}

.qa-lawyer-name {
font-weight: 600;
            font-size: 0.85rem;
            color: var(--primary);
}

.qa-lawyer-title {
font-size: 0.75rem; color: var(--text-muted);
}

.qa-meta {
display: flex;
            gap: 1rem;
            font-size: 0.8rem;
            color: var(--text-muted);
}

.qa-meta span {
display: flex; align-items: center; gap: 0.25rem;
}

.news-section {
padding: 3rem 0;
}

.news-card {
background: #fff;
            border-radius: 1rem;
            overflow: hidden;
            transition: var(--transition);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            height: 100%;
}

.news-image {
height: 200px;
            background: var(--primary-gradient);
            position: relative;
            overflow: hidden;
}

.news-card:hover .news-image img {
transform: scale(1.1);
}

.news-category {
position: absolute;
            top: 1rem;
            right: 1rem;
            background: rgba(255, 255, 255, 0.95);
            color: var(--primary);
            padding: 0.25rem 0.75rem;
            border-radius: 2rem;
            font-size: 0.75rem;
            font-weight: 700;
}

[dir="ltr"] .news-category {
right: auto; left: 1rem;
}

.news-body {
padding: 1.5rem;
}

.news-title {
font-size: 1.1rem; font-weight: 700; margin-bottom: 0.75rem; line-height: 1.5;
}

.news-excerpt {
color: var(--text-muted); font-size: 0.9rem; margin-bottom: 1rem; line-height: 1.8;
}

.news-footer {
display: flex;
            justify-content: space-between;
            align-items: center;
            font-size: 0.8rem;
            color: var(--text-muted);
            padding-top: 1rem;
            border-top: 1px solid #f0f0f0;
}

.cta-section {
background: var(--dark-gradient);
            color: #fff;
            padding: 4rem 0;
            position: relative;
            overflow: hidden;
}

.cta-section::before {
content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(circle at 30% 50%, rgba(102, 126, 234, 0.3) 0%, transparent 50%);
}

.cta-content {
position: relative; z-index: 1;
}

.cta-title {
font-size: 2.25rem; font-weight: 800; margin-bottom: 1rem;
}

.btn-cta {
background: #fff;
            color: var(--primary);
            font-weight: 700;
            padding: 0.85rem 2rem;
            border-radius: 0.75rem;
            border: none;
            font-size: 1rem;
}

.btn-cta:hover {
transform: translateY(-3px); color: var(--primary);
}

.footer {
background: #0f172a;
            color: #fff;
            padding: 3rem 0 1rem;
}

.footer-title {
font-size: 1.1rem; font-weight: 700; margin-bottom: 1.25rem;
}

.footer-links {
list-style: none; padding: 0;
}

.footer-links li {
margin-bottom: 0.5rem;
}

.footer-links a {
color: rgba(255, 255, 255, 0.7); font-size: 0.9rem;
}

.footer-links a:hover {
color: #fff;
}

.footer-bottom {
border-top: 1px solid rgba(255, 255, 255, 0.1);
            padding-top: 1.5rem;
            margin-top: 2rem;
            text-align: center;
            color: rgba(255, 255, 255, 0.6);
            font-size: 0.9rem;
}

.social-icons {
display: flex; gap: 0.75rem; margin-top: 1rem;
}

.social-icon {
width: 38px;
            height: 38px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.1);
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
}

.social-icon:hover {
background: var(--primary-gradient);
            transform: translateY(-3px);
            color: #fff;
}

@keyframes fadeInUp {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }

@media (max-width: 991.98px) {
            .hero-title { font-size: 2rem; }
            .section-title { font-size: 1.5rem; }
        }

@media (max-width: 767.98px) {
            .hero-section { padding: 2.5rem 0 4rem; }
            .hero-title { font-size: 1.6rem; }
            .hero-subtitle { font-size: 1rem; }
            .hero-search { flex-direction: column; }
            .search-input-group { min-width: 100%; }
            .btn-search { width: 100%; justify-content: center; }
            .section-title { font-size: 1.25rem; }
            .cta-title { font-size: 1.5rem; }
            .categories-section, .lawyers-section, .qa-section, .news-section { padding: 2rem 0; }
        }

@media (min-width: 768px) {
            .mobile-bottom-nav { display: none; }
            body { padding-bottom: 0; }
        }

:root {
--primary: #667eea;
            --secondary: #764ba2;
            --primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            --success-gradient: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
            --warning-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
            --info-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
            --dark-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
            --gold-gradient: linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);
            --text-dark: #1e293b;
            --text-muted: #64748b;
            --bg-light: #f8fafc;
            --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.profile-header {
background: var(--primary-gradient);
            color: #fff;
            padding: 4rem 0 7rem;
            position: relative;
            overflow: hidden;
}

.profile-header::before {
content: '';
            position: absolute;
            inset: 0;
            background: 
                radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 80%, rgba(255,255,255,0.1) 0%, transparent 50%);
}

.profile-content {
position: relative;
            z-index: 1;
            text-align: center;
}

.profile-avatar-wrapper {
position: relative;
            display: inline-block;
            margin-bottom: 1.5rem;
}

.profile-avatar {
width: 160px;
            height: 160px;
            border-radius: 50%;
            border: 5px solid rgba(255, 255, 255, 0.3);
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
            object-fit: cover;
}

.verified-badge-large {
position: absolute;
            bottom: 10px;
            right: 10px;
            width: 44px;
            height: 44px;
            background: var(--success-gradient);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            border: 4px solid rgba(255, 255, 255, 0.5);
            font-size: 1.3rem;
}

[dir="ltr"] .verified-badge-large {
right: auto; left: 10px;
}

.profile-name {
font-size: 2.25rem;
            font-weight: 800;
            margin-bottom: 0.5rem;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.75rem;
            flex-wrap: wrap;
}

.profile-title {
font-size: 1.1rem;
            opacity: 0.9;
            margin-bottom: 1rem;
}

.profile-location {
display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: rgba(255, 255, 255, 0.15);
            backdrop-filter: blur(10px);
            padding: 0.4rem 1rem;
            border-radius: 2rem;
            font-size: 0.9rem;
            margin-bottom: 1.25rem;
            border: 1px solid rgba(255, 255, 255, 0.2);
}

.profile-specialties {
display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
            justify-content: center;
            margin-bottom: 1.5rem;
}

.specialty-tag {
background: rgba(255, 255, 255, 0.2);
            backdrop-filter: blur(10px);
            color: #fff;
            padding: 0.4rem 1rem;
            border-radius: 2rem;
            font-size: 0.85rem;
            font-weight: 600;
            border: 1px solid rgba(255, 255, 255, 0.3);
}

.profile-stats {
display: flex;
            gap: 2rem;
            flex-wrap: wrap;
            justify-content: center;
            margin-top: 2rem;
            padding-top: 2rem;
            border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.stat-value {
font-size: 2rem;
            font-weight: 800;
            display: block;
            line-height: 1;
            margin-bottom: 0.25rem;
}

.stat-label {
font-size: 0.85rem;
            opacity: 0.85;
}

.profile-card {
background: #fff;
            border-radius: 1.5rem;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
            margin-top: -5rem;
            position: relative;
            z-index: 10;
            padding: 2.5rem;
}

.profile-tabs {
display: flex;
            gap: 0.5rem;
            border-bottom: 2px solid #e2e8f0;
            margin-bottom: 2rem;
            overflow-x: auto;
            scrollbar-width: none;
}

.profile-tabs::-webkit-scrollbar {
display: none;
}

.profile-tab {
background: transparent;
            border: none;
            color: var(--text-muted);
            padding: 1rem 1.5rem;
            font-weight: 600;
            font-size: 0.95rem;
            font-family: inherit;
            cursor: pointer;
            white-space: nowrap;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            position: relative;
            transition: var(--transition);
}

.profile-tab:hover {
color: var(--primary);
}

.profile-tab.active {
color: var(--primary);
}

.profile-tab.active::after {
content: '';
            position: absolute;
            bottom: -2px;
            left: 0;
            right: 0;
            height: 3px;
            background: var(--primary-gradient);
            border-radius: 3px 3px 0 0;
}

.tab-content > .tab-pane:not(.active):not(.show) {
display: none;
}

.tab-content > .tab-pane.active.show {
display: block; animation: fadeIn 0.4s ease-out;
}

@keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }

.contact-item {
display: flex;
            align-items: center;
            gap: 1rem;
            padding: 1rem;
            background: var(--bg-light);
            border-radius: 0.75rem;
            margin-bottom: 0.75rem;
            transition: var(--transition);
}

.contact-item:hover {
background: rgba(102, 126, 234, 0.05);
            transform: translateX(-5px);
}

[dir="ltr"] .contact-item:hover {
transform: translateX(5px);
}

.contact-icon {
width: 48px;
            height: 48px;
            background: var(--primary-gradient);
            border-radius: 12px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 1.25rem;
            flex-shrink: 0;
}

.contact-details {
flex: 1;
}

.contact-label {
font-size: 0.8rem;
            color: var(--text-muted);
            margin-bottom: 0.15rem;
}

.contact-value {
font-weight: 600;
            color: var(--text-dark);
            font-size: 0.95rem;
}

.action-buttons {
display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1rem;
            margin: 2rem 0;
}

.btn-action {
padding: 1rem;
            border-radius: 0.75rem;
            font-weight: 700;
            font-size: 0.95rem;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
            transition: var(--transition);
            border: none;
            cursor: pointer;
            font-family: inherit;
}

.btn-consultation {
background: var(--primary-gradient);
            color: #fff;
            box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}

.btn-consultation:hover {
transform: translateY(-3px);
            box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
            color: #fff;
}

.btn-message {
background: rgba(102, 126, 234, 0.1);
            color: var(--primary);
}

.btn-message:hover {
background: var(--primary);
            color: #fff;
}

.section-title {
font-size: 1.35rem;
            font-weight: 800;
            margin-bottom: 1.5rem;
            display: flex;
            align-items: center;
            gap: 0.75rem;
            color: var(--text-dark);
}

.section-title-icon {
width: 40px;
            height: 40px;
            background: var(--primary-gradient);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 1.25rem;
}

.about-text {
color: var(--text-muted);
            line-height: 2;
            font-size: 0.95rem;
            text-align: justify;
}

.about-highlights {
display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 1rem;
            margin-top: 1.5rem;
}

.highlight-item {
background: var(--bg-light);
            padding: 1rem;
            border-radius: 0.75rem;
            display: flex;
            align-items: center;
            gap: 0.75rem;
}

.highlight-icon {
width: 40px;
            height: 40px;
            background: rgba(102, 126, 234, 0.1);
            color: var(--primary);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
}

.highlight-text {
font-size: 0.85rem;
            color: var(--text-dark);
            font-weight: 600;
}

.post-card {
background: #fff;
            border-radius: 1rem;
            overflow: hidden;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            transition: var(--transition);
            height: 100%;
            display: flex;
            flex-direction: column;
}

.post-card:hover {
transform: translateY(-5px);
            box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.post-image {
height: 180px;
            position: relative;
            overflow: hidden;
}

.post-image img {
width: 100%;
            height: 100%;
            object-fit: cover;
            transition: var(--transition);
}

.post-card:hover .post-image img {
transform: scale(1.08);
}

.post-body {
padding: 1.25rem;
            flex: 1;
            display: flex;
            flex-direction: column;
}

.post-title {
font-size: 1rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
            line-height: 1.5;
            color: var(--text-dark);
}

.qa-card {
background: #fff;
            border-radius: 1rem;
            padding: 1.5rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            margin-bottom: 1rem;
            border-right: 4px solid var(--primary);
            transition: var(--transition);
}

.qa-card:hover {
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
            transform: translateX(-3px);
}

[dir="ltr"] .qa-card:hover {
transform: translateX(3px);
}

.qa-question {
font-weight: 700;
            font-size: 1rem;
            margin-bottom: 0.75rem;
            color: var(--text-dark);
}

.qa-answer {
color: var(--text-muted);
            font-size: 0.9rem;
            line-height: 1.8;
            margin-bottom: 1rem;
}

.qa-meta {
display: flex;
            gap: 1rem;
            font-size: 0.8rem;
            color: var(--text-muted);
            flex-wrap: wrap;
}

.qa-meta span {
display: flex;
            align-items: center;
            gap: 0.25rem;
}

.reviews-summary {
background: var(--bg-light);
            border-radius: 1rem;
            padding: 1.5rem;
            margin-bottom: 2rem;
            display: flex;
            gap: 2rem;
            align-items: center;
            flex-wrap: wrap;
}

.rating-big {
text-align: center;
            min-width: 120px;
}

.rating-big .number {
font-size: 3.5rem;
            font-weight: 800;
            color: var(--primary);
            line-height: 1;
}

.rating-big .stars {
color: #fbbf24;
            margin: 0.5rem 0;
            font-size: 1.1rem;
}

.rating-big .count {
font-size: 0.85rem;
            color: var(--text-muted);
}

.rating-bars {
flex: 1;
            min-width: 250px;
}

.rating-bar-item {
display: flex;
            align-items: center;
            gap: 0.75rem;
            margin-bottom: 0.5rem;
            font-size: 0.85rem;
}

.rating-bar-item .label {
width: 30px;
            color: var(--text-muted);
            font-weight: 600;
}

.rating-bar {
flex: 1;
            height: 8px;
            background: #e2e8f0;
            border-radius: 4px;
            overflow: hidden;
}

.rating-bar-fill {
height: 100%;
            background: var(--gold-gradient);
            border-radius: 4px;
            transition: width 0.6s ease-out;
}

.rating-bar-item .percent {
width: 40px;
            text-align: end;
            color: var(--text-muted);
            font-size: 0.8rem;
}

.review-card {
background: #fff;
            border-radius: 1rem;
            padding: 1.5rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            margin-bottom: 1rem;
            transition: var(--transition);
}

.review-card:hover {
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}

.review-header {
display: flex;
            align-items: center;
            gap: 1rem;
            margin-bottom: 1rem;
}

.review-avatar {
width: 50px;
            height: 50px;
            border-radius: 50%;
            object-fit: cover;
}

.review-author {
flex: 1;
}

.review-name {
font-weight: 700;
            color: var(--text-dark);
            margin-bottom: 0.25rem;
}

.review-date {
font-size: 0.8rem;
            color: var(--text-muted);
}

.review-rating {
display: flex;
            gap: 0.15rem;
            color: #fbbf24;
            margin-bottom: 0.75rem;
            font-size: 0.9rem;
}

.review-text {
color: var(--text-muted);
            font-size: 0.9rem;
            line-height: 1.8;
}

@media (max-width: 767.98px) {
            .profile-header { padding: 2.5rem 0 5rem; }
            .profile-name { font-size: 1.6rem; }
            .profile-avatar { width: 120px; height: 120px; }
            .profile-stats { gap: 1.25rem; }
            .stat-value { font-size: 1.5rem; }
            .stat-label { font-size: 0.75rem; }
            .profile-card { padding: 1.5rem; margin-top: -3.5rem; }
            .action-buttons { grid-template-columns: 1fr; }
            .profile-tab { padding: 0.75rem 1rem; font-size: 0.85rem; }
            .reviews-summary { flex-direction: column; text-align: center; }
        }

@media (min-width: 768px) {
            .mobile-bottom-nav { display: none; }
            body { padding-bottom: 0; }
        }

:root {
--primary: #667eea;
            --secondary: #764ba2;
            --primary-gradient: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            --qa-gradient: linear-gradient(135deg, #0891b2 0%, #06b6d4 50%, #22d3ee 100%);
            --qa-dark-gradient: linear-gradient(135deg, #0e7490 0%, #155e75 100%);
            --success-gradient: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
            --warning-gradient: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
            --info-gradient: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
            --dark-gradient: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
            --text-dark: #1e293b;
            --text-muted: #64748b;
            --bg-light: #f8fafc;
            --transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

::-webkit-scrollbar-thumb {
background: var(--qa-gradient); border-radius: 4px;
}

.page-hero {
background: var(--qa-gradient);
            color: #fff;
            padding: 4rem 0 6rem;
            position: relative;
            overflow: hidden;
}

.page-hero::after {
content: '❓';
            position: absolute;
            top: 15%;
            right: 8%;
            font-size: 10rem;
            opacity: 0.08;
            animation: float 6s ease-in-out infinite;
}

[dir="ltr"] .page-hero::after {
right: auto;
            left: 8%;
}

@keyframes float {
            0%, 100% { transform: translateY(0) rotate(0deg); }
            50% { transform: translateY(-20px) rotate(10deg); }
        }

.page-hero-badge {
display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            background: rgba(255, 255, 255, 0.2);
            backdrop-filter: blur(10px);
            padding: 0.5rem 1.25rem;
            border-radius: 2rem;
            font-size: 0.85rem;
            font-weight: 700;
            margin-bottom: 1.25rem;
            border: 1px solid rgba(255, 255, 255, 0.3);
}

.hero-search button {
background: var(--qa-dark-gradient);
            color: #fff;
            border: none;
            padding: 0.75rem 2rem;
            border-radius: 0.75rem;
            font-weight: 600;
            font-family: inherit;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 0.5rem;
}

.ask-cta {
background: #fff;
            border-radius: 1.5rem;
            padding: 2rem;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
            margin-top: -3rem;
            position: relative;
            z-index: 10;
            display: flex;
            align-items: center;
            gap: 1.5rem;
            flex-wrap: wrap;
}

.ask-cta-icon {
width: 70px;
            height: 70px;
            background: var(--qa-gradient);
            border-radius: 1rem;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 2rem;
            flex-shrink: 0;
            box-shadow: 0 8px 25px rgba(8, 145, 178, 0.3);
}

.ask-cta-content {
flex: 1;
            min-width: 250px;
}

.ask-cta-title {
font-size: 1.25rem;
            font-weight: 800;
            margin-bottom: 0.25rem;
            color: var(--text-dark);
}

.ask-cta-text {
color: var(--text-muted);
            font-size: 0.9rem;
}

.btn-ask {
background: var(--qa-gradient);
            color: #fff;
            border: none;
            padding: 0.85rem 2rem;
            border-radius: 0.75rem;
            font-weight: 700;
            font-family: inherit;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            transition: var(--transition);
            box-shadow: 0 4px 15px rgba(8, 145, 178, 0.3);
}

.btn-ask:hover {
transform: translateY(-3px);
            box-shadow: 0 8px 25px rgba(8, 145, 178, 0.4);
            color: #fff;
}

.filter-tabs-wrapper {
background: #fff;
            padding: 1rem 0;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            position: sticky;
            top: 70px;
            z-index: 99;
            margin-top: 2rem;
            border-radius: 1rem 1rem 0 0;
}

.filter-tab:hover {
background: var(--bg-light);
            color: #0891b2;
}

.filter-tab.active {
background: var(--qa-gradient);
            color: #fff;
            box-shadow: 0 4px 15px rgba(8, 145, 178, 0.3);
}

.section-header {
display: flex;
            justify-content: space-between;
            align-items: center;
            margin: 2rem 0 1.5rem;
            flex-wrap: wrap;
            gap: 1rem;
}

.section-title {
font-size: 1.5rem;
            font-weight: 800;
            color: var(--text-dark);
            margin: 0;
            display: flex;
            align-items: center;
            gap: 0.75rem;
}

.section-title-icon {
width: 44px;
            height: 44px;
            border-radius: 12px;
            background: var(--qa-gradient);
            color: #fff;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.35rem;
}

.section-subtitle {
color: var(--text-muted);
            margin: 0.25rem 0 0;
            font-size: 0.9rem;
}

.sort-select {
border: 2px solid #e2e8f0;
            border-radius: 0.5rem;
            padding: 0.5rem 1rem;
            font-family: inherit;
            font-size: 0.85rem;
            color: var(--text-dark);
            background: #fff;
            cursor: pointer;
            transition: var(--transition);
}

.sort-select:focus {
outline: none;
            border-color: #0891b2;
}

.qa-card {
background: #fff;
            border-radius: 1rem;
            padding: 1.5rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            margin-bottom: 1.25rem;
            transition: var(--transition);
            position: relative;
            border-right: 4px solid transparent;
}

[dir="ltr"] .qa-card {
border-right: none;
            border-left: 4px solid transparent;
}

.qa-card:hover {
transform: translateY(-3px);
            box-shadow: 0 10px 30px rgba(8, 145, 178, 0.12);
            border-right-color: #0891b2;
}

[dir="ltr"] .qa-card:hover {
border-left-color: #0891b2;
}

.qa-card.answered {
border-right-color: #10b981;
}

[dir="ltr"] .qa-card.answered {
border-right: none;
            border-left-color: #10b981;
}

.qa-status-badge {
position: absolute;
            top: 1rem;
            left: 1rem;
            padding: 0.25rem 0.75rem;
            border-radius: 2rem;
            font-size: 0.7rem;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 0.25rem;
}

[dir="ltr"] .qa-status-badge {
left: auto;
            right: 1rem;
}

.qa-status-badge.answered {
background: rgba(16, 185, 129, 0.1);
            color: #10b981;
}

.qa-status-badge.pending {
background: rgba(245, 158, 11, 0.1);
            color: #f59e0b;
}

.qa-status-badge.hot {
background: rgba(239, 68, 68, 0.1);
            color: #ef4444;
}

.qa-category {
display: inline-block;
            background: rgba(8, 145, 178, 0.1);
            color: #0891b2;
            padding: 0.25rem 0.75rem;
            border-radius: 1rem;
            font-size: 0.7rem;
            font-weight: 700;
            margin-bottom: 0.75rem;
}

.qa-question {
font-size: 1.15rem;
            font-weight: 700;
            margin-bottom: 0.75rem;
            color: var(--text-dark);
            line-height: 1.5;
}

.qa-answer {
color: var(--text-muted);
            font-size: 0.9rem;
            line-height: 1.9;
            margin-bottom: 1rem;
            padding: 1rem;
            background: var(--bg-light);
            border-radius: 0.75rem;
            border-right: 3px solid #0891b2;
}

[dir="ltr"] .qa-answer {
border-right: none;
            border-left: 3px solid #0891b2;
}

.qa-answer::before {
content: '"';
            font-size: 1.5rem;
            color: #0891b2;
            font-weight: 800;
            margin-inline-end: 0.25rem;
}

.qa-answer::after {
content: '"';
            font-size: 1.5rem;
            color: #0891b2;
            font-weight: 800;
            margin-inline-start: 0.25rem;
}

.qa-footer {
display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 1rem;
            padding-top: 1rem;
            border-top: 1px solid #f0f0f0;
}

.qa-lawyer {
display: flex;
            align-items: center;
            gap: 0.75rem;
}

.qa-lawyer-avatar {
width: 44px;
            height: 44px;
            border-radius: 50%;
            border: 2px solid #0891b2;
            object-fit: cover;
}

.qa-lawyer-info strong {
display: flex;
            align-items: center;
            gap: 0.35rem;
            color: var(--text-dark);
            font-size: 0.9rem;
}

.qa-lawyer-info strong i {
color: #0891b2;
            font-size: 0.8rem;
}

.qa-lawyer-info span {
color: var(--text-muted);
            font-size: 0.75rem;
}

.qa-meta {
display: flex;
            gap: 1.25rem;
            font-size: 0.85rem;
            color: var(--text-muted);
            flex-wrap: wrap;
}

.qa-meta span {
display: flex;
            align-items: center;
            gap: 0.35rem;
}

.qa-meta i {
color: #0891b2;
}

.btn-view-answer {
background: rgba(8, 145, 178, 0.1);
            color: #0891b2;
            border: none;
            padding: 0.5rem 1rem;
            border-radius: 0.5rem;
            font-weight: 600;
            font-size: 0.85rem;
            display: inline-flex;
            align-items: center;
            gap: 0.35rem;
            transition: var(--transition);
            font-family: inherit;
            cursor: pointer;
}

.btn-view-answer:hover {
background: var(--qa-gradient);
            color: #fff;
}

.sidebar-title i {
color: #0891b2;
}

.qa-stats-grid {
display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1rem;
}

.qa-stat-item {
background: var(--bg-light);
            padding: 1rem;
            border-radius: 0.75rem;
            text-align: center;
            transition: var(--transition);
}

.qa-stat-item:hover {
transform: translateY(-3px);
            background: rgba(8, 145, 178, 0.05);
}

.qa-stat-icon {
width: 40px;
            height: 40px;
            background: var(--qa-gradient);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #fff;
            font-size: 1.1rem;
            margin: 0 auto 0.5rem;
}

.qa-stat-value {
font-size: 1.35rem;
            font-weight: 800;
            color: var(--text-dark);
            display: block;
}

.qa-stat-label {
font-size: 0.75rem;
            color: var(--text-muted);
}

.popular-qa-item {
display: flex;
            gap: 0.75rem;
            padding: 0.85rem 0;
            border-bottom: 1px solid #f0f0f0;
            transition: var(--transition);
            align-items: flex-start;
}

.popular-qa-item:last-child {
border-bottom: none;
            padding-bottom: 0;
}

.popular-qa-item:hover {
transform: translateX(-5px);
}

[dir="ltr"] .popular-qa-item:hover {
transform: translateX(5px);
}

.popular-qa-rank {
width: 32px;
            height: 32px;
            background: var(--bg-light);
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 800;
            color: #0891b2;
            flex-shrink: 0;
            font-size: 0.85rem;
}

.popular-qa-rank.top-1 {
background: var(--qa-gradient); color: #fff;
}

.popular-qa-rank.top-2 {
background: linear-gradient(135deg, #bdc3c7 0%, #2c3e50 100%); color: #fff;
}

.popular-qa-rank.top-3 {
background: linear-gradient(135deg, #f2994a 0%, #f2c94c 100%); color: #fff;
}

.popular-qa-content {
flex: 1; min-width: 0;
}

.popular-qa-title {
font-size: 0.85rem;
            font-weight: 600;
            line-height: 1.5;
            margin-bottom: 0.35rem;
            color: var(--text-dark);
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
}

.popular-qa-meta {
font-size: 0.7rem;
            color: var(--text-muted);
            display: flex;
            gap: 0.75rem;
            flex-wrap: wrap;
}

.popular-qa-meta span {
display: flex;
            align-items: center;
            gap: 0.2rem;
}

.category-name i {
color: #0891b2;
}

.cta-sidebar {
background: var(--qa-gradient);
            color: #fff;
            border-radius: 1rem;
            padding: 2rem 1.5rem;
            text-align: center;
            margin-bottom: 1.5rem;
            position: relative;
            overflow: hidden;
}

.cta-sidebar::before {
content: '❓';
            position: absolute;
            top: -20px;
            right: -20px;
            font-size: 6rem;
            opacity: 0.1;
}

.cta-sidebar-icon {
width: 60px;
            height: 60px;
            background: rgba(255, 255, 255, 0.2);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            margin: 0 auto 1rem;
            font-size: 1.75rem;
            backdrop-filter: blur(10px);
}

.cta-sidebar-btn {
background: #fff;
            color: #0891b2;
            border: none;
            padding: 0.75rem 1.5rem;
            border-radius: 0.5rem;
            font-weight: 700;
            font-family: inherit;
            cursor: pointer;
            transition: var(--transition);
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
}

.top-lawyer-item {
display: flex;
            gap: 0.75rem;
            padding: 0.85rem 0;
            border-bottom: 1px solid #f0f0f0;
            transition: var(--transition);
            align-items: center;
}

.top-lawyer-item:last-child {
border-bottom: none;
            padding-bottom: 0;
}

.top-lawyer-item:hover {
transform: translateX(-5px);
}

[dir="ltr"] .top-lawyer-item:hover {
transform: translateX(5px);
}

.top-lawyer-avatar {
width: 44px;
            height: 44px;
            border-radius: 50%;
            border: 2px solid #0891b2;
            object-fit: cover;
            flex-shrink: 0;
}

.top-lawyer-info {
flex: 1; min-width: 0;
}

.top-lawyer-name {
font-size: 0.85rem;
            font-weight: 700;
            margin-bottom: 0.15rem;
            color: var(--text-dark);
            display: flex;
            align-items: center;
            gap: 0.35rem;
}

.top-lawyer-name i {
color: #0891b2;
            font-size: 0.7rem;
}

.top-lawyer-meta {
font-size: 0.7rem;
            color: var(--text-muted);
            display: flex;
            gap: 0.75rem;
            flex-wrap: wrap;
}

.top-lawyer-meta span {
display: flex;
            align-items: center;
            gap: 0.2rem;
}

.page-link:hover {
border-color: #0891b2;
            color: #0891b2;
}

.page-item.active .page-link {
background: var(--qa-gradient);
            border-color: transparent;
            color: #fff;
}

@media (max-width: 767.98px) {
            .page-hero { padding: 3rem 0 4rem; }
            .page-hero-title { font-size: 1.6rem; }
            .page-hero-subtitle { font-size: 1rem; }
            .hero-search { flex-direction: column; }
            .section-title { font-size: 1.25rem; }
            .filter-tabs-wrapper { top: 65px; }
            .hero-stats { gap: 1.5rem; }
            .hero-stat-value { font-size: 1.5rem; }
            .ask-cta { flex-direction: column; text-align: center; }
            .qa-question { font-size: 1rem; }
            .qa-footer { flex-direction: column; align-items: flex-start; }
        }

@media (min-width: 768px) {
            .mobile-bottom-nav { display: none; }
            body { padding-bottom: 0; }
        }

.search-hero {
background: var(--primary-gradient);
            color: #fff;
            padding: 3rem 0 4rem;
            position: relative;
            /* overflow visible so the city-autocomplete dropdown can open
               below the search box; the decorative gradient is contained
               on its own pseudo-element instead. */
            overflow: visible;
}

.search-hero::before {
content: '';
            position: absolute;
            inset: 0;
            background: 
                radial-gradient(circle at 20% 50%, rgba(255,255,255,0.1) 0%, transparent 50%),
                radial-gradient(circle at 80% 80%, rgba(255,255,255,0.1) 0%, transparent 50%);
}

.search-hero-content {
position: relative;
            z-index: 1;
}

.search-hero-title {
font-size: 2.25rem;
            font-weight: 800;
            margin-bottom: 1rem;
            text-align: center;
}

.search-hero-subtitle {
text-align: center;
            opacity: 0.9;
            margin-bottom: 2rem;
            font-size: 1.1rem;
}

.search-box {
background: #fff;
            border-radius: 1rem;
            padding: 0.75rem;
            box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
            display: flex;
            gap: 0.5rem;
            flex-wrap: wrap;
}

.search-input-group {
flex: 1;
            min-width: 200px;
            display: flex;
            align-items: center;
            padding: 0.75rem 1rem;
            border-radius: 0.75rem;
            background: var(--bg-light);
}

.search-input-group i {
color: var(--text-muted);
            margin-inline-end: 0.5rem;
            font-size: 1.1rem;
}

.search-input-group input,
        .search-input-group select {
border: none;
            background: transparent;
            outline: none;
            width: 100%;
            font-family: inherit;
            font-size: 0.95rem;
            color: var(--text-dark);
}

.btn-search {
background: var(--primary-gradient);
            color: #fff;
            border: none;
            padding: 0.75rem 2rem;
            border-radius: 0.75rem;
            font-weight: 600;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            font-family: inherit;
            cursor: pointer;
            transition: var(--transition);
}

.btn-search:hover {
transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
            color: #fff;
}

.search-main {
padding: 2rem 0;
}

.filter-sidebar {
background: #fff;
            border-radius: 1rem;
            padding: 1.5rem;
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            position: sticky;
            top: 100px;
            max-height: calc(100vh - 120px);
            overflow-y: auto;
}

.filter-title {
font-size: 1.1rem;
            font-weight: 700;
            margin-bottom: 1.25rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            color: var(--text-dark);
}

.filter-group {
margin-bottom: 1.5rem;
            padding-bottom: 1.5rem;
            border-bottom: 1px solid #e2e8f0;
}

.filter-group:last-child {
border-bottom: none;
            margin-bottom: 0;
            padding-bottom: 0;
}

.filter-group-title {
font-weight: 600;
            margin-bottom: 0.75rem;
            color: var(--text-dark);
            font-size: 0.9rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
}

.filter-group-title i {
color: var(--primary);
}

.custom-checkbox {
display: flex;
            align-items: center;
            gap: 0.5rem;
            cursor: pointer;
            user-select: none;
            font-size: 0.85rem;
            color: var(--text-muted);
            margin-bottom: 0.5rem;
            transition: var(--transition);
}

.custom-checkbox:hover {
color: var(--primary);
}

.custom-checkbox .count {
margin-inline-start: auto;
            background: var(--bg-light);
            padding: 0.15rem 0.5rem;
            border-radius: 1rem;
            font-size: 0.75rem;
            color: var(--text-muted);
}

.range-slider {
margin-top: 0.5rem;
}

.range-slider input[type="range"] {
width: 100%;
            height: 6px;
            border-radius: 3px;
            background: #e2e8f0;
            outline: none;
            -webkit-appearance: none;
}

.range-slider input[type="range"]::-webkit-slider-thumb {
-webkit-appearance: none;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            background: var(--primary-gradient);
            cursor: pointer;
            box-shadow: 0 2px 8px rgba(102, 126, 234, 0.4);
}

.range-slider input[type="range"]::-moz-range-thumb {
width: 20px;
            height: 20px;
            border-radius: 50%;
            background: var(--primary);
            cursor: pointer;
            border: none;
}

.range-values {
display: flex;
            justify-content: space-between;
            margin-top: 0.5rem;
            font-size: 0.8rem;
            color: var(--text-muted);
}

.btn-filter-apply {
width: 100%;
            background: var(--primary-gradient);
            color: #fff;
            border: none;
            padding: 0.75rem;
            border-radius: 0.75rem;
            font-weight: 600;
            font-family: inherit;
            cursor: pointer;
            transition: var(--transition);
            margin-top: 1rem;
}

.btn-filter-apply:hover {
transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
}

.btn-filter-reset {
width: 100%;
            background: transparent;
            color: var(--text-muted);
            border: 2px solid #e2e8f0;
            padding: 0.65rem;
            border-radius: 0.75rem;
            font-weight: 600;
            font-family: inherit;
            cursor: pointer;
            transition: var(--transition);
            margin-top: 0.5rem;
}

.btn-filter-reset:hover {
border-color: var(--primary);
            color: var(--primary);
}

.results-header {
display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 1.5rem;
            flex-wrap: wrap;
            gap: 1rem;
}

.results-count {
font-size: 0.95rem;
            color: var(--text-muted);
}

.results-count strong {
color: var(--primary);
            font-weight: 700;
}

.results-sort {
display: flex;
            align-items: center;
            gap: 0.5rem;
}

.sort-select:focus {
outline: none;
            border-color: var(--primary);
}

.view-toggle {
display: flex;
            gap: 0.25rem;
            background: #fff;
            border: 2px solid #e2e8f0;
            border-radius: 0.5rem;
            padding: 0.25rem;
}

.view-btn {
background: transparent;
            border: none;
            padding: 0.4rem 0.75rem;
            border-radius: 0.35rem;
            color: var(--text-muted);
            cursor: pointer;
            transition: var(--transition);
}

.view-btn.active {
background: var(--primary-gradient);
            color: #fff;
}

.lawyer-card {
background: #fff;
            border-radius: 1rem;
            overflow: hidden;
            transition: var(--transition);
            box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
            margin-bottom: 1.25rem;
            display: flex;
            flex-direction: column;
}

.lawyer-card-horizontal {
flex-direction: row;
}

.lawyer-card-image {
width: 100%;
            height: 200px;
            background: var(--primary-gradient);
            position: relative;
            overflow: hidden;
}

.lawyer-card-horizontal .lawyer-card-image {
width: 200px;
            height: auto;
            min-height: 200px;
            flex-shrink: 0;
}

.lawyer-card-image img {
width: 100%;
            height: 100%;
            object-fit: cover;
            transition: var(--transition);
}

.lawyer-card:hover .lawyer-card-image img {
transform: scale(1.05);
}

.lawyer-badge {
position: absolute;
            top: 1rem;
            right: 1rem;
            background: rgba(255, 255, 255, 0.95);
            color: var(--primary);
            padding: 0.35rem 0.75rem;
            border-radius: 2rem;
            font-size: 0.75rem;
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: 0.25rem;
            backdrop-filter: blur(10px);
}

[dir="ltr"] .lawyer-badge {
right: auto;
            left: 1rem;
}

.lawyer-card-content {
padding: 1.5rem;
            flex: 1;
            display: flex;
            flex-direction: column;
}

.lawyer-name {
font-size: 1.25rem;
            font-weight: 700;
            margin-bottom: 0.5rem;
            display: flex;
            align-items: center;
            gap: 0.5rem;
}

.lawyer-name i {
color: var(--primary);
}

.lawyer-title {
color: var(--text-muted);
            font-size: 0.9rem;
            margin-bottom: 0.75rem;
}

.lawyer-specialties {
display: flex;
            gap: 0.35rem;
            flex-wrap: wrap;
            margin-bottom: 1rem;
}

.specialty-tag {
background: rgba(102, 126, 234, 0.1);
            color: var(--primary);
            padding: 0.25rem 0.75rem;
            border-radius: 1rem;
            font-size: 0.75rem;
            font-weight: 600;
}

.lawyer-meta {
display: flex;
            gap: 1rem;
            flex-wrap: wrap;
            margin-bottom: 1rem;
            font-size: 0.85rem;
            color: var(--text-muted);
}

.lawyer-meta span {
display: flex;
            align-items: center;
            gap: 0.35rem;
}

.lawyer-meta i {
color: var(--primary);
}

.lawyer-rating {
display: flex;
            align-items: center;
            gap: 0.5rem;
            margin-bottom: 1rem;
}

.rating-stars {
display: flex;
            gap: 0.15rem;
            color: #fbbf24;
}

.rating-value {
font-weight: 700;
            color: var(--text-dark);
}

.rating-count {
color: var(--text-muted);
            font-size: 0.85rem;
}

.lawyer-price {
background: var(--bg-light);
            padding: 0.75rem 1rem;
            border-radius: 0.75rem;
            margin-bottom: 1rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
}

.price-label {
font-size: 0.85rem;
            color: var(--text-muted);
}

.price-value {
font-size: 1.1rem;
            font-weight: 700;
            color: var(--primary);
}

.price-currency {
font-size: 0.8rem;
            color: var(--text-muted);
            margin-inline-start: 0.25rem;
}

.lawyer-actions {
display: flex;
            gap: 0.5rem;
            margin-top: auto;
}

.btn-view-profile {
flex: 1;
            background: var(--primary-gradient);
            color: #fff;
            border: none;
            padding: 0.65rem;
            border-radius: 0.5rem;
            font-weight: 600;
            font-size: 0.85rem;
            font-family: inherit;
            cursor: pointer;
            transition: var(--transition);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.5rem;
}

.btn-view-profile:hover {
transform: translateY(-2px);
            box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
            color: #fff;
}

.btn-contact {
background: rgba(102, 126, 234, 0.1);
            color: var(--primary);
            border: none;
            padding: 0.65rem 1rem;
            border-radius: 0.5rem;
            font-weight: 600;
            font-size: 0.85rem;
            font-family: inherit;
            cursor: pointer;
            transition: var(--transition);
}

.btn-contact:hover {
background: var(--primary);
            color: #fff;
}

.pagination-wrapper {
display: flex;
            justify-content: center;
            margin-top: 2rem;
}

.page-item.disabled .page-link {
opacity: 0.5;
            cursor: not-allowed;
}

.mobile-bottom-nav .nav-item i {
font-size: 1.4rem;
            margin-bottom: 0.25rem;
}

.mobile-bottom-nav .nav-item span {
font-size: 0.7rem;
            font-weight: 600;
}

.mobile-filter-btn {
position: fixed;
            bottom: 100px;
            right: 20px;
            width: 56px;
            height: 56px;
            background: var(--primary-gradient);
            color: #fff;
            border: none;
            border-radius: 50%;
            box-shadow: 0 8px 25px rgba(102, 126, 234, 0.4);
            display: none;
            align-items: center;
            justify-content: center;
            font-size: 1.5rem;
            cursor: pointer;
            z-index: 999;
            transition: var(--transition);
}

[dir="ltr"] .mobile-filter-btn {
right: auto;
            left: 20px;
}

.mobile-filter-btn:hover {
transform: scale(1.1);
}

.filter-modal {
position: fixed;
            inset: 0;
            background: rgba(0, 0, 0, 0.5);
            z-index: 2000;
            display: none;
            align-items: flex-end;
            justify-content: center;
}

.filter-modal.show {
display: flex;
            animation: fadeIn 0.3s ease-out;
}

.filter-modal-content {
background: #fff;
            border-radius: 1.5rem 1.5rem 0 0;
            width: 100%;
            max-width: 500px;
            max-height: 80vh;
            overflow-y: auto;
            padding: 1.5rem;
            animation: slideUp 0.3s ease-out;
}

@keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

@keyframes slideUp {
            from { transform: translateY(100%); }
            to { transform: translateY(0); }
        }

.filter-modal-header {
display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 1.5rem;
            padding-bottom: 1rem;
            border-bottom: 2px solid #e2e8f0;
}

.filter-modal-title {
font-size: 1.25rem;
            font-weight: 700;
}

.filter-modal-close {
background: none;
            border: none;
            font-size: 1.5rem;
            color: var(--text-muted);
            cursor: pointer;
            padding: 0;
            width: 36px;
            height: 36px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: var(--transition);
}

.filter-modal-close:hover {
background: var(--bg-light);
            color: var(--primary);
}

@keyframes fadeInUp {
            from { opacity: 0; transform: translateY(30px); }
            to { opacity: 1; transform: translateY(0); }
        }

@media (max-width: 991.98px) {
            .filter-sidebar {
                display: none;
            }

            .mobile-filter-btn {
                display: flex;
            }

            .lawyer-card-horizontal {
                flex-direction: column;
            }

            .lawyer-card-horizontal .lawyer-card-image {
                width: 100%;
                height: 200px;
            }
        }

@media (max-width: 767.98px) {
            .search-hero-title {
                font-size: 1.75rem;
            }

            .search-hero-subtitle {
                font-size: 1rem;
            }

            .search-box {
                flex-direction: column;
            }

            .search-input-group {
                min-width: 100%;
            }

            .btn-search {
                width: 100%;
                justify-content: center;
            }

            .results-header {
                flex-direction: column;
                align-items: flex-start;
            }
        }

@media (min-width: 768px) {
            .mobile-bottom-nav {
                display: none;
            }

            body {
                padding-bottom: 0;
            }
        }

.loading-overlay {
position: fixed;
            inset: 0;
            background: rgba(255, 255, 255, 0.9);
            display: none;
            align-items: center;
            justify-content: center;
            z-index: 9999;
}

.loading-overlay.show {
display: flex;
}

.loading-spinner {
width: 60px;
            height: 60px;
            border: 4px solid rgba(102, 126, 234, 0.2);
            border-top-color: var(--primary);
            border-radius: 50%;
            animation: spin 1s linear infinite;
}

@keyframes spin {
            to { transform: rotate(360deg); }
        }

/* ---- In-app notification bells (admin + lawyer panel) ---- */
.notif-menu { border-radius: 12px; }
.notif-scroll { scrollbar-width: thin; }
.notif-scroll::-webkit-scrollbar { width: 6px; }
.notif-scroll::-webkit-scrollbar-thumb { background: rgba(100, 116, 139, .35); border-radius: 4px; }
.notif-dot {
    width: 8px; height: 8px; border-radius: 50%; flex: 0 0 auto;
    background: #dc2626; box-shadow: 0 0 0 2px rgba(220, 38, 38, .18);
    margin-top: .45rem;
}
.notif-menu .dropdown-item:hover { background: rgba(37, 99, 235, .07); }

/* ===== Featured VIP posts slider (homepage gold cards) ===== */
.vip-featured-section {
    padding: 3.5rem 0;
    background: linear-gradient(180deg, #fff7ed 0%, #fef3c7 55%, #fffbeb 100%);
    border-top: 1px solid rgba(245, 158, 11, .18);
    border-bottom: 1px solid rgba(245, 158, 11, .18);
}
[data-bs-theme="dark"] .vip-featured-section {
    background: linear-gradient(180deg, #1c1917 0%, #292524 55%, #1c1917 100%);
    border-color: rgba(245, 158, 11, .25);
}
.vip-slider-wrapper {
    position: relative;
    margin-top: 1.5rem;
}
.vip-slider-track {
    display: flex;
    gap: 1.25rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: .5rem .25rem 1.25rem;
    scrollbar-width: thin;
    scrollbar-color: rgba(245, 158, 11, .5) transparent;
}
.vip-slider-track::-webkit-scrollbar { height: 6px; }
.vip-slider-track::-webkit-scrollbar-thumb { background: rgba(245, 158, 11, .5); border-radius: 4px; }
.vip-slider-card {
    flex: 0 0 300px;
    scroll-snap-align: start;
    background: #fff;
    border-radius: 1.1rem;
    overflow: hidden;
    box-shadow: 0 12px 30px -12px rgba(180, 83, 9, .35);
    border: 1px solid rgba(245, 158, 11, .35);
    transition: transform .25s ease, box-shadow .25s ease;
}
.vip-slider-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 20px 40px -14px rgba(180, 83, 9, .5);
}
[data-bs-theme="dark"] .vip-slider-card { background: #292524; border-color: rgba(245, 158, 11, .3); }
.vip-slider-media {
    position: relative;
    height: 165px;
    background: linear-gradient(135deg, #fbbf24, #d97706);
}
.vip-slider-media img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.vip-slider-noimg {
    width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,.85); font-size: 2.4rem;
}
.vip-slider-cat {
    position: absolute; bottom: .65rem; right: .65rem;
    background: rgba(17, 24, 39, .72); color: #fff;
    font-size: .7rem; padding: .22rem .6rem; border-radius: 99px; backdrop-filter: blur(4px);
}
.vip-slider-vipbadge {
    position: absolute; top: .65rem; left: .65rem;
    background: linear-gradient(135deg, #fbbf24, #f59e0b); color: #451a03;
    font-size: .68rem; font-weight: 700; padding: .22rem .6rem; border-radius: 99px;
    box-shadow: 0 4px 12px -2px rgba(245, 158, 11, .6);
}
.vip-slider-body { padding: 1rem 1.1rem 1.15rem; }
.vip-slider-title { font-size: .98rem; font-weight: 700; margin-bottom: .45rem; }
.vip-slider-title a { color: inherit; text-decoration: none; }
.vip-slider-title a:hover { color: #b45309; }
.vip-slider-excerpt {
    font-size: .8rem; color: #6b7280; line-height: 1.7;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    margin-bottom: .85rem;
}
[data-bs-theme="dark"] .vip-slider-excerpt { color: #a8a29e; }
.vip-slider-author {
    display: flex; align-items: center; gap: .6rem;
    padding-top: .7rem; border-top: 1px dashed rgba(245, 158, 11, .35);
}
.vip-slider-author img {
    width: 34px; height: 34px; border-radius: 50%; object-fit: cover;
    border: 2px solid #fbbf24;
}
.vip-slider-author strong { display: block; font-size: .8rem; }
.vip-slider-author small { color: #9ca3af; font-size: .7rem; }
.vip-slider-arrow {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
    width: 38px; height: 38px; border-radius: 50%; border: 0;
    background: #fff; color: #b45309;
    box-shadow: 0 6px 16px -6px rgba(180, 83, 9, .5);
    display: flex; align-items: center; justify-content: center;
    transition: background .2s, color .2s, transform .2s;
}
.vip-slider-arrow:hover { background: #f59e0b; color: #fff; transform: translateY(-50%) scale(1.08); }
.vip-slider-prev { right: -6px; }
.vip-slider-next { left: -6px; }
[data-bs-theme="dark"] .vip-slider-arrow { background: #44403c; color: #fbbf24; }
@media (max-width: 575.98px) {
    .vip-slider-card { flex-basis: 260px; }
    .vip-slider-prev { right: 2px; }
    .vip-slider-next { left: 2px; }
}
/* ---- Lawyer hover-preview popup (Q&A chips) ---- */
.lawyer-preview-card {
    position: absolute;
    z-index: 1080;
    background: var(--bg-light, #fff);
    color: var(--text-dark, #1e293b);
    border: 1px solid rgba(13, 148, 136, .25);
    border-radius: 14px;
    box-shadow: 0 12px 32px rgba(0, 0, 0, .18);
    padding: .9rem;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .18s ease, transform .18s ease;
    pointer-events: auto;
    font-size: .85rem;
}
.lawyer-preview-card.lp-visible { opacity: 1; transform: none; }
.lawyer-preview-card .lp-head { display: flex; gap: .65rem; align-items: center; }
.lawyer-preview-card .lp-head img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(13,148,136,.3); }
.lawyer-preview-card .lp-name { font-weight: 700; line-height: 1.4; }
.lawyer-preview-card .lp-title { color: var(--text-muted, #64748b); font-size: .75rem; }
.lawyer-preview-card .lp-stars { font-size: .75rem; margin-top: .15rem; }
.lawyer-preview-card .lp-rate { color: var(--text-muted, #64748b); font-size: .72rem; }
.lawyer-preview-card .lp-meta { display: flex; gap: .9rem; flex-wrap: wrap; margin-top: .5rem; color: var(--text-muted, #64748b); font-size: .75rem; }
.lawyer-preview-card .lp-specs { display: flex; gap: .35rem; flex-wrap: wrap; margin-top: .5rem; }
.lawyer-preview-card .lp-spec { background: rgba(13,148,136,.08); color: #0d9488; border: 1px solid rgba(13,148,136,.2); border-radius: 2rem; padding: .05rem .55rem; font-size: .7rem; }
.lawyer-preview-card .lp-bio { margin-top: .5rem; color: var(--text-muted, #64748b); line-height: 1.8; font-size: .78rem; max-height: 3.4em; overflow: hidden; }
.lawyer-preview-card .lp-cta { display: inline-flex; align-items: center; gap: .35rem; margin-top: .65rem; font-size: .78rem; font-weight: 600; color: #0d9488; text-decoration: none; }
.lawyer-preview-card .lp-cta:hover { text-decoration: underline; }
.lawyer-preview-card .lp-bio, .lawyer-preview-card .lp-meta { word-wrap: break-word; }
