/* Grammatikseiten (app/Views/v2/grammar.php) — nur Tokens, nur logische Eigenschaften. */
.grv2-sec { padding-block-start: var(--space-8); }
.grv2-sec + .grv2-sec { padding-block-start: 0; }
.grv2-block { display: grid; gap: var(--space-3); min-width: 0; }
.grv2-h2 { margin: 0; font: 750 22px/1.2 var(--font-display); }
.grv2-mark { background: var(--highlight); color: var(--on-highlight); padding: 0 3px; border-radius: 3px; }
.grv2-ex b { font-weight: 700; }
.grv2-rule p { margin: 0; font-size: 18px; }
.grv2-eyebrow { margin: 0; }
.grv2-lessons { margin: 0; font-size: 14px; }
.grv2-persp .lg-notice__title { margin: 0; font-size: inherit; }
.grv2-persp p { margin: 0; }
.grv2-pill { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; }
.grv2-pill .lg-badge .lg-langbadge { margin-inline-end: 2px; }
.grv2-meta { font-size: 14px; align-self: center; }
.grv2-table-h { margin: 0; font-weight: 700; color: var(--text-muted); font-size: 14px; }
.grv2-prose p { margin: 0 0 var(--space-3); }
.grv2-prose p:last-child { margin-block-end: 0; }
.grv2-list { margin: 0; padding-inline-start: var(--space-5); display: grid; gap: var(--space-2); }
.grv2-mist-plain { grid-template-columns: 1fr !important; }
.grv2-why { grid-column: 1 / -1; font-size: 14px; color: var(--text-muted); }

/* Übungen */
.grv2-ex-h { margin: 0; font: 750 20px/1.2 var(--font-display); }
.grv2-instr { display: block; font-size: 14px; color: var(--text-muted); margin-block-end: 2px; }
.grv2-exercise .lg-exercise__opts button[aria-pressed="true"] { border-color: var(--text); border-width: 2.5px; background: var(--surface-sunken); }
.grv2-exercise .lg-exercise__opts button:disabled { cursor: default; }
.grv2-exercise .lg-exercise__opts button:focus-visible, .grv2-in:focus-visible { outline: 2px solid var(--focus); outline-offset: 1px; }
.grv2-in { max-width: 420px; padding-inline-start: var(--space-3); min-height: 40px; font: 500 16px/1.3 var(--font-text); text-transform: none; letter-spacing: 0; }
.grv2-in.is-right { border-color: var(--success); background: var(--success-soft); color: var(--success-text); }
.grv2-in.is-wrong { border-color: var(--danger); background: var(--danger-soft); color: var(--danger-text); }
.grv2-st { grid-column: 2; font-size: 14px; font-weight: 700; }
.grv2-st.is-right { color: var(--success-text); }
.grv2-st.is-wrong { color: var(--danger-text); }
.grv2-key { margin: 0; }
.grv2-key li::before { width: 22px; height: 22px; font-size: 12px; }
.grv2-key-a { font: 700 15px/1.3 var(--font-text) !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--text) !important; }
.grv2-ex-btns { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.grv2-tasks-note { margin: var(--space-3) 0 0; font-size: 15px; color: var(--text-muted); }

/* Glossar (Seitenspalte) */
.grv2-gloss h2 { margin: 0; }
.grv2-terms { margin: 0; display: grid; gap: var(--space-3); }
.grv2-terms dt { font-weight: 700; }
.grv2-terms dd { margin: 0; color: var(--text-muted); font-size: 15px; }

/* Vor/Zurück */
.grv2-pg { min-height: 56px; height: auto; padding-block: var(--space-2); text-align: start; }
.grv2-pg span { display: grid; gap: 2px; }
.grv2-pg small { font-size: 12px; font-weight: 600; color: var(--text-muted); }
.grv2-pg--next { margin-inline-start: auto; text-align: end; }
.grv2-back { margin: var(--space-3) 0 0; font-size: 15px; }

/* Übersicht */
.grv2-search { max-width: 560px; margin-block-start: var(--space-4); }
.grv2-seg { margin-block-start: var(--space-3); flex-wrap: wrap; justify-self: start; width: fit-content; max-width: 100%; }
.grv2-index { padding-block: var(--space-6) var(--space-4); }
.grv2-topics-ad { grid-column: 1 / -1; min-width: 0; }
.lg-topics li[hidden], .lg-topics section[hidden] { display: none; }
.grv2-chiptile h2 { margin: 0; }
.grv2-cta { padding-block-end: var(--space-8); }
.grv2-exercise .lg-exercise__opts button.is-right { border-color: var(--success); background: var(--success-soft); color: var(--success-text); }
.grv2-exercise .lg-exercise__opts button.is-wrong { border-color: var(--danger); background: var(--danger-soft); color: var(--danger-text); }
[dir="rtl"] .lg-mistakes li[dir="ltr"] .lg-icon--flip { transform: none; }
.grv2-tp { display: grid; gap: 2px; padding-block: var(--space-2); }
.grv2-obs { font: 400 13px/1.35 var(--font-text); color: var(--text-muted); }
.grv2-heroex p { margin: 0; }
.grv2-heroex__row { display: flex; gap: var(--space-3); align-items: center; }
.grv2-heroex__row p { font: 700 20px/1.3 var(--font-display); }
