/*
Theme Name: Revision Bac
Theme URI: https://revision-bac.org
Description: Theme educatif bilingue FR/AR pour le bac tunisien
Version: 1.0.0
Text Domain: revision-bac
*/
:root {
    --primary:#4F46E5; --primary-dark:#3730A3;
    --bg:#F8FAFC; --text:#1E293B; --muted:#64748B;
    --border:#E2E8F0; --card:#FFFFFF; --radius:12px;
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
body { font-family:'Inter',sans-serif; background:var(--bg); color:var(--text); line-height:1.7; }
body.rtl, [lang="ar"] { font-family:'Cairo',sans-serif; direction:rtl; }
a { color:var(--primary); text-decoration:none; }

/* Header */
.site-header { background:#fff; border-bottom:1px solid var(--border); position:sticky; top:0; z-index:100; padding:0 1.5rem; }
.header-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; height:64px; }
.site-logo { font-size:1.2rem; font-weight:700; color:var(--primary); }
.site-logo span { color:var(--muted); font-weight:400; }
.nav-menu { display:flex; gap:1.5rem; list-style:none; }
.nav-menu a { color:var(--muted); font-size:.9rem; font-weight:500; transition:color .2s; }
.nav-menu a:hover { color:var(--primary); }
.lang-switcher { display:flex; gap:6px; }
.lang-btn { padding:4px 12px; border-radius:6px; font-size:13px; border:1px solid var(--border); background:transparent; cursor:pointer; color:var(--muted); transition:all .2s; }
.lang-btn.active, .lang-btn:hover { background:var(--primary); color:#fff; border-color:var(--primary); }

/* Hero */
.hero { background:linear-gradient(135deg,#4F46E5,#7C3AED); color:#fff; padding:4rem 1.5rem; text-align:center; }
.hero h1 { font-size:clamp(1.4rem,4vw,2.4rem); font-weight:700; margin-bottom:1rem; line-height:1.3; }
.hero p { font-size:1.05rem; opacity:.9; margin-bottom:2rem; }
.search-bar { max-width:560px; margin:0 auto; display:flex; gap:8px; }
.search-bar input { flex:1; padding:.875rem 1.25rem; border-radius:var(--radius); border:none; font-size:1rem; outline:none; }
.search-bar button { padding:.875rem 1.5rem; background:#fff; color:var(--primary); border:none; border-radius:var(--radius); font-weight:600; cursor:pointer; }

/* Layout */
.container { max-width:1200px; margin:0 auto; padding:0 1.5rem; }
.section-title { font-size:1.4rem; font-weight:700; margin:2.5rem 0 1.25rem; }
.ad-slot { background:var(--bg); border:1px dashed var(--border); border-radius:8px; text-align:center; padding:1rem; color:var(--muted); font-size:12px; margin:1.5rem 0; min-height:60px; }

/* Sections grid */
.sections-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:1rem; }
.section-card { background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:1.25rem 1rem; text-align:center; color:var(--text); transition:transform .2s,box-shadow .2s; display:flex; flex-direction:column; align-items:center; gap:.75rem; }
.section-card:hover { transform:translateY(-2px); box-shadow:0 4px 12px rgba(79,70,229,.15); }
.section-icon { width:48px; height:48px; border-radius:12px; background:#EEF2FF; display:flex; align-items:center; justify-content:center; font-size:1.5rem; }
.section-card h3 { font-size:.88rem; font-weight:600; }
.section-card p { font-size:.75rem; color:var(--muted); }

/* Cours cards */
.cours-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:1.25rem; }
.cours-card { background:var(--card); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; transition:box-shadow .2s; }
.cours-card:hover { box-shadow:0 4px 16px rgba(0,0,0,.1); }
.cours-thumb { width:100%; height:130px; object-fit:cover; background:#EEF2FF; display:flex; align-items:center; justify-content:center; font-size:2.5rem; }
.cours-body { padding:1rem; }
.cours-badge { font-size:11px; font-weight:600; padding:3px 10px; border-radius:20px; background:#EEF2FF; color:var(--primary); display:inline-block; margin-bottom:.5rem; }
.cours-card h3 { font-size:.9rem; font-weight:600; margin-bottom:.4rem; line-height:1.4; }
.cours-meta { font-size:12px; color:var(--muted); margin-bottom:.75rem; }
.cours-actions { display:flex; gap:8px; }
.btn { padding:.5rem 1rem; border-radius:8px; font-size:.85rem; font-weight:500; cursor:pointer; text-align:center; transition:all .2s; border:none; display:inline-block; }
.btn-primary { background:var(--primary); color:#fff; flex:1; }
.btn-primary:hover { background:var(--primary-dark); color:#fff; }
.btn-outline { border:1px solid var(--border); color:var(--text); background:transparent; flex:1; }
.btn-outline:hover { background:var(--bg); }

/* Calculateur */
.calculateur { background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:2rem; max-width:720px; margin:0 auto; }
.calc-sections { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:1.5rem; }
.calc-btn { padding:6px 16px; border-radius:20px; border:1px solid var(--border); cursor:pointer; font-size:13px; background:var(--bg); color:var(--muted); transition:all .2s; }
.calc-btn.active { background:var(--primary); color:#fff; border-color:var(--primary); }
.calc-table { width:100%; border-collapse:collapse; margin-bottom:1.5rem; }
.calc-table th { font-size:12px; color:var(--muted); font-weight:500; padding:.5rem 0; text-align:left; border-bottom:1px solid var(--border); }
.calc-table td { padding:.45rem 0; border-bottom:1px solid var(--border); font-size:14px; }
.calc-table input { width:72px; padding:4px 8px; border:1px solid var(--border); border-radius:6px; text-align:right; font-size:14px; }
.calc-results { display:grid; grid-template-columns:1fr 1fr 1fr; gap:12px; margin-top:1.5rem; }
.calc-result-card { background:var(--bg); border-radius:10px; padding:1rem; text-align:center; }
.calc-result-label { font-size:12px; color:var(--muted); margin-bottom:4px; }
.calc-result-value { font-size:1.75rem; font-weight:700; color:var(--primary); }

/* Footer */
.site-footer { background:#1E293B; color:#94A3B8; padding:3rem 1.5rem 1.5rem; margin-top:4rem; }
.footer-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:2rem; }
.footer-brand h3 { color:#fff; font-size:1.1rem; margin-bottom:.75rem; }
.footer-brand p { font-size:.85rem; line-height:1.7; }
.footer-col h4 { color:#fff; font-size:.9rem; font-weight:600; margin-bottom:1rem; }
.footer-col ul { list-style:none; }
.footer-col li { margin-bottom:.5rem; }
.footer-col a { color:#94A3B8; font-size:.85rem; transition:color .2s; }
.footer-col a:hover { color:#fff; }
.footer-bottom { border-top:1px solid #334155; margin-top:2rem; padding-top:1.5rem; text-align:center; font-size:.8rem; }

@media(max-width:768px) {
    .footer-inner { grid-template-columns:1fr 1fr; }
    .nav-menu { display:none; }
    .hero { padding:2.5rem 1rem; }
    .calc-results { grid-template-columns:1fr 1fr; }
}
@media(max-width:480px) {
    .footer-inner { grid-template-columns:1fr; }
    .sections-grid { grid-template-columns:repeat(2,1fr); }
    .calc-results { grid-template-columns:1fr; }
}
