.hero-bases {
    background: linear-gradient(rgba(0,0,0,0.72), rgba(0,0,0,0.72)),
                url('img/grammaire.jpg') center/cover no-repeat;
    padding: clamp(50px,9vw,90px) 0; text-align:center;
}
.hero-bases h1 { font-size:clamp(1.8rem,5vw,3.5rem); font-weight:700; }
.hero-bases p  { font-size:clamp(1rem,2vw,1.2rem); color:#cbd5e1; }

/* Navigation interne */
.gram-nav {
    background:#1e293b; border-radius:14px; padding:18px 24px;
    margin-bottom:40px; border:1px solid rgba(255,255,255,.07);
}
.gram-nav h2 { font-size:.85rem; font-weight:700; color:#94a3b8; text-transform:uppercase; letter-spacing:.08em; margin-bottom:10px; }
.gram-nav ul { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; gap:8px; }
.gram-nav a  { display:inline-block; background:#0f172a; color:#f87171; border:1px solid #dc262644; border-radius:20px; padding:4px 14px; font-size:.85rem; text-decoration:none; transition:background .15s; }
.gram-nav a:hover { background:#dc2626; color:#fff; }

/* Sections */
.gram-section { margin-bottom:60px; scroll-margin-top:80px; }
.gram-section-title {
    font-size:clamp(1.3rem,3vw,1.8rem); font-weight:700;
    border-left:5px solid #dc2626; padding-left:16px;
    margin-bottom:24px; color:#fff;
}
.gram-subsection { margin-bottom:32px; }
.gram-subsection h3 {
    font-size:1.05rem; font-weight:700; color:#f87171;
    border-bottom:1px solid rgba(220,38,38,.25); padding-bottom:8px; margin-bottom:16px;
}

/* Groupes de verbes */
.group-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; margin-bottom:24px; }
.group-card {
    border-radius:16px; padding:20px 18px;
    border:2px solid;
}
.group-card.g1 { background:#1e293b; border-color:#dc262644; }
.group-card.g2 { background:#1e293b; border-color:#0d948844; }
.group-card.g3 { background:#1e293b; border-color:#7c3aed44; }
.group-card .g-num { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; margin-bottom:6px; }
.group-card.g1 .g-num { color:#f87171; }
.group-card.g2 .g-num { color:#5eead4; }
.group-card.g3 .g-num { color:#a78bfa; }
.group-card .g-title { font-size:1.05rem; font-weight:700; color:#f1f5f9; margin-bottom:10px; }
.group-card .g-end   { font-family:'Noto Sans JP',sans-serif; font-size:clamp(1.2rem,3vw,1.6rem); color:#f87171; font-weight:300; margin-bottom:8px; }
.group-card .g-desc  { font-size:.85rem; color:#94a3b8; line-height:1.7; }

/* Tableau de conjugaison */
.table-bases { width:100%; border-collapse:separate; border-spacing:0; border-radius:14px; overflow:hidden; margin-bottom:16px; }
.table-bases thead tr { background:#dc2626; }
.table-bases thead th { padding:11px 14px; color:#fff; font-weight:700; font-size:.85rem; text-align:left; border:none; }
.table-bases tbody tr { background:#1e293b; transition:background .15s; }
.table-bases tbody tr:nth-child(even) { background:#162032; }
.table-bases tbody tr:hover { background:#27374d; }
.table-bases td { padding:9px 14px; color:#e2e8f0; font-size:.9rem; border-top:1px solid rgba(255,255,255,.05); }
.table-bases td.jp { font-family:'Noto Sans JP',sans-serif; font-size:1.1rem; color:#f87171; font-weight:300; }
.table-bases td.red { color:#f87171; font-weight:300; font-family:'Noto Sans JP',sans-serif; }

/* Explication */
.expl-bloc {
    background:#1e293b; border-radius:14px; padding:16px 20px;
    margin-bottom:16px; border:1px solid rgba(255,255,255,.07);
    font-size:.93rem; color:#cbd5e1; line-height:1.8;
}
.expl-bloc strong { color:#f87171; }
.memo-bloc {
    background:#0f172a; border-left:5px solid #dc2626;
    border-radius:0 12px 12px 0; padding:14px 18px;
    margin-bottom:20px; font-size:.93rem; color:#cbd5e1; line-height:1.8;
}
.memo-bloc strong { color:#f87171; }
.alert-nota {
    background:#7c3aed22; border:1px solid #7c3aed44; border-radius:12px;
    padding:12px 16px; margin:16px 0; font-size:.88rem; color:#a78bfa; line-height:1.7;
}
.alert-nota strong { color:#c4b5fd; }

/* Tableau de terminaisons */
.term-grid {
    display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr));
    gap:8px; margin-bottom:16px;
}
.term-card {
    background:#1e293b; border-radius:10px; padding:10px;
    text-align:center; border:1px solid rgba(255,255,255,.06);
}
.term-base { font-family:'Noto Sans JP',sans-serif; font-size:1rem; color:#94a3b8; }
.term-arrow { font-size:.75rem; color:#94a3b8; margin:2px 0; }
.term-new  { font-family:'Noto Sans JP',sans-serif; font-size:1.1rem; color:#f87171; font-weight:300; }

/* Phrases exemples */
.phrase-ex {
    background:#1e293b; border-radius:12px; padding:14px 18px;
    margin-bottom:10px; border:1px solid rgba(255,255,255,.06);
}
.phrase-ex .ex-fr    { font-size:.93rem; color:#f1f5f9; font-weight:600; margin-bottom:4px; }
.phrase-ex .ex-kana  { font-family:'Noto Sans JP',sans-serif; font-size:clamp(1.2rem,3vw,1.6rem); color:#f87171; font-weight:300; }
.phrase-ex .ex-kanji { font-family:'Noto Sans JP',sans-serif; font-size:1rem; color:#94a3b8; font-weight:300; }
.phrase-ex .ex-roma  { font-size:.8rem; color:#cbd5e1; background:#0f172a; border-radius:6px; padding:2px 8px; display:inline-block; margin-top:4px; }
.phrases-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:12px; }
