/* --- GLOBAL & THEME --- */
:root {
    --bg-main: #f8fafc;
    --card-bg: #ffffff;
    --accent-blue: #2563eb;
    --accent-green: #10b981;
}

body { 
    background-color: var(--bg-main); 
    font-family: 'Inter', sans-serif; 
    transition: background-color 0.3s ease;
}

/* --- DARK MODE --- */
.dark body { background-color: #0f172a; color: #f1f5f9; }

.dark .tarif-card, 
.dark .bg-white, 
.dark aside div { 
    background-color: #1e293b !important; 
    border-color: #334155 !important; 
    color: white !important; 
}

.dark h1, .dark h2, .dark h3, .dark span, .dark p { color: #f1f5f9 !important; }
.dark .text-slate-400, .dark .text-slate-500 { color: #94a3b8 !important; }

/* --- COMPONENTS --- */
.tarif-card {
    background: var(--card-bg);
    border: 1px solid rgba(226, 232, 240, 0.8);
    border-radius: 2.5rem;
    transition: all 0.4s ease;
}

.tarif-card:hover { 
    transform: translateY(-5px); 
    box-shadow: 0 20px 25px -5px rgba(0,0,0,0.05); 
    border-color: var(--accent-blue); 
}

.btn-green {
    background-color: var(--accent-green);
    color: white;
    padding: 0.8rem 2rem;
    border-radius: 1.25rem;
    font-weight: 900;
    text-transform: uppercase;
    transition: all 0.3s;
    display: inline-block;
}

.btn-green:hover { background-color: #059669; transform: scale(1.05); }

/* --- MOBILE FIXES --- */
@media (max-width: 768px) {
    .tarif-card { flex-direction: column !important; text-align: center; padding: 1.5rem !important; }
    .image-container { position: relative !important; width: 100% !important; margin-bottom: 1.5rem; }
    .tarif-card .md\:text-right { 
        text-align: center !important; 
        border-left: none !important; 
        border-top: 1px solid #f1f5f9; 
        padding-top: 1.5rem; 
        padding-left: 0 !important; 
    }
}