* {
    box-sizing: border-box;
}

body {
    font-family: 'Segoe UI', Arial, sans-serif;
    color: #2b2b2b;
    margin: 0;
    padding: 0;
    background: #fafafa;
    line-height: 1.5;
}

/* ============================================
   HAUPTBEREICH
   ============================================ */

main {
    max-width: 820px;
    margin: 0 auto;
    padding: 12px 18px 40px;
    background: #fff;
}

h2 {
    font-size: 15pt;
    color: #1a3b5d;
    margin: 18px 0 8px;
}

/* ============================================
   KOPFBEREICH
   ============================================ */

.site-header {
    background: #1a3b5d;
    color: #fff;
    text-align: center;
    padding: 18px 12px;
}

.site-header h1 {
    margin: 0 0 4px;
    font-size: 18pt;
}

.site-header p {
    margin: 0;
    font-size: 10pt;
    opacity: 0.85;
}

/* ============================================
   BREADCRUMB / TOP-BAR
   ============================================ */

.top-bar {
    background: #f0f4f8;
    border-bottom: 1px solid #dde3e9;
}

.top-bar-inner {
    max-width: 820px;
    margin: 0 auto;
    padding: 8px 18px;

    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.top-bar-inner nav a {
    color: #1a3b5d;
    text-decoration: none;
    font-size: 9.5pt;
}

.top-bar-inner nav a:hover {
    text-decoration: underline;
}

.crumb-sep {
    margin: 0 4px;
    color: #9aa5b1;
}

/* ============================================
   DRUCK-BUTTON
   ============================================ */

.print-icon-btn {
    display: flex;
    align-items: center;
    gap: 6px;

    background: #ffffff;
    border: 1px solid #c9d3dc;
    border-radius: 6px;

    padding: 6px 12px;

    font-size: 9.5pt;
    color: #1a3b5d;

    cursor: pointer;
}

.print-icon-btn:hover {
    background: #eef2f6;
}

.print-icon-btn svg {
    width: 16px;
    height: 16px;
    fill: #1a3b5d;
}

/* ============================================
   PRINT-HEADER
   --------------------------------------------
   Nur Grundgestaltung.
   Größe und Abstände werden beim Drucken
   durch /print-a4.css gesteuert.
   ============================================ */

.print-header {
    display: none;
}

/* ============================================
   ERKLÄR-BOX
   ============================================ */

.explanation-box {
    background: #f5f9fc;
    border: 1px solid #dbe6ef;
    border-radius: 8px;

    padding: 12px 16px;
    margin: 10px 0 16px;
}

.explanation-box h2 {
    margin-top: 0;
}

.explanation-box p {
    margin: 6px 0;
}

.example-row {
    display: flex;
    justify-content: space-around;
    align-items: center;

    text-align: center;

    gap: 10px;
    margin: 10px 0;

    font-size: 10.5pt;
}

.center {
    text-align: center;
}

/* ============================================
   TABELLEN
   ============================================ */

.table-responsive {
    overflow-x: auto;
    margin-bottom: 12px;
}

.numbers-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10pt;
}

.numbers-table th,
.numbers-table td {
    border: 1px solid #dde3e9;
    padding: 6px 8px;
    text-align: center;
}

.numbers-table th {
    background: #eef2f6;
    color: #1a3b5d;
}

.dot-cell {
    letter-spacing: 2px;
}

/* ============================================
   AUFGABEN-KARTEN
   ============================================ */

.task-card {
    border: 1px solid #e2e7ec;
    border-left: 4px solid #1a3b5d;
    border-radius: 6px;

    padding: 10px 14px;
    margin-bottom: 10px;

    background: #fff;
}

.task-title {
    font-weight: 600;
    margin-bottom: 6px;
    font-size: 10.5pt;
}

.answer-box {
    display: inline-block;

    min-width: 40px;
    height: 22px;

    border: 1px solid #999;
    border-radius: 4px;

    vertical-align: middle;
    margin-left: 4px;
}

.underline-input {
    display: inline-block;

    width: 34px;
    height: 14px;

    border-bottom: 1px solid #333;
}

/* ============================================
   MERKE-BOX
   ============================================ */

.merke-box {
    background: #fff7e0;
    border: 1px solid #f0dca0;
    border-radius: 8px;

    padding: 10px 14px;
    margin: 14px 0;

    font-size: 10pt;
}


/* ============================================
   SCHREIBÜBUNG
   ============================================ */

.trace-table {
    width: 100%;
    border-collapse: collapse;
    margin: 6px 0 14px;
}

.trace-table td {
    padding: 4px 10px 8px;
    vertical-align: top;
    border-bottom: 1px solid #eee;
}

.trace-model,
.trace-ghost {
    font-family: 'Caveat', cursive;
}

.trace-model {
    font-weight: 600;
    font-size: 20pt;
    display: inline-block;
    width: 40px;
}

.trace-ghost {
    color: #c6c6c6;
    font-size: 20pt;
    letter-spacing: 8px;
    margin-left: 6px;
}

.write-line {
    border-bottom: 1px dashed #999;
    height: 22px;
    margin: 3px 4px 0 46px;
}

/* ============================================
   CTA
   ============================================ */

.cta-container {
    text-align: center;
    margin: 22px 0;
}

.cta-button {
    display: inline-block;

    background: #1a3b5d;
    color: #fff !important;

    text-decoration: none;

    padding: 12px 28px;
    border-radius: 30px;

    font-weight: 600;
    font-size: 11pt;
}

.cta-button:hover {
    background: #14314f;
}

/* ============================================
   FOOTER
   ============================================ */

.site-footer {
    text-align: center;

    padding: 16px 12px;

    font-size: 9pt;
    color: #777;

    border-top: 1px solid #eee;
}

.site-footer nav a {
    color: #1a3b5d;
    text-decoration: none;
    margin: 0 4px;
}

.site-footer nav a:hover {
    text-decoration: underline;
}

/* ============================================
   DRUCK
   --------------------------------------------
   Die eigentliche A4-Formatierung befindet sich
   ausschließlich in:

   /print-a4.css

   Deshalb hier KEINE eigenen Größen für:
   - body
   - main
   - print-header
   - QR
   - task-card
   - explanation-box
   ============================================ */

@media print {

    .no-print {
        display: none !important;
    }

    .trace-table tr {
        break-inside: avoid;
        page-break-inside: avoid;
    }
}

