/* TerrorismusWatch Phase 2 – isolierte responsive Bausteine.
   Wirkung NUR innerhalb eines ausdrücklich gesetzten .tw-r2-Containers.
   Kein Einfluss auf .tw-main-content, Leaflet, Flyout oder bestehende Navigation. */
.tw-r2 { box-sizing: border-box; min-width: 0; color: var(--tw-ink, #1C201F); }
.tw-r2 *, .tw-r2 *::before, .tw-r2 *::after { box-sizing: inherit; }
.tw-r2 .tw-r2-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); gap: var(--tw-space-3, 16px); min-width: 0; }
.tw-r2 .tw-r2-card { min-width: 0; padding: var(--tw-space-3, 16px); border: 1px solid var(--tw-sage, #A1A69F); border-radius: var(--tw-radius, 8px); background: var(--tw-paper, #EBEBE9); overflow-wrap: anywhere; }
.tw-r2 .tw-r2-toolbar { display: flex; align-items: center; flex-wrap: wrap; gap: var(--tw-space-2, 10px); min-width: 0; }
.tw-r2 .tw-r2-toolbar > * { min-width: 0; max-width: 100%; }
.tw-r2 .tw-r2-media { display: block; max-width: 100%; height: auto; }
.tw-r2 .tw-r2-scroll-x { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.tw-r2 .tw-r2-scroll-x > table { width: 100%; border-collapse: collapse; }
.tw-r2 .tw-r2-fluid-title { font-size: var(--tw-heading, clamp(20px, 2vw, 32px)); line-height: 1.2; overflow-wrap: anywhere; }
@media (max-width: 600px) {
  .tw-r2 .tw-r2-grid { grid-template-columns: minmax(0, 1fr); }
  .tw-r2 .tw-r2-card { padding: var(--tw-space-2, 10px); }
  .tw-r2 .tw-r2-toolbar { align-items: stretch; }
}
@media (prefers-reduced-motion: reduce) {
  .tw-r2 *, .tw-r2 *::before, .tw-r2 *::after { scroll-behavior: auto; }
}

/* Phase 3: ausschließlich die neue Vorschau (nicht produktive Templates). */
.tw-r3-preview { width: 100%; max-width: 1180px; margin-inline: auto; padding: clamp(16px, 3vw, 32px); background: #EBEBE9; border-radius: 10px; }
.tw-r3-preview .tw-r3-header { justify-content: space-between; }
.tw-r3-preview .tw-r3-header h2 { margin: 0; color: #1C201F; }
.tw-r3-preview .tw-r3-eyebrow, .tw-r3-preview .tw-r3-kicker { font-size: 11px; font-weight: 750; letter-spacing: .08em; color: #6C7B76; }
.tw-r3-preview .tw-r3-label { background: #6C7B76; color: #EBEBE9; border-radius: 100px; padding: 7px 12px; font-size: 12px; }
.tw-r3-preview .tw-r3-intro { margin: 18px 0 22px; }
.tw-r3-preview .tw-r2-card h3 { font-size: 16px; margin: 10px 0; color: #1C201F; }
.tw-r3-preview .tw-r3-section { margin-top: 26px; }
.tw-r3-preview .tw-r2-scroll-x { background: white; border: 1px solid #A1A69F; border-radius: 8px; }
.tw-r3-preview .tw-r2-scroll-x table { min-width: 660px; }
.tw-r3-preview .tw-r2-scroll-x th, .tw-r3-preview .tw-r2-scroll-x td { text-align: left; padding: 12px 14px; border-bottom: 1px solid #EBEBE9; white-space: nowrap; }
.tw-r3-preview .tw-r2-scroll-x th { background: #6C7B76; color: #EBEBE9; }
@media (max-width: 600px) { .tw-r3-preview .tw-r3-header { align-items: flex-start; } }
